@graph8/sdk 0.251.0 → 0.260.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +104 -7
- package/dist/index.d.ts +104 -7
- package/dist/index.js +44 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -3
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +102 -7
- package/dist/react.d.ts +102 -7
- package/dist/react.js +62 -11
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +53 -12
- package/dist/react.mjs.map +1 -1
- package/dist/types/README.md +7 -0
- package/dist/types/agency.d.ts +20 -0
- package/dist/types/agentSetup.d.ts +57 -0
- package/dist/types/api.d.ts +127 -0
- package/dist/types/appClient.d.ts +99 -0
- package/dist/types/appPlatform.d.ts +269 -0
- package/dist/types/appTokens.d.ts +125 -0
- package/dist/types/apps.d.ts +130 -0
- package/dist/types/audiences.d.ts +88 -0
- package/dist/types/calendar.d.ts +55 -0
- package/dist/types/campaigns.d.ts +61 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/cli.d.ts +14 -0
- package/dist/types/companies.d.ts +123 -0
- package/dist/types/contacts.d.ts +200 -0
- package/dist/types/copilot.d.ts +31 -0
- package/dist/types/core.d.ts +1052 -0
- package/dist/types/deals.d.ts +215 -0
- package/dist/types/enrich.d.ts +51 -0
- package/dist/types/fields.d.ts +84 -0
- package/dist/types/forms.d.ts +16 -0
- package/dist/types/http.d.ts +141 -0
- package/dist/types/inbox.d.ts +123 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/intent.d.ts +196 -0
- package/dist/types/lists.d.ts +44 -0
- package/dist/types/mailboxes.d.ts +240 -0
- package/dist/types/marketplace.d.ts +62 -0
- package/dist/types/meetings.d.ts +70 -0
- package/dist/types/newsletter.d.ts +212 -0
- package/dist/types/notes.d.ts +57 -0
- package/dist/types/objects.d.ts +281 -0
- package/dist/types/pipelines.d.ts +135 -0
- package/dist/types/quotes.d.ts +143 -0
- package/dist/types/react.d.ts +978 -0
- package/dist/types/search.d.ts +99 -0
- package/dist/types/sequences.d.ts +255 -0
- package/dist/types/signals.d.ts +28 -0
- package/dist/types/skills.d.ts +176 -0
- package/dist/types/snippet.d.ts +24 -0
- package/dist/types/studio.d.ts +161 -0
- package/dist/types/tasks.d.ts +101 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/utils.d.ts +21 -0
- package/dist/types/version.d.ts +10 -0
- package/dist/types/visitors.d.ts +29 -0
- package/dist/types/voice.d.ts +304 -0
- package/dist/types/webhooks.d.ts +71 -0
- package/dist/types/workflows.d.ts +229 -0
- package/docs/agents.md +748 -0
- package/docs/api/README.md +165 -0
- package/docs/api/accounts.d.ts +396 -0
- package/docs/api/accounts.md +644 -0
- package/docs/api/adCampaigns.d.ts +707 -0
- package/docs/api/adCampaigns.md +1091 -0
- package/docs/api/adCreatives.d.ts +996 -0
- package/docs/api/adCreatives.md +1708 -0
- package/docs/api/agency.d.ts +556 -0
- package/docs/api/agency.md +845 -0
- package/docs/api/agent.d.ts +330 -0
- package/docs/api/agent.md +514 -0
- package/docs/api/agents.d.ts +1622 -0
- package/docs/api/agents.md +2860 -0
- package/docs/api/aiInbox.d.ts +1984 -0
- package/docs/api/aiInbox.md +3490 -0
- package/docs/api/analytics.d.ts +1273 -0
- package/docs/api/analytics.md +2095 -0
- package/docs/api/apiKeys.d.ts +252 -0
- package/docs/api/apiKeys.md +318 -0
- package/docs/api/appDeployments.d.ts +236 -0
- package/docs/api/appDeployments.md +471 -0
- package/docs/api/appDomains.d.ts +171 -0
- package/docs/api/appDomains.md +281 -0
- package/docs/api/appLogs.d.ts +120 -0
- package/docs/api/appLogs.md +159 -0
- package/docs/api/appObjects.d.ts +415 -0
- package/docs/api/appObjects.md +568 -0
- package/docs/api/appPages.d.ts +557 -0
- package/docs/api/appPages.md +796 -0
- package/docs/api/appPlatformTokens.d.ts +123 -0
- package/docs/api/appPlatformTokens.md +172 -0
- package/docs/api/appointments.d.ts +2361 -0
- package/docs/api/appointments.md +3917 -0
- package/docs/api/apps.d.ts +822 -0
- package/docs/api/apps.md +1342 -0
- package/docs/api/assertUpsert.d.ts +286 -0
- package/docs/api/assertUpsert.md +370 -0
- package/docs/api/audienceSyncs.d.ts +259 -0
- package/docs/api/audienceSyncs.md +395 -0
- package/docs/api/brandKit.d.ts +686 -0
- package/docs/api/brandKit.md +1133 -0
- package/docs/api/bugReports.d.ts +181 -0
- package/docs/api/bugReports.md +268 -0
- package/docs/api/by-path.md +3260 -0
- package/docs/api/calendarInvites.d.ts +117 -0
- package/docs/api/calendarInvites.md +148 -0
- package/docs/api/campaignWorkflows.d.ts +152 -0
- package/docs/api/campaignWorkflows.md +200 -0
- package/docs/api/campaigns.d.ts +721 -0
- package/docs/api/campaigns.md +1236 -0
- package/docs/api/channels.d.ts +171 -0
- package/docs/api/channels.md +235 -0
- package/docs/api/cliCampaigns.d.ts +205 -0
- package/docs/api/cliCampaigns.md +256 -0
- package/docs/api/cliPipelines.d.ts +324 -0
- package/docs/api/cliPipelines.md +562 -0
- package/docs/api/clickHouse.d.ts +115 -0
- package/docs/api/clickHouse.md +138 -0
- package/docs/api/companies.d.ts +1636 -0
- package/docs/api/companies.md +2211 -0
- package/docs/api/companyIntelligence.d.ts +299 -0
- package/docs/api/companyIntelligence.md +488 -0
- package/docs/api/contacts.d.ts +2173 -0
- package/docs/api/contacts.md +3143 -0
- package/docs/api/content.d.ts +968 -0
- package/docs/api/content.md +1667 -0
- package/docs/api/contentGridSkills.d.ts +177 -0
- package/docs/api/contentGridSkills.md +271 -0
- package/docs/api/copilot.d.ts +1017 -0
- package/docs/api/copilot.md +1765 -0
- package/docs/api/crmSyncs.d.ts +215 -0
- package/docs/api/crmSyncs.md +301 -0
- package/docs/api/customerSuccess.d.ts +491 -0
- package/docs/api/customerSuccess.md +776 -0
- package/docs/api/deals.d.ts +1696 -0
- package/docs/api/deals.md +2432 -0
- package/docs/api/deliverability.d.ts +418 -0
- package/docs/api/deliverability.md +677 -0
- package/docs/api/desk.d.ts +1765 -0
- package/docs/api/desk.md +3007 -0
- package/docs/api/dialer.d.ts +1185 -0
- package/docs/api/dialer.md +2166 -0
- package/docs/api/dialerAnalytics.d.ts +187 -0
- package/docs/api/dialerAnalytics.md +257 -0
- package/docs/api/documents.d.ts +895 -0
- package/docs/api/documents.md +1440 -0
- package/docs/api/duplicates.d.ts +195 -0
- package/docs/api/duplicates.md +315 -0
- package/docs/api/eSign.d.ts +38 -0
- package/docs/api/eSign.md +54 -0
- package/docs/api/eSignature.d.ts +242 -0
- package/docs/api/eSignature.md +341 -0
- package/docs/api/enrichment.d.ts +3207 -0
- package/docs/api/enrichment.md +5225 -0
- package/docs/api/events.d.ts +115 -0
- package/docs/api/events.md +105 -0
- package/docs/api/fields.d.ts +482 -0
- package/docs/api/fields.md +566 -0
- package/docs/api/forms.d.ts +1012 -0
- package/docs/api/forms.md +1542 -0
- package/docs/api/gtmCampaigns.d.ts +662 -0
- package/docs/api/gtmCampaigns.md +1044 -0
- package/docs/api/gtmContext.d.ts +1187 -0
- package/docs/api/gtmContext.md +2112 -0
- package/docs/api/gtmDeliverability.d.ts +60 -0
- package/docs/api/gtmDeliverability.md +63 -0
- package/docs/api/gtmKnowledgeBase.d.ts +76 -0
- package/docs/api/gtmKnowledgeBase.md +91 -0
- package/docs/api/gtmLaunchHelpers.d.ts +123 -0
- package/docs/api/gtmLaunchHelpers.md +148 -0
- package/docs/api/gtmLibrary.d.ts +448 -0
- package/docs/api/gtmLibrary.md +780 -0
- package/docs/api/health.d.ts +39 -0
- package/docs/api/health.md +58 -0
- package/docs/api/imageLibrary.d.ts +341 -0
- package/docs/api/imageLibrary.md +569 -0
- package/docs/api/imports.d.ts +157 -0
- package/docs/api/imports.md +174 -0
- package/docs/api/inbox.d.ts +709 -0
- package/docs/api/inbox.md +1067 -0
- package/docs/api/install.d.ts +213 -0
- package/docs/api/install.md +317 -0
- package/docs/api/installedApps.d.ts +131 -0
- package/docs/api/installedApps.md +241 -0
- package/docs/api/integrationStatus.d.ts +142 -0
- package/docs/api/integrationStatus.md +205 -0
- package/docs/api/integrations.d.ts +2327 -0
- package/docs/api/integrations.md +3791 -0
- package/docs/api/intent.d.ts +482 -0
- package/docs/api/intent.md +858 -0
- package/docs/api/knowledge.d.ts +501 -0
- package/docs/api/knowledge.md +843 -0
- package/docs/api/knowledgeBase.d.ts +84 -0
- package/docs/api/knowledgeBase.md +96 -0
- package/docs/api/landingPages.d.ts +1411 -0
- package/docs/api/landingPages.md +2488 -0
- package/docs/api/leads.d.ts +133 -0
- package/docs/api/leads.md +180 -0
- package/docs/api/library.d.ts +217 -0
- package/docs/api/library.md +338 -0
- package/docs/api/linkedIn.d.ts +227 -0
- package/docs/api/linkedIn.md +289 -0
- package/docs/api/linkedInOutreach.d.ts +727 -0
- package/docs/api/linkedInOutreach.md +990 -0
- package/docs/api/lists.d.ts +1106 -0
- package/docs/api/lists.md +1609 -0
- package/docs/api/logs.d.ts +71 -0
- package/docs/api/logs.md +70 -0
- package/docs/api/mailboxes.d.ts +1050 -0
- package/docs/api/mailboxes.md +1690 -0
- package/docs/api/marketingIntelligence.d.ts +256 -0
- package/docs/api/marketingIntelligence.md +454 -0
- package/docs/api/marketplace.d.ts +3173 -0
- package/docs/api/marketplace.md +5953 -0
- package/docs/api/mcp.d.ts +69 -0
- package/docs/api/mcp.md +69 -0
- package/docs/api/me.d.ts +54 -0
- package/docs/api/me.md +56 -0
- package/docs/api/meetings.d.ts +539 -0
- package/docs/api/meetings.md +747 -0
- package/docs/api/newsletter.d.ts +1613 -0
- package/docs/api/newsletter.md +2746 -0
- package/docs/api/notes.d.ts +517 -0
- package/docs/api/notes.md +888 -0
- package/docs/api/notifications.d.ts +94 -0
- package/docs/api/notifications.md +105 -0
- package/docs/api/objects.d.ts +621 -0
- package/docs/api/objects.md +1098 -0
- package/docs/api/openSearch.d.ts +234 -0
- package/docs/api/openSearch.md +297 -0
- package/docs/api/ops.d.ts +299 -0
- package/docs/api/ops.md +339 -0
- package/docs/api/orgGovernance.d.ts +393 -0
- package/docs/api/orgGovernance.md +623 -0
- package/docs/api/orgVideos.d.ts +184 -0
- package/docs/api/orgVideos.md +252 -0
- package/docs/api/organizationSettings.d.ts +626 -0
- package/docs/api/organizationSettings.md +911 -0
- package/docs/api/phoneNumbers.d.ts +484 -0
- package/docs/api/phoneNumbers.md +777 -0
- package/docs/api/profile.d.ts +329 -0
- package/docs/api/profile.md +540 -0
- package/docs/api/programmaticPages.d.ts +400 -0
- package/docs/api/programmaticPages.md +626 -0
- package/docs/api/providerDomains.d.ts +866 -0
- package/docs/api/providerDomains.md +1446 -0
- package/docs/api/providerUsage.d.ts +129 -0
- package/docs/api/providerUsage.md +186 -0
- package/docs/api/public.d.ts +69 -0
- package/docs/api/public.md +78 -0
- package/docs/api/publicCopilot.d.ts +67 -0
- package/docs/api/publicCopilot.md +80 -0
- package/docs/api/publicSignals.d.ts +66 -0
- package/docs/api/publicSignals.md +71 -0
- package/docs/api/publicVisitors.d.ts +97 -0
- package/docs/api/publicVisitors.md +118 -0
- package/docs/api/quotes.d.ts +1564 -0
- package/docs/api/quotes.md +2553 -0
- package/docs/api/radar.d.ts +808 -0
- package/docs/api/radar.md +1431 -0
- package/docs/api/radarReports.d.ts +208 -0
- package/docs/api/radarReports.md +306 -0
- package/docs/api/recordRoles.d.ts +143 -0
- package/docs/api/recordRoles.md +175 -0
- package/docs/api/repos.d.ts +146 -0
- package/docs/api/repos.md +211 -0
- package/docs/api/research.d.ts +295 -0
- package/docs/api/research.md +534 -0
- package/docs/api/revenue.d.ts +402 -0
- package/docs/api/revenue.md +608 -0
- package/docs/api/revenueAnalytics.d.ts +147 -0
- package/docs/api/revenueAnalytics.md +212 -0
- package/docs/api/revenueLifecycle.d.ts +207 -0
- package/docs/api/revenueLifecycle.md +274 -0
- package/docs/api/revenueRecords.d.ts +372 -0
- package/docs/api/revenueRecords.md +563 -0
- package/docs/api/roles.d.ts +431 -0
- package/docs/api/roles.md +812 -0
- package/docs/api/salesCoach.d.ts +877 -0
- package/docs/api/salesCoach.md +1540 -0
- package/docs/api/sandbox.d.ts +210 -0
- package/docs/api/sandbox.md +380 -0
- package/docs/api/scans.d.ts +104 -0
- package/docs/api/scans.md +136 -0
- package/docs/api/scheduleBuy.d.ts +293 -0
- package/docs/api/scheduleBuy.md +431 -0
- package/docs/api/scraping.d.ts +266 -0
- package/docs/api/scraping.md +383 -0
- package/docs/api/sdrAnalytics.d.ts +138 -0
- package/docs/api/sdrAnalytics.md +246 -0
- package/docs/api/search.d.ts +598 -0
- package/docs/api/search.md +866 -0
- package/docs/api/seo.d.ts +447 -0
- package/docs/api/seo.md +660 -0
- package/docs/api/sequenceLifecycle.d.ts +439 -0
- package/docs/api/sequenceLifecycle.md +513 -0
- package/docs/api/sequences.d.ts +1936 -0
- package/docs/api/sequences.md +3232 -0
- package/docs/api/settings.d.ts +448 -0
- package/docs/api/settings.md +731 -0
- package/docs/api/signals.d.ts +1441 -0
- package/docs/api/signals.md +2526 -0
- package/docs/api/signatures.d.ts +719 -0
- package/docs/api/signatures.md +1247 -0
- package/docs/api/skills.d.ts +230 -0
- package/docs/api/skills.md +466 -0
- package/docs/api/snippet.d.ts +85 -0
- package/docs/api/snippet.md +106 -0
- package/docs/api/socialPublishing.d.ts +824 -0
- package/docs/api/socialPublishing.md +1245 -0
- package/docs/api/studioDocuments.d.ts +244 -0
- package/docs/api/studioDocuments.md +348 -0
- package/docs/api/support.d.ts +90 -0
- package/docs/api/support.md +76 -0
- package/docs/api/suppressions.d.ts +241 -0
- package/docs/api/suppressions.md +343 -0
- package/docs/api/surveys.d.ts +847 -0
- package/docs/api/surveys.md +1223 -0
- package/docs/api/tasks.d.ts +813 -0
- package/docs/api/tasks.md +1344 -0
- package/docs/api/teamMembers.d.ts +668 -0
- package/docs/api/teamMembers.md +1040 -0
- package/docs/api/teams.d.ts +784 -0
- package/docs/api/teams.md +1395 -0
- package/docs/api/usage.d.ts +277 -0
- package/docs/api/usage.md +389 -0
- package/docs/api/visitors.d.ts +690 -0
- package/docs/api/visitors.md +1075 -0
- package/docs/api/voice.d.ts +4661 -0
- package/docs/api/voice.md +7905 -0
- package/docs/api/webAnalytics.d.ts +964 -0
- package/docs/api/webAnalytics.md +1452 -0
- package/docs/api/webChat.d.ts +1704 -0
- package/docs/api/webChat.md +2048 -0
- package/docs/api/webhooks.d.ts +251 -0
- package/docs/api/webhooks.md +386 -0
- package/docs/api/websiteEditor.d.ts +324 -0
- package/docs/api/websiteEditor.md +517 -0
- package/docs/api/work.d.ts +2298 -0
- package/docs/api/work.md +3096 -0
- package/docs/api/workbench.d.ts +2962 -0
- package/docs/api/workbench.md +4884 -0
- package/docs/api/workflows.d.ts +1218 -0
- package/docs/api/workflows.md +2302 -0
- package/docs/sdk-clients.md +4339 -0
- package/package.json +10 -3
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Types for `g8.api.imports` (Imports): 3 operations.
|
|
5
|
+
*
|
|
6
|
+
* For reading. In code, import from the package instead:
|
|
7
|
+
* import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
|
|
8
|
+
* type In = ApiInput<"import_contacts_imports__import_id__contacts_post">;
|
|
9
|
+
*
|
|
10
|
+
* Reference with examples: imports.md
|
|
11
|
+
*/
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
|
|
14
|
+
/** `g8.api.imports.<member>` -> the operationId it calls. */
|
|
15
|
+
export interface ImportsMembers {
|
|
16
|
+
importContacts: "import_contacts_imports__import_id__contacts_post";
|
|
17
|
+
previewImportFile: "preview_import_file_imports__import_id__preview_post";
|
|
18
|
+
uploadImportFile: "upload_import_file_imports_post";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Input and output of every `g8.api.imports` operation, keyed by operationId. */
|
|
22
|
+
export interface ImportsOperations {
|
|
23
|
+
/**
|
|
24
|
+
* POST /imports/{import_id}/contacts
|
|
25
|
+
* Import Contacts
|
|
26
|
+
* tier: write · scope: lists:write
|
|
27
|
+
*/
|
|
28
|
+
import_contacts_imports__import_id__contacts_post: {
|
|
29
|
+
input: {
|
|
30
|
+
path: {
|
|
31
|
+
/** Id returned by the upload. */
|
|
32
|
+
import_id: string;
|
|
33
|
+
};
|
|
34
|
+
headers?: {
|
|
35
|
+
"X-Target-Org-Id"?: string | null;
|
|
36
|
+
};
|
|
37
|
+
body: ImportContactsRequest;
|
|
38
|
+
};
|
|
39
|
+
output: ApiResponse_ImportContactsResponse_;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* POST /imports/{import_id}/preview
|
|
43
|
+
* Preview Import File
|
|
44
|
+
* tier: read · scope: lists:read
|
|
45
|
+
*/
|
|
46
|
+
preview_import_file_imports__import_id__preview_post: {
|
|
47
|
+
input: {
|
|
48
|
+
path: {
|
|
49
|
+
/** Id returned by the upload. */
|
|
50
|
+
import_id: string;
|
|
51
|
+
};
|
|
52
|
+
query?: {
|
|
53
|
+
page?: number;
|
|
54
|
+
limit?: number;
|
|
55
|
+
};
|
|
56
|
+
headers?: {
|
|
57
|
+
"X-Target-Org-Id"?: string | null;
|
|
58
|
+
};
|
|
59
|
+
body?: Record<string, string>;
|
|
60
|
+
};
|
|
61
|
+
output: ApiResponse_DataFilePreviewResponse_;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* POST /imports
|
|
65
|
+
* Upload Import File
|
|
66
|
+
* tier: write · scope: lists:write
|
|
67
|
+
*/
|
|
68
|
+
upload_import_file_imports_post: {
|
|
69
|
+
input: {
|
|
70
|
+
headers?: {
|
|
71
|
+
"X-Target-Org-Id"?: string | null;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
output: ApiResponse_DataFileUploadResponse_;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// 8 schemas referenced above (the same as G8Contract.<Name>).
|
|
79
|
+
|
|
80
|
+
export interface ApiResponse_DataFilePreviewResponse_ {
|
|
81
|
+
data: DataFilePreviewResponse;
|
|
82
|
+
pagination?: PaginationMeta | null;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface ApiResponse_DataFileUploadResponse_ {
|
|
86
|
+
data: DataFileUploadResponse;
|
|
87
|
+
pagination?: PaginationMeta | null;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface ApiResponse_ImportContactsResponse_ {
|
|
91
|
+
data: ImportContactsResponse;
|
|
92
|
+
pagination?: PaginationMeta | null;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* A page of rows as they will be read, with the mapping applied.
|
|
97
|
+
*
|
|
98
|
+
* Rows are open dicts: they are the customer's own columns, so there is no
|
|
99
|
+
* schema to pin.
|
|
100
|
+
*/
|
|
101
|
+
export interface DataFilePreviewResponse {
|
|
102
|
+
rows?: Array<Record<string, unknown>>;
|
|
103
|
+
total?: number;
|
|
104
|
+
[key: string]: unknown;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* The stored file, and how many rows it turned out to have.
|
|
109
|
+
*
|
|
110
|
+
* `row_count` is the number a caller should budget against: the import
|
|
111
|
+
* pre-check treats it as the UPPER BOUND on new contacts, so an import is
|
|
112
|
+
* refused if that many would breach the org's contact limit - even though
|
|
113
|
+
* some rows will resolve to updates rather than creates.
|
|
114
|
+
*/
|
|
115
|
+
export interface DataFileUploadResponse {
|
|
116
|
+
/** Detected column headers. */
|
|
117
|
+
columns?: Array<string>;
|
|
118
|
+
datafile_id?: string | null;
|
|
119
|
+
/** Rows detected. The import pre-check budgets against this. */
|
|
120
|
+
row_count?: number | null;
|
|
121
|
+
[key: string]: unknown;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** Import a previously uploaded file's rows as contacts into one list. */
|
|
125
|
+
export interface ImportContactsRequest {
|
|
126
|
+
/** Source column -> graph8 field. An EMPTY mapping is legal and means the importer falls back to its own header matching, which is why this is not required - but an unmapped column the importer cannot recognise is dropped silently, so preview first. */
|
|
127
|
+
column_mapping?: Record<string, string>;
|
|
128
|
+
/** Match imported rows against the graph8 index and fill missing fields - contacts by work email or LinkedIn URL, companies by domain. Off by default because it is extra work the caller may not want on a file they already trust. */
|
|
129
|
+
enrich_from_graph8?: boolean;
|
|
130
|
+
/** Audience list the contacts land in. REQUIRED - an import with no destination has nowhere to put the rows, and the caller needs WRITE access to this list, not just read. */
|
|
131
|
+
list_id: number;
|
|
132
|
+
/** What happens when a row matches an existing contact. `override` replaces the field; `autofill` only fills one that is currently EMPTY. The default is `override`, matching the app - so an import run without thinking about this WILL overwrite existing data. */
|
|
133
|
+
update_policy?: "autofill" | "override";
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** What the import actually did. */
|
|
137
|
+
export interface ImportContactsResponse {
|
|
138
|
+
failed?: number | null;
|
|
139
|
+
imported?: number | null;
|
|
140
|
+
list_id?: number | null;
|
|
141
|
+
skipped?: number | null;
|
|
142
|
+
updated?: number | null;
|
|
143
|
+
[key: string]: unknown;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface PaginationMeta {
|
|
147
|
+
/** Whether there are more pages */
|
|
148
|
+
has_next: boolean;
|
|
149
|
+
/** Items per page */
|
|
150
|
+
limit: number;
|
|
151
|
+
/** Opaque cursor for the next page; null when there are no more items. Pass it back as the `cursor` query param to fetch the following page without computing page numbers. */
|
|
152
|
+
next_cursor?: string | null;
|
|
153
|
+
/** Current page number (1-indexed) */
|
|
154
|
+
page: number;
|
|
155
|
+
/** Total number of items */
|
|
156
|
+
total: number;
|
|
157
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
|
|
2
|
+
|
|
3
|
+
# `g8.api.imports`: Imports
|
|
4
|
+
|
|
5
|
+
3 operations (1 read, 2 write).
|
|
6
|
+
|
|
7
|
+
No hand-written client covers this area. Call it through `g8.api.imports.*` as shown below, or by operationId with `g8.api.call(operationId, input)`.
|
|
8
|
+
|
|
9
|
+
Every example below assumes this setup (server-side, API key):
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { g8 } from "@graph8/sdk";
|
|
13
|
+
|
|
14
|
+
g8.init({ apiKey: process.env.G8_API_KEY! });
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Example values are placeholders that match each field's type. Only required fields are shown. Every example is type-checked against the SDK in CI.
|
|
18
|
+
|
|
19
|
+
Exact TypeScript types for every operation on this page, and every schema they use: [imports.d.ts](imports.d.ts).
|
|
20
|
+
|
|
21
|
+
## Operations
|
|
22
|
+
|
|
23
|
+
| Call | HTTP | Tier | Scope | Summary |
|
|
24
|
+
|---|---|---|---|---|
|
|
25
|
+
| [`importContacts`](#op-importcontacts) | `POST /api/v1/imports/{import_id}/contacts` | write | `lists:write` | Import Contacts |
|
|
26
|
+
| [`previewImportFile`](#op-previewimportfile) | `POST /api/v1/imports/{import_id}/preview` | read | `lists:read` | Preview Import File |
|
|
27
|
+
| [`uploadImportFile`](#op-uploadimportfile) | `POST /api/v1/imports` | write | `lists:write` | Upload Import File |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<a id="op-importcontacts"></a>
|
|
32
|
+
|
|
33
|
+
### `g8.api.imports.importContacts(input)`
|
|
34
|
+
|
|
35
|
+
**Import Contacts**
|
|
36
|
+
|
|
37
|
+
- HTTP: `POST /api/v1/imports/{import_id}/contacts`
|
|
38
|
+
- operationId: `import_contacts_imports__import_id__contacts_post` (also callable as `g8.api.call("import_contacts_imports__import_id__contacts_post", input)`)
|
|
39
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
40
|
+
- API-key scope: `lists:write`
|
|
41
|
+
|
|
42
|
+
Import the file's rows as contacts into a list. THIS WRITES REAL RECORDS.
|
|
43
|
+
|
|
44
|
+
Two separate authorisations, both resolved for the key's principal and both
|
|
45
|
+
required - neither implies the other:
|
|
46
|
+
|
|
47
|
+
* may this caller CREATE contacts at all (`enforce_object_create`);
|
|
48
|
+
* may they WRITE to this particular list (`verify_list_access`).
|
|
49
|
+
|
|
50
|
+
`update_policy` defaults to `override`: a row matching an existing contact
|
|
51
|
+
REPLACES that contact's fields rather than only filling blanks. Send
|
|
52
|
+
`autofill` if the file should not win over what is already there.
|
|
53
|
+
|
|
54
|
+
**Input**
|
|
55
|
+
|
|
56
|
+
| Field | Type | Required | Description |
|
|
57
|
+
|---|---|---|---|
|
|
58
|
+
| `path.import_id` | `string` | yes | Id returned by the upload. |
|
|
59
|
+
| `body` | `ImportContactsRequest` | yes | Request body; fields below. |
|
|
60
|
+
|
|
61
|
+
Body fields (`ImportContactsRequest`):
|
|
62
|
+
|
|
63
|
+
| Field | Type | Required | Description |
|
|
64
|
+
|---|---|---|---|
|
|
65
|
+
| `body.list_id` | `integer` | yes | Audience list the contacts land in. REQUIRED - an import with no destination has nowhere to put the rows, and the caller needs WRITE access to this list, not just read. |
|
|
66
|
+
| `body.column_mapping` | `Record<string, string>` | no | Source column -> graph8 field. An EMPTY mapping is legal and means the importer falls back to its own header matching, which is why this is not required - but an unmapped column the importer cannot recognise is dropped silently, so preview first. |
|
|
67
|
+
| `body.enrich_from_graph8` | `boolean` | no | Match imported rows against the graph8 index and fill missing fields - contacts by work email or LinkedIn URL, companies by domain. Off by default because it is extra work the caller may not want on a file they already trust. default `false` |
|
|
68
|
+
| `body.update_policy` | `"autofill" \| "override"` | no | What happens when a row matches an existing contact. `override` replaces the field; `autofill` only fills one that is currently EMPTY. The default is `override`, matching the app - so an import run without thinking about this WILL overwrite existing data. default `"override"` |
|
|
69
|
+
|
|
70
|
+
**Returns** `ApiResponse_ImportContactsResponse_`: the envelope `{ data: ImportContactsResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
71
|
+
|
|
72
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
73
|
+
|
|
74
|
+
`ImportContactsResponse` fields:
|
|
75
|
+
|
|
76
|
+
| Field | Type | Required | Description |
|
|
77
|
+
|---|---|---|---|
|
|
78
|
+
| `failed` | `integer \| null` | no | |
|
|
79
|
+
| `imported` | `integer \| null` | no | |
|
|
80
|
+
| `list_id` | `integer \| null` | no | |
|
|
81
|
+
| `skipped` | `integer \| null` | no | |
|
|
82
|
+
| `updated` | `integer \| null` | no | |
|
|
83
|
+
|
|
84
|
+
**Example**
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
const result = await g8.api.imports.importContacts({ path: { import_id: "id" }, body: { list_id: 123 } });
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
<a id="op-previewimportfile"></a>
|
|
93
|
+
|
|
94
|
+
### `g8.api.imports.previewImportFile(input)`
|
|
95
|
+
|
|
96
|
+
**Preview Import File**
|
|
97
|
+
|
|
98
|
+
- HTTP: `POST /api/v1/imports/{import_id}/preview`
|
|
99
|
+
- operationId: `preview_import_file_imports__import_id__preview_post` (also callable as `g8.api.call("preview_import_file_imports__import_id__preview_post", input)`)
|
|
100
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
101
|
+
- API-key scope: `lists:read`
|
|
102
|
+
|
|
103
|
+
See how the file will be read, with a mapping applied. Writes nothing.
|
|
104
|
+
|
|
105
|
+
**Input**
|
|
106
|
+
|
|
107
|
+
| Field | Type | Required | Description |
|
|
108
|
+
|---|---|---|---|
|
|
109
|
+
| `path.import_id` | `string` | yes | Id returned by the upload. |
|
|
110
|
+
| `query.page` | `integer` | no | default `1` |
|
|
111
|
+
| `query.limit` | `integer` | no | default `10` |
|
|
112
|
+
| `body` | `Record<string, string>` | no | Request body; fields below. |
|
|
113
|
+
|
|
114
|
+
**Returns** `ApiResponse_DataFilePreviewResponse_`: the envelope `{ data: DataFilePreviewResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
115
|
+
|
|
116
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
117
|
+
|
|
118
|
+
`DataFilePreviewResponse` fields:
|
|
119
|
+
|
|
120
|
+
| Field | Type | Required | Description |
|
|
121
|
+
|---|---|---|---|
|
|
122
|
+
| `rows` | `Array<Record<string, unknown>>` | no | |
|
|
123
|
+
| `total` | `integer` | no | default `0` |
|
|
124
|
+
|
|
125
|
+
**Example**
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
const result = await g8.api.imports.previewImportFile({ path: { import_id: "id" } });
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
<a id="op-uploadimportfile"></a>
|
|
134
|
+
|
|
135
|
+
### `g8.api.imports.uploadImportFile(input?)`
|
|
136
|
+
|
|
137
|
+
**Upload Import File**
|
|
138
|
+
|
|
139
|
+
- HTTP: `POST /api/v1/imports`
|
|
140
|
+
- operationId: `upload_import_file_imports_post` (also callable as `g8.api.call("upload_import_file_imports_post", input)`)
|
|
141
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
142
|
+
- API-key scope: `lists:write`
|
|
143
|
+
|
|
144
|
+
Upload a CSV or Excel file and get back its id and row count.
|
|
145
|
+
|
|
146
|
+
Nothing is imported by this call - the file is stored and parsed so it can
|
|
147
|
+
be previewed and then imported. The 25 MB ceiling is the app's, enforced by
|
|
148
|
+
reading one byte past it so an exact-boundary file is distinguishable from
|
|
149
|
+
an oversized one even when `Content-Length` is missing or dishonest.
|
|
150
|
+
|
|
151
|
+
The `row_count` that comes back is what the import pre-check budgets
|
|
152
|
+
against: it is treated as the upper bound on NEW contacts, so an import is
|
|
153
|
+
refused if that many would breach the org's limit, even though some rows
|
|
154
|
+
will resolve to updates.
|
|
155
|
+
|
|
156
|
+
**Input**: none.
|
|
157
|
+
|
|
158
|
+
**Returns** `ApiResponse_DataFileUploadResponse_`: the envelope `{ data: DataFileUploadResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
159
|
+
|
|
160
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
161
|
+
|
|
162
|
+
`DataFileUploadResponse` fields:
|
|
163
|
+
|
|
164
|
+
| Field | Type | Required | Description |
|
|
165
|
+
|---|---|---|---|
|
|
166
|
+
| `columns` | `Array<string>` | no | Detected column headers. |
|
|
167
|
+
| `datafile_id` | `string \| null` | no | |
|
|
168
|
+
| `row_count` | `integer \| null` | no | Rows detected. The import pre-check budgets against this. |
|
|
169
|
+
|
|
170
|
+
**Example**
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
const result = await g8.api.imports.uploadImportFile();
|
|
174
|
+
```
|