@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,212 @@
1
+ export interface Newsletter {
2
+ id: string;
3
+ name: string | null;
4
+ slug: string | null;
5
+ status: string | null;
6
+ goal: string | null;
7
+ audience_list_id: unknown;
8
+ created_at: string | null;
9
+ updated_at: string | null;
10
+ [key: string]: unknown;
11
+ }
12
+ export interface NewsletterIssue {
13
+ id: string;
14
+ newsletter_id: string | null;
15
+ subject: string | null;
16
+ status: string | null;
17
+ scheduled_at: string | null;
18
+ sent_at: string | null;
19
+ [key: string]: unknown;
20
+ }
21
+ export interface NewsletterTemplate {
22
+ id: string;
23
+ name: string | null;
24
+ [key: string]: unknown;
25
+ }
26
+ export interface NewsletterSubscriber {
27
+ id: string;
28
+ email: string | null;
29
+ status: string | null;
30
+ subscribed_at: string | null;
31
+ [key: string]: unknown;
32
+ }
33
+ export interface NewsletterIssueKpis {
34
+ sent: number | null;
35
+ delivered: number | null;
36
+ opens: number | null;
37
+ clicks: number | null;
38
+ unsubscribes: number | null;
39
+ bounces: number | null;
40
+ [key: string]: unknown;
41
+ }
42
+ /**
43
+ * Mirrors `NewsletterCreateRequest` in
44
+ * `developer_api/interfaces/dtos/newsletter.py:29`. No index signature: an
45
+ * invented field here (e.g. `description`/`from_name`/`from_email`, none of
46
+ * which the DTO declares) would 422 in production while every fetch-mocked
47
+ * test stayed green.
48
+ */
49
+ export interface NewsletterCreateParams {
50
+ /** newsletter.py:32 — required, max_length=255. */
51
+ name: string;
52
+ /** newsletter.py:33 — optional. */
53
+ goal?: string;
54
+ }
55
+ /**
56
+ * Mirrors `IssueCreateRequest` in `developer_api/interfaces/dtos/newsletter.py:42`.
57
+ * `subject` and `html_body` are the only required fields — everything else is
58
+ * optional. No index signature (see `NewsletterCreateParams`).
59
+ */
60
+ export interface NewsletterIssueCreateParams {
61
+ /** newsletter.py:43 — required, max_length=2000. */
62
+ subject: string;
63
+ /** newsletter.py:45 — required. */
64
+ html_body: string;
65
+ /** newsletter.py:44 — optional, max_length=500. */
66
+ preview_text?: string;
67
+ /** newsletter.py:46 — optional. */
68
+ plain_text?: string;
69
+ /** newsletter.py:47 — optional, max_length=255. */
70
+ sender_name?: string;
71
+ /** newsletter.py:48 — optional, must be a valid email. */
72
+ sender_email?: string;
73
+ /** newsletter.py:49 — optional, must be a valid email. */
74
+ reply_to?: string;
75
+ }
76
+ /**
77
+ * Mirrors `IssueUpdateRequest` in `developer_api/interfaces/dtos/newsletter.py:52`
78
+ * — a SEPARATE, fully-partial DTO from `IssueCreateRequest`. Every field is
79
+ * optional (the backend applies `exclude_unset=True`, so only fields you pass
80
+ * are changed). Do not reuse `NewsletterIssueCreateParams` here: that type's
81
+ * required `subject`/`html_body` would force callers to resend the whole
82
+ * issue on every partial edit.
83
+ */
84
+ export interface NewsletterIssueUpdateParams {
85
+ /** newsletter.py:57 — optional, max_length=2000. */
86
+ subject?: string;
87
+ /** newsletter.py:59 — optional. */
88
+ html_body?: string;
89
+ /** newsletter.py:58 — optional, max_length=500. */
90
+ preview_text?: string;
91
+ /** newsletter.py:60 — optional. */
92
+ plain_text?: string;
93
+ /** newsletter.py:61 — optional, max_length=255. */
94
+ sender_name?: string;
95
+ /** newsletter.py:62 — optional, must be a valid email. */
96
+ sender_email?: string;
97
+ /** newsletter.py:63 — optional, must be a valid email. */
98
+ reply_to?: string;
99
+ }
100
+ /**
101
+ * Query params for `list()`/`listSubscribers()`. Kept open (unlike the body
102
+ * param interfaces above): these flow into `RequestOptions.query`, which is
103
+ * `Record<string, unknown>`, so a closed interface fails `tsc` here even
104
+ * though the underlying router endpoints do not model these as a Pydantic
105
+ * request body — an extra query key is a silent no-op on the wire, not a
106
+ * 422, so this file's index-signature review does not apply the same way.
107
+ */
108
+ export interface NewsletterListParams {
109
+ limit?: number;
110
+ offset?: number;
111
+ [key: string]: unknown;
112
+ }
113
+ /**
114
+ * Newsletter API - manage newsletters, issues, subscribers and send analytics.
115
+ * Requires API key (server-side).
116
+ *
117
+ * Backed by:
118
+ * GET /api/v1/newsletters
119
+ * POST /api/v1/newsletters
120
+ * GET /api/v1/newsletters/templates
121
+ * GET /api/v1/newsletters/{newsletter_id}
122
+ * GET /api/v1/newsletters/{newsletter_id}/issues
123
+ * POST /api/v1/newsletters/{newsletter_id}/issues
124
+ * GET /api/v1/newsletters/{newsletter_id}/issues/{issue_id}
125
+ * PUT /api/v1/newsletters/{newsletter_id}/issues/{issue_id}
126
+ * POST /api/v1/newsletters/{newsletter_id}/issues/{issue_id}/duplicate
127
+ * POST /api/v1/newsletters/{newsletter_id}/issues/{issue_id}/send
128
+ * POST /api/v1/newsletters/{newsletter_id}/issues/{issue_id}/send-test
129
+ * GET /api/v1/newsletters/{newsletter_id}/issues/{issue_id}/analytics/kpis
130
+ * GET /api/v1/newsletters/{newsletter_id}/subscribers
131
+ * POST /api/v1/newsletters/{newsletter_id}/subscribers
132
+ * PATCH /api/v1/newsletters/{newsletter_id}/subscribers/{subscriber_id}/unsubscribe
133
+ *
134
+ * Request param types are field-checked against the vendored
135
+ * `developer-contract/openapi.json` component schemas via
136
+ * `expectBodyMatchesContract()` in
137
+ * `tests/parity-companies-notes-newsletter.test.ts` — see that file before
138
+ * changing any interface above.
139
+ */
140
+ export declare const createNewsletterClient: (apiKey: string, apiUrl?: string) => {
141
+ /** List newsletters for the org. */
142
+ list(params?: NewsletterListParams): Promise<{
143
+ data: Newsletter[];
144
+ }>;
145
+ /** Create a newsletter. Mirrors `NewsletterCreateRequest` (newsletter.py:29). */
146
+ create(params: NewsletterCreateParams): Promise<Newsletter>;
147
+ /** List available newsletter templates. */
148
+ templates(): Promise<{
149
+ data: NewsletterTemplate[];
150
+ }>;
151
+ /** Get a single newsletter. */
152
+ get(newsletterId: string): Promise<Newsletter>;
153
+ /** List issues of a newsletter. */
154
+ listIssues(newsletterId: string): Promise<{
155
+ data: NewsletterIssue[];
156
+ }>;
157
+ /** Create an issue on a newsletter. Mirrors `IssueCreateRequest` (newsletter.py:42). */
158
+ createIssue(newsletterId: string, params: NewsletterIssueCreateParams): Promise<NewsletterIssue>;
159
+ /** Get a single issue. */
160
+ getIssue(newsletterId: string, issueId: string): Promise<NewsletterIssue>;
161
+ /**
162
+ * Update fields on a draft issue. Partial — only the fields you pass are
163
+ * changed. Mirrors `IssueUpdateRequest` (newsletter.py:52), NOT
164
+ * `IssueCreateRequest`: every field is optional here even though the
165
+ * transport verb is PUT.
166
+ */
167
+ updateIssue(newsletterId: string, issueId: string, params: NewsletterIssueUpdateParams): Promise<NewsletterIssue>;
168
+ /** Duplicate an issue into a new draft. */
169
+ duplicateIssue(newsletterId: string, issueId: string): Promise<NewsletterIssue>;
170
+ /**
171
+ * Send an issue to its subscribers. This sends real email — pass an
172
+ * `idempotencyKey` so a retry cannot double-send. `scheduled_at` mirrors
173
+ * `IssueSendRequest.scheduled_at` (newsletter.py:70); omitted (or left
174
+ * undefined) sends immediately, matching the DTO's own default. Note
175
+ * `idempotencyKey` is a transport header (`Idempotency-Key`), not a body
176
+ * field, so it is not part of the `IssueSendRequest` mirror.
177
+ */
178
+ sendIssue(newsletterId: string, issueId: string, opts?: {
179
+ idempotencyKey?: string;
180
+ scheduled_at?: string;
181
+ }): Promise<{
182
+ data: unknown;
183
+ }>;
184
+ /**
185
+ * Send a test copy of an issue to a single address. Mirrors
186
+ * `IssueSendTestRequest` (newsletter.py:73): ONE required `test_email`
187
+ * string, not a `recipients` array — the previous shape here always
188
+ * 422'd against the real API.
189
+ */
190
+ sendTestEmail(newsletterId: string, issueId: string, testEmail: string): Promise<{
191
+ data: unknown;
192
+ }>;
193
+ /** Engagement KPIs for a sent issue. */
194
+ issueKpis(newsletterId: string, issueId: string): Promise<NewsletterIssueKpis>;
195
+ /** List subscribers of a newsletter. */
196
+ listSubscribers(newsletterId: string, params?: NewsletterListParams): Promise<{
197
+ data: NewsletterSubscriber[];
198
+ }>;
199
+ /**
200
+ * Add a subscriber to a newsletter. Mirrors `SubscriberAddRequest`
201
+ * (newsletter.py:77) — `email` required, `first_name`/`last_name`
202
+ * optional.
203
+ */
204
+ addSubscriber(newsletterId: string, email: string, opts?: {
205
+ first_name?: string;
206
+ last_name?: string;
207
+ }): Promise<NewsletterSubscriber>;
208
+ /** Unsubscribe a subscriber. */
209
+ unsubscribe(newsletterId: string, subscriberId: string): Promise<{
210
+ data: unknown;
211
+ }>;
212
+ };
@@ -0,0 +1,57 @@
1
+ export interface Note {
2
+ id: string;
3
+ entity_type: string;
4
+ entity_id: string;
5
+ content: string;
6
+ created_by: string | null;
7
+ created_by_name: string | null;
8
+ created_at: string | null;
9
+ updated_at: string | null;
10
+ }
11
+ /**
12
+ * Notes API - CRUD for notes attached to contacts, companies and deals.
13
+ * Requires API key (server-side).
14
+ *
15
+ * Backed by:
16
+ * GET /api/v1/contacts/{contact_id}/notes
17
+ * POST /api/v1/contacts/{contact_id}/notes
18
+ * GET /api/v1/companies/{company_id}/notes
19
+ * POST /api/v1/companies/{company_id}/notes
20
+ * GET /api/v1/deals/{deal_id}/notes
21
+ * POST /api/v1/deals/{deal_id}/notes
22
+ * PATCH /api/v1/notes/{note_id}
23
+ * DELETE /api/v1/notes/{note_id}
24
+ *
25
+ * `list()` / `create()` remain contact-scoped for backwards compatibility.
26
+ * Use the `ForCompany` / `ForDeal` variants for the other two entity types.
27
+ * Note IDs are shared across entity types, so `update()` and `delete()` work
28
+ * on a note from any of the three.
29
+ */
30
+ export declare const createNotesClient: (apiKey: string, apiUrl?: string) => {
31
+ /** List all notes on a contact. */
32
+ list(contactId: number): Promise<{
33
+ data: Note[];
34
+ }>;
35
+ /** Create a note on a contact. */
36
+ create(contactId: number, content: string): Promise<Note>;
37
+ /** List all notes on a company. */
38
+ listForCompany(companyId: number): Promise<{
39
+ data: Note[];
40
+ }>;
41
+ /** Create a note on a company. */
42
+ createForCompany(companyId: number, content: string): Promise<Note>;
43
+ /** List all notes on a deal. `dealId` is a UUID string, not a number. */
44
+ listForDeal(dealId: string): Promise<{
45
+ data: Note[];
46
+ }>;
47
+ /** Create a note on a deal. `dealId` is a UUID string, not a number. */
48
+ createForDeal(dealId: string, content: string): Promise<Note>;
49
+ /** Update a note's content. Works for contact, company and deal notes. */
50
+ update(noteId: string, content: string): Promise<Note>;
51
+ /** Delete a note. */
52
+ delete(noteId: string): Promise<{
53
+ data: {
54
+ deleted: boolean;
55
+ };
56
+ }>;
57
+ };
@@ -0,0 +1,281 @@
1
+ export type CustomObjectIcon = "box" | "briefcase" | "building" | "calendar" | "flag" | "folder" | "globe" | "heart" | "layers" | "package" | "target" | "users";
2
+ /** A custom object type in your workspace — a record type you define. */
3
+ export interface CustomObject {
4
+ /** Stable API slug, e.g. `invoices`. */
5
+ slug: string;
6
+ singular_noun: string;
7
+ plural_noun: string;
8
+ /** True for object types graph8 ships; system objects cannot be deleted. */
9
+ is_system: boolean;
10
+ is_archived: boolean;
11
+ /** Presentation settings may be absent on older servers. */
12
+ description?: string | null;
13
+ icon?: string | null;
14
+ display_attribute_slug?: string | null;
15
+ }
16
+ /** Native schema creation requires objects:manage and current Admin access. */
17
+ export interface CreateCustomObject {
18
+ slug: string;
19
+ singular_noun: string;
20
+ plural_noun: string;
21
+ description?: string | null;
22
+ icon?: CustomObjectIcon | null;
23
+ }
24
+ /** Omitted labels/state are preserved. The API slug is immutable. */
25
+ export interface UpdateCustomObject {
26
+ singular_noun?: string;
27
+ plural_noun?: string;
28
+ is_archived?: boolean;
29
+ /** Omit to preserve; null clears the setting. */
30
+ description?: string | null;
31
+ icon?: CustomObjectIcon | null;
32
+ display_attribute_slug?: string | null;
33
+ }
34
+ /**
35
+ * One attribute on a custom object, and the rules its values must satisfy.
36
+ *
37
+ * `attribute_type` is one of 16 supported types and decides how a value is
38
+ * validated and canonicalized: `text`, `number`, `currency`, `date`,
39
+ * `timestamp`, `checkbox`, `select`, `status`, `email_address`, `phone_number`,
40
+ * `domain`, `location`, `personal_name`, `record_reference`, `rating`,
41
+ * `actor_reference`.
42
+ */
43
+ export interface CustomObjectAttribute {
44
+ slug: string;
45
+ /** Customer-facing label. Display metadata is absent on older servers. */
46
+ title?: string;
47
+ description?: string | null;
48
+ /** Display order; ties are ordered by slug. */
49
+ sort_order?: number;
50
+ /** Protected system field rather than a customer-defined field. */
51
+ is_system?: boolean;
52
+ /** Archive state; absent on older servers. */
53
+ is_archived?: boolean;
54
+ attribute_type: string;
55
+ is_required: boolean;
56
+ /** No two ACTIVE records may hold the same value. A collision returns 409. */
57
+ is_unique: boolean;
58
+ is_multiselect: boolean;
59
+ /** Apply a non-null default to omitted create fields, never PATCH. Absent on older servers. */
60
+ is_default_value_enabled?: boolean;
61
+ /** Configured default; validated like an explicit value when enabled. */
62
+ default_value?: unknown;
63
+ /** Type-specific configuration, e.g. the allowed options for a `select`. */
64
+ config: Record<string, unknown>;
65
+ }
66
+ /** Schema creation requires objects:manage and current Admin access. */
67
+ export interface CreateCustomObjectAttribute {
68
+ slug: string;
69
+ title: string;
70
+ attribute_type: "text" | "number" | "currency" | "date" | "timestamp" | "checkbox" | "select" | "status" | "email_address" | "phone_number" | "domain" | "location" | "personal_name" | "record_reference" | "rating" | "actor_reference";
71
+ description?: string | null;
72
+ is_required?: boolean;
73
+ is_unique?: boolean;
74
+ is_multiselect?: boolean;
75
+ is_default_value_enabled?: boolean;
76
+ default_value?: unknown;
77
+ config?: Record<string, unknown>;
78
+ sort_order?: number;
79
+ }
80
+ /** Omitted fields are preserved; explicit null can clear the configured default. */
81
+ export type UpdateCustomObjectAttribute = Partial<Omit<CreateCustomObjectAttribute, "slug" | "attribute_type">> & {
82
+ is_archived?: boolean;
83
+ };
84
+ /** One record, with its currently active attribute values. */
85
+ export interface CustomObjectRecord {
86
+ id: string;
87
+ object_slug: string;
88
+ /**
89
+ * Values keyed by attribute slug. Untyped by necessity — the valid keys come
90
+ * from YOUR attribute definitions at runtime, so call `listAttributes` for the
91
+ * schema. Saying `any` here would imply the shape was considered and found to
92
+ * be free.
93
+ */
94
+ values: Record<string, unknown>;
95
+ is_archived: boolean;
96
+ /** Revision for conditional updates; absent on older servers. */
97
+ revision?: number;
98
+ created_at: string | null;
99
+ updated_at: string | null;
100
+ }
101
+ /** One generation of one attribute's value. */
102
+ export interface CustomObjectHistoryEntry {
103
+ attribute: string;
104
+ value: unknown;
105
+ active_from: string | null;
106
+ /** Null means this value is still in force. */
107
+ active_until: string | null;
108
+ actor_id: string | null;
109
+ }
110
+ export interface CustomObjectHistory {
111
+ record_id: string;
112
+ entries: CustomObjectHistoryEntry[];
113
+ }
114
+ export interface CustomObjectMutation {
115
+ id: string;
116
+ action: "created" | "updated" | "archived" | "restored";
117
+ occurred_at: string;
118
+ revision: number;
119
+ actor_id: string | null;
120
+ actor_type: "user" | "api" | "app" | "integration" | "system";
121
+ source: string;
122
+ app_id: string | null;
123
+ changes: Record<string, {
124
+ before_present: boolean;
125
+ before: unknown;
126
+ after_present: boolean;
127
+ after: unknown;
128
+ }>;
129
+ was_archived: boolean;
130
+ is_archived: boolean;
131
+ }
132
+ export interface CustomObjectMutations {
133
+ record_id: string;
134
+ entries: CustomObjectMutation[];
135
+ next_cursor: string | null;
136
+ }
137
+ export interface ListRecordsParams {
138
+ page?: number;
139
+ /** 1-200, default 50. */
140
+ limit?: number;
141
+ /** Opaque cursor from a prior response. Takes precedence over `page`. */
142
+ cursor?: string;
143
+ }
144
+ /**
145
+ * Pagination envelope for record listings.
146
+ *
147
+ * Named distinctly rather than `PaginationMeta`: `deals.ts` and `quotes.ts` each
148
+ * already declare their own structurally identical `PaginationMeta`, and one of
149
+ * them is re-exported from `index.ts` — so a third with that name is a
150
+ * `TS2300: Duplicate identifier` at the package's export site. Consolidating the
151
+ * three into one shared type is worth doing and is not this change.
152
+ */
153
+ export interface ObjectPagination {
154
+ page: number;
155
+ limit: number;
156
+ total: number;
157
+ has_next: boolean;
158
+ next_cursor: string | null;
159
+ }
160
+ /**
161
+ * Custom Objects API — your own record types, their schema, and their records (M6-3).
162
+ * Requires an API key (server-side). On the hardened HTTP core: throws a typed
163
+ * `G8Error` on failure and retries transient errors.
164
+ *
165
+ * Access requires an authenticated credential with the applicable object scope.
166
+ *
167
+ * HOW THIS DIFFERS FROM `g8.fields`. A FIELD adds a column to an existing
168
+ * contact or company. A CUSTOM OBJECT is a whole new record type with its own
169
+ * attributes and its own records. Use fields to extend a contact; use custom
170
+ * objects to model an invoice, a shipment, or a subscription.
171
+ *
172
+ * THREE BEHAVIOURS WORTH KNOWING BEFORE YOU WRITE
173
+ *
174
+ * 1. An unknown field is REJECTED (422), not ignored. A typo does not silently
175
+ * lose your data, and the response lists every problem at once so a payload
176
+ * with three mistakes takes one round trip to fix.
177
+ * 2. `update` is a PARTIAL write. Attributes you omit are left alone; sending
178
+ * an explicit `null` clears an optional attribute. Required attributes
179
+ * cannot be cleared with `null` or an empty multivalue list (422).
180
+ * 3. `archive` does not destroy anything. The record leaves listings, stays
181
+ * readable by id, and keeps its history.
182
+ *
183
+ * Record references must resolve to an active record of `config.target_object`
184
+ * within the same organization and app. Unavailable targets return a 422 with
185
+ * `invalid_reference` in the field error's `reason`, without disclosing whether
186
+ * a target exists outside the caller's scope.
187
+ *
188
+ * Backed by:
189
+ * GET /api/v1/objects
190
+ * GET /api/v1/objects/{slug}
191
+ * GET /api/v1/objects/{slug}/attributes
192
+ * GET /api/v1/objects/{slug}/records
193
+ * POST /api/v1/objects/{slug}/records
194
+ * GET /api/v1/objects/{slug}/records/{id}
195
+ * PATCH /api/v1/objects/{slug}/records/{id}
196
+ * DELETE /api/v1/objects/{slug}/records/{id}
197
+ * GET /api/v1/objects/{slug}/records/{id}/history
198
+ */
199
+ export declare const createObjectsClient: (apiKey: string, apiUrl?: string) => {
200
+ /** List the custom object types in your workspace. */
201
+ list(params?: {
202
+ include_archived?: boolean;
203
+ }): Promise<{
204
+ data: CustomObject[];
205
+ }>;
206
+ /** Create a native custom object. Requires objects:manage and Admin access. */
207
+ create(input: CreateCustomObject): Promise<CustomObject>;
208
+ /** Rename, archive or restore an object while preserving its slug and data. */
209
+ update(objectSlug: string, input: UpdateCustomObject): Promise<CustomObject>;
210
+ /** Archive the object without deleting records; restore with update({ is_archived: false }). */
211
+ archive(objectSlug: string): Promise<CustomObject>;
212
+ /** Fetch one object type by slug. */
213
+ get(objectSlug: string): Promise<CustomObject>;
214
+ /** The object's attributes — the schema its records must satisfy. */
215
+ listAttributes(objectSlug: string, params?: {
216
+ include_archived?: boolean;
217
+ }): Promise<{
218
+ data: CustomObjectAttribute[];
219
+ }>;
220
+ /** Create a field using the same schema rules as the customer UI. */
221
+ createAttribute(objectSlug: string, input: CreateCustomObjectAttribute): Promise<CustomObjectAttribute>;
222
+ /** Edit or restore a field; its type and slug are immutable. */
223
+ updateAttribute(objectSlug: string, attributeSlug: string, input: UpdateCustomObjectAttribute): Promise<CustomObjectAttribute>;
224
+ /** Archive without deleting values; restore with updateAttribute({ is_archived: false }). */
225
+ archiveAttribute(objectSlug: string, attributeSlug: string): Promise<CustomObjectAttribute>;
226
+ /** Paginated custom records or canonical deals with current values and revisions.
227
+ * Deal totals and related references respect current record access. */
228
+ listRecords(objectSlug: string, params?: ListRecordsParams): Promise<{
229
+ data: CustomObjectRecord[];
230
+ pagination?: ObjectPagination;
231
+ }>;
232
+ /**
233
+ * Create a record. Every field is validated against the object's attributes;
234
+ * an unknown one is a 422 listing every problem at once, and a collision on a
235
+ * unique attribute is a 409.
236
+ */
237
+ createRecord(objectSlug: string, values: Record<string, unknown>): Promise<CustomObjectRecord>;
238
+ /** Match a unique single-value key, creating or updating while preserving omitted fields. */
239
+ upsertRecord(objectSlug: string, matchingAttribute: string, values: Record<string, unknown>, options?: {
240
+ expectedRevision?: number;
241
+ }): Promise<CustomObjectRecord>;
242
+ /** Fetch one custom record, canonical contact/company, or deal by its stable graph8 ID.
243
+ * Deals retain their UUIDs and expose company, primary-contact and contact_ids references only
244
+ * when permitted. Generic deal mutations are not yet supported.
245
+ */
246
+ getRecord(objectSlug: string, recordId: string): Promise<CustomObjectRecord>;
247
+ /**
248
+ * Update a record. PARTIAL: only the attributes you send are touched, so
249
+ * required attributes you omit are left alone rather than reported missing.
250
+ * Sending an explicit `null` CLEARS that attribute.
251
+ *
252
+ * Custom values retain generations through `history`. Canonical contacts and
253
+ * companies require expectedRevision from a fresh read and expose recorded
254
+ * mutations through `changes`. They do not yet support appendValues/removeValues.
255
+ */
256
+ updateRecord(objectSlug: string, recordId: string, values: Record<string, unknown>, options?: {
257
+ expectedRevision?: number;
258
+ appendValues?: Record<string, unknown[]>;
259
+ removeValues?: Record<string, unknown[]>;
260
+ }): Promise<CustomObjectRecord>;
261
+ /**
262
+ * Archive a record. It leaves listings, stays readable by id, and keeps its
263
+ * history and associations. Nothing is destroyed.
264
+ */
265
+ archiveRecord(objectSlug: string, recordId: string): Promise<CustomObjectRecord>;
266
+ /** Restore archived values under current constraints. Conflicts leave the record archived. */
267
+ restoreRecord(objectSlug: string, recordId: string): Promise<CustomObjectRecord>;
268
+ /**
269
+ * A record's value timeline, newest first. An entry whose `active_until` is
270
+ * null is the value currently in force.
271
+ */
272
+ history(objectSlug: string, recordId: string, limit?: number): Promise<CustomObjectHistory>;
273
+ /** Recorded custom-record or canonical contact/company mutations. Pass next_cursor to continue.
274
+ * Canonical history respects current access/privacy; archived records and older
275
+ * unrecorded writes are not reconstructed. Store unavailability returns 503.
276
+ */
277
+ changes(objectSlug: string, recordId: string, options?: {
278
+ limit?: number;
279
+ cursor?: string;
280
+ }): Promise<CustomObjectMutations>;
281
+ };
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Stage Checklist v2 pipelines. A "pipeline" here is a multi-stage workflow
3
+ * (with evidence requirements and per-channel scripts) that lives parallel
4
+ * to deal pipelines. Use `g8.deals.pipelines()` for deal-pipeline reads.
5
+ */
6
+ export interface StagePipelineStage {
7
+ id: string;
8
+ name: string;
9
+ position: number;
10
+ /** Evidence keys that must be collected before the stage can be marked done. */
11
+ required_elements: string[];
12
+ /** Evidence keys that are recommended but not enforced. */
13
+ recommended_elements: string[];
14
+ /** Channel-specific scripts (call, email, linkedin, etc.). */
15
+ channel_scripts: Record<string, string>;
16
+ color: string | null;
17
+ stage_type: string | null;
18
+ }
19
+ export interface StagePipeline {
20
+ id: string;
21
+ name: string;
22
+ target: string | null;
23
+ is_default: boolean;
24
+ stages: StagePipelineStage[];
25
+ created_at: string | null;
26
+ updated_at: string | null;
27
+ }
28
+ export interface StagePipelineCreateParams {
29
+ name: string;
30
+ target?: string;
31
+ /** If true, creates an empty pipeline (no default stages). */
32
+ blank?: boolean;
33
+ }
34
+ export interface StagePipelineUpdateParams {
35
+ name?: string;
36
+ target?: string;
37
+ }
38
+ export interface StageCreateParams {
39
+ name: string;
40
+ position?: number;
41
+ required_elements?: string[];
42
+ recommended_elements?: string[];
43
+ channel_scripts?: Record<string, string>;
44
+ color?: string;
45
+ stage_type?: string;
46
+ }
47
+ export interface StageUpdateParams {
48
+ name?: string;
49
+ position?: number;
50
+ required_elements?: string[];
51
+ recommended_elements?: string[];
52
+ channel_scripts?: Record<string, string>;
53
+ color?: string;
54
+ }
55
+ export interface EvidenceKey {
56
+ key: string;
57
+ label: string;
58
+ description: string;
59
+ category: string;
60
+ }
61
+ export interface PipelineSuggestion {
62
+ suggestion_id: string;
63
+ name: string;
64
+ target: string;
65
+ stages: Array<{
66
+ name: string;
67
+ required_elements: string[];
68
+ channel_scripts: Record<string, string>;
69
+ }>;
70
+ rationale: string;
71
+ }
72
+ /**
73
+ * Stage Checklist Pipelines API - workflow pipelines with evidence + scripts.
74
+ * Requires API key (server-side). On the hardened HTTP core: throws a typed
75
+ * `G8Error` on failure and retries transient errors.
76
+ *
77
+ * Backed by:
78
+ * GET /api/v1/pipelines
79
+ * GET /api/v1/pipelines/{id}
80
+ * GET /api/v1/pipelines/evidence-library
81
+ * POST /api/v1/pipelines
82
+ * PUT /api/v1/pipelines/{id}
83
+ * DELETE /api/v1/pipelines/{id}
84
+ * POST /api/v1/pipelines/{id}/stages
85
+ * PUT /api/v1/pipelines/{id}/stages/{stage_id}
86
+ * DELETE /api/v1/pipelines/{id}/stages/{stage_id}
87
+ * PUT /api/v1/pipelines/{id}/stages/reorder
88
+ * POST /api/v1/pipelines/suggest
89
+ * POST /api/v1/pipelines/from-suggestion
90
+ */
91
+ export declare const createPipelinesClient: (apiKey: string, apiUrl?: string) => {
92
+ /** List all stage-checklist pipelines with stages, evidence, scripts. */
93
+ list(): Promise<{
94
+ data: StagePipeline[];
95
+ }>;
96
+ /** Get a single pipeline by ID. */
97
+ get(pipelineId: string): Promise<StagePipeline>;
98
+ /** Get the canonical evidence-key library (used when defining stages). */
99
+ evidenceLibrary(): Promise<{
100
+ data: EvidenceKey[];
101
+ }>;
102
+ /** Create a new pipeline. Defaults to a templated set of stages; pass blank=true for empty. */
103
+ create(params: StagePipelineCreateParams): Promise<StagePipeline>;
104
+ /** Update pipeline metadata (name, target). */
105
+ update(pipelineId: string, fields: StagePipelineUpdateParams): Promise<StagePipeline>;
106
+ /** Delete a pipeline. Only allowed when no deals reference it. */
107
+ delete(pipelineId: string): Promise<{
108
+ data: {
109
+ deleted: boolean;
110
+ };
111
+ }>;
112
+ /** Add a new stage to a pipeline. */
113
+ createStage(pipelineId: string, stage: StageCreateParams): Promise<StagePipelineStage>;
114
+ /** Update a stage (evidence, scripts, position). */
115
+ updateStage(pipelineId: string, stageId: string, fields: StageUpdateParams): Promise<StagePipelineStage>;
116
+ /** Reorder stages within a pipeline (pass full ordered list of stage IDs). */
117
+ reorderStages(pipelineId: string, stageIds: string[]): Promise<{
118
+ data: StagePipelineStage[];
119
+ }>;
120
+ /** Delete a stage from a pipeline. */
121
+ deleteStage(pipelineId: string, stageId: string): Promise<{
122
+ data: {
123
+ deleted: boolean;
124
+ };
125
+ }>;
126
+ /** Get an AI-suggested pipeline based on org context (brand, ICP, messaging). */
127
+ suggest(): Promise<{
128
+ data: PipelineSuggestion;
129
+ }>;
130
+ /** Create a real pipeline from an AI suggestion (optionally with overrides). */
131
+ fromSuggestion(suggestionId: string, overrides?: Partial<{
132
+ name: string;
133
+ target: string;
134
+ }>): Promise<StagePipeline>;
135
+ };