@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.
Files changed (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +104 -7
  4. package/dist/index.d.ts +104 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +102 -7
  10. package/dist/react.d.ts +102 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1696 -0
  140. package/docs/api/deals.md +2432 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,195 @@
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.duplicates` (Duplicates): 7 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<"duplicate_counts_duplicates_counts_get">;
9
+ *
10
+ * Reference with examples: duplicates.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.duplicates.<member>` -> the operationId it calls. */
15
+ export interface DuplicatesMembers {
16
+ duplicateCounts: "duplicate_counts_duplicates_counts_get";
17
+ getBulkMergeStatus: "get_bulk_merge_status_duplicates_bulk_merge__run_id__get";
18
+ listDuplicates: "list_duplicates_duplicates_get";
19
+ listRecentMerges: "list_recent_merges_duplicates_recent_merges_get";
20
+ rejectSuggestion: "reject_suggestion_duplicates__suggestion_id__reject_post";
21
+ startBulkMerge: "start_bulk_merge_duplicates_bulk_merge_post";
22
+ undoMerge: "undo_merge_duplicates_undo_merge__merge_history_id__post";
23
+ }
24
+
25
+ /** Input and output of every `g8.api.duplicates` operation, keyed by operationId. */
26
+ export interface DuplicatesOperations {
27
+ /**
28
+ * GET /duplicates/counts
29
+ * Duplicate Counts
30
+ * tier: read · scope: contacts:read
31
+ */
32
+ duplicate_counts_duplicates_counts_get: {
33
+ input: {
34
+ query: {
35
+ entity_type: "contact" | "company" | "deal";
36
+ lifecycle_stage?: string | null;
37
+ };
38
+ headers?: {
39
+ "X-Target-Org-Id"?: string | null;
40
+ };
41
+ };
42
+ output: ApiResponse_dict_str__Any__;
43
+ };
44
+ /**
45
+ * GET /duplicates/bulk-merge/{run_id}
46
+ * Get Bulk Merge Status
47
+ * tier: read · scope: contacts:read
48
+ */
49
+ get_bulk_merge_status_duplicates_bulk_merge__run_id__get: {
50
+ input: {
51
+ path: {
52
+ run_id: string;
53
+ };
54
+ headers?: {
55
+ "X-Target-Org-Id"?: string | null;
56
+ };
57
+ };
58
+ output: ApiResponse_dict_str__Any__;
59
+ };
60
+ /**
61
+ * GET /duplicates
62
+ * List Duplicates
63
+ * tier: read · scope: contacts:read
64
+ */
65
+ list_duplicates_duplicates_get: {
66
+ input: {
67
+ query: {
68
+ entity_type: "contact" | "company" | "deal";
69
+ status?: string;
70
+ owner_id?: string | null;
71
+ industry?: string | null;
72
+ confidence?: string | null;
73
+ /** Comma-separated list of lifecycle stages (e.g. 'lead') */
74
+ lifecycle_stage?: string | null;
75
+ created_after?: string | null;
76
+ created_before?: string | null;
77
+ last_activity_after?: string | null;
78
+ last_activity_before?: string | null;
79
+ discovered_after?: string | null;
80
+ discovered_before?: string | null;
81
+ search?: string | null;
82
+ cursor?: string | null;
83
+ limit?: number;
84
+ };
85
+ headers?: {
86
+ "X-Target-Org-Id"?: string | null;
87
+ };
88
+ };
89
+ output: ApiResponse_dict_str__Any__;
90
+ };
91
+ /**
92
+ * GET /duplicates/recent-merges
93
+ * List Recent Merges
94
+ * tier: read · scope: contacts:read
95
+ */
96
+ list_recent_merges_duplicates_recent_merges_get: {
97
+ input: {
98
+ query?: {
99
+ entity_type?: ("contact" | "company" | "deal") | null;
100
+ include_shadow?: boolean;
101
+ limit?: number;
102
+ };
103
+ headers?: {
104
+ "X-Target-Org-Id"?: string | null;
105
+ };
106
+ };
107
+ output: ApiResponse_list_dict_str__Any___;
108
+ };
109
+ /**
110
+ * POST /duplicates/{suggestion_id}/reject
111
+ * Reject Suggestion
112
+ * tier: write · scope: contacts:write
113
+ */
114
+ reject_suggestion_duplicates__suggestion_id__reject_post: {
115
+ input: {
116
+ path: {
117
+ /** cb_duplicate_suggestions.id */
118
+ suggestion_id: string;
119
+ };
120
+ headers?: {
121
+ "X-Target-Org-Id"?: string | null;
122
+ };
123
+ body?: RejectDuplicateRequest;
124
+ };
125
+ output: ApiResponse_dict_str__Any__;
126
+ };
127
+ /**
128
+ * POST /duplicates/bulk-merge
129
+ * Start Bulk Merge
130
+ * tier: write · scope: contacts:delete
131
+ */
132
+ start_bulk_merge_duplicates_bulk_merge_post: {
133
+ input: {
134
+ headers?: {
135
+ "X-Target-Org-Id"?: string | null;
136
+ };
137
+ body: MergeDuplicatesRequest;
138
+ };
139
+ output: ApiResponse_dict_str__Any__;
140
+ };
141
+ /**
142
+ * POST /duplicates/undo-merge/{merge_history_id}
143
+ * Undo Merge
144
+ * tier: write · scope: contacts:write
145
+ */
146
+ undo_merge_duplicates_undo_merge__merge_history_id__post: {
147
+ input: {
148
+ path: {
149
+ merge_history_id: string;
150
+ };
151
+ headers?: {
152
+ "X-Target-Org-Id"?: string | null;
153
+ };
154
+ };
155
+ output: ApiResponse_dict_str__Any__;
156
+ };
157
+ }
158
+
159
+ // 5 schemas referenced above (the same as G8Contract.<Name>).
160
+
161
+ export interface ApiResponse_dict_str__Any__ {
162
+ data: Record<string, unknown>;
163
+ pagination?: PaginationMeta | null;
164
+ }
165
+
166
+ export interface ApiResponse_list_dict_str__Any___ {
167
+ data: Array<Record<string, unknown>>;
168
+ pagination?: PaginationMeta | null;
169
+ }
170
+
171
+ /**
172
+ * Kick off a bulk merge run for up to ``BULK_MERGE_MAX_PAIRS`` suggestion
173
+ * pairs. Mirrors ``duplicates/interfaces/router.py::_BulkMergeRequest``.
174
+ */
175
+ export interface MergeDuplicatesRequest {
176
+ criterion: "most_recent_engagement" | "oldest_engagement" | "created_first" | "created_last" | "most_recently_updated";
177
+ suggestion_ids: Array<string>;
178
+ }
179
+
180
+ export interface PaginationMeta {
181
+ /** Whether there are more pages */
182
+ has_next: boolean;
183
+ /** Items per page */
184
+ limit: number;
185
+ /** 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. */
186
+ next_cursor?: string | null;
187
+ /** Current page number (1-indexed) */
188
+ page: number;
189
+ /** Total number of items */
190
+ total: number;
191
+ }
192
+
193
+ export interface RejectDuplicateRequest {
194
+ reason?: string | null;
195
+ }
@@ -0,0 +1,315 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.duplicates`: Duplicates
4
+
5
+ 7 operations (4 read, 3 write).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.duplicates.*` 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: [duplicates.d.ts](duplicates.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`duplicateCounts`](#op-duplicatecounts) | `GET /api/v1/duplicates/counts` | read | `contacts:read` | Duplicate Counts |
26
+ | [`getBulkMergeStatus`](#op-getbulkmergestatus) | `GET /api/v1/duplicates/bulk-merge/{run_id}` | read | `contacts:read` | Get Bulk Merge Status |
27
+ | [`listDuplicates`](#op-listduplicates) | `GET /api/v1/duplicates` | read | `contacts:read` | List Duplicates |
28
+ | [`listRecentMerges`](#op-listrecentmerges) | `GET /api/v1/duplicates/recent-merges` | read | `contacts:read` | List Recent Merges |
29
+ | [`rejectSuggestion`](#op-rejectsuggestion) | `POST /api/v1/duplicates/{suggestion_id}/reject` | write | `contacts:write` | Reject Suggestion |
30
+ | [`startBulkMerge`](#op-startbulkmerge) | `POST /api/v1/duplicates/bulk-merge` | write | `contacts:delete` | Start Bulk Merge |
31
+ | [`undoMerge`](#op-undomerge) | `POST /api/v1/duplicates/undo-merge/{merge_history_id}` | write | `contacts:write` | Undo Merge |
32
+
33
+ ---
34
+
35
+ <a id="op-duplicatecounts"></a>
36
+
37
+ ### `g8.api.duplicates.duplicateCounts(input)`
38
+
39
+ **Duplicate Counts**
40
+
41
+ - HTTP: `GET /api/v1/duplicates/counts`
42
+ - operationId: `duplicate_counts_duplicates_counts_get` (also callable as `g8.api.call("duplicate_counts_duplicates_counts_get", input)`)
43
+ - Tier: `read`: reads data; safe to call and to retry
44
+ - API-key scope: `contacts:read`
45
+
46
+ Badge count of pending duplicate suggestions. Proxies
47
+ ``GET /v1/duplicates/counts`` (``duplicates/interfaces/router.py:556``).
48
+
49
+ **Input**
50
+
51
+ | Field | Type | Required | Description |
52
+ |---|---|---|---|
53
+ | `query.entity_type` | `"contact" \| "company" \| "deal"` | yes | |
54
+ | `query.lifecycle_stage` | `string \| null` | no | |
55
+
56
+ **Returns** `ApiResponse_dict_str__Any__`: the envelope `{ data: Record<string, unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
57
+
58
+ Other envelope fields: `pagination` (PaginationMeta).
59
+
60
+ **Example**
61
+
62
+ ```ts
63
+ const result = await g8.api.duplicates.duplicateCounts({ query: { entity_type: "contact" } });
64
+ ```
65
+
66
+ ---
67
+
68
+ <a id="op-getbulkmergestatus"></a>
69
+
70
+ ### `g8.api.duplicates.getBulkMergeStatus(input)`
71
+
72
+ **Get Bulk Merge Status**
73
+
74
+ - HTTP: `GET /api/v1/duplicates/bulk-merge/{run_id}`
75
+ - operationId: `get_bulk_merge_status_duplicates_bulk_merge__run_id__get` (also callable as `g8.api.call("get_bulk_merge_status_duplicates_bulk_merge__run_id__get", input)`)
76
+ - Tier: `read`: reads data; safe to call and to retry
77
+ - API-key scope: `contacts:read`
78
+
79
+ Poll a bulk-merge run started via ``POST /duplicates/bulk-merge``
80
+ (this router or the app UI -- same in-process run registry, see module
81
+ docstring). Proxies ``GET /v1/duplicates/bulk-merge/{run_id}``.
82
+
83
+ **Input**
84
+
85
+ | Field | Type | Required | Description |
86
+ |---|---|---|---|
87
+ | `path.run_id` | `string` | yes | |
88
+
89
+ **Returns** `ApiResponse_dict_str__Any__`: the envelope `{ data: Record<string, unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
90
+
91
+ Other envelope fields: `pagination` (PaginationMeta).
92
+
93
+ **Example**
94
+
95
+ ```ts
96
+ const result = await g8.api.duplicates.getBulkMergeStatus({ path: { run_id: "id" } });
97
+ ```
98
+
99
+ ---
100
+
101
+ <a id="op-listduplicates"></a>
102
+
103
+ ### `g8.api.duplicates.listDuplicates(input)`
104
+
105
+ **List Duplicates**
106
+
107
+ - HTTP: `GET /api/v1/duplicates`
108
+ - operationId: `list_duplicates_duplicates_get` (also callable as `g8.api.call("list_duplicates_duplicates_get", input)`)
109
+ - Tier: `read`: reads data; safe to call and to retry
110
+ - API-key scope: `contacts:read`
111
+
112
+ List duplicate-suggestion pairs. Proxies the app's own
113
+ ``GET /v1/duplicates`` (``duplicates/interfaces/router.py:497``) --
114
+ see module docstring for why this is a direct function call.
115
+
116
+ **Input**
117
+
118
+ | Field | Type | Required | Description |
119
+ |---|---|---|---|
120
+ | `query.entity_type` | `"contact" \| "company" \| "deal"` | yes | |
121
+ | `query.status` | `string` | no | default `"pending"` |
122
+ | `query.owner_id` | `string \| null` | no | |
123
+ | `query.industry` | `string \| null` | no | |
124
+ | `query.confidence` | `string \| null` | no | |
125
+ | `query.lifecycle_stage` | `string \| null` | no | Comma-separated list of lifecycle stages (e.g. 'lead') |
126
+ | `query.created_after` | `string (date-time) \| null` | no | |
127
+ | `query.created_before` | `string (date-time) \| null` | no | |
128
+ | `query.last_activity_after` | `string (date-time) \| null` | no | |
129
+ | `query.last_activity_before` | `string (date-time) \| null` | no | |
130
+ | `query.discovered_after` | `string (date-time) \| null` | no | |
131
+ | `query.discovered_before` | `string (date-time) \| null` | no | |
132
+ | `query.search` | `string \| null` | no | |
133
+ | `query.cursor` | `string \| null` | no | |
134
+ | `query.limit` | `integer` | no | default `25` |
135
+
136
+ **Returns** `ApiResponse_dict_str__Any__`: the envelope `{ data: Record<string, unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
137
+
138
+ Other envelope fields: `pagination` (PaginationMeta).
139
+
140
+ **Example**
141
+
142
+ ```ts
143
+ const result = await g8.api.duplicates.listDuplicates({ query: { entity_type: "contact" } });
144
+ ```
145
+
146
+ ---
147
+
148
+ <a id="op-listrecentmerges"></a>
149
+
150
+ ### `g8.api.duplicates.listRecentMerges(input?)`
151
+
152
+ **List Recent Merges**
153
+
154
+ - HTTP: `GET /api/v1/duplicates/recent-merges`
155
+ - operationId: `list_recent_merges_duplicates_recent_merges_get` (also callable as `g8.api.call("list_recent_merges_duplicates_recent_merges_get", input)`)
156
+ - Tier: `read`: reads data; safe to call and to retry
157
+ - API-key scope: `contacts:read`
158
+
159
+ Recent merges with undo eligibility. Proxies
160
+ ``GET /v1/duplicates/recent-merges`` (``duplicates/interfaces/router.py:899``).
161
+ Make undo discoverable: each row's ``can_undo`` flag tells you whether
162
+ ``POST /duplicates/undo-merge/{id}`` below will accept it.
163
+
164
+ **Input**
165
+
166
+ | Field | Type | Required | Description |
167
+ |---|---|---|---|
168
+ | `query.entity_type` | `"contact" \| "company" \| "deal" \| null` | no | |
169
+ | `query.include_shadow` | `boolean` | no | default `false` |
170
+ | `query.limit` | `integer` | no | default `25` |
171
+
172
+ **Returns** `ApiResponse_list_dict_str__Any___`: the envelope `{ data: Array<Record<string, unknown>>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
173
+
174
+ Other envelope fields: `pagination` (PaginationMeta).
175
+
176
+ **Example**
177
+
178
+ ```ts
179
+ const result = await g8.api.duplicates.listRecentMerges();
180
+ ```
181
+
182
+ ---
183
+
184
+ <a id="op-rejectsuggestion"></a>
185
+
186
+ ### `g8.api.duplicates.rejectSuggestion(input)`
187
+
188
+ **Reject Suggestion**
189
+
190
+ - HTTP: `POST /api/v1/duplicates/{suggestion_id}/reject`
191
+ - operationId: `reject_suggestion_duplicates__suggestion_id__reject_post` (also callable as `g8.api.call("reject_suggestion_duplicates__suggestion_id__reject_post", input)`)
192
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
193
+ - API-key scope: `contacts:write`
194
+
195
+ Mark a pair as not-a-duplicate, permanently. Proxies
196
+ ``POST /v1/duplicates/{id}/reject`` (``duplicates/interfaces/router.py:585``).
197
+
198
+ **Input**
199
+
200
+ | Field | Type | Required | Description |
201
+ |---|---|---|---|
202
+ | `path.suggestion_id` | `string (uuid)` | yes | cb_duplicate_suggestions.id |
203
+ | `body` | `RejectDuplicateRequest` | no | Request body; fields below. |
204
+
205
+ Body fields (`RejectDuplicateRequest`):
206
+
207
+ | Field | Type | Required | Description |
208
+ |---|---|---|---|
209
+ | `body.reason` | `string \| null` | no | |
210
+
211
+ **Returns** `ApiResponse_dict_str__Any__`: the envelope `{ data: Record<string, unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
212
+
213
+ Other envelope fields: `pagination` (PaginationMeta).
214
+
215
+ **Example**
216
+
217
+ ```ts
218
+ const result = await g8.api.duplicates.rejectSuggestion({ path: { suggestion_id: "00000000-0000-0000-0000-000000000000" } });
219
+ ```
220
+
221
+ ---
222
+
223
+ <a id="op-startbulkmerge"></a>
224
+
225
+ ### `g8.api.duplicates.startBulkMerge(input)`
226
+
227
+ **Start Bulk Merge**
228
+
229
+ - HTTP: `POST /api/v1/duplicates/bulk-merge`
230
+ - operationId: `start_bulk_merge_duplicates_bulk_merge_post` (also callable as `g8.api.call("start_bulk_merge_duplicates_bulk_merge_post", input)`)
231
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
232
+ - API-key scope: `contacts:delete`
233
+
234
+ Merge a group: start a bulk merge run over up to 50 suggestion pairs.
235
+ Proxies ``POST /v1/duplicates/bulk-merge``
236
+ (``duplicates/interfaces/router.py:617``) -- same blocker checks, same
237
+ per-pair transactions, same ``MergeContactBlockedError``/
238
+ ``MergeCompanyBlockedError`` handling. Returns immediately with a
239
+ ``run_id``; poll ``GET /duplicates/bulk-merge/{run_id}`` for progress.
240
+ Merge is destructive: an already-applied pair is only reversible via
241
+ ``POST /duplicates/undo-merge/{merge_history_id}`` within its 30-day
242
+ window, so check the response and the recent-merges feed rather than
243
+ assuming success.
244
+
245
+ Idempotency: this is a POST, so it already honours the standard
246
+ ``Idempotency-Key`` header via the platform-wide
247
+ ``IdempotencyMiddleware`` (``developer_api/dependencies
248
+ /idempotency_middleware.py``) -- no per-route wiring needed. Retrying
249
+ the same key returns the first run's response instead of starting a
250
+ second run.
251
+
252
+ **Input**
253
+
254
+ | Field | Type | Required | Description |
255
+ |---|---|---|---|
256
+ | `body` | `MergeDuplicatesRequest` | yes | Request body; fields below. |
257
+
258
+ Body fields (`MergeDuplicatesRequest`):
259
+
260
+ | Field | Type | Required | Description |
261
+ |---|---|---|---|
262
+ | `body.criterion` | `"most_recent_engagement" \| "oldest_engagement" \| "created_first" \| "created_last" \| "most_recently_updated"` | yes | |
263
+ | `body.suggestion_ids` | `Array<string (uuid)>` | yes | min items 1, max items 50 |
264
+
265
+ **Returns** `ApiResponse_dict_str__Any__`: the envelope `{ data: Record<string, unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
266
+
267
+ Other envelope fields: `pagination` (PaginationMeta).
268
+
269
+ **Example**
270
+
271
+ ```ts
272
+ const result = await g8.api.duplicates.startBulkMerge({
273
+ body: {
274
+ criterion: "most_recent_engagement",
275
+ suggestion_ids: ["00000000-0000-0000-0000-000000000000"],
276
+ },
277
+ });
278
+ ```
279
+
280
+ ---
281
+
282
+ <a id="op-undomerge"></a>
283
+
284
+ ### `g8.api.duplicates.undoMerge(input)`
285
+
286
+ **Undo Merge**
287
+
288
+ - HTTP: `POST /api/v1/duplicates/undo-merge/{merge_history_id}`
289
+ - operationId: `undo_merge_duplicates_undo_merge__merge_history_id__post` (also callable as `g8.api.call("undo_merge_duplicates_undo_merge__merge_history_id__post", input)`)
290
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
291
+ - API-key scope: `contacts:write`
292
+
293
+ Undo a merge within its 30-day recoverability window. Proxies
294
+ ``POST /v1/duplicates/undo-merge/{id}``
295
+ (``duplicates/interfaces/router.py:1044``). Contact/company merges only --
296
+ the app's own merge vocabulary excludes deals here too (see
297
+ ``shared/merge/entity_registry.py::SUPPORTED_ENTITY_TYPES``), so this
298
+ route accepts no ``deal_scope`` either, matching the app function's own
299
+ signature exactly.
300
+
301
+ **Input**
302
+
303
+ | Field | Type | Required | Description |
304
+ |---|---|---|---|
305
+ | `path.merge_history_id` | `string` | yes | |
306
+
307
+ **Returns** `ApiResponse_dict_str__Any__`: the envelope `{ data: Record<string, unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
308
+
309
+ Other envelope fields: `pagination` (PaginationMeta).
310
+
311
+ **Example**
312
+
313
+ ```ts
314
+ const result = await g8.api.duplicates.undoMerge({ path: { merge_history_id: "id" } });
315
+ ```
@@ -0,0 +1,38 @@
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.eSign` (E-Sign): 1 operation.
5
+ *
6
+ * For reading. In code, import from the package instead:
7
+ * import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
8
+ * type In = ApiInput<"download_signed_envelope_envelopes__envelope_id__pdf_get">;
9
+ *
10
+ * Reference with examples: eSign.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.eSign.<member>` -> the operationId it calls. */
15
+ export interface ESignMembers {
16
+ downloadSignedEnvelope: "download_signed_envelope_envelopes__envelope_id__pdf_get";
17
+ }
18
+
19
+ /** Input and output of every `g8.api.eSign` operation, keyed by operationId. */
20
+ export interface ESignOperations {
21
+ /**
22
+ * GET /envelopes/{envelope_id}/pdf
23
+ * Download Signed Envelope
24
+ * tier: read · scope: quotes:read
25
+ */
26
+ download_signed_envelope_envelopes__envelope_id__pdf_get: {
27
+ input: {
28
+ path: {
29
+ /** Envelope id. */
30
+ envelope_id: string;
31
+ };
32
+ headers?: {
33
+ "X-Target-Org-Id"?: string | null;
34
+ };
35
+ };
36
+ output: void;
37
+ };
38
+ }
@@ -0,0 +1,54 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.eSign`: E-Sign
4
+
5
+ 1 operation (1 read).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.eSign.*` 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: [eSign.d.ts](eSign.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`downloadSignedEnvelope`](#op-downloadsignedenvelope) | `GET /api/v1/envelopes/{envelope_id}/pdf` | read | `quotes:read` | Download Signed Envelope |
26
+
27
+ ---
28
+
29
+ <a id="op-downloadsignedenvelope"></a>
30
+
31
+ ### `g8.api.eSign.downloadSignedEnvelope(input)`
32
+
33
+ **Download Signed Envelope**
34
+
35
+ - HTTP: `GET /api/v1/envelopes/{envelope_id}/pdf`
36
+ - operationId: `download_signed_envelope_envelopes__envelope_id__pdf_get` (also callable as `g8.api.call("download_signed_envelope_envelopes__envelope_id__pdf_get", input)`)
37
+ - Tier: `read`: reads data; safe to call and to retry
38
+ - API-key scope: `quotes:read`
39
+
40
+ The signed PDF of a completed envelope.
41
+
42
+ **Input**
43
+
44
+ | Field | Type | Required | Description |
45
+ |---|---|---|---|
46
+ | `path.envelope_id` | `string (uuid)` | yes | Envelope id. |
47
+
48
+ **Returns**: no JSON body is declared for the success response.
49
+
50
+ **Example**
51
+
52
+ ```ts
53
+ const result = await g8.api.eSign.downloadSignedEnvelope({ path: { envelope_id: "00000000-0000-0000-0000-000000000000" } });
54
+ ```