@graph8/sdk 0.251.0 → 0.262.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 +105 -7
  4. package/dist/index.d.ts +105 -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 +103 -7
  10. package/dist/react.d.ts +103 -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 +1697 -0
  140. package/docs/api/deals.md +2436 -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,513 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.sequenceLifecycle`: Sequence Lifecycle
4
+
5
+ 8 operations (3 read, 2 destructive, 3 external).
6
+
7
+ 6 of these also have a hand-written method (`g8.sequences`), marked **★** below. Prefer the hand-written method when one exists: it unwraps the `data` envelope and takes friendlier arguments. See [../sdk-clients.md](../sdk-clients.md).
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: [sequenceLifecycle.d.ts](sequenceLifecycle.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`createSequence`](#op-createsequence) ★ | `POST /api/v1/sequences` | external | `sequences:run` | Create Sequence |
26
+ | [`deleteSequence`](#op-deletesequence) ★ | `DELETE /api/v1/sequences/{sequence_id}` | destructive | `sequences:delete` | Delete Sequence |
27
+ | [`getSequenceAnalytics`](#op-getsequenceanalytics) ★ | `GET /api/v1/sequences/{sequence_id}/analytics` | read | `sequences:read` | Get Sequence Analytics |
28
+ | [`listSequenceSteps`](#op-listsequencesteps) | `GET /api/v1/sequences/{sequence_id}/steps` | read | `sequences:read` | List Sequence Steps |
29
+ | [`previewSequence`](#op-previewsequence) ★ | `GET /api/v1/sequences/{sequence_id}/preview` | read | `sequences:read` | Preview Sequence |
30
+ | [`removeLinkedinChannel`](#op-removelinkedinchannel) | `DELETE /api/v1/sequences/{sequence_id}/channels/linkedin` | destructive | `sequences:delete` | Remove Linkedin Channel |
31
+ | [`updateSequence`](#op-updatesequence) ★ | `PATCH /api/v1/sequences/{sequence_id}` | external | `sequences:run` | Update Sequence |
32
+ | [`updateSequenceStep`](#op-updatesequencestep) ★ | `PATCH /api/v1/sequences/{sequence_id}/steps/{step_id}` | external | `sequences:run` | Update Sequence Step |
33
+
34
+ ---
35
+
36
+ <a id="op-createsequence"></a>
37
+
38
+ ### `g8.api.sequenceLifecycle.createSequence(input)`
39
+
40
+ **Create Sequence**
41
+
42
+ - HTTP: `POST /api/v1/sequences`
43
+ - operationId: `create_sequence_sequences_post` (also callable as `g8.api.call("create_sequence_sequences_post", input)`)
44
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
45
+ - API-key scope: `sequences:run`
46
+ - ★ Hand-written: [`g8.sequences.create()`](../sdk-clients.md#g8-sequences-create)
47
+
48
+ Create a new sequence with optional steps and channels.
49
+
50
+ **Input**
51
+
52
+ | Field | Type | Required | Description |
53
+ |---|---|---|---|
54
+ | `body` | `SequenceCreateRequest` | yes | Request body; fields below. |
55
+
56
+ Body fields (`SequenceCreateRequest`):
57
+
58
+ | Field | Type | Required | Description |
59
+ |---|---|---|---|
60
+ | `body.name` | `string` | yes | Sequence name |
61
+ | `body.associated_list_id` | `integer \| null` | no | Contact list to associate |
62
+ | `body.campaign_id` | `string \| null` | no | AI Studio campaign to link |
63
+ | `body.channels` | `Array<ChannelConfig> \| null` | no | Channels to attach |
64
+ | `body.description` | `string \| null` | no | Sequence description |
65
+ | `body.finish_on_reply` | `boolean` | no | Stop contacting on reply default `true` |
66
+ | `body.pinned_mailbox_id` | `integer \| null` | no | Mailbox ID to pin for a nurture sequence. Required when sequence_kind='nurture'; all email channels must use this mailbox. Ignored for cold_outbound sequences. |
67
+ | `body.send_in_same_thread` | `boolean` | no | Send follow-ups in same email thread default `false` |
68
+ | `body.sequence_kind` | `string \| null` | no | Sequence kind: 'cold_outbound' (default) or 'nurture'. Immutable after creation. 'nurture' requires pinned_mailbox_id and is gated by the ENABLE_NURTURE feature flag. default `"cold_outbound"` |
69
+ | `body.steps` | `Array<StepConfig> \| null` | no | Sequence steps to create |
70
+ | `body.user_email` | `string \| null` | no | Owner email address. Omit it to make the person who minted this API key the owner (org keys that record no creator must still send it). |
71
+ | `body.wait_for_new_contacts` | `boolean` | no | Keep sequence waiting for new contacts default `false` |
72
+
73
+ **Returns** `ApiResponse_SequenceCreateResponse_`: the envelope `{ data: SequenceCreateResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
74
+
75
+ Other envelope fields: `pagination` (PaginationMeta).
76
+
77
+ `SequenceCreateResponse` fields:
78
+
79
+ | Field | Type | Required | Description |
80
+ |---|---|---|---|
81
+ | `id` | `string` | yes | |
82
+ | `name` | `string` | yes | |
83
+ | `status` | `string` | yes | |
84
+ | `created_at` | `string \| null` | no | |
85
+
86
+ **Example**
87
+
88
+ ```ts
89
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
90
+ const result = await g8.api.sequenceLifecycle.createSequence({ body: { name: "Example" } });
91
+ ```
92
+
93
+ ---
94
+
95
+ <a id="op-deletesequence"></a>
96
+
97
+ ### `g8.api.sequenceLifecycle.deleteSequence(input)`
98
+
99
+ **Delete Sequence**
100
+
101
+ - HTTP: `DELETE /api/v1/sequences/{sequence_id}`
102
+ - operationId: `delete_sequence_sequences__sequence_id__delete` (also callable as `g8.api.call("delete_sequence_sequences__sequence_id__delete", input)`)
103
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
104
+ - API-key scope: `sequences:delete`
105
+ - ★ Hand-written: [`g8.sequences.delete()`](../sdk-clients.md#g8-sequences-delete)
106
+
107
+ Soft-delete (archive) a sequence. Sets is_archived=True.
108
+
109
+ **Input**
110
+
111
+ | Field | Type | Required | Description |
112
+ |---|---|---|---|
113
+ | `path.sequence_id` | `string` | yes | Sequence ID |
114
+
115
+ **Returns** `ApiResponse_SequenceActionResponse_`: the envelope `{ data: SequenceActionResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
116
+
117
+ Other envelope fields: `pagination` (PaginationMeta).
118
+
119
+ `SequenceActionResponse` fields:
120
+
121
+ | Field | Type | Required | Description |
122
+ |---|---|---|---|
123
+ | `sequence_id` | `string` | yes | |
124
+ | `status` | `string` | yes | |
125
+ | `contacts_affected` | `integer` | no | default `0` |
126
+
127
+ **Example**
128
+
129
+ ```ts
130
+ // destructive: deletes or archives data; confirm with a human before calling.
131
+ const result = await g8.api.sequenceLifecycle.deleteSequence({ path: { sequence_id: "id" } });
132
+ ```
133
+
134
+ ---
135
+
136
+ <a id="op-getsequenceanalytics"></a>
137
+
138
+ ### `g8.api.sequenceLifecycle.getSequenceAnalytics(input)`
139
+
140
+ **Get Sequence Analytics**
141
+
142
+ - HTTP: `GET /api/v1/sequences/{sequence_id}/analytics`
143
+ - operationId: `get_sequence_analytics_sequences__sequence_id__analytics_get` (also callable as `g8.api.call("get_sequence_analytics_sequences__sequence_id__analytics_get", input)`)
144
+ - Tier: `read`: reads data; safe to call and to retry
145
+ - API-key scope: `sequences:read`
146
+ - ★ Hand-written: [`g8.sequences.analytics()`](../sdk-clients.md#g8-sequences-analytics)
147
+
148
+ Get comprehensive analytics for a sequence.
149
+
150
+ **Input**
151
+
152
+ | Field | Type | Required | Description |
153
+ |---|---|---|---|
154
+ | `path.sequence_id` | `string` | yes | Sequence ID |
155
+
156
+ **Returns** `ApiResponse_SequenceAnalyticsResponse_`: the envelope `{ data: SequenceAnalyticsResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
157
+
158
+ Other envelope fields: `pagination` (PaginationMeta).
159
+
160
+ `SequenceAnalyticsResponse` fields:
161
+
162
+ | Field | Type | Required | Description |
163
+ |---|---|---|---|
164
+ | `contact_distribution` | `Record<string, unknown>` | no | |
165
+ | `engagement` | `Record<string, unknown>` | no | |
166
+ | `overview` | `Record<string, unknown>` | no | |
167
+ | `performance` | `Record<string, unknown>` | no | |
168
+ | `sender_distribution` | `Array<Record<string, unknown>>` | no | |
169
+ | `step_breakdown` | `Array<Record<string, unknown>>` | no | |
170
+ | `step_creation_methods` | `Array<Record<string, unknown>>` | no | |
171
+ | `timeline` | `Array<Record<string, unknown>>` | no | |
172
+
173
+ **Example**
174
+
175
+ ```ts
176
+ const result = await g8.api.sequenceLifecycle.getSequenceAnalytics({ path: { sequence_id: "id" } });
177
+ ```
178
+
179
+ ---
180
+
181
+ <a id="op-listsequencesteps"></a>
182
+
183
+ ### `g8.api.sequenceLifecycle.listSequenceSteps(input)`
184
+
185
+ **List Sequence Steps**
186
+
187
+ - HTTP: `GET /api/v1/sequences/{sequence_id}/steps`
188
+ - operationId: `list_sequence_steps_sequences__sequence_id__steps_get` (also callable as `g8.api.call("list_sequence_steps_sequences__sequence_id__steps_get", input)`)
189
+ - Tier: `read`: reads data; safe to call and to retry
190
+ - API-key scope: `sequences:read`
191
+
192
+ List a sequence's steps with their resolved copy. Read-only, no enrollment.
193
+
194
+ The step list from ``/preview`` without the sequence and channel envelope. Each
195
+ step carries the same ``rendered`` block described on ``/preview``, so this is
196
+ the direct way to check what a given step will actually send.
197
+
198
+ **Input**
199
+
200
+ | Field | Type | Required | Description |
201
+ |---|---|---|---|
202
+ | `path.sequence_id` | `string` | yes | Sequence ID |
203
+
204
+ **Returns** `ApiResponse_SequenceStepsResponse_`: the envelope `{ data: SequenceStepsResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
205
+
206
+ Other envelope fields: `pagination` (PaginationMeta).
207
+
208
+ `SequenceStepsResponse` fields:
209
+
210
+ | Field | Type | Required | Description |
211
+ |---|---|---|---|
212
+ | `sequence_id` | `string` | yes | |
213
+ | `steps` | `Array<PreviewStepItem>` | no | |
214
+
215
+ **Example**
216
+
217
+ ```ts
218
+ const result = await g8.api.sequenceLifecycle.listSequenceSteps({ path: { sequence_id: "id" } });
219
+ ```
220
+
221
+ ---
222
+
223
+ <a id="op-previewsequence"></a>
224
+
225
+ ### `g8.api.sequenceLifecycle.previewSequence(input)`
226
+
227
+ **Preview Sequence**
228
+
229
+ - HTTP: `GET /api/v1/sequences/{sequence_id}/preview`
230
+ - operationId: `preview_sequence_sequences__sequence_id__preview_get` (also callable as `g8.api.call("preview_sequence_sequences__sequence_id__preview_get", input)`)
231
+ - Tier: `read`: reads data; safe to call and to retry
232
+ - API-key scope: `sequences:read`
233
+ - ★ Hand-written: [`g8.sequences.preview()`](../sdk-clients.md#g8-sequences-preview)
234
+
235
+ Load a sequence with its steps and channels, including RESOLVED copy. No enrollment.
236
+
237
+ Each step carries both:
238
+
239
+ - ``step_data``: the stored template, exactly as written, spintax braces and all.
240
+ - ``rendered``: the same copy with spintax collapsed to one real variant, plus
241
+ ``total_combinations`` and up to three sample ``variants``.
242
+
243
+ Use ``rendered`` to answer "is my spintax working?". If ``variants`` differ from
244
+ each other, per-contact variation is live and each lead gets a different email.
245
+ ``{{variables}}`` stay visible in ``rendered`` on purpose; they fill in at send
246
+ time from contact data, and a preview has no contact to fill them from.
247
+
248
+ ``rendered`` is null for ON_DEMAND steps, whose copy the AI writes per contact
249
+ at send time rather than reading from ``step_data``.
250
+
251
+ **Input**
252
+
253
+ | Field | Type | Required | Description |
254
+ |---|---|---|---|
255
+ | `path.sequence_id` | `string` | yes | Sequence ID |
256
+
257
+ **Returns** `ApiResponse_SequencePreviewResponse_`: the envelope `{ data: SequencePreviewResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
258
+
259
+ Other envelope fields: `pagination` (PaginationMeta).
260
+
261
+ `SequencePreviewResponse` fields:
262
+
263
+ | Field | Type | Required | Description |
264
+ |---|---|---|---|
265
+ | `id` | `string` | yes | |
266
+ | `channels` | `Array<PreviewChannelItem>` | no | |
267
+ | `description` | `string \| null` | no | |
268
+ | `name` | `string \| null` | no | |
269
+ | `status` | `string \| null` | no | |
270
+ | `steps` | `Array<PreviewStepItem>` | no | |
271
+
272
+ **Example**
273
+
274
+ ```ts
275
+ const result = await g8.api.sequenceLifecycle.previewSequence({ path: { sequence_id: "id" } });
276
+ ```
277
+
278
+ ---
279
+
280
+ <a id="op-removelinkedinchannel"></a>
281
+
282
+ ### `g8.api.sequenceLifecycle.removeLinkedinChannel(input)`
283
+
284
+ **Remove Linkedin Channel**
285
+
286
+ - HTTP: `DELETE /api/v1/sequences/{sequence_id}/channels/linkedin`
287
+ - operationId: `remove_linkedin_channel_sequences__sequence_id__channels_linkedin_delete` (also callable as `g8.api.call("remove_linkedin_channel_sequences__sequence_id__channels_linkedin_delete", input)`)
288
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
289
+ - API-key scope: `sequences:delete`
290
+
291
+ Remove this sequence's LinkedIn steps AND its LinkedIn channel, atomically.
292
+
293
+ Unbinding the channel on its own leaves the LinkedIn steps with no sender,
294
+ which makes the sequence impossible to run or resume (400, and the sequence is
295
+ reverted to DRAFTED) and pauses it outright if a contact reaches the step. This
296
+ endpoint removes both halves in one transaction so that state is never created.
297
+
298
+ A sequence with no LinkedIn binding returns 200 with zero counts rather than
299
+ 404, so it is safe to call across a batch. It also cleans up sequences already
300
+ stranded with orphaned LinkedIn steps.
301
+
302
+ **Input**
303
+
304
+ | Field | Type | Required | Description |
305
+ |---|---|---|---|
306
+ | `path.sequence_id` | `string` | yes | Sequence ID |
307
+ | `query.dry_run` | `boolean` | no | Preview exactly what would be removed without writing anything. default `false` |
308
+ | `query.force` | `boolean` | no | Required to operate on a LIVE or WAITING sequence. The sequence is paused afterwards either way so the result can be reviewed before it resumes sending. default `false` |
309
+
310
+ **Returns** `ApiResponse_LinkedInChannelRemovalResponse_`: the envelope `{ data: LinkedInChannelRemovalResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
311
+
312
+ Other envelope fields: `pagination` (PaginationMeta).
313
+
314
+ `LinkedInChannelRemovalResponse` fields:
315
+
316
+ | Field | Type | Required | Description |
317
+ |---|---|---|---|
318
+ | `auto_paused` | `boolean` | yes | True when a LIVE/WAITING sequence was paused as part of this operation |
319
+ | `channels_removed` | `integer` | yes | Number of LinkedIn channel bindings removed |
320
+ | `dry_run` | `boolean` | yes | True when nothing was written |
321
+ | `remaining_channel_count` | `integer` | yes | Live channel bindings left afterwards |
322
+ | `remaining_step_count` | `integer` | yes | Steps left on the sequence afterwards |
323
+ | `sequence_id` | `string` | yes | Sequence that was operated on |
324
+ | `sequence_now_empty` | `boolean` | yes | True when the sequence has no steps left |
325
+ | `status_after` | `string` | yes | Sequence status after the operation |
326
+ | `status_before` | `string` | yes | Sequence status before the operation |
327
+ | `steps_removed` | `integer` | yes | Number of LinkedIn steps deleted |
328
+ | `channel_type_removed` | `string \| null` | no | Persisted channel_type that was unbound, e.g. LINKEDIN_NETRION |
329
+ | `provider` | `string \| null` | no | LinkedIn provider detected: NETRION, HEYREACH, or null when none was bound |
330
+ | `removed_steps` | `Array<RemovedStepSummary>` | no | The steps that were (or would be) removed |
331
+ | `warnings` | `Array<string>` | no | Advisory notes the caller should surface to the user |
332
+
333
+ **Example**
334
+
335
+ ```ts
336
+ // destructive: deletes or archives data; confirm with a human before calling.
337
+ const result = await g8.api.sequenceLifecycle.removeLinkedinChannel({ path: { sequence_id: "id" } });
338
+ ```
339
+
340
+ ---
341
+
342
+ <a id="op-updatesequence"></a>
343
+
344
+ ### `g8.api.sequenceLifecycle.updateSequence(input)`
345
+
346
+ **Update Sequence**
347
+
348
+ - HTTP: `PATCH /api/v1/sequences/{sequence_id}`
349
+ - operationId: `update_sequence_sequences__sequence_id__patch` (also callable as `g8.api.call("update_sequence_sequences__sequence_id__patch", input)`)
350
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
351
+ - API-key scope: `sequences:run`
352
+ - ★ Hand-written: [`g8.sequences.update()`](../sdk-clients.md#g8-sequences-update)
353
+
354
+ Update sequence metadata. Rejects PATCH when status is transitional (409).
355
+
356
+ **Input**
357
+
358
+ | Field | Type | Required | Description |
359
+ |---|---|---|---|
360
+ | `path.sequence_id` | `string` | yes | Sequence ID |
361
+ | `body` | `SequenceUpdateRequest` | yes | Request body; fields below. |
362
+
363
+ Body fields (`SequenceUpdateRequest`):
364
+
365
+ | Field | Type | Required | Description |
366
+ |---|---|---|---|
367
+ | `body.appointment_id` | `integer \| null` | no | Calendar event-type ID (from GET /event-types). Stamped onto seqsequences.appointment_id. |
368
+ | `body.description` | `string \| null` | no | Sequence description |
369
+ | `body.finish_on_reply` | `boolean \| null` | no | Finish on reply |
370
+ | `body.is_shared` | `boolean \| null` | no | Whether sequence is shared |
371
+ | `body.name` | `string \| null` | no | Sequence name |
372
+ | `body.schedule_id` | `string \| null` | no | Send-window schedule UUID (from GET /schedules). Stamped onto seqsequences.schedule_id. |
373
+ | `body.send_in_same_thread` | `boolean \| null` | no | Send in same thread |
374
+ | `body.textual_agent_name` | `string \| null` | no | Voice-service agent identifier (from GET /voice/dialer/agents) for email / social steps. Stamped onto seqsequences.textual_agent_name. The same value as voice_agent_name is the common case (one agent across channels). |
375
+ | `body.voice_agent_name` | `string \| null` | no | Voice-service agent identifier (from GET /voice/dialer/agents) for phone / SMS steps. Stamped onto seqsequences.voice_agent_name. |
376
+ | `body.wait_for_new_contacts` | `boolean \| null` | no | Wait for new contacts |
377
+
378
+ **Returns** `ApiResponse_SequenceActionResponse_`: the envelope `{ data: SequenceActionResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
379
+
380
+ Other envelope fields: `pagination` (PaginationMeta).
381
+
382
+ `SequenceActionResponse` fields:
383
+
384
+ | Field | Type | Required | Description |
385
+ |---|---|---|---|
386
+ | `sequence_id` | `string` | yes | |
387
+ | `status` | `string` | yes | |
388
+ | `contacts_affected` | `integer` | no | default `0` |
389
+
390
+ **Example**
391
+
392
+ ```ts
393
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
394
+ const result = await g8.api.sequenceLifecycle.updateSequence({ path: { sequence_id: "id" }, body: {} });
395
+ ```
396
+
397
+ ---
398
+
399
+ <a id="op-updatesequencestep"></a>
400
+
401
+ ### `g8.api.sequenceLifecycle.updateSequenceStep(input)`
402
+
403
+ **Update Sequence Step**
404
+
405
+ - HTTP: `PATCH /api/v1/sequences/{sequence_id}/steps/{step_id}`
406
+ - operationId: `update_sequence_step_sequences__sequence_id__steps__step_id__patch` (also callable as `g8.api.call("update_sequence_step_sequences__sequence_id__steps__step_id__patch", input)`)
407
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
408
+ - API-key scope: `sequences:run`
409
+ - ★ Hand-written: [`g8.sequences.updateStep()`](../sdk-clients.md#g8-sequences-updatestep)
410
+
411
+ Update a single step within a sequence.
412
+
413
+ **Input**
414
+
415
+ | Field | Type | Required | Description |
416
+ |---|---|---|---|
417
+ | `path.sequence_id` | `string` | yes | Sequence ID |
418
+ | `path.step_id` | `string` | yes | Step ID |
419
+ | `body` | `StepUpdateRequest` | yes | Request body; fields below. |
420
+
421
+ Body fields (`StepUpdateRequest`):
422
+
423
+ | Field | Type | Required | Description |
424
+ |---|---|---|---|
425
+ | `body.input_type` | `string \| null` | no | Input type. One of: ON_DEMAND, MANUAL_TEMPLATE, AI_GENERATED_TEMPLATE. Case-insensitive. |
426
+ | `body.step_data` | `Record<string, unknown> \| null` | no | Step template/content data |
427
+ | `body.step_type` | `string \| null` | no | Step type. One of: EMAIL, PHONE, SMS, WHATSAPP, HEYREACH, MANUAL_DIALER. Case-insensitive. |
428
+ | `body.time_interval` | `integer \| null` | no | Delay in seconds after the previous step |
429
+
430
+ **Returns** `ApiResponse_SequenceActionResponse_`: the envelope `{ data: SequenceActionResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
431
+
432
+ Other envelope fields: `pagination` (PaginationMeta).
433
+
434
+ `SequenceActionResponse` fields:
435
+
436
+ | Field | Type | Required | Description |
437
+ |---|---|---|---|
438
+ | `sequence_id` | `string` | yes | |
439
+ | `status` | `string` | yes | |
440
+ | `contacts_affected` | `integer` | no | default `0` |
441
+
442
+ **Example**
443
+
444
+ ```ts
445
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
446
+ const result = await g8.api.sequenceLifecycle.updateSequenceStep({ path: { sequence_id: "id", step_id: "id" }, body: {} });
447
+ ```
448
+
449
+ ---
450
+
451
+ ## Referenced types
452
+
453
+ Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
454
+
455
+ <a id="type-channelconfig"></a>
456
+
457
+ ### `ChannelConfig`
458
+
459
+ | Field | Type | Required | Description |
460
+ |---|---|---|---|
461
+ | `channel_id` | `integer` | yes | Channel resource ID (mailbox ID, phone ID, etc.) |
462
+ | `channel_type` | `string` | yes | Channel type. One of: SMTP, GMAIL, INBOXKIT, PHONE, LINKEDIN, SMS, WHATSAPP. Case-insensitive. |
463
+ | `channel_value` | `string` | yes | Channel value (email address, phone number, etc.) |
464
+ | `channel_data` | `Record<string, unknown> \| null` | no | Extra channel metadata |
465
+
466
+ <a id="type-previewchannelitem"></a>
467
+
468
+ ### `PreviewChannelItem`
469
+
470
+ | Field | Type | Required | Description |
471
+ |---|---|---|---|
472
+ | `id` | `string` | yes | |
473
+ | `channel_id` | `integer \| null` | no | |
474
+ | `channel_type` | `string \| null` | no | |
475
+ | `channel_value` | `string \| null` | no | |
476
+
477
+ <a id="type-previewstepitem"></a>
478
+
479
+ ### `PreviewStepItem`
480
+
481
+ | Field | Type | Required | Description |
482
+ |---|---|---|---|
483
+ | `id` | `string` | yes | |
484
+ | `input_type` | `string` | yes | |
485
+ | `step_order` | `integer` | yes | |
486
+ | `step_type` | `string` | yes | |
487
+ | `rendered` | `RenderedStepContent \| null` | no | Spintax-resolved view of this step's copy. Populated for template steps that carry subject/body. Null for ON_DEMAND steps, whose copy is written by the AI at send time rather than stored here. |
488
+ | `step_data` | `Record<string, unknown> \| null` | no | |
489
+ | `time_interval` | `integer \| null` | no | |
490
+
491
+ <a id="type-removedstepsummary"></a>
492
+
493
+ ### `RemovedStepSummary`
494
+
495
+ One step removed by the LinkedIn-removal operation.
496
+
497
+ | Field | Type | Required | Description |
498
+ |---|---|---|---|
499
+ | `id` | `string` | yes | Step ID that was removed |
500
+ | `step_order` | `integer` | yes | Position the step held before removal |
501
+ | `step_type` | `string` | yes | Persisted step type, e.g. NETRION or HEYREACH |
502
+
503
+ <a id="type-stepconfig"></a>
504
+
505
+ ### `StepConfig`
506
+
507
+ | Field | Type | Required | Description |
508
+ |---|---|---|---|
509
+ | `step_order` | `integer` | yes | Order of the step in the sequence (1-based) |
510
+ | `step_type` | `string` | yes | Step type. One of: EMAIL, PHONE, SMS, WHATSAPP, HEYREACH, MANUAL_DIALER. Note: LinkedIn outreach uses HEYREACH (not LINKEDIN). Case-insensitive aliases accepted. |
511
+ | `input_type` | `string` | no | Input type. One of: ON_DEMAND, MANUAL_TEMPLATE, AI_GENERATED_TEMPLATE. Case-insensitive aliases accepted (e.g. 'template' -> MANUAL_TEMPLATE, 'ai' -> AI_GENERATED_TEMPLATE). default `"ON_DEMAND"` |
512
+ | `step_data` | `Record<string, unknown> \| null` | no | Step template/content data (subject, body, instructions, etc.) |
513
+ | `time_interval` | `integer` | no | Delay in seconds after the previous step default `0` |