@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,1012 @@
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.forms` (Forms): 35 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<"add_form_group_members_forms_groups__group_id__members_post">;
9
+ *
10
+ * Reference with examples: forms.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.forms.<member>` -> the operationId it calls. */
15
+ export interface FormsMembers {
16
+ addFormGroupMembers: "add_form_group_members_forms_groups__group_id__members_post";
17
+ captureFormPreview: "capture_form_preview_forms__form_key__preview_post";
18
+ createFormBackfill: "create_form_backfill_forms__form_key__backfills_post";
19
+ createFormGroup: "create_form_group_forms_groups_post";
20
+ deleteFormGroup: "delete_form_group_forms_groups__group_id__delete";
21
+ getFormActivity: "get_form_activity_forms__form_key__activity_get";
22
+ getFormBackfill: "get_form_backfill_forms__form_key__backfills__job_id__get";
23
+ getFormFields: "get_form_fields_forms__form_key__fields_get";
24
+ getFormOverview: "get_form_overview_forms__form_key__overview_get";
25
+ getFormPlacements: "get_form_placements_forms__form_key__placements_get";
26
+ getFormPreview: "get_form_preview_forms__form_key__preview__preview_id__get";
27
+ getFormRouteRecommendations: "get_form_route_recommendations_forms__form_key__route_recommendations_get";
28
+ getFormSubmissionTrace: "get_form_submission_trace_forms__form_key__submissions__submission_id__trace_get";
29
+ getSiteAudit: "get_site_audit_forms_site_audit_get";
30
+ listFormGroups: "list_form_groups_forms_groups_get";
31
+ listForms: "list_forms_forms_get";
32
+ listSavedFormViews: "list_saved_form_views_forms_views_saved_get";
33
+ pauseFormDelivery: "pause_form_delivery_forms__form_key__delivery_pause_post";
34
+ previewFormMapping: "preview_form_mapping_forms__form_key__mapping_preview_post";
35
+ previewUnidentifiedGrouping: "preview_unidentified_grouping_forms_unidentified_grouping_get";
36
+ removeFormGroupMembers: "remove_form_group_members_forms_groups__group_id__members_remove_post";
37
+ requestSiteAuditScan: "request_site_audit_scan_forms_site_audit_scan_post";
38
+ resumeFormDelivery: "resume_form_delivery_forms__form_key__delivery_resume_post";
39
+ retryFormDelivery: "retry_form_delivery_forms_deliveries__receipt_id__retry_post";
40
+ rollbackFormRoute: "rollback_form_route_forms__form_key__route_delete";
41
+ saveFormMapping: "save_form_mapping_forms__form_key__mapping_save_post";
42
+ saveFormRoute: "save_form_route_forms__form_key__route_put";
43
+ saveFormView: "save_form_view_forms_views_saved__view_id__put";
44
+ searchFormSubmissions: "search_form_submissions_forms__form_key__submissions_post";
45
+ setUnidentifiedGrouping: "set_unidentified_grouping_forms_unidentified_grouping_put";
46
+ syncUnidentifiedGroup: "sync_unidentified_group_forms_unidentified_groups_sync_post";
47
+ testFormRoute: "test_form_route_forms__form_key__route_test_post";
48
+ updateFormGroup: "update_form_group_forms_groups__group_id__patch";
49
+ updateFormRegistry: "update_form_registry_forms__form_key__patch";
50
+ updateSiteAuditFinding: "update_site_audit_finding_forms_site_audit_findings__finding_id__patch";
51
+ }
52
+
53
+ /** Input and output of every `g8.api.forms` operation, keyed by operationId. */
54
+ export interface FormsOperations {
55
+ /**
56
+ * POST /forms/groups/{group_id}/members
57
+ * Add Form Group Members
58
+ * tier: write · scope: forms:write
59
+ */
60
+ add_form_group_members_forms_groups__group_id__members_post: {
61
+ input: {
62
+ path: {
63
+ /** The group's id. */
64
+ group_id: string;
65
+ };
66
+ headers?: {
67
+ "X-Target-Org-Id"?: string | null;
68
+ };
69
+ body: FormGroupMembersRequest;
70
+ };
71
+ output: ApiResponse_FormsAdminPayload_;
72
+ };
73
+ /**
74
+ * POST /forms/{form_key}/preview
75
+ * Capture Form Preview
76
+ * tier: write · scope: forms:write
77
+ */
78
+ capture_form_preview_forms__form_key__preview_post: {
79
+ input: {
80
+ path: {
81
+ /** The form's `form_key` (the `id` from `GET /forms`). */
82
+ form_key: string;
83
+ };
84
+ headers?: {
85
+ "X-Target-Org-Id"?: string | null;
86
+ };
87
+ body: FormPlacementPreviewRequest;
88
+ };
89
+ output: ApiResponse_FormsAdminPayload_;
90
+ };
91
+ /**
92
+ * POST /forms/{form_key}/backfills
93
+ * Create Form Backfill
94
+ * tier: external · scope: forms:run
95
+ */
96
+ create_form_backfill_forms__form_key__backfills_post: {
97
+ input: {
98
+ path: {
99
+ /** The form's `form_key` (the `id` from `GET /forms`). */
100
+ form_key: string;
101
+ };
102
+ headers?: {
103
+ "X-Target-Org-Id"?: string | null;
104
+ };
105
+ body: FormBackfillRequest;
106
+ };
107
+ output: ApiResponse_FormsAdminPayload_;
108
+ };
109
+ /**
110
+ * POST /forms/groups
111
+ * Create Form Group
112
+ * tier: write · scope: forms:write
113
+ */
114
+ create_form_group_forms_groups_post: {
115
+ input: {
116
+ headers?: {
117
+ "X-Target-Org-Id"?: string | null;
118
+ };
119
+ body: FormGroupCreateRequest;
120
+ };
121
+ output: ApiResponse_FormsAdminPayload_;
122
+ };
123
+ /**
124
+ * DELETE /forms/groups/{group_id}
125
+ * Delete Form Group
126
+ * tier: destructive · scope: forms:delete
127
+ */
128
+ delete_form_group_forms_groups__group_id__delete: {
129
+ input: {
130
+ path: {
131
+ /** The group's id. */
132
+ group_id: string;
133
+ };
134
+ headers?: {
135
+ "X-Target-Org-Id"?: string | null;
136
+ };
137
+ };
138
+ output: ApiResponse_FormsAdminPayload_;
139
+ };
140
+ /**
141
+ * GET /forms/{form_key}/activity
142
+ * Get Form Activity
143
+ * tier: read · scope: forms:read
144
+ */
145
+ get_form_activity_forms__form_key__activity_get: {
146
+ input: {
147
+ path: {
148
+ /** Form key. */
149
+ form_key: string;
150
+ };
151
+ query: {
152
+ /** Which INSTALLED SOURCE of this form. Required: a form key can be present on more than one source, and every operation here is scoped to one. */
153
+ source_id: string;
154
+ };
155
+ headers?: {
156
+ "X-Target-Org-Id"?: string | null;
157
+ };
158
+ };
159
+ output: ApiResponse_FormPayload_;
160
+ };
161
+ /**
162
+ * GET /forms/{form_key}/backfills/{job_id}
163
+ * Get Form Backfill
164
+ * tier: read · scope: forms:read
165
+ */
166
+ get_form_backfill_forms__form_key__backfills__job_id__get: {
167
+ input: {
168
+ path: {
169
+ /** The form's `form_key` (the `id` from `GET /forms`). */
170
+ form_key: string;
171
+ /** Job id from the backfill that started it. */
172
+ job_id: string;
173
+ };
174
+ headers?: {
175
+ "X-Target-Org-Id"?: string | null;
176
+ };
177
+ };
178
+ output: ApiResponse_FormsAdminPayload_;
179
+ };
180
+ /**
181
+ * GET /forms/{form_key}/fields
182
+ * Get Form Fields
183
+ * tier: read · scope: forms:read
184
+ */
185
+ get_form_fields_forms__form_key__fields_get: {
186
+ input: {
187
+ path: {
188
+ /** Form key. */
189
+ form_key: string;
190
+ };
191
+ query: {
192
+ /** Which INSTALLED SOURCE of this form. Required: a form key can be present on more than one source, and every operation here is scoped to one. */
193
+ source_id: string;
194
+ };
195
+ headers?: {
196
+ "X-Target-Org-Id"?: string | null;
197
+ };
198
+ };
199
+ output: ApiResponse_FormPayload_;
200
+ };
201
+ /**
202
+ * GET /forms/{form_key}/overview
203
+ * Get Form Overview
204
+ * tier: read · scope: forms:read
205
+ */
206
+ get_form_overview_forms__form_key__overview_get: {
207
+ input: {
208
+ path: {
209
+ /** The form's HTML tag id / group key (from list_forms). */
210
+ form_key: string;
211
+ };
212
+ query: {
213
+ /** Write key / site the form belongs to (from list_forms). */
214
+ source_id: string;
215
+ };
216
+ headers?: {
217
+ "X-Target-Org-Id"?: string | null;
218
+ };
219
+ };
220
+ output: ApiResponse_FormOverview_;
221
+ };
222
+ /**
223
+ * GET /forms/{form_key}/placements
224
+ * Get Form Placements
225
+ * tier: read · scope: forms:read
226
+ */
227
+ get_form_placements_forms__form_key__placements_get: {
228
+ input: {
229
+ path: {
230
+ /** Form key. */
231
+ form_key: string;
232
+ };
233
+ query: {
234
+ /** Which INSTALLED SOURCE of this form. Required: a form key can be present on more than one source, and every operation here is scoped to one. */
235
+ source_id: string;
236
+ };
237
+ headers?: {
238
+ "X-Target-Org-Id"?: string | null;
239
+ };
240
+ };
241
+ output: ApiResponse_FormPayload_;
242
+ };
243
+ /**
244
+ * GET /forms/{form_key}/preview/{preview_id}
245
+ * Get Form Preview
246
+ * tier: read · scope: forms:read
247
+ */
248
+ get_form_preview_forms__form_key__preview__preview_id__get: {
249
+ input: {
250
+ path: {
251
+ /** The form's `form_key` (the `id` from `GET /forms`). */
252
+ form_key: string;
253
+ /** Id from the capture that started it. */
254
+ preview_id: string;
255
+ };
256
+ query: {
257
+ /** The site (write key) the form is installed on. */
258
+ source_id: string;
259
+ };
260
+ headers?: {
261
+ "X-Target-Org-Id"?: string | null;
262
+ };
263
+ };
264
+ output: ApiResponse_FormsAdminPayload_;
265
+ };
266
+ /**
267
+ * GET /forms/{form_key}/route/recommendations
268
+ * Get Form Route Recommendations
269
+ * tier: read · scope: forms:read
270
+ */
271
+ get_form_route_recommendations_forms__form_key__route_recommendations_get: {
272
+ input: {
273
+ path: {
274
+ /** Form key. */
275
+ form_key: string;
276
+ };
277
+ query: {
278
+ /** Which INSTALLED SOURCE of this form. Required: a form key can be present on more than one source, and every operation here is scoped to one. */
279
+ source_id: string;
280
+ /** Destination list to tailor the mapping suggestions to. OPTIONAL on purpose: a caller asks for recommendations BEFORE choosing a destination, and making it required 422s every such request. */
281
+ target_list_id?: number | null;
282
+ };
283
+ headers?: {
284
+ "X-Target-Org-Id"?: string | null;
285
+ };
286
+ };
287
+ output: ApiResponse_FormPayload_;
288
+ };
289
+ /**
290
+ * GET /forms/{form_key}/submissions/{submission_id}/trace
291
+ * Get Form Submission Trace
292
+ * tier: read · scope: forms:read
293
+ */
294
+ get_form_submission_trace_forms__form_key__submissions__submission_id__trace_get: {
295
+ input: {
296
+ path: {
297
+ /** Form key. */
298
+ form_key: string;
299
+ /** Submission id from the activity feed. */
300
+ submission_id: string;
301
+ };
302
+ query: {
303
+ /** Which INSTALLED SOURCE of this form. Required: a form key can be present on more than one source, and every operation here is scoped to one. */
304
+ source_id: string;
305
+ };
306
+ headers?: {
307
+ "X-Target-Org-Id"?: string | null;
308
+ };
309
+ };
310
+ output: ApiResponse_FormPayload_;
311
+ };
312
+ /**
313
+ * GET /forms/site-audit
314
+ * Get Site Audit
315
+ * tier: read · scope: forms:read
316
+ */
317
+ get_site_audit_forms_site_audit_get: {
318
+ input: {
319
+ headers?: {
320
+ "X-Target-Org-Id"?: string | null;
321
+ };
322
+ };
323
+ output: ApiResponse_FormsAdminPayload_;
324
+ };
325
+ /**
326
+ * GET /forms/groups
327
+ * List Form Groups
328
+ * tier: read · scope: forms:read
329
+ */
330
+ list_form_groups_forms_groups_get: {
331
+ input: {
332
+ headers?: {
333
+ "X-Target-Org-Id"?: string | null;
334
+ };
335
+ };
336
+ output: ApiResponse_FormsAdminPayload_;
337
+ };
338
+ /**
339
+ * GET /forms
340
+ * List Forms
341
+ * tier: read · scope: forms:read
342
+ */
343
+ list_forms_forms_get: {
344
+ input: {
345
+ query?: {
346
+ /** 1-indexed page. */
347
+ page?: number;
348
+ /** Rows per page (max 200). */
349
+ per_page?: number;
350
+ /** Case-insensitive substring match on form name/id. */
351
+ search?: string | null;
352
+ /** Filter to a single write key / site. */
353
+ source_id?: string | null;
354
+ /** total_submissions | latest_submitted_at | form_tag_id */
355
+ sort_field?: ("submissions_30d" | "total_submissions" | "latest_submitted_at" | "form_tag_id") | null;
356
+ /** asc | desc */
357
+ sort_order?: ("asc" | "desc") | null;
358
+ };
359
+ headers?: {
360
+ "X-Target-Org-Id"?: string | null;
361
+ };
362
+ };
363
+ output: ApiResponse_FormsListResponse_;
364
+ };
365
+ /**
366
+ * GET /forms/views/saved
367
+ * List Saved Form Views
368
+ * tier: read · scope: forms:read
369
+ */
370
+ list_saved_form_views_forms_views_saved_get: {
371
+ input: {
372
+ headers?: {
373
+ "X-Target-Org-Id"?: string | null;
374
+ };
375
+ };
376
+ output: ApiResponse_FormsAdminPayload_;
377
+ };
378
+ /**
379
+ * POST /forms/{form_key}/delivery/pause
380
+ * Pause Form Delivery
381
+ * tier: external · scope: forms:run
382
+ */
383
+ pause_form_delivery_forms__form_key__delivery_pause_post: {
384
+ input: {
385
+ path: {
386
+ /** Form key. */
387
+ form_key: string;
388
+ };
389
+ headers?: {
390
+ "X-Target-Org-Id"?: string | null;
391
+ };
392
+ body: FormSourceScopedRequest;
393
+ };
394
+ output: ApiResponse_FormPayload_;
395
+ };
396
+ /**
397
+ * POST /forms/{form_key}/mapping/preview
398
+ * Preview Form Mapping
399
+ * tier: read · scope: forms:read
400
+ */
401
+ preview_form_mapping_forms__form_key__mapping_preview_post: {
402
+ input: {
403
+ path: {
404
+ /** The form's `form_key` (the `id` from `GET /forms`). */
405
+ form_key: string;
406
+ };
407
+ headers?: {
408
+ "X-Target-Org-Id"?: string | null;
409
+ };
410
+ body: FormMappingRequest;
411
+ };
412
+ output: ApiResponse_FormsAdminPayload_;
413
+ };
414
+ /**
415
+ * GET /forms/unidentified/grouping
416
+ * Preview Unidentified Grouping
417
+ * tier: read · scope: forms:read
418
+ */
419
+ preview_unidentified_grouping_forms_unidentified_grouping_get: {
420
+ input: {
421
+ query?: {
422
+ /** One site. Omit for every site. */
423
+ source_id?: string | null;
424
+ };
425
+ headers?: {
426
+ "X-Target-Org-Id"?: string | null;
427
+ };
428
+ };
429
+ output: ApiResponse_FormsAdminPayload_;
430
+ };
431
+ /**
432
+ * POST /forms/groups/{group_id}/members/remove
433
+ * Remove Form Group Members
434
+ * tier: write · scope: forms:write
435
+ */
436
+ remove_form_group_members_forms_groups__group_id__members_remove_post: {
437
+ input: {
438
+ path: {
439
+ /** The group's id. */
440
+ group_id: string;
441
+ };
442
+ headers?: {
443
+ "X-Target-Org-Id"?: string | null;
444
+ };
445
+ body: FormGroupMembersRequest;
446
+ };
447
+ output: ApiResponse_FormsAdminPayload_;
448
+ };
449
+ /**
450
+ * POST /forms/site-audit/scan
451
+ * Request Site Audit Scan
452
+ * tier: write · scope: forms:write
453
+ */
454
+ request_site_audit_scan_forms_site_audit_scan_post: {
455
+ input: {
456
+ headers?: {
457
+ "X-Target-Org-Id"?: string | null;
458
+ };
459
+ };
460
+ output: ApiResponse_FormsAdminPayload_;
461
+ };
462
+ /**
463
+ * POST /forms/{form_key}/delivery/resume
464
+ * Resume Form Delivery
465
+ * tier: external · scope: forms:run
466
+ */
467
+ resume_form_delivery_forms__form_key__delivery_resume_post: {
468
+ input: {
469
+ path: {
470
+ /** Form key. */
471
+ form_key: string;
472
+ };
473
+ headers?: {
474
+ "X-Target-Org-Id"?: string | null;
475
+ };
476
+ body: FormSourceScopedRequest;
477
+ };
478
+ output: ApiResponse_FormPayload_;
479
+ };
480
+ /**
481
+ * POST /forms/deliveries/{receipt_id}/retry
482
+ * Retry Form Delivery
483
+ * tier: external · scope: forms:run
484
+ */
485
+ retry_form_delivery_forms_deliveries__receipt_id__retry_post: {
486
+ input: {
487
+ path: {
488
+ /** Delivery receipt id from the activity feed. */
489
+ receipt_id: string;
490
+ };
491
+ headers?: {
492
+ "X-Target-Org-Id"?: string | null;
493
+ };
494
+ };
495
+ output: ApiResponse_FormPayload_;
496
+ };
497
+ /**
498
+ * DELETE /forms/{form_key}/route
499
+ * Rollback Form Route
500
+ * tier: destructive · scope: forms:delete
501
+ */
502
+ rollback_form_route_forms__form_key__route_delete: {
503
+ input: {
504
+ path: {
505
+ /** Form key. */
506
+ form_key: string;
507
+ };
508
+ headers?: {
509
+ "X-Target-Org-Id"?: string | null;
510
+ };
511
+ body: FormRouteRollbackRequest;
512
+ };
513
+ output: ApiResponse_FormPayload_;
514
+ };
515
+ /**
516
+ * POST /forms/{form_key}/mapping/save
517
+ * Save Form Mapping
518
+ * tier: write · scope: forms:write
519
+ */
520
+ save_form_mapping_forms__form_key__mapping_save_post: {
521
+ input: {
522
+ path: {
523
+ /** The form's `form_key` (the `id` from `GET /forms`). */
524
+ form_key: string;
525
+ };
526
+ headers?: {
527
+ "X-Target-Org-Id"?: string | null;
528
+ };
529
+ body: FormMappingRequest;
530
+ };
531
+ output: ApiResponse_FormsAdminPayload_;
532
+ };
533
+ /**
534
+ * PUT /forms/{form_key}/route
535
+ * Save Form Route
536
+ * tier: write · scope: forms:write
537
+ */
538
+ save_form_route_forms__form_key__route_put: {
539
+ input: {
540
+ path: {
541
+ /** Form key. */
542
+ form_key: string;
543
+ };
544
+ headers?: {
545
+ "X-Target-Org-Id"?: string | null;
546
+ };
547
+ body: FormRouteRequest;
548
+ };
549
+ output: ApiResponse_FormPayload_;
550
+ };
551
+ /**
552
+ * PUT /forms/views/saved/{view_id}
553
+ * Save Form View
554
+ * tier: write · scope: forms:write
555
+ */
556
+ save_form_view_forms_views_saved__view_id__put: {
557
+ input: {
558
+ path: {
559
+ /** The view's id. Created when it does not exist. */
560
+ view_id: string;
561
+ };
562
+ headers?: {
563
+ "X-Target-Org-Id"?: string | null;
564
+ };
565
+ body: FormSavedViewRequest;
566
+ };
567
+ output: ApiResponse_FormsAdminPayload_;
568
+ };
569
+ /**
570
+ * POST /forms/{form_key}/submissions
571
+ * Search Form Submissions
572
+ * tier: read · scope: forms:read
573
+ */
574
+ search_form_submissions_forms__form_key__submissions_post: {
575
+ input: {
576
+ path: {
577
+ /** The form's `form_key` (the `id` from `GET /forms`). */
578
+ form_key: string;
579
+ };
580
+ headers?: {
581
+ "X-Target-Org-Id"?: string | null;
582
+ };
583
+ body: FormSubmissionsSearchRequest;
584
+ };
585
+ output: ApiResponse_FormsAdminPayload_;
586
+ };
587
+ /**
588
+ * PUT /forms/unidentified/grouping
589
+ * Set Unidentified Grouping
590
+ * tier: write · scope: forms:write
591
+ */
592
+ set_unidentified_grouping_forms_unidentified_grouping_put: {
593
+ input: {
594
+ headers?: {
595
+ "X-Target-Org-Id"?: string | null;
596
+ };
597
+ body: FormGroupingRuleRequest;
598
+ };
599
+ output: ApiResponse_FormsAdminPayload_;
600
+ };
601
+ /**
602
+ * POST /forms/unidentified/groups/sync
603
+ * Sync Unidentified Group
604
+ * tier: write · scope: forms:write
605
+ */
606
+ sync_unidentified_group_forms_unidentified_groups_sync_post: {
607
+ input: {
608
+ headers?: {
609
+ "X-Target-Org-Id"?: string | null;
610
+ };
611
+ body: FormGroupSyncRequest;
612
+ };
613
+ output: ApiResponse_FormsAdminPayload_;
614
+ };
615
+ /**
616
+ * POST /forms/{form_key}/route/test
617
+ * Test Form Route
618
+ * tier: write · scope: forms:write
619
+ */
620
+ test_form_route_forms__form_key__route_test_post: {
621
+ input: {
622
+ path: {
623
+ /** Form key. */
624
+ form_key: string;
625
+ };
626
+ headers?: {
627
+ "X-Target-Org-Id"?: string | null;
628
+ };
629
+ body: FormSourceScopedRequest;
630
+ };
631
+ output: ApiResponse_FormPayload_;
632
+ };
633
+ /**
634
+ * PATCH /forms/groups/{group_id}
635
+ * Update Form Group
636
+ * tier: write · scope: forms:write
637
+ */
638
+ update_form_group_forms_groups__group_id__patch: {
639
+ input: {
640
+ path: {
641
+ /** The group's id. */
642
+ group_id: string;
643
+ };
644
+ headers?: {
645
+ "X-Target-Org-Id"?: string | null;
646
+ };
647
+ body: FormGroupPatchRequest;
648
+ };
649
+ output: ApiResponse_FormsAdminPayload_;
650
+ };
651
+ /**
652
+ * PATCH /forms/{form_key}
653
+ * Update Form Registry
654
+ * tier: write · scope: forms:write
655
+ */
656
+ update_form_registry_forms__form_key__patch: {
657
+ input: {
658
+ path: {
659
+ /** Form key. */
660
+ form_key: string;
661
+ };
662
+ headers?: {
663
+ "X-Target-Org-Id"?: string | null;
664
+ };
665
+ body: FormRegistryPatchRequest;
666
+ };
667
+ output: ApiResponse_FormPayload_;
668
+ };
669
+ /**
670
+ * PATCH /forms/site-audit/findings/{finding_id}
671
+ * Update Site Audit Finding
672
+ * tier: write · scope: forms:write
673
+ */
674
+ update_site_audit_finding_forms_site_audit_findings__finding_id__patch: {
675
+ input: {
676
+ path: {
677
+ /** The finding's id. */
678
+ finding_id: string;
679
+ };
680
+ headers?: {
681
+ "X-Target-Org-Id"?: string | null;
682
+ };
683
+ body: FormSiteAuditStatusRequest;
684
+ };
685
+ output: ApiResponse_FormsAdminPayload_;
686
+ };
687
+ }
688
+
689
+ // 29 schemas referenced above (the same as G8Contract.<Name>).
690
+
691
+ export interface ApiResponse_FormOverview_ {
692
+ data: FormOverview;
693
+ pagination?: PaginationMeta | null;
694
+ }
695
+
696
+ export interface ApiResponse_FormPayload_ {
697
+ data: FormPayload;
698
+ pagination?: PaginationMeta | null;
699
+ }
700
+
701
+ export interface ApiResponse_FormsAdminPayload_ {
702
+ data: FormsAdminPayload;
703
+ pagination?: PaginationMeta | null;
704
+ }
705
+
706
+ export interface ApiResponse_FormsListResponse_ {
707
+ data: FormsListResponse;
708
+ pagination?: PaginationMeta | null;
709
+ }
710
+
711
+ /**
712
+ * Re-deliver submissions captured in a window. Mirrors `BackfillRequest`.
713
+ *
714
+ * `preview` DEFAULTS TO TRUE, as it does in the app: a real backfill delivers
715
+ * real leads to the form's route and cannot be undone.
716
+ */
717
+ export interface FormBackfillRequest {
718
+ end_at?: string | null;
719
+ /** The count a preview reported, echoed back. */
720
+ estimated?: number;
721
+ /** True reports what would be delivered without delivering it. */
722
+ preview?: boolean;
723
+ /** The site (write key) the form is installed on. */
724
+ source_id: string;
725
+ start_at?: string | null;
726
+ }
727
+
728
+ /** One submitted field and the contact field it lands in. Mirrors `MappedFieldName`. */
729
+ export interface FormFieldMapping {
730
+ /** Id of that dynamic column. */
731
+ dynamic_column_id?: number | null;
732
+ /** Whether `target_field` is a dynamic column created by this mapping. */
733
+ is_new_column?: boolean;
734
+ /** Display name of that dynamic column. */
735
+ new_column_name?: string | null;
736
+ /** Name of the submitted form field. */
737
+ source_field: string;
738
+ /** Constant written to `target_field` instead of reading a submitted field. */
739
+ static_value?: string | null;
740
+ /** Contact field it is written to. */
741
+ target_field: string;
742
+ }
743
+
744
+ /** Mirrors `CuratedGroupCreateRequest`. Members already in another group are MOVED here. */
745
+ export interface FormGroupCreateRequest {
746
+ form_type?: ("lead" | "newsletter" | "meeting" | "contact" | "download" | "other") | null;
747
+ members?: Array<FormGroupMemberRef>;
748
+ name: string;
749
+ }
750
+
751
+ /** One inventory row in a curated group. Mirrors `GroupMemberRefRequest`. */
752
+ export interface FormGroupMemberRef {
753
+ form_key: string;
754
+ /** Write key, or its bare key id. */
755
+ source_id: string;
756
+ }
757
+
758
+ /** Mirrors `CuratedGroupMembersRequest`. */
759
+ export interface FormGroupMembersRequest {
760
+ members: Array<FormGroupMemberRef>;
761
+ }
762
+
763
+ /** Mirrors `CuratedGroupPatchRequest`. */
764
+ export interface FormGroupPatchRequest {
765
+ form_type?: ("lead" | "newsletter" | "meeting" | "contact" | "download" | "other") | null;
766
+ name?: string | null;
767
+ }
768
+
769
+ /** Name one group of id-less submissions and route its leads to a list. Mirrors `GroupSyncRequest`. */
770
+ export interface FormGroupSyncRequest {
771
+ axis: "fields" | "component" | "page" | "campaign" | "source_attribute";
772
+ group_id: string;
773
+ /** The axis value this group covers. */
774
+ matcher?: string;
775
+ name?: string;
776
+ source_id: string;
777
+ target_list_id?: number | null;
778
+ }
779
+
780
+ /** How one site's id-less submissions are split into forms. Mirrors `GroupingRuleRequest`. */
781
+ export interface FormGroupingRuleRequest {
782
+ axis?: "none" | "fields" | "component" | "page" | "campaign" | "source_attribute";
783
+ source_id: string;
784
+ }
785
+
786
+ /** The inventory filter set a saved view stores. Mirrors `PaginationRequest`. */
787
+ export interface FormInventoryFilters {
788
+ activity_end?: string | null;
789
+ activity_start?: string | null;
790
+ capture_health?: ("healthy" | "no_data") | null;
791
+ delivery_state?: ("active" | "paused" | "failed" | "not_configured") | null;
792
+ destination_list_id?: number | null;
793
+ has_failures?: boolean | null;
794
+ has_new_fields?: boolean | null;
795
+ identity_quality?: ("verified" | "variant" | "collision" | "historic_uncertain") | null;
796
+ mapping_state?: ("mapped" | "unmapped") | null;
797
+ owner_id?: string | null;
798
+ page?: number;
799
+ per_page?: number;
800
+ saved_view?: ("live" | "needs_setup" | "failing" | "ignored" | "healthy" | "failures" | "new_fields" | "no_recent_submissions" | "missing_or_collision" | "destination_unavailable" | "newly_discovered") | null;
801
+ search?: string | null;
802
+ sort_field?: ("submissions_30d" | "total_submissions" | "latest_submitted_at" | "form_tag_id") | null;
803
+ sort_order?: ("asc" | "desc") | null;
804
+ source_id?: string | null;
805
+ write_key?: string | null;
806
+ }
807
+
808
+ /**
809
+ * How a form's submitted fields become contact fields.
810
+ *
811
+ * Mirrors `PreviewFormToContactMappingRequest`, which the app uses for both
812
+ * the preview and the save.
813
+ */
814
+ export interface FormMappingRequest {
815
+ /** Optimistic-concurrency guard: the route version you last read. Omit for last-writer-wins. */
816
+ expected_route_version?: number | null;
817
+ /** Submitted field -> contact field. */
818
+ form_to_contact_field_mapping?: Array<FormFieldMapping>;
819
+ source_id?: string | null;
820
+ submissions_page?: number;
821
+ submissions_per_page?: number;
822
+ /** Id of that list, when it already exists. */
823
+ target_list_id?: number | null;
824
+ /** Name of the list the mapped submissions are saved to. */
825
+ target_list_name: string;
826
+ }
827
+
828
+ /**
829
+ * Per-form operational detail (health, metrics, destination).
830
+ *
831
+ * Mirrors the scalar fields of the in-app ``GET /forms/{form_key}/overview``
832
+ * response. The config-oriented ``route`` / ``permissions`` blocks from the
833
+ * internal payload are intentionally omitted — an agent describing a form does
834
+ * not need route-editing internals.
835
+ */
836
+ export interface FormOverview {
837
+ activation_health?: string | null;
838
+ capture_health?: string | null;
839
+ delivery_health?: string | null;
840
+ display_name?: string | null;
841
+ form_key: string;
842
+ identity_state?: string | null;
843
+ last_destination_verified_at?: string | null;
844
+ metrics?: Record<string, unknown>;
845
+ owner_id?: string | null;
846
+ placement_count?: number;
847
+ recommended_action?: string | null;
848
+ source_id: string;
849
+ technical_form_id?: string | null;
850
+ }
851
+
852
+ /**
853
+ * An open envelope for a form operational view.
854
+ *
855
+ * `overview`, `fields`, `placements`, `activity`, a route save result and a
856
+ * submission trace each return a different shape assembled from several
857
+ * upstreams. Pinning any of them would drop a field the moment one is added,
858
+ * and on a delivery-diagnostics surface a missing field reads as a missing
859
+ * delivery.
860
+ */
861
+ export type FormPayload = Record<string, unknown>;
862
+
863
+ /** Which observed placement to capture. Mirrors `PlacementPreviewRequest`. */
864
+ export interface FormPlacementPreviewRequest {
865
+ /** A page the form was actually seen on. */
866
+ page_url: string;
867
+ /** The site (write key) the form is installed on. */
868
+ source_id: string;
869
+ }
870
+
871
+ /** Rename, reassign or archive a form. */
872
+ export interface FormRegistryPatchRequest {
873
+ /** Archive or unarchive. Omit to leave unchanged. */
874
+ archived?: boolean | null;
875
+ display_name?: string | null;
876
+ owner_id?: string | null;
877
+ /** Which INSTALLED SOURCE of this form. A form key can be present on more than one source, and every operation on this surface is scoped to one - omitting it would silently act on whichever the backend picked. */
878
+ source_id: string;
879
+ }
880
+
881
+ /**
882
+ * Save a form's route: where its submissions land, and how they map.
883
+ *
884
+ * `extra="forbid"` mirrors the app. An unknown key here is a typo in a
885
+ * caller's mapping, and silently dropping it would send submissions to the
886
+ * right list with the wrong fields.
887
+ */
888
+ export interface FormRouteRequest {
889
+ /** Values applied to every submission. */
890
+ defaults?: Record<string, unknown>;
891
+ /** PRECONDITION. The route version you are replacing. Without it the save is last-writer-wins and can silently overwrite a colleague's route. */
892
+ expected_current_route_version?: number | null;
893
+ /** PRECONDITION on the route's history log. */
894
+ expected_route_history_version?: number | null;
895
+ /** PRECONDITION, not a setting. The form schema version this mapping was built against; the save is rejected if the form has changed shape since. Omitting it saves a mapping against a schema you have not seen. */
896
+ expected_schema_version?: number | null;
897
+ /** Form field -> graph8 field. */
898
+ mapping?: Array<Record<string, unknown>>;
899
+ /** Save anyway when the schema HAS drifted. Deliberate override. */
900
+ schema_drift_approved?: boolean;
901
+ source_id: string;
902
+ /** Audience list submissions land in. */
903
+ target_list_id: number;
904
+ /** Whether routed submissions trigger workflows. `simulate` records what WOULD have run without running it - the safe way to turn automation on for a live form. Defaults to `disabled`. */
905
+ workflow_policy?: "disabled" | "simulate" | "enabled";
906
+ }
907
+
908
+ /**
909
+ * Roll a route back to an earlier version, or cancel the pending one.
910
+ *
911
+ * Sent as the body of a DELETE, matching the app: this is not "delete the
912
+ * route", it is "move it back", and which version to move to has to travel
913
+ * with the request.
914
+ */
915
+ export interface FormRouteRollbackRequest {
916
+ /** Cancel a pending route instead of restoring an old one. */
917
+ cancel_current?: boolean;
918
+ /** PRECONDITION: the version you believe is live. Guards a concurrent rollback. */
919
+ expected_current_version?: number | null;
920
+ /** Version to restore. Omit to take the previous one. */
921
+ restore_version?: number | null;
922
+ source_id: string;
923
+ }
924
+
925
+ /** A named inventory filter set. Mirrors `SavedFormsViewRequest`. */
926
+ export interface FormSavedViewRequest {
927
+ filters: FormInventoryFilters;
928
+ name: string;
929
+ }
930
+
931
+ /** Mirrors `SiteAuditStatusRequest`. */
932
+ export interface FormSiteAuditStatusRequest {
933
+ status: "open" | "acknowledged" | "ignored" | "resolved";
934
+ }
935
+
936
+ /** Every form operation is scoped to one installed source. */
937
+ export interface FormSourceScopedRequest {
938
+ source_id: string;
939
+ }
940
+
941
+ /** One filter over a form's submissions. Mirrors the app's `ConditionRequest`. */
942
+ export interface FormSubmissionCondition {
943
+ /** Submitted field name, or a submission attribute. */
944
+ field: string;
945
+ /** Comparison operator, in the app's filter grammar. */
946
+ operator: string;
947
+ /** Value compared against. */
948
+ value: unknown;
949
+ /** Upper bound, for range operators. */
950
+ value_to?: unknown;
951
+ }
952
+
953
+ /** Which page of a form's submissions to read. Mirrors `FormSubmissionsRequest`. */
954
+ export interface FormSubmissionsSearchRequest {
955
+ conditions?: Array<FormSubmissionCondition>;
956
+ page?: number;
957
+ per_page?: number;
958
+ /** One site. Omit for every site the form is on. */
959
+ source_id?: string | null;
960
+ }
961
+
962
+ /** One lead-capture form as returned by the list/search endpoint. */
963
+ export interface FormSummary {
964
+ /** Human-friendly name for the form. */
965
+ display_name?: string | null;
966
+ /** Alias for id; the addressable key for detail lookups. */
967
+ form_key?: string | null;
968
+ /** The form's HTML tag id (or the id-less group key). */
969
+ id: string;
970
+ /** Most recent submission timestamp. */
971
+ latest_submitted_at?: string | null;
972
+ /** URL of a page where the form was submitted. */
973
+ page_url?: string | null;
974
+ /** Write key / site the form was submitted from. */
975
+ source_id?: string | null;
976
+ /** Destination list id, if the form is routed. */
977
+ target_list_id?: number | null;
978
+ /** Destination list name, if the form is routed. */
979
+ target_list_name?: string | null;
980
+ /** Total submissions received for this form. */
981
+ total_submissions?: number;
982
+ }
983
+
984
+ /**
985
+ * One forms object, or one handler response.
986
+ *
987
+ * Open-shaped: the submission, mapping, group and audit payloads grow with
988
+ * the product, and a closed model here would silently drop what it does not
989
+ * name.
990
+ */
991
+ export type FormsAdminPayload = Record<string, unknown>;
992
+
993
+ /** Paginated envelope for the forms list/search endpoint. */
994
+ export interface FormsListResponse {
995
+ items?: Array<FormSummary>;
996
+ page?: number;
997
+ per_page?: number;
998
+ total?: number;
999
+ }
1000
+
1001
+ export interface PaginationMeta {
1002
+ /** Whether there are more pages */
1003
+ has_next: boolean;
1004
+ /** Items per page */
1005
+ limit: number;
1006
+ /** 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. */
1007
+ next_cursor?: string | null;
1008
+ /** Current page number (1-indexed) */
1009
+ page: number;
1010
+ /** Total number of items */
1011
+ total: number;
1012
+ }