@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,431 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.scheduleBuy`: Schedule Buy
4
+
5
+ 9 operations (5 read, 1 write, 1 destructive, 2 billable).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.scheduleBuy.*` 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: [scheduleBuy.d.ts](scheduleBuy.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`cancelPlan`](#op-cancelplan) | `DELETE /api/v1/mailboxes/schedule-buy/plans/{plan_id}` | destructive | `campaigns:delete` | Cancel Plan |
26
+ | [`checkPlanDomains`](#op-checkplandomains) | `POST /api/v1/mailboxes/schedule-buy/check-domains` | read | `campaigns:read` | Check Plan Domains |
27
+ | [`createPlan`](#op-createplan) | `POST /api/v1/mailboxes/schedule-buy/plans` | billable | `campaigns:run` | Create Plan |
28
+ | [`getPlan`](#op-getplan) | `GET /api/v1/mailboxes/schedule-buy/plans/{plan_id}` | read | `campaigns:read` | Get Plan |
29
+ | [`listPlans`](#op-listplans) | `GET /api/v1/mailboxes/schedule-buy/plans` | read | `campaigns:read` | List Plans |
30
+ | [`pausePlan`](#op-pauseplan) | `POST /api/v1/mailboxes/schedule-buy/plans/{plan_id}/pause` | write | `campaigns:write` | Pause Plan |
31
+ | [`resumePlan`](#op-resumeplan) | `POST /api/v1/mailboxes/schedule-buy/plans/{plan_id}/resume` | billable | `campaigns:run` | Resume Plan |
32
+ | [`suggestPlan`](#op-suggestplan) | `POST /api/v1/mailboxes/schedule-buy/suggest` | read | `campaigns:read` | Suggest Plan |
33
+ | [`suggestPlanDomains`](#op-suggestplandomains) | `POST /api/v1/mailboxes/schedule-buy/suggest-domains` | read | `campaigns:read` | Suggest Plan Domains |
34
+
35
+ ---
36
+
37
+ <a id="op-cancelplan"></a>
38
+
39
+ ### `g8.api.scheduleBuy.cancelPlan(input)`
40
+
41
+ **Cancel Plan**
42
+
43
+ - HTTP: `DELETE /api/v1/mailboxes/schedule-buy/plans/{plan_id}`
44
+ - operationId: `cancel_plan_mailboxes_schedule_buy_plans__plan_id__delete` (also callable as `g8.api.call("cancel_plan_mailboxes_schedule_buy_plans__plan_id__delete", input)`)
45
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
46
+ - API-key scope: `campaigns:delete`
47
+
48
+ Cancel a plan and release every hold it has not yet spent. NOT REVERSIBLE.
49
+
50
+ Batches already bought stay bought - this stops the plan buying MORE. The
51
+ released credits return to the org's balance; there is no un-cancel, so a
52
+ plan you want to stop temporarily is a different operation.
53
+
54
+ Org admins and owners only. 409 if the plan is executing a batch right now
55
+ (retry in a few minutes - cancelling mid-batch could release a hold the
56
+ executor is about to charge) or if the plan is in a state that cannot be
57
+ cancelled at all.
58
+
59
+ **Input**
60
+
61
+ | Field | Type | Required | Description |
62
+ |---|---|---|---|
63
+ | `path.plan_id` | `integer` | yes | Schedule Buy plan id - from GET /mailboxes/schedule-buy/plans |
64
+
65
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
66
+
67
+ Other envelope fields: `pagination` (PaginationMeta).
68
+
69
+ **Example**
70
+
71
+ ```ts
72
+ // destructive: deletes or archives data; confirm with a human before calling.
73
+ const result = await g8.api.scheduleBuy.cancelPlan({ path: { plan_id: 1 } });
74
+ ```
75
+
76
+ ---
77
+
78
+ <a id="op-checkplandomains"></a>
79
+
80
+ ### `g8.api.scheduleBuy.checkPlanDomains(input)`
81
+
82
+ **Check Plan Domains**
83
+
84
+ - HTTP: `POST /api/v1/mailboxes/schedule-buy/check-domains`
85
+ - operationId: `check_plan_domains_mailboxes_schedule_buy_check_domains_post` (also callable as `g8.api.call("check_plan_domains_mailboxes_schedule_buy_check_domains_post", input)`)
86
+ - Tier: `read`: reads data; safe to call and to retry
87
+ - API-key scope: `campaigns:read`
88
+
89
+ Validate names you edited: already yours, available, or refused. SPENDS NOTHING.
90
+
91
+ One entry per name. `available: null` means the probe itself failed and
92
+ the answer is UNKNOWN - not that the name is taken. Treat null as "check
93
+ again" rather than as a no.
94
+
95
+ **Input**
96
+
97
+ | Field | Type | Required | Description |
98
+ |---|---|---|---|
99
+ | `body` | `ScheduleBuyDomainCheckRequest` | yes | Request body; fields below. |
100
+
101
+ Body fields (`ScheduleBuyDomainCheckRequest`):
102
+
103
+ | Field | Type | Required | Description |
104
+ |---|---|---|---|
105
+ | `body.names` | `Array<string>` | yes | Domain names to validate min items 1, max items 100 |
106
+
107
+ **Returns** `ApiResponse_MailboxDomainListPayload_`: the envelope `{ data: MailboxDomainListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
108
+
109
+ Other envelope fields: `pagination` (PaginationMeta).
110
+
111
+ `MailboxDomainListPayload` fields:
112
+
113
+ | Field | Type | Required | Description |
114
+ |---|---|---|---|
115
+ | `items` | `Array<unknown>` | no | |
116
+
117
+ **Example**
118
+
119
+ ```ts
120
+ const result = await g8.api.scheduleBuy.checkPlanDomains({ body: { names: ["Example"] } });
121
+ ```
122
+
123
+ ---
124
+
125
+ <a id="op-createplan"></a>
126
+
127
+ ### `g8.api.scheduleBuy.createPlan(input)`
128
+
129
+ **Create Plan**
130
+
131
+ - HTTP: `POST /api/v1/mailboxes/schedule-buy/plans`
132
+ - operationId: `create_plan_mailboxes_schedule_buy_plans_post` (also callable as `g8.api.call("create_plan_mailboxes_schedule_buy_plans_post", input)`)
133
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
134
+ - API-key scope: `campaigns:run`
135
+
136
+ Create and LOCK a buying plan. PLACES REAL CREDIT HOLDS IMMEDIATELY.
137
+
138
+ Locking reserves credits for the WHOLE plan up front - one hold per batch,
139
+ up to two hundred of them - even though the domains are bought a batch a
140
+ day afterwards. The credits are gone from your spendable balance the
141
+ moment this returns. `total_credits_held` in the response is the figure.
142
+
143
+ Org admins and owners only, and only for an org on a paid or pre-funded
144
+ plan. 402 if the balance cannot cover the plan, 429 if the org has locked
145
+ more than five plans this hour, 400 for an unsupported extension or an
146
+ empty plan.
147
+
148
+ `persona_ids` and the manual `registrants`/`mailbox_aliases` pair are
149
+ mutually exclusive: name the personas OR spell the identities out, never
150
+ both. `idle_mailboxes_snapshot` is your own count, used to detect drift -
151
+ the server recomputes it and returns its own as
152
+ `server_idle_mailboxes`.
153
+
154
+ Send an `Idempotency-Key` header. A retried lock without one places a
155
+ second full set of holds.
156
+
157
+ **Input**
158
+
159
+ | Field | Type | Required | Description |
160
+ |---|---|---|---|
161
+ | `body` | `ScheduleBuyPlanRequest` | yes | Request body; fields below. |
162
+
163
+ Body fields (`ScheduleBuyPlanRequest`):
164
+
165
+ | Field | Type | Required | Description |
166
+ |---|---|---|---|
167
+ | `body.idle_mailboxes_snapshot` | `integer` | yes | Idle mailboxes you already hold, from /suggest min 0 |
168
+ | `body.target_monthly_volume` | `integer` | yes | Contacts you intend to reach per month min 0, max 100000000 |
169
+ | `body.daily_send_cap` | `integer` | no | Sends per mailbox per day default `15`, min 1, max 100 |
170
+ | `body.domain_names` | `Array<string> \| null` | no | Approved names to buy, in order min items 1, max items 500 |
171
+ | `body.domain_tld` | `string` | no | Extension to buy, e.g. '.com' default `".com"` |
172
+ | `body.domains_per_batch` | `integer` | no | Domains bought per daily batch default `10`, min 1, max 100 |
173
+ | `body.mailbox_aliases` | `Array<Record<string, unknown>>` | no | One alias per mailbox_per_domain. Required unless persona_ids is set. |
174
+ | `body.mailboxes_per_domain` | `integer` | no | Mailboxes bought on each domain default `3`, min 1, max 5 |
175
+ | `body.persona_ids` | `Array<integer> \| null` | no | Sender personas to buy for. Excludes the two above. min items 1, max items 20 |
176
+ | `body.registrants` | `Array<Record<string, unknown>>` | no | Registrant identities. Required unless persona_ids is set. max items 20 |
177
+ | `body.reuse_domains` | `Array<string> \| null` | no | Adopt these owned EMPTY domains instead of buying min items 1, max items 500 |
178
+ | `body.sending_days_per_month` | `integer` | no | Sending days assumed per month default `22`, min 1, max 31 |
179
+ | `body.warmup_provider` | `"warmy" \| "instantly" \| "smartlead"` | no | Warmup engine the bought mailboxes are enrolled with default `"warmy"` |
180
+ | `body.workspace_uid` | `string \| null` | no | Existing provisioning workspace to reuse |
181
+
182
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
183
+
184
+ Other envelope fields: `pagination` (PaginationMeta).
185
+
186
+ **Example**
187
+
188
+ ```ts
189
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
190
+ const result = await g8.api.scheduleBuy.createPlan({ body: { idle_mailboxes_snapshot: 0, target_monthly_volume: 0 } });
191
+ ```
192
+
193
+ ---
194
+
195
+ <a id="op-getplan"></a>
196
+
197
+ ### `g8.api.scheduleBuy.getPlan(input)`
198
+
199
+ **Get Plan**
200
+
201
+ - HTTP: `GET /api/v1/mailboxes/schedule-buy/plans/{plan_id}`
202
+ - operationId: `get_plan_mailboxes_schedule_buy_plans__plan_id__get` (also callable as `g8.api.call("get_plan_mailboxes_schedule_buy_plans__plan_id__get", input)`)
203
+ - Tier: `read`: reads data; safe to call and to retry
204
+ - API-key scope: `campaigns:read`
205
+
206
+ One plan and every batch it has run, in order.
207
+
208
+ A batch carries what it bought and what it was charged. The internal
209
+ credit-ledger transaction ids are deliberately not published - use
210
+ `GET /usage` for the ledger.
211
+
212
+ **Input**
213
+
214
+ | Field | Type | Required | Description |
215
+ |---|---|---|---|
216
+ | `path.plan_id` | `integer` | yes | Schedule Buy plan id - from GET /mailboxes/schedule-buy/plans |
217
+
218
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
219
+
220
+ Other envelope fields: `pagination` (PaginationMeta).
221
+
222
+ **Example**
223
+
224
+ ```ts
225
+ const result = await g8.api.scheduleBuy.getPlan({ path: { plan_id: 1 } });
226
+ ```
227
+
228
+ ---
229
+
230
+ <a id="op-listplans"></a>
231
+
232
+ ### `g8.api.scheduleBuy.listPlans(input?)`
233
+
234
+ **List Plans**
235
+
236
+ - HTTP: `GET /api/v1/mailboxes/schedule-buy/plans`
237
+ - operationId: `list_plans_mailboxes_schedule_buy_plans_get` (also callable as `g8.api.call("list_plans_mailboxes_schedule_buy_plans_get", input)`)
238
+ - Tier: `read`: reads data; safe to call and to retry
239
+ - API-key scope: `campaigns:read`
240
+
241
+ The org's plans, newest first, with live progress on each.
242
+
243
+ `mailboxes_provisioned` and `landing_pages_hosted` are best-effort
244
+ decoration: a failure computing them reports zero rather than failing the
245
+ list, so do not read a zero as "nothing has been provisioned".
246
+
247
+ **Input**: none.
248
+
249
+ **Returns** `ApiResponse_MailboxDomainListPayload_`: the envelope `{ data: MailboxDomainListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
250
+
251
+ Other envelope fields: `pagination` (PaginationMeta).
252
+
253
+ `MailboxDomainListPayload` fields:
254
+
255
+ | Field | Type | Required | Description |
256
+ |---|---|---|---|
257
+ | `items` | `Array<unknown>` | no | |
258
+
259
+ **Example**
260
+
261
+ ```ts
262
+ const result = await g8.api.scheduleBuy.listPlans();
263
+ ```
264
+
265
+ ---
266
+
267
+ <a id="op-pauseplan"></a>
268
+
269
+ ### `g8.api.scheduleBuy.pausePlan(input)`
270
+
271
+ **Pause Plan**
272
+
273
+ - HTTP: `POST /api/v1/mailboxes/schedule-buy/plans/{plan_id}/pause`
274
+ - operationId: `pause_plan_mailboxes_schedule_buy_plans__plan_id__pause_post` (also callable as `g8.api.call("pause_plan_mailboxes_schedule_buy_plans__plan_id__pause_post", input)`)
275
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
276
+ - API-key scope: `campaigns:write`
277
+
278
+ Pause a plan: the daily executor skips it and buys nothing more.
279
+
280
+ Every credit hold stays RESERVED - pausing does not release money, it only
281
+ stops it being spent. Resume picks up exactly where it left off. Org admins
282
+ and owners only; 409 if the plan is not in a pausable state.
283
+
284
+ **Input**
285
+
286
+ | Field | Type | Required | Description |
287
+ |---|---|---|---|
288
+ | `path.plan_id` | `integer` | yes | Schedule Buy plan id - from GET /mailboxes/schedule-buy/plans |
289
+
290
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
291
+
292
+ Other envelope fields: `pagination` (PaginationMeta).
293
+
294
+ **Example**
295
+
296
+ ```ts
297
+ const result = await g8.api.scheduleBuy.pausePlan({ path: { plan_id: 1 } });
298
+ ```
299
+
300
+ ---
301
+
302
+ <a id="op-resumeplan"></a>
303
+
304
+ ### `g8.api.scheduleBuy.resumePlan(input)`
305
+
306
+ **Resume Plan**
307
+
308
+ - HTTP: `POST /api/v1/mailboxes/schedule-buy/plans/{plan_id}/resume`
309
+ - operationId: `resume_plan_mailboxes_schedule_buy_plans__plan_id__resume_post` (also callable as `g8.api.call("resume_plan_mailboxes_schedule_buy_plans__plan_id__resume_post", input)`)
310
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
311
+ - API-key scope: `campaigns:run`
312
+
313
+ Resume a paused plan. BUYING RESTARTS on the next daily tick.
314
+
315
+ The plan goes back to in-progress and its held credits start being charged
316
+ again, batch by batch, catching up first. Org admins and owners only; 409
317
+ unless the plan is paused.
318
+
319
+ **Input**
320
+
321
+ | Field | Type | Required | Description |
322
+ |---|---|---|---|
323
+ | `path.plan_id` | `integer` | yes | Schedule Buy plan id - from GET /mailboxes/schedule-buy/plans |
324
+
325
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
326
+
327
+ Other envelope fields: `pagination` (PaginationMeta).
328
+
329
+ **Example**
330
+
331
+ ```ts
332
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
333
+ const result = await g8.api.scheduleBuy.resumePlan({ path: { plan_id: 1 } });
334
+ ```
335
+
336
+ ---
337
+
338
+ <a id="op-suggestplan"></a>
339
+
340
+ ### `g8.api.scheduleBuy.suggestPlan(input)`
341
+
342
+ **Suggest Plan**
343
+
344
+ - HTTP: `POST /api/v1/mailboxes/schedule-buy/suggest`
345
+ - operationId: `suggest_plan_mailboxes_schedule_buy_suggest_post` (also callable as `g8.api.call("suggest_plan_mailboxes_schedule_buy_suggest_post", input)`)
346
+ - Tier: `read`: reads data; safe to call and to retry
347
+ - API-key scope: `campaigns:read`
348
+
349
+ Size a plan before you lock it. SPENDS NOTHING, holds nothing.
350
+
351
+ Counts the idle mailboxes you already have, then works out how many new
352
+ domains and mailboxes the target volume still needs and what they would
353
+ cost in credits. Pass its idle count back as `idle_mailboxes_snapshot`
354
+ when you lock the plan.
355
+
356
+ **Input**
357
+
358
+ | Field | Type | Required | Description |
359
+ |---|---|---|---|
360
+ | `body` | `ScheduleBuySuggestRequest` | yes | Request body; fields below. |
361
+
362
+ Body fields (`ScheduleBuySuggestRequest`):
363
+
364
+ | Field | Type | Required | Description |
365
+ |---|---|---|---|
366
+ | `body.target_monthly_volume` | `integer` | yes | Contacts you intend to reach per month min 0, max 100000000 |
367
+ | `body.daily_send_cap` | `integer` | no | Sends per mailbox per day default `15`, min 1, max 100 |
368
+ | `body.domains_per_batch` | `integer` | no | Domains bought per daily batch default `10`, min 1, max 100 |
369
+ | `body.mailboxes_per_domain` | `integer` | no | Mailboxes bought on each domain default `3`, min 1, max 5 |
370
+ | `body.sending_days_per_month` | `integer` | no | Sending days assumed per month default `22`, min 1, max 31 |
371
+
372
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
373
+
374
+ Other envelope fields: `pagination` (PaginationMeta).
375
+
376
+ **Example**
377
+
378
+ ```ts
379
+ const result = await g8.api.scheduleBuy.suggestPlan({ body: { target_monthly_volume: 0 } });
380
+ ```
381
+
382
+ ---
383
+
384
+ <a id="op-suggestplandomains"></a>
385
+
386
+ ### `g8.api.scheduleBuy.suggestPlanDomains(input)`
387
+
388
+ **Suggest Plan Domains**
389
+
390
+ - HTTP: `POST /api/v1/mailboxes/schedule-buy/suggest-domains`
391
+ - operationId: `suggest_plan_domains_mailboxes_schedule_buy_suggest_domains_post` (also callable as `g8.api.call("suggest_plan_domains_mailboxes_schedule_buy_suggest_domains_post", input)`)
392
+ - Tier: `read`: reads data; safe to call and to retry
393
+ - API-key scope: `campaigns:read`
394
+
395
+ Candidate domain names a plan WOULD buy. SPENDS NOTHING, buys nothing.
396
+
397
+ Same generator, same owned-domain exclusion and same live availability
398
+ probe the executor uses at buy time, so the preview is honest rather than
399
+ decorative.
400
+
401
+ `offset` rotates the generator: call again with a higher offset to get a
402
+ fresh set instead of the same list. `avoid` excludes names you have
403
+ already rejected.
404
+
405
+ **Input**
406
+
407
+ | Field | Type | Required | Description |
408
+ |---|---|---|---|
409
+ | `body` | `ScheduleBuyDomainSuggestRequest` | yes | Request body; fields below. |
410
+
411
+ Body fields (`ScheduleBuyDomainSuggestRequest`):
412
+
413
+ | Field | Type | Required | Description |
414
+ |---|---|---|---|
415
+ | `body.count` | `integer` | yes | How many candidate names to return min 1, max 100 |
416
+ | `body.avoid` | `Array<string> \| null` | no | Names to exclude max items 50 |
417
+ | `body.domain_tld` | `string` | no | Extension to generate against, e.g. '.com' default `".com"` |
418
+ | `body.offset` | `integer` | no | Rotate the generator to get fresh candidates default `0`, min 0, max 1000 |
419
+ | `body.pattern` | `"prefix" \| "suffix" \| "both" \| null` | no | Where to attach the root |
420
+ | `body.roots` | `Array<string> \| null` | no | Word roots to build names from max items 10 |
421
+ | `body.tlds` | `Array<string> \| null` | no | Restrict to these extensions min items 1 |
422
+
423
+ **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
424
+
425
+ Other envelope fields: `pagination` (PaginationMeta).
426
+
427
+ **Example**
428
+
429
+ ```ts
430
+ const result = await g8.api.scheduleBuy.suggestPlanDomains({ body: { count: 1 } });
431
+ ```
@@ -0,0 +1,266 @@
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.scraping` (Scraping): 10 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<"confirm_scrape_job_scrape_jobs__job_id__confirm_post">;
9
+ *
10
+ * Reference with examples: scraping.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.scraping.<member>` -> the operationId it calls. */
15
+ export interface ScrapingMembers {
16
+ confirmScrapeJob: "confirm_scrape_job_scrape_jobs__job_id__confirm_post";
17
+ exportScrapeJobCsv: "export_scrape_job_csv_scrape_jobs__job_id__export_csv_get";
18
+ getCrawlStatus: "get_crawl_status_settings_scrape_config_crawl_status__job_id__get";
19
+ getScrapeConfig: "get_scrape_config_settings_scrape_config_get";
20
+ getScrapeJob: "get_scrape_job_scrape_jobs__job_id__get";
21
+ listScrapeAdapters: "list_scrape_adapters_scrape_adapters_get";
22
+ rejectScrapeJob: "reject_scrape_job_scrape_jobs__job_id__reject_post";
23
+ startFullSiteCrawl: "start_full_site_crawl_settings_scrape_config_crawl_post";
24
+ submitScrapeRequest: "submit_scrape_request_scrape_requests_post";
25
+ updateScrapeConfig: "update_scrape_config_settings_scrape_config_patch";
26
+ }
27
+
28
+ /** Input and output of every `g8.api.scraping` operation, keyed by operationId. */
29
+ export interface ScrapingOperations {
30
+ /**
31
+ * POST /scrape/jobs/{job_id}/confirm
32
+ * Confirm Scrape Job
33
+ * tier: write · scope: enrichment:write
34
+ */
35
+ confirm_scrape_job_scrape_jobs__job_id__confirm_post: {
36
+ input: {
37
+ path: {
38
+ /** Scrape job id. */
39
+ job_id: string;
40
+ };
41
+ headers?: {
42
+ "X-Target-Org-Id"?: string | null;
43
+ };
44
+ };
45
+ output: ApiResponse_SettingsPayload_;
46
+ };
47
+ /**
48
+ * GET /scrape/jobs/{job_id}/export.csv
49
+ * Export Scrape Job Csv
50
+ * tier: read · scope: enrichment:read
51
+ */
52
+ export_scrape_job_csv_scrape_jobs__job_id__export_csv_get: {
53
+ input: {
54
+ path: {
55
+ /** Scrape job id. */
56
+ job_id: string;
57
+ };
58
+ headers?: {
59
+ "X-Target-Org-Id"?: string | null;
60
+ };
61
+ };
62
+ output: void;
63
+ };
64
+ /**
65
+ * GET /settings/scrape-config/crawl/status/{job_id}
66
+ * Get Crawl Status
67
+ * tier: read · scope: enrichment:read
68
+ */
69
+ get_crawl_status_settings_scrape_config_crawl_status__job_id__get: {
70
+ input: {
71
+ path: {
72
+ /** Crawl job id. */
73
+ job_id: string;
74
+ };
75
+ headers?: {
76
+ "X-Target-Org-Id"?: string | null;
77
+ };
78
+ };
79
+ output: ApiResponse_SettingsPayload_;
80
+ };
81
+ /**
82
+ * GET /settings/scrape-config
83
+ * Get Scrape Config
84
+ * tier: read · scope: enrichment:read
85
+ */
86
+ get_scrape_config_settings_scrape_config_get: {
87
+ input: {
88
+ headers?: {
89
+ "X-Target-Org-Id"?: string | null;
90
+ };
91
+ };
92
+ output: ApiResponse_SettingsPayload_;
93
+ };
94
+ /**
95
+ * GET /scrape/jobs/{job_id}
96
+ * Get Scrape Job
97
+ * tier: read · scope: enrichment:read
98
+ */
99
+ get_scrape_job_scrape_jobs__job_id__get: {
100
+ input: {
101
+ path: {
102
+ /** Scrape job id. */
103
+ job_id: string;
104
+ };
105
+ headers?: {
106
+ "X-Target-Org-Id"?: string | null;
107
+ };
108
+ };
109
+ output: ApiResponse_SettingsPayload_;
110
+ };
111
+ /**
112
+ * GET /scrape/adapters
113
+ * List Scrape Adapters
114
+ * tier: read · scope: enrichment:read
115
+ */
116
+ list_scrape_adapters_scrape_adapters_get: {
117
+ input: {
118
+ headers?: {
119
+ "X-Target-Org-Id"?: string | null;
120
+ };
121
+ };
122
+ output: ApiResponse_SettingsListPayload_;
123
+ };
124
+ /**
125
+ * POST /scrape/jobs/{job_id}/reject
126
+ * Reject Scrape Job
127
+ * tier: write · scope: enrichment:write
128
+ */
129
+ reject_scrape_job_scrape_jobs__job_id__reject_post: {
130
+ input: {
131
+ path: {
132
+ /** Scrape job id. */
133
+ job_id: string;
134
+ };
135
+ headers?: {
136
+ "X-Target-Org-Id"?: string | null;
137
+ };
138
+ };
139
+ output: ApiResponse_SettingsPayload_;
140
+ };
141
+ /**
142
+ * POST /settings/scrape-config/crawl
143
+ * Start Full Site Crawl
144
+ * tier: external · scope: enrichment:run
145
+ */
146
+ start_full_site_crawl_settings_scrape_config_crawl_post: {
147
+ input: {
148
+ headers?: {
149
+ "X-Target-Org-Id"?: string | null;
150
+ };
151
+ body: StartCrawlRequest;
152
+ };
153
+ output: ApiResponse_SettingsPayload_;
154
+ };
155
+ /**
156
+ * POST /scrape/requests
157
+ * Submit Scrape Request
158
+ * tier: billable · scope: enrichment:run
159
+ */
160
+ submit_scrape_request_scrape_requests_post: {
161
+ input: {
162
+ headers?: {
163
+ "X-Target-Org-Id"?: string | null;
164
+ };
165
+ body: SubmitScrapeRequest;
166
+ };
167
+ output: ApiResponse_SettingsPayload_;
168
+ };
169
+ /**
170
+ * PATCH /settings/scrape-config
171
+ * Update Scrape Config
172
+ * tier: write · scope: enrichment:write
173
+ */
174
+ update_scrape_config_settings_scrape_config_patch: {
175
+ input: {
176
+ headers?: {
177
+ "X-Target-Org-Id"?: string | null;
178
+ };
179
+ body: ScrapeConfigUpdateRequest;
180
+ };
181
+ output: ApiResponse_SettingsPayload_;
182
+ };
183
+ }
184
+
185
+ // 8 schemas referenced above (the same as G8Contract.<Name>).
186
+
187
+ export interface ApiResponse_SettingsListPayload_ {
188
+ data: SettingsListPayload;
189
+ pagination?: PaginationMeta | null;
190
+ }
191
+
192
+ export interface ApiResponse_SettingsPayload_ {
193
+ data: SettingsPayload;
194
+ pagination?: PaginationMeta | null;
195
+ }
196
+
197
+ export interface PaginationMeta {
198
+ /** Whether there are more pages */
199
+ has_next: boolean;
200
+ /** Items per page */
201
+ limit: number;
202
+ /** 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. */
203
+ next_cursor?: string | null;
204
+ /** Current page number (1-indexed) */
205
+ page: number;
206
+ /** Total number of items */
207
+ total: number;
208
+ }
209
+
210
+ /** Change how the org crawls. Only what you send is written. */
211
+ export interface ScrapeConfigUpdateRequest {
212
+ /** URL path patterns to skip while crawling. */
213
+ exclude_paths?: Array<string> | null;
214
+ include_blog_pages?: boolean | null;
215
+ /** Pages per crawl. The app's own bounds. */
216
+ max_pages?: number | null;
217
+ }
218
+
219
+ /** An open envelope for a LIST result, so a bare list keeps its shape. */
220
+ export interface SettingsListPayload {
221
+ items?: Array<unknown>;
222
+ [key: string]: unknown;
223
+ }
224
+
225
+ /**
226
+ * An open envelope for a settings object.
227
+ *
228
+ * Open because an ontology concept and an SSO config both grow fields as the
229
+ * product does, and on a settings read a dropped field reads as "not
230
+ * configured" rather than "we did not tell you".
231
+ */
232
+ export type SettingsPayload = Record<string, unknown>;
233
+
234
+ /** Crawl a whole site. Long-running, and it fetches every reachable page. */
235
+ export interface StartCrawlRequest {
236
+ max_pages?: number | null;
237
+ /** Where to start. Omit to use the org's configured site. */
238
+ source_url?: string | null;
239
+ }
240
+
241
+ /**
242
+ * Ask for a scrape, in plain English.
243
+ *
244
+ * `preview` defaults to TRUE and that default is load-bearing: it holds the
245
+ * run behind a five-row sample so you can see what it will do before it does
246
+ * it at scale. Turning it off is what makes a run expensive.
247
+ */
248
+ export interface SubmitScrapeRequest {
249
+ /** Skip the planner and use this capability directly. */
250
+ adapter?: string | null;
251
+ params?: Record<string, unknown>;
252
+ /** Hold the run behind a 5-row preview. Leave it on for a first run. */
253
+ preview?: boolean;
254
+ /** What to scrape, in plain English. */
255
+ requirement: string;
256
+ /** Re-run rows that already have a result. */
257
+ rescrape?: boolean;
258
+ /** Limit the run to these rows. */
259
+ row_ids?: Array<number> | null;
260
+ /** Cold start: add these as rows in `source_column` before scraping. */
261
+ seed_targets?: Array<string> | null;
262
+ /** Column holding the values to scrape from. */
263
+ source_column?: string | null;
264
+ /** Staging table to read from and write into. */
265
+ staging_table_id?: string | null;
266
+ }