@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,1411 @@
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.landingPages` (Landing Pages): 59 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<"apply_landing_page_review_findings_landing_pages__landing_page_id__ai_review_apply_post">;
9
+ *
10
+ * Reference with examples: landingPages.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.landingPages.<member>` -> the operationId it calls. */
15
+ export interface LandingPagesMembers {
16
+ applyLandingPageReviewFindings: "apply_landing_page_review_findings_landing_pages__landing_page_id__ai_review_apply_post";
17
+ approveLandingPageTemplate: "approve_landing_page_template_landing_pages__landing_page_id__approve_template_patch";
18
+ clearLandingPageConsentOverride: "clear_landing_page_consent_override_landing_pages__landing_page_id__tracking_consent_delete";
19
+ cloneHomepageToLandingPage: "clone_homepage_to_landing_page_landing_pages_clone_homepage_post";
20
+ cloneHtmlToLandingPage: "clone_html_to_landing_page_landing_pages_clone_html_post";
21
+ cloneUrlToLandingPage: "clone_url_to_landing_page_landing_pages_clone_url_post";
22
+ convertLandingPageToFreeform: "convert_landing_page_to_freeform_landing_pages__landing_page_id__convert_to_freeform_post";
23
+ createLandingPage: "create_landing_page_landing_pages_post";
24
+ createLandingPageAgentSession: "create_landing_page_agent_session_landing_pages__page_id__agent_sessions_post";
25
+ createLandingPagePreviewLink: "create_landing_page_preview_link_landing_pages__landing_page_id__preview_get";
26
+ deleteLandingPage: "delete_landing_page_landing_pages__landing_page_id__delete";
27
+ demoteLandingPageToTemplate: "demote_landing_page_to_template_landing_pages__landing_page_id__demote_to_template_post";
28
+ duplicateLandingPageTemplate: "duplicate_landing_page_template_landing_pages__landing_page_id__duplicate_post";
29
+ editLandingPageElement: "edit_landing_page_element_landing_pages__landing_page_id__edit_element_post";
30
+ editLandingPageWhole: "edit_landing_page_whole_landing_pages__landing_page_id__edit_page_post";
31
+ editLandingPageWithChat: "edit_landing_page_with_chat_landing_pages__landing_page_id__edit_post";
32
+ ensureLandingPageBaseTemplate: "ensure_landing_page_base_template_landing_pages_ensure_base_template_post";
33
+ exportLandingPage: "export_landing_page_landing_pages__landing_page_id__export_get";
34
+ extractLandingPageComponents: "extract_landing_page_components_landing_pages_components_extract_post";
35
+ fixLandingPageFindingWithAi: "fix_landing_page_finding_with_ai_landing_pages__landing_page_id__ai_review_fix_with_ai_post";
36
+ generateLandingPageSeoMetadata: "generate_landing_page_seo_metadata_landing_pages__landing_page_id__generate_seo_metadata_post";
37
+ getLandingPage: "get_landing_page_landing_pages__landing_page_id__get";
38
+ getLandingPageConsentDefault: "get_landing_page_consent_default_landing_page_consent_default_get";
39
+ getLandingPageConversation: "get_landing_page_conversation_landing_pages__landing_page_id__conversation_get";
40
+ getLandingPageDesignSystem: "get_landing_page_design_system_landing_pages_design_system_get";
41
+ getLandingPageManifest: "get_landing_page_manifest_landing_pages__landing_page_id__manifest_get";
42
+ getLandingPageReportingOverview: "get_landing_page_reporting_overview_landing_pages_reporting_overview_get";
43
+ getLandingPageSource: "get_landing_page_source_landing_pages_agent_sessions__session_id__get";
44
+ getLandingPageStatus: "get_landing_page_status_landing_pages__landing_page_id__status_get";
45
+ getLandingPageTracking: "get_landing_page_tracking_landing_pages__landing_page_id__tracking_get";
46
+ importLandingPageHtml: "import_landing_page_html_landing_pages__landing_page_id__import_html_post";
47
+ listLandingPageAnchors: "list_landing_page_anchors_landing_pages__landing_page_id__anchors_get";
48
+ listLandingPageBindings: "list_landing_page_bindings_landing_pages__landing_page_id__bindings_get";
49
+ listLandingPageComponents: "list_landing_page_components_landing_pages_components_get";
50
+ listLandingPageConsentStatus: "list_landing_page_consent_status_landing_page_consent_pages_get";
51
+ listLandingPageDomains: "list_landing_page_domains_landing_pages_domains_get";
52
+ listLandingPageReportingCompanies: "list_landing_page_reporting_companies_landing_pages_reporting_companies_get";
53
+ listLandingPageReportingPeople: "list_landing_page_reporting_people_landing_pages_reporting_people_get";
54
+ listLandingPageVersions: "list_landing_page_versions_landing_pages__landing_page_id__versions_get";
55
+ listLandingPages: "list_landing_pages_landing_pages_get";
56
+ patchLandingPage: "patch_landing_page_landing_pages_agent_sessions__session_id__patch_post";
57
+ promoteLandingPageTemplate: "promote_landing_page_template_landing_pages__landing_page_id__promote_to_page_post";
58
+ provisionLandingPageTracking: "provision_landing_page_tracking_landing_pages__landing_page_id__tracking_provision_post";
59
+ publishLandingPage: "publish_landing_page_landing_pages__landing_page_id__publish_post";
60
+ removeLandingPageBinding: "remove_landing_page_binding_landing_pages__landing_page_id__bindings_delete";
61
+ replaceLandingPageHtml: "replace_landing_page_html_landing_pages__landing_page_id__replace_html_post";
62
+ restoreLandingPageVersion: "restore_landing_page_version_landing_pages__landing_page_id__versions__version_num__restore_post";
63
+ reviewLandingPage: "review_landing_page_landing_pages__landing_page_id__ai_review_post";
64
+ rewriteLandingPageText: "rewrite_landing_page_text_landing_pages__landing_page_id__rewrite_text_post";
65
+ saveLandingPageTemplateAsPage: "save_landing_page_template_as_page_landing_pages__landing_page_id__save_as_page_post";
66
+ setLandingPageConsentDefault: "set_landing_page_consent_default_landing_page_consent_default_put";
67
+ setLandingPageMedia: "set_landing_page_media_landing_pages__landing_page_id__set_media_edit_post";
68
+ setLandingPageText: "set_landing_page_text_landing_pages__landing_page_id__set_text_post";
69
+ unpublishLandingPage: "unpublish_landing_page_landing_pages__landing_page_id__unpublish_post";
70
+ updateLandingPage: "update_landing_page_landing_pages__landing_page_id__patch";
71
+ updateLandingPageHtml: "update_landing_page_html_landing_pages__landing_page_id__update_html_post";
72
+ updateLandingPageSection: "update_landing_page_section_landing_pages__landing_page_id__sections__section_idx__patch";
73
+ updateLandingPageText: "update_landing_page_text_landing_pages__landing_page_id__update_text_post";
74
+ updateLandingPageTracking: "update_landing_page_tracking_landing_pages__landing_page_id__tracking_patch";
75
+ }
76
+
77
+ /** Input and output of every `g8.api.landingPages` operation, keyed by operationId. */
78
+ export interface LandingPagesOperations {
79
+ /**
80
+ * POST /landing-pages/{landing_page_id}/ai-review/apply
81
+ * Apply Landing Page Review Findings
82
+ * tier: write · scope: campaigns:write
83
+ */
84
+ apply_landing_page_review_findings_landing_pages__landing_page_id__ai_review_apply_post: {
85
+ input: {
86
+ path: {
87
+ /** Landing page id. */
88
+ landing_page_id: string;
89
+ };
90
+ headers?: {
91
+ "X-Target-Org-Id"?: string | null;
92
+ };
93
+ body: AIReviewApplyRequest;
94
+ };
95
+ output: ApiResponse_StudioContentPayload_;
96
+ };
97
+ /**
98
+ * PATCH /landing-pages/{landing_page_id}/approve-template
99
+ * Approve Landing Page Template
100
+ * tier: write · scope: campaigns:write
101
+ */
102
+ approve_landing_page_template_landing_pages__landing_page_id__approve_template_patch: {
103
+ input: {
104
+ path: {
105
+ /** Landing page id. */
106
+ landing_page_id: string;
107
+ };
108
+ headers?: {
109
+ "X-Target-Org-Id"?: string | null;
110
+ };
111
+ };
112
+ output: ApiResponse_StudioContentPayload_;
113
+ };
114
+ /**
115
+ * DELETE /landing-pages/{landing_page_id}/tracking/consent
116
+ * Clear Landing Page Consent Override
117
+ * tier: destructive · scope: campaigns:delete
118
+ */
119
+ clear_landing_page_consent_override_landing_pages__landing_page_id__tracking_consent_delete: {
120
+ input: {
121
+ path: {
122
+ /** Landing page id. */
123
+ landing_page_id: string;
124
+ };
125
+ headers?: {
126
+ "X-Target-Org-Id"?: string | null;
127
+ };
128
+ };
129
+ output: ApiResponse_StudioContentPayload_;
130
+ };
131
+ /**
132
+ * POST /landing-pages/clone-homepage
133
+ * Clone Homepage To Landing Page
134
+ * tier: billable · scope: campaigns:run
135
+ */
136
+ clone_homepage_to_landing_page_landing_pages_clone_homepage_post: {
137
+ input: {
138
+ headers?: {
139
+ "X-Target-Org-Id"?: string | null;
140
+ };
141
+ body: CloneHomepageRequest;
142
+ };
143
+ output: ApiResponse_StudioContentPayload_;
144
+ };
145
+ /**
146
+ * POST /landing-pages/clone-html
147
+ * Clone Html To Landing Page
148
+ * tier: billable · scope: campaigns:run
149
+ */
150
+ clone_html_to_landing_page_landing_pages_clone_html_post: {
151
+ input: {
152
+ headers?: {
153
+ "X-Target-Org-Id"?: string | null;
154
+ };
155
+ body: CloneHtmlRequest;
156
+ };
157
+ output: ApiResponse_StudioContentPayload_;
158
+ };
159
+ /**
160
+ * POST /landing-pages/clone-url
161
+ * Clone Url To Landing Page
162
+ * tier: billable · scope: campaigns:run
163
+ */
164
+ clone_url_to_landing_page_landing_pages_clone_url_post: {
165
+ input: {
166
+ headers?: {
167
+ "X-Target-Org-Id"?: string | null;
168
+ };
169
+ body: CloneUrlRequest;
170
+ };
171
+ output: ApiResponse_StudioContentPayload_;
172
+ };
173
+ /**
174
+ * POST /landing-pages/{landing_page_id}/convert-to-freeform
175
+ * Convert Landing Page To Freeform
176
+ * tier: write · scope: campaigns:write
177
+ */
178
+ convert_landing_page_to_freeform_landing_pages__landing_page_id__convert_to_freeform_post: {
179
+ input: {
180
+ path: {
181
+ /** Landing page id. */
182
+ landing_page_id: string;
183
+ };
184
+ headers?: {
185
+ "X-Target-Org-Id"?: string | null;
186
+ };
187
+ };
188
+ output: ApiResponse_StudioContentPayload_;
189
+ };
190
+ /**
191
+ * POST /landing-pages
192
+ * Create Landing Page
193
+ * tier: billable · scope: campaigns:run
194
+ */
195
+ create_landing_page_landing_pages_post: {
196
+ input: {
197
+ headers?: {
198
+ "X-Target-Org-Id"?: string | null;
199
+ };
200
+ body: CreateLandingPageRequest;
201
+ };
202
+ output: ApiResponse_StudioContentPayload_;
203
+ };
204
+ /**
205
+ * POST /landing-pages/{page_id}/agent-sessions
206
+ * Create Landing Page Agent Session
207
+ * tier: write · scope: integrations:write
208
+ */
209
+ create_landing_page_agent_session_landing_pages__page_id__agent_sessions_post: {
210
+ input: {
211
+ path: {
212
+ page_id: string;
213
+ };
214
+ headers?: {
215
+ "X-Target-Org-Id"?: string | null;
216
+ };
217
+ body?: CreateAgentSessionRequest | null;
218
+ };
219
+ output: ApiResponse_dict_str__Any__;
220
+ };
221
+ /**
222
+ * GET /landing-pages/{landing_page_id}/preview
223
+ * Create Landing Page Preview Link
224
+ * tier: read · scope: campaigns:read
225
+ */
226
+ create_landing_page_preview_link_landing_pages__landing_page_id__preview_get: {
227
+ input: {
228
+ path: {
229
+ /** Landing page id. */
230
+ landing_page_id: string;
231
+ };
232
+ headers?: {
233
+ "X-Target-Org-Id"?: string | null;
234
+ };
235
+ };
236
+ output: ApiResponse_StudioContentPayload_;
237
+ };
238
+ /**
239
+ * DELETE /landing-pages/{landing_page_id}
240
+ * Delete Landing Page
241
+ * tier: destructive · scope: campaigns:delete
242
+ */
243
+ delete_landing_page_landing_pages__landing_page_id__delete: {
244
+ input: {
245
+ path: {
246
+ /** Landing page id. */
247
+ landing_page_id: string;
248
+ };
249
+ headers?: {
250
+ "X-Target-Org-Id"?: string | null;
251
+ };
252
+ };
253
+ output: ApiResponse_StudioContentPayload_;
254
+ };
255
+ /**
256
+ * POST /landing-pages/{landing_page_id}/demote-to-template
257
+ * Demote Landing Page To Template
258
+ * tier: write · scope: campaigns:write
259
+ */
260
+ demote_landing_page_to_template_landing_pages__landing_page_id__demote_to_template_post: {
261
+ input: {
262
+ path: {
263
+ /** Landing page id. */
264
+ landing_page_id: string;
265
+ };
266
+ headers?: {
267
+ "X-Target-Org-Id"?: string | null;
268
+ };
269
+ };
270
+ output: ApiResponse_StudioContentPayload_;
271
+ };
272
+ /**
273
+ * POST /landing-pages/{landing_page_id}/duplicate
274
+ * Duplicate Landing Page Template
275
+ * tier: write · scope: campaigns:write
276
+ */
277
+ duplicate_landing_page_template_landing_pages__landing_page_id__duplicate_post: {
278
+ input: {
279
+ path: {
280
+ /** Landing page id. */
281
+ landing_page_id: string;
282
+ };
283
+ headers?: {
284
+ "X-Target-Org-Id"?: string | null;
285
+ };
286
+ body: DuplicateTemplateRequest;
287
+ };
288
+ output: ApiResponse_StudioContentPayload_;
289
+ };
290
+ /**
291
+ * POST /landing-pages/{landing_page_id}/edit-element
292
+ * Edit Landing Page Element
293
+ * tier: billable · scope: campaigns:run
294
+ */
295
+ edit_landing_page_element_landing_pages__landing_page_id__edit_element_post: {
296
+ input: {
297
+ path: {
298
+ /** Landing page id. */
299
+ landing_page_id: string;
300
+ };
301
+ headers?: {
302
+ "X-Target-Org-Id"?: string | null;
303
+ };
304
+ body: EditElementRequest;
305
+ };
306
+ output: ApiResponse_StudioContentPayload_;
307
+ };
308
+ /**
309
+ * POST /landing-pages/{landing_page_id}/edit-page
310
+ * Edit Landing Page Whole
311
+ * tier: billable · scope: campaigns:run
312
+ */
313
+ edit_landing_page_whole_landing_pages__landing_page_id__edit_page_post: {
314
+ input: {
315
+ path: {
316
+ /** Landing page id. */
317
+ landing_page_id: string;
318
+ };
319
+ headers?: {
320
+ "X-Target-Org-Id"?: string | null;
321
+ };
322
+ body: EditWithChatRequest;
323
+ };
324
+ output: ApiResponse_StudioContentPayload_;
325
+ };
326
+ /**
327
+ * POST /landing-pages/{landing_page_id}/edit
328
+ * Edit Landing Page With Chat
329
+ * tier: billable · scope: campaigns:run
330
+ */
331
+ edit_landing_page_with_chat_landing_pages__landing_page_id__edit_post: {
332
+ input: {
333
+ path: {
334
+ /** Landing page id. */
335
+ landing_page_id: string;
336
+ };
337
+ headers?: {
338
+ "X-Target-Org-Id"?: string | null;
339
+ };
340
+ body: EditWithChatRequest;
341
+ };
342
+ output: ApiResponse_StudioContentPayload_;
343
+ };
344
+ /**
345
+ * POST /landing-pages/ensure-base-template
346
+ * Ensure Landing Page Base Template
347
+ * tier: billable · scope: campaigns:run
348
+ */
349
+ ensure_landing_page_base_template_landing_pages_ensure_base_template_post: {
350
+ input: {
351
+ headers?: {
352
+ "X-Target-Org-Id"?: string | null;
353
+ };
354
+ };
355
+ output: ApiResponse_StudioContentPayload_;
356
+ };
357
+ /**
358
+ * GET /landing-pages/{landing_page_id}/export
359
+ * Export Landing Page
360
+ * tier: read · scope: campaigns:read
361
+ */
362
+ export_landing_page_landing_pages__landing_page_id__export_get: {
363
+ input: {
364
+ path: {
365
+ /** Landing page id. */
366
+ landing_page_id: string;
367
+ };
368
+ headers?: {
369
+ "X-Target-Org-Id"?: string | null;
370
+ };
371
+ };
372
+ output: ApiResponse_StudioContentPayload_;
373
+ };
374
+ /**
375
+ * POST /landing-pages/components/extract
376
+ * Extract Landing Page Components
377
+ * tier: billable · scope: campaigns:run
378
+ */
379
+ extract_landing_page_components_landing_pages_components_extract_post: {
380
+ input: {
381
+ headers?: {
382
+ "X-Target-Org-Id"?: string | null;
383
+ };
384
+ };
385
+ output: ApiResponse_StudioContentListPayload_;
386
+ };
387
+ /**
388
+ * POST /landing-pages/{landing_page_id}/ai-review/fix-with-ai
389
+ * Fix Landing Page Finding With Ai
390
+ * tier: billable · scope: campaigns:run
391
+ */
392
+ fix_landing_page_finding_with_ai_landing_pages__landing_page_id__ai_review_fix_with_ai_post: {
393
+ input: {
394
+ path: {
395
+ /** Landing page id. */
396
+ landing_page_id: string;
397
+ };
398
+ headers?: {
399
+ "X-Target-Org-Id"?: string | null;
400
+ };
401
+ body: AIReviewFixWithAIRequest;
402
+ };
403
+ output: ApiResponse_StudioContentPayload_;
404
+ };
405
+ /**
406
+ * POST /landing-pages/{landing_page_id}/generate-seo-metadata
407
+ * Generate Landing Page Seo Metadata
408
+ * tier: billable · scope: campaigns:run
409
+ */
410
+ generate_landing_page_seo_metadata_landing_pages__landing_page_id__generate_seo_metadata_post: {
411
+ input: {
412
+ path: {
413
+ /** Landing page id. */
414
+ landing_page_id: string;
415
+ };
416
+ headers?: {
417
+ "X-Target-Org-Id"?: string | null;
418
+ };
419
+ };
420
+ output: ApiResponse_StudioContentPayload_;
421
+ };
422
+ /**
423
+ * GET /landing-pages/{landing_page_id}
424
+ * Get Landing Page
425
+ * tier: read · scope: campaigns:read
426
+ */
427
+ get_landing_page_landing_pages__landing_page_id__get: {
428
+ input: {
429
+ path: {
430
+ /** Landing page id. */
431
+ landing_page_id: string;
432
+ };
433
+ headers?: {
434
+ "X-Target-Org-Id"?: string | null;
435
+ };
436
+ };
437
+ output: ApiResponse_StudioContentPayload_;
438
+ };
439
+ /**
440
+ * GET /landing-page-consent/default
441
+ * Get Landing Page Consent Default
442
+ * tier: read · scope: campaigns:read
443
+ */
444
+ get_landing_page_consent_default_landing_page_consent_default_get: {
445
+ input: {
446
+ headers?: {
447
+ "X-Target-Org-Id"?: string | null;
448
+ };
449
+ };
450
+ output: ApiResponse_StudioContentPayload_;
451
+ };
452
+ /**
453
+ * GET /landing-pages/{landing_page_id}/conversation
454
+ * Get Landing Page Conversation
455
+ * tier: read · scope: campaigns:read
456
+ */
457
+ get_landing_page_conversation_landing_pages__landing_page_id__conversation_get: {
458
+ input: {
459
+ path: {
460
+ /** Landing page id. */
461
+ landing_page_id: string;
462
+ };
463
+ headers?: {
464
+ "X-Target-Org-Id"?: string | null;
465
+ };
466
+ };
467
+ output: ApiResponse_StudioContentPayload_;
468
+ };
469
+ /**
470
+ * GET /landing-pages/design-system
471
+ * Get Landing Page Design System
472
+ * tier: read · scope: campaigns:read
473
+ */
474
+ get_landing_page_design_system_landing_pages_design_system_get: {
475
+ input: {
476
+ headers?: {
477
+ "X-Target-Org-Id"?: string | null;
478
+ };
479
+ };
480
+ output: ApiResponse_StudioContentPayload_;
481
+ };
482
+ /**
483
+ * GET /landing-pages/{landing_page_id}/manifest
484
+ * Get Landing Page Manifest
485
+ * tier: read · scope: campaigns:read
486
+ */
487
+ get_landing_page_manifest_landing_pages__landing_page_id__manifest_get: {
488
+ input: {
489
+ path: {
490
+ /** Landing page id. */
491
+ landing_page_id: string;
492
+ };
493
+ headers?: {
494
+ "X-Target-Org-Id"?: string | null;
495
+ };
496
+ };
497
+ output: ApiResponse_StudioContentPayload_;
498
+ };
499
+ /**
500
+ * GET /landing-pages/reporting/overview
501
+ * Get Landing Page Reporting Overview
502
+ * tier: read · scope: campaigns:read
503
+ */
504
+ get_landing_page_reporting_overview_landing_pages_reporting_overview_get: {
505
+ input: {
506
+ query?: {
507
+ /** Look-back window in days. */
508
+ days?: number;
509
+ /** Only these pages. Repeat the parameter. */
510
+ page_id?: Array<string> | null;
511
+ /** Traffic source. */
512
+ source?: "all" | "paid" | "email" | "organic" | "referral" | "direct";
513
+ /** Only this UTM campaign. */
514
+ observed_campaign?: string | null;
515
+ };
516
+ headers?: {
517
+ "X-Target-Org-Id"?: string | null;
518
+ };
519
+ };
520
+ output: ApiResponse_StudioContentPayload_;
521
+ };
522
+ /**
523
+ * GET /landing-pages/agent-sessions/{session_id}
524
+ * Get Landing Page Source
525
+ * tier: read · scope: landing-pages:read
526
+ */
527
+ get_landing_page_source_landing_pages_agent_sessions__session_id__get: {
528
+ input: {
529
+ path: {
530
+ session_id: string;
531
+ };
532
+ headers?: {
533
+ "X-Target-Org-Id"?: string | null;
534
+ };
535
+ };
536
+ output: ApiResponse_dict_str__Any__;
537
+ };
538
+ /**
539
+ * GET /landing-pages/{landing_page_id}/status
540
+ * Get Landing Page Status
541
+ * tier: read · scope: campaigns:read
542
+ */
543
+ get_landing_page_status_landing_pages__landing_page_id__status_get: {
544
+ input: {
545
+ path: {
546
+ /** Landing page id. */
547
+ landing_page_id: string;
548
+ };
549
+ headers?: {
550
+ "X-Target-Org-Id"?: string | null;
551
+ };
552
+ };
553
+ output: ApiResponse_StudioContentPayload_;
554
+ };
555
+ /**
556
+ * GET /landing-pages/{landing_page_id}/tracking
557
+ * Get Landing Page Tracking
558
+ * tier: read · scope: campaigns:read
559
+ */
560
+ get_landing_page_tracking_landing_pages__landing_page_id__tracking_get: {
561
+ input: {
562
+ path: {
563
+ /** Landing page id. */
564
+ landing_page_id: string;
565
+ };
566
+ headers?: {
567
+ "X-Target-Org-Id"?: string | null;
568
+ };
569
+ };
570
+ output: ApiResponse_StudioContentPayload_;
571
+ };
572
+ /**
573
+ * POST /landing-pages/{landing_page_id}/import-html
574
+ * Import Landing Page Html
575
+ * tier: write · scope: campaigns:write
576
+ */
577
+ import_landing_page_html_landing_pages__landing_page_id__import_html_post: {
578
+ input: {
579
+ path: {
580
+ /** Landing page id. */
581
+ landing_page_id: string;
582
+ };
583
+ headers?: {
584
+ "X-Target-Org-Id"?: string | null;
585
+ };
586
+ body: ImportHtmlRequest;
587
+ };
588
+ output: ApiResponse_StudioContentPayload_;
589
+ };
590
+ /**
591
+ * GET /landing-pages/{landing_page_id}/anchors
592
+ * List Landing Page Anchors
593
+ * tier: read · scope: campaigns:read
594
+ */
595
+ list_landing_page_anchors_landing_pages__landing_page_id__anchors_get: {
596
+ input: {
597
+ path: {
598
+ /** Landing page id. */
599
+ landing_page_id: string;
600
+ };
601
+ headers?: {
602
+ "X-Target-Org-Id"?: string | null;
603
+ };
604
+ };
605
+ output: ApiResponse_StudioContentListPayload_;
606
+ };
607
+ /**
608
+ * GET /landing-pages/{landing_page_id}/bindings
609
+ * List Landing Page Bindings
610
+ * tier: read · scope: campaigns:read
611
+ */
612
+ list_landing_page_bindings_landing_pages__landing_page_id__bindings_get: {
613
+ input: {
614
+ path: {
615
+ /** Landing page id. */
616
+ landing_page_id: string;
617
+ };
618
+ headers?: {
619
+ "X-Target-Org-Id"?: string | null;
620
+ };
621
+ };
622
+ output: ApiResponse_StudioContentListPayload_;
623
+ };
624
+ /**
625
+ * GET /landing-pages/components
626
+ * List Landing Page Components
627
+ * tier: read · scope: campaigns:read
628
+ */
629
+ list_landing_page_components_landing_pages_components_get: {
630
+ input: {
631
+ headers?: {
632
+ "X-Target-Org-Id"?: string | null;
633
+ };
634
+ };
635
+ output: ApiResponse_StudioContentListPayload_;
636
+ };
637
+ /**
638
+ * GET /landing-page-consent/pages
639
+ * List Landing Page Consent Status
640
+ * tier: read · scope: campaigns:read
641
+ */
642
+ list_landing_page_consent_status_landing_page_consent_pages_get: {
643
+ input: {
644
+ headers?: {
645
+ "X-Target-Org-Id"?: string | null;
646
+ };
647
+ };
648
+ output: ApiResponse_StudioContentListPayload_;
649
+ };
650
+ /**
651
+ * GET /landing-pages/domains
652
+ * List Landing Page Domains
653
+ * tier: read · scope: campaigns:read
654
+ */
655
+ list_landing_page_domains_landing_pages_domains_get: {
656
+ input: {
657
+ headers?: {
658
+ "X-Target-Org-Id"?: string | null;
659
+ };
660
+ };
661
+ output: ApiResponse_StudioContentListPayload_;
662
+ };
663
+ /**
664
+ * GET /landing-pages/reporting/companies
665
+ * List Landing Page Reporting Companies
666
+ * tier: read · scope: campaigns:read
667
+ */
668
+ list_landing_page_reporting_companies_landing_pages_reporting_companies_get: {
669
+ input: {
670
+ query?: {
671
+ cursor?: number;
672
+ limit?: number;
673
+ /** Look-back window in days. */
674
+ days?: number;
675
+ /** Only these pages. Repeat the parameter. */
676
+ page_id?: Array<string> | null;
677
+ /** Traffic source. */
678
+ source?: "all" | "paid" | "email" | "organic" | "referral" | "direct";
679
+ /** Only this UTM campaign. */
680
+ observed_campaign?: string | null;
681
+ };
682
+ headers?: {
683
+ "X-Target-Org-Id"?: string | null;
684
+ };
685
+ };
686
+ output: ApiResponse_StudioContentListPayload_;
687
+ };
688
+ /**
689
+ * GET /landing-pages/reporting/people
690
+ * List Landing Page Reporting People
691
+ * tier: read · scope: campaigns:read
692
+ */
693
+ list_landing_page_reporting_people_landing_pages_reporting_people_get: {
694
+ input: {
695
+ query?: {
696
+ cursor?: number;
697
+ limit?: number;
698
+ /** Look-back window in days. */
699
+ days?: number;
700
+ /** Only these pages. Repeat the parameter. */
701
+ page_id?: Array<string> | null;
702
+ /** Traffic source. */
703
+ source?: "all" | "paid" | "email" | "organic" | "referral" | "direct";
704
+ /** Only this UTM campaign. */
705
+ observed_campaign?: string | null;
706
+ };
707
+ headers?: {
708
+ "X-Target-Org-Id"?: string | null;
709
+ };
710
+ };
711
+ output: ApiResponse_StudioContentListPayload_;
712
+ };
713
+ /**
714
+ * GET /landing-pages/{landing_page_id}/versions
715
+ * List Landing Page Versions
716
+ * tier: read · scope: campaigns:read
717
+ */
718
+ list_landing_page_versions_landing_pages__landing_page_id__versions_get: {
719
+ input: {
720
+ path: {
721
+ /** Landing page id. */
722
+ landing_page_id: string;
723
+ };
724
+ headers?: {
725
+ "X-Target-Org-Id"?: string | null;
726
+ };
727
+ };
728
+ output: ApiResponse_StudioContentListPayload_;
729
+ };
730
+ /**
731
+ * GET /landing-pages
732
+ * List Landing Pages
733
+ * tier: read · scope: campaigns:read
734
+ */
735
+ list_landing_pages_landing_pages_get: {
736
+ input: {
737
+ query?: {
738
+ /** Filter by page status (draft, published, ...). */
739
+ status?: string | null;
740
+ limit?: number;
741
+ offset?: number;
742
+ };
743
+ headers?: {
744
+ "X-Target-Org-Id"?: string | null;
745
+ };
746
+ };
747
+ output: ApiResponse_StudioContentListPayload_;
748
+ };
749
+ /**
750
+ * POST /landing-pages/agent-sessions/{session_id}/patch
751
+ * Patch Landing Page
752
+ * tier: write · scope: landing-pages:write
753
+ */
754
+ patch_landing_page_landing_pages_agent_sessions__session_id__patch_post: {
755
+ input: {
756
+ path: {
757
+ session_id: string;
758
+ };
759
+ headers?: {
760
+ "X-Target-Org-Id"?: string | null;
761
+ };
762
+ body: LandingPagePatchRequest;
763
+ };
764
+ output: ApiResponse_dict_str__Any__;
765
+ };
766
+ /**
767
+ * POST /landing-pages/{landing_page_id}/promote-to-page
768
+ * Promote Landing Page Template
769
+ * tier: write · scope: campaigns:write
770
+ */
771
+ promote_landing_page_template_landing_pages__landing_page_id__promote_to_page_post: {
772
+ input: {
773
+ path: {
774
+ /** Landing page id. */
775
+ landing_page_id: string;
776
+ };
777
+ headers?: {
778
+ "X-Target-Org-Id"?: string | null;
779
+ };
780
+ };
781
+ output: ApiResponse_StudioContentPayload_;
782
+ };
783
+ /**
784
+ * POST /landing-pages/{landing_page_id}/tracking/provision
785
+ * Provision Landing Page Tracking
786
+ * tier: write · scope: campaigns:write
787
+ */
788
+ provision_landing_page_tracking_landing_pages__landing_page_id__tracking_provision_post: {
789
+ input: {
790
+ path: {
791
+ /** Landing page id. */
792
+ landing_page_id: string;
793
+ };
794
+ headers?: {
795
+ "X-Target-Org-Id"?: string | null;
796
+ };
797
+ };
798
+ output: ApiResponse_StudioContentPayload_;
799
+ };
800
+ /**
801
+ * POST /landing-pages/{landing_page_id}/publish
802
+ * Publish Landing Page
803
+ * tier: external · scope: campaigns:run
804
+ */
805
+ publish_landing_page_landing_pages__landing_page_id__publish_post: {
806
+ input: {
807
+ path: {
808
+ /** Landing page id. */
809
+ landing_page_id: string;
810
+ };
811
+ headers?: {
812
+ "X-Target-Org-Id"?: string | null;
813
+ };
814
+ body?: PublishLandingPageRequest | null;
815
+ };
816
+ output: ApiResponse_StudioContentPayload_;
817
+ };
818
+ /**
819
+ * DELETE /landing-pages/{landing_page_id}/bindings
820
+ * Remove Landing Page Binding
821
+ * tier: destructive · scope: campaigns:delete
822
+ */
823
+ remove_landing_page_binding_landing_pages__landing_page_id__bindings_delete: {
824
+ input: {
825
+ path: {
826
+ /** Landing page id. */
827
+ landing_page_id: string;
828
+ };
829
+ query: {
830
+ /** The host to stop serving this page at. */
831
+ hostname: string;
832
+ /** The path under that host. Defaults to the root. */
833
+ path?: string;
834
+ };
835
+ headers?: {
836
+ "X-Target-Org-Id"?: string | null;
837
+ };
838
+ };
839
+ output: ApiResponse_StudioContentPayload_;
840
+ };
841
+ /**
842
+ * POST /landing-pages/{landing_page_id}/replace-html
843
+ * Replace Landing Page Html
844
+ * tier: write · scope: campaigns:write
845
+ */
846
+ replace_landing_page_html_landing_pages__landing_page_id__replace_html_post: {
847
+ input: {
848
+ path: {
849
+ /** Landing page id. */
850
+ landing_page_id: string;
851
+ };
852
+ headers?: {
853
+ "X-Target-Org-Id"?: string | null;
854
+ };
855
+ body: ReplaceHtmlRequest;
856
+ };
857
+ output: ApiResponse_StudioContentPayload_;
858
+ };
859
+ /**
860
+ * POST /landing-pages/{landing_page_id}/versions/{version_num}/restore
861
+ * Restore Landing Page Version
862
+ * tier: write · scope: campaigns:write
863
+ */
864
+ restore_landing_page_version_landing_pages__landing_page_id__versions__version_num__restore_post: {
865
+ input: {
866
+ path: {
867
+ /** Landing page id. */
868
+ landing_page_id: string;
869
+ /** Version number, from `GET .../versions`. */
870
+ version_num: number;
871
+ };
872
+ headers?: {
873
+ "X-Target-Org-Id"?: string | null;
874
+ };
875
+ };
876
+ output: ApiResponse_StudioContentPayload_;
877
+ };
878
+ /**
879
+ * POST /landing-pages/{landing_page_id}/ai-review
880
+ * Review Landing Page
881
+ * tier: billable · scope: campaigns:run
882
+ */
883
+ review_landing_page_landing_pages__landing_page_id__ai_review_post: {
884
+ input: {
885
+ path: {
886
+ /** Landing page id. */
887
+ landing_page_id: string;
888
+ };
889
+ headers?: {
890
+ "X-Target-Org-Id"?: string | null;
891
+ };
892
+ body?: AIReviewRequest | null;
893
+ };
894
+ output: ApiResponse_StudioContentPayload_;
895
+ };
896
+ /**
897
+ * POST /landing-pages/{landing_page_id}/rewrite-text
898
+ * Rewrite Landing Page Text
899
+ * tier: billable · scope: campaigns:run
900
+ */
901
+ rewrite_landing_page_text_landing_pages__landing_page_id__rewrite_text_post: {
902
+ input: {
903
+ path: {
904
+ /** Landing page id. */
905
+ landing_page_id: string;
906
+ };
907
+ headers?: {
908
+ "X-Target-Org-Id"?: string | null;
909
+ };
910
+ body: LandingPageRewriteTextRequest;
911
+ };
912
+ output: ApiResponse_StudioContentPayload_;
913
+ };
914
+ /**
915
+ * POST /landing-pages/{landing_page_id}/save-as-page
916
+ * Save Landing Page Template As Page
917
+ * tier: write · scope: campaigns:write
918
+ */
919
+ save_landing_page_template_as_page_landing_pages__landing_page_id__save_as_page_post: {
920
+ input: {
921
+ path: {
922
+ /** Landing page id. */
923
+ landing_page_id: string;
924
+ };
925
+ headers?: {
926
+ "X-Target-Org-Id"?: string | null;
927
+ };
928
+ };
929
+ output: ApiResponse_StudioContentPayload_;
930
+ };
931
+ /**
932
+ * PUT /landing-page-consent/default
933
+ * Set Landing Page Consent Default
934
+ * tier: write · scope: campaigns:write
935
+ */
936
+ set_landing_page_consent_default_landing_page_consent_default_put: {
937
+ input: {
938
+ headers?: {
939
+ "X-Target-Org-Id"?: string | null;
940
+ };
941
+ body: LandingPageConsentConfig;
942
+ };
943
+ output: ApiResponse_StudioContentPayload_;
944
+ };
945
+ /**
946
+ * POST /landing-pages/{landing_page_id}/set-media-edit
947
+ * Set Landing Page Media
948
+ * tier: write · scope: campaigns:write
949
+ */
950
+ set_landing_page_media_landing_pages__landing_page_id__set_media_edit_post: {
951
+ input: {
952
+ path: {
953
+ /** Landing page id. */
954
+ landing_page_id: string;
955
+ };
956
+ headers?: {
957
+ "X-Target-Org-Id"?: string | null;
958
+ };
959
+ body: LandingPageSetMediaEditRequest;
960
+ };
961
+ output: ApiResponse_StudioContentPayload_;
962
+ };
963
+ /**
964
+ * POST /landing-pages/{landing_page_id}/set-text
965
+ * Set Landing Page Text
966
+ * tier: write · scope: campaigns:write
967
+ */
968
+ set_landing_page_text_landing_pages__landing_page_id__set_text_post: {
969
+ input: {
970
+ path: {
971
+ /** Landing page id. */
972
+ landing_page_id: string;
973
+ };
974
+ headers?: {
975
+ "X-Target-Org-Id"?: string | null;
976
+ };
977
+ body: LandingPageSetTextRequest;
978
+ };
979
+ output: ApiResponse_StudioContentPayload_;
980
+ };
981
+ /**
982
+ * POST /landing-pages/{landing_page_id}/unpublish
983
+ * Unpublish Landing Page
984
+ * tier: external · scope: campaigns:run
985
+ */
986
+ unpublish_landing_page_landing_pages__landing_page_id__unpublish_post: {
987
+ input: {
988
+ path: {
989
+ /** Landing page id. */
990
+ landing_page_id: string;
991
+ };
992
+ headers?: {
993
+ "X-Target-Org-Id"?: string | null;
994
+ };
995
+ };
996
+ output: ApiResponse_StudioContentPayload_;
997
+ };
998
+ /**
999
+ * PATCH /landing-pages/{landing_page_id}
1000
+ * Update Landing Page
1001
+ * tier: write · scope: campaigns:write
1002
+ */
1003
+ update_landing_page_landing_pages__landing_page_id__patch: {
1004
+ input: {
1005
+ path: {
1006
+ /** Landing page id. */
1007
+ landing_page_id: string;
1008
+ };
1009
+ headers?: {
1010
+ "X-Target-Org-Id"?: string | null;
1011
+ };
1012
+ body: UpdateLandingPageRequest;
1013
+ };
1014
+ output: ApiResponse_StudioContentPayload_;
1015
+ };
1016
+ /**
1017
+ * POST /landing-pages/{landing_page_id}/update-html
1018
+ * Update Landing Page Html
1019
+ * tier: write · scope: campaigns:write
1020
+ */
1021
+ update_landing_page_html_landing_pages__landing_page_id__update_html_post: {
1022
+ input: {
1023
+ path: {
1024
+ /** Landing page id. */
1025
+ landing_page_id: string;
1026
+ };
1027
+ headers?: {
1028
+ "X-Target-Org-Id"?: string | null;
1029
+ };
1030
+ body: UpdateHtmlRequest;
1031
+ };
1032
+ output: ApiResponse_StudioContentPayload_;
1033
+ };
1034
+ /**
1035
+ * PATCH /landing-pages/{landing_page_id}/sections/{section_idx}
1036
+ * Update Landing Page Section
1037
+ * tier: write · scope: campaigns:write
1038
+ */
1039
+ update_landing_page_section_landing_pages__landing_page_id__sections__section_idx__patch: {
1040
+ input: {
1041
+ path: {
1042
+ /** Landing page id. */
1043
+ landing_page_id: string;
1044
+ /** Zero-based section index. */
1045
+ section_idx: number;
1046
+ };
1047
+ headers?: {
1048
+ "X-Target-Org-Id"?: string | null;
1049
+ };
1050
+ body: UpdateSectionRequest;
1051
+ };
1052
+ output: ApiResponse_StudioContentPayload_;
1053
+ };
1054
+ /**
1055
+ * POST /landing-pages/{landing_page_id}/update-text
1056
+ * Update Landing Page Text
1057
+ * tier: write · scope: campaigns:write
1058
+ */
1059
+ update_landing_page_text_landing_pages__landing_page_id__update_text_post: {
1060
+ input: {
1061
+ path: {
1062
+ /** Landing page id. */
1063
+ landing_page_id: string;
1064
+ };
1065
+ headers?: {
1066
+ "X-Target-Org-Id"?: string | null;
1067
+ };
1068
+ body: UpdateTextRequest;
1069
+ };
1070
+ output: ApiResponse_StudioContentPayload_;
1071
+ };
1072
+ /**
1073
+ * PATCH /landing-pages/{landing_page_id}/tracking
1074
+ * Update Landing Page Tracking
1075
+ * tier: write · scope: campaigns:write
1076
+ */
1077
+ update_landing_page_tracking_landing_pages__landing_page_id__tracking_patch: {
1078
+ input: {
1079
+ path: {
1080
+ /** Landing page id. */
1081
+ landing_page_id: string;
1082
+ };
1083
+ headers?: {
1084
+ "X-Target-Org-Id"?: string | null;
1085
+ };
1086
+ body: LandingPageTrackingPatchRequest;
1087
+ };
1088
+ output: ApiResponse_StudioContentPayload_;
1089
+ };
1090
+ }
1091
+
1092
+ // 34 schemas referenced above (the same as G8Contract.<Name>).
1093
+
1094
+ /** Apply findings DETERMINISTICALLY. Spends nothing - no model runs. */
1095
+ export interface AIReviewApplyRequest {
1096
+ finding_ids: Array<string>;
1097
+ }
1098
+
1099
+ /** Send ONE finding to the edit engine. SPENDS CREDIT. */
1100
+ export interface AIReviewFixWithAIRequest {
1101
+ brand_mode?: string | null;
1102
+ finding: Record<string, unknown>;
1103
+ }
1104
+
1105
+ /**
1106
+ * Run a review pass over the page. SPENDS CREDIT.
1107
+ *
1108
+ * `deep` defaults TRUE, matching the app - the deeper pass is the one worth
1109
+ * running, and quietly defaulting to the cheap one here would make the same
1110
+ * call behave differently through the API than in Studio.
1111
+ */
1112
+ export interface AIReviewRequest {
1113
+ deep?: boolean;
1114
+ }
1115
+
1116
+ export interface ApiResponse_StudioContentListPayload_ {
1117
+ data: StudioContentListPayload;
1118
+ pagination?: PaginationMeta | null;
1119
+ }
1120
+
1121
+ export interface ApiResponse_StudioContentPayload_ {
1122
+ data: StudioContentPayload;
1123
+ pagination?: PaginationMeta | null;
1124
+ }
1125
+
1126
+ export interface ApiResponse_dict_str__Any__ {
1127
+ data: Record<string, unknown>;
1128
+ pagination?: PaginationMeta | null;
1129
+ }
1130
+
1131
+ /** Clone the org's own homepage into an editable page. SPENDS CREDIT. */
1132
+ export interface CloneHomepageRequest {
1133
+ description?: string | null;
1134
+ goal?: string | null;
1135
+ name?: string | null;
1136
+ use_vision?: boolean;
1137
+ }
1138
+
1139
+ /**
1140
+ * Clone from raw source the caller already has. SPENDS CREDIT.
1141
+ *
1142
+ * `use_vision` defaults OFF here, unlike `/clone-url`: there is no live page
1143
+ * to screenshot, so the extra pass buys much less.
1144
+ */
1145
+ export interface CloneHtmlRequest {
1146
+ /** Original filename - drives format detection (e.g. dialer.astro). */
1147
+ filename?: string | null;
1148
+ html: string;
1149
+ name?: string | null;
1150
+ source_url?: string | null;
1151
+ use_vision?: boolean;
1152
+ }
1153
+
1154
+ /**
1155
+ * Clone any public URL into an editable page. SPENDS CREDIT.
1156
+ *
1157
+ * It fetches the page and runs an extraction pass; `use_vision` adds a
1158
+ * multimodal pass on a screenshot, which costs more and is the default
1159
+ * because it is what makes the clone usable.
1160
+ */
1161
+ export interface CloneUrlRequest {
1162
+ name?: string | null;
1163
+ url: string;
1164
+ /** Multimodal pass. Costs more. Default on. */
1165
+ use_vision?: boolean;
1166
+ }
1167
+
1168
+ /** How the agent wants its edits handled once it starts patching. */
1169
+ export interface CreateAgentSessionRequest {
1170
+ /** 'review' (default) stages each patch for a human to approve in Studio. 'auto_apply' writes straight to the draft. Bound to the session at creation, so a later patch cannot escalate itself. */
1171
+ approval_mode?: string;
1172
+ }
1173
+
1174
+ /**
1175
+ * Create a landing page. SPENDS CREDIT when `generate` is true.
1176
+ *
1177
+ * `generate` true (the default) runs the full generation pass - copy, layout
1178
+ * and imagery - against the org's brand context. Send `generate: false` for
1179
+ * an empty shell you intend to fill with `/clone-url`, `/import-html` or the
1180
+ * deterministic edit routes, and nothing is spent.
1181
+ */
1182
+ export interface CreateLandingPageRequest {
1183
+ campaign_id?: string | null;
1184
+ /** Run the AI generation pass. TRUE BY DEFAULT and it spends credit. */
1185
+ generate?: boolean;
1186
+ generation_mode?: string | null;
1187
+ goal?: string | null;
1188
+ name?: string | null;
1189
+ }
1190
+
1191
+ /** Duplicate a Brand Kit template as another template. Spends nothing. */
1192
+ export interface DuplicateTemplateRequest {
1193
+ name?: string | null;
1194
+ }
1195
+
1196
+ /** Edit one element by CSS selector. SPENDS CREDIT - it is an LLM pass. */
1197
+ export interface EditElementRequest {
1198
+ instruction: string;
1199
+ selector: string;
1200
+ }
1201
+
1202
+ /** A natural-language edit instruction. SPENDS CREDIT - it is an LLM pass. */
1203
+ export interface EditWithChatRequest {
1204
+ instruction: string;
1205
+ section_idx?: number | null;
1206
+ selected_text?: string | null;
1207
+ }
1208
+
1209
+ /** One exact replacement applied against the evolving HTML document. */
1210
+ export interface ExactReplacementRequest {
1211
+ expected_matches?: number;
1212
+ new: string;
1213
+ old: string;
1214
+ }
1215
+
1216
+ /**
1217
+ * Import externally edited HTML into a draft. Spends nothing.
1218
+ *
1219
+ * `commit` false is a DRY RUN that reports what the import would change.
1220
+ * `reassign_g8_ids` renumbers the element ids every other edit route
1221
+ * addresses, which invalidates ids a caller is holding - the app requires
1222
+ * `confirm_action_rebuild` alongside it for exactly that reason.
1223
+ */
1224
+ export interface ImportHtmlRequest {
1225
+ /** False previews; true writes the draft. */
1226
+ commit?: boolean;
1227
+ confirm_action_rebuild?: boolean;
1228
+ html: string;
1229
+ reassign_g8_ids?: boolean;
1230
+ reinfer_button_actions?: boolean;
1231
+ strip_vendor_css?: boolean;
1232
+ }
1233
+
1234
+ /** The cookie-consent gate on a published landing page. */
1235
+ export interface LandingPageConsentConfig {
1236
+ /** Hex colour. */
1237
+ accent?: string;
1238
+ accept_label?: string;
1239
+ /** False when your own consent manager drives the gate. */
1240
+ banner?: boolean;
1241
+ message?: string;
1242
+ mode?: "off" | "explicit" | "region";
1243
+ policy_label?: string;
1244
+ policy_url?: string | null;
1245
+ /** Only used when mode is `region`. */
1246
+ regions?: Array<"EEA">;
1247
+ reject_label?: string;
1248
+ reopener?: boolean;
1249
+ reopener_label?: string;
1250
+ title?: string;
1251
+ /** Bump to re-prompt every visitor. */
1252
+ version?: number;
1253
+ }
1254
+
1255
+ /** Conflict-safe, idempotent landing-page patch request. */
1256
+ export interface LandingPagePatchRequest {
1257
+ base_sha256: string;
1258
+ idempotency_key: string;
1259
+ replacements: Array<ExactReplacementRequest>;
1260
+ summary?: string;
1261
+ }
1262
+
1263
+ /**
1264
+ * Rewrite one element's text with AI. SPENDS CREDIT.
1265
+ *
1266
+ * Text only - it never regenerates HTML, which is what makes it the cheap
1267
+ * half of the pair with `/edit`.
1268
+ */
1269
+ export interface LandingPageRewriteTextRequest {
1270
+ instruction: string;
1271
+ selected_element: SelectedElementPayload;
1272
+ }
1273
+
1274
+ /**
1275
+ * Deterministically change one `<img>` / `<video>`. Spends nothing.
1276
+ *
1277
+ * `remove` true deletes the element rather than editing it, so it is the one
1278
+ * destructive field in the body.
1279
+ */
1280
+ export interface LandingPageSetMediaEditRequest {
1281
+ alt?: string | null;
1282
+ autoplay?: boolean | null;
1283
+ controls?: boolean | null;
1284
+ g8_action_id: string;
1285
+ kind: "img" | "video";
1286
+ loop?: boolean | null;
1287
+ muted?: boolean | null;
1288
+ object_fit?: ("cover" | "contain" | "fill" | "none" | "scale-down") | null;
1289
+ object_position?: string | null;
1290
+ position?: MediaPosition | null;
1291
+ poster?: string | null;
1292
+ remove?: boolean;
1293
+ src?: string | null;
1294
+ }
1295
+
1296
+ /** Set the visible text of one element. Deterministic, spends nothing. */
1297
+ export interface LandingPageSetTextRequest {
1298
+ element_id: string;
1299
+ new_text: string;
1300
+ selected_element?: SelectedElementPayload | null;
1301
+ }
1302
+
1303
+ /** Partial update of a page's tracking. Only the fields you send change. */
1304
+ export interface LandingPageTrackingPatchRequest {
1305
+ chat_enabled?: boolean | null;
1306
+ consent?: LandingPageConsentConfig | null;
1307
+ conversion_goal?: ("form_submission" | "workspace_signup" | "paid_account" | "traffic_only") | null;
1308
+ form_id?: string | null;
1309
+ /** `dedicated` is reached through `/tracking/provision`, not here. */
1310
+ mode?: ("org_default" | "dedicated" | "disabled") | null;
1311
+ }
1312
+
1313
+ /** Per-breakpoint drag offsets. `desktop` is required; the rest inherit. */
1314
+ export interface MediaPosition {
1315
+ desktop: MediaPositionOffset;
1316
+ mobile?: MediaPositionOffset | null;
1317
+ tablet?: MediaPositionOffset | null;
1318
+ }
1319
+
1320
+ /** One breakpoint's drag offset, in pixels. */
1321
+ export interface MediaPositionOffset {
1322
+ x?: number;
1323
+ y?: number;
1324
+ }
1325
+
1326
+ export interface PaginationMeta {
1327
+ /** Whether there are more pages */
1328
+ has_next: boolean;
1329
+ /** Items per page */
1330
+ limit: number;
1331
+ /** 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. */
1332
+ next_cursor?: string | null;
1333
+ /** Current page number (1-indexed) */
1334
+ page: number;
1335
+ /** Total number of items */
1336
+ total: number;
1337
+ }
1338
+
1339
+ /**
1340
+ * Where to publish. Every field optional - omit for the page's own slug.
1341
+ *
1342
+ * `override` true takes a URL that is already bound to a DIFFERENT page.
1343
+ * That page stops serving at it. Left false, a collision is refused.
1344
+ */
1345
+ export interface PublishLandingPageRequest {
1346
+ domain?: string | null;
1347
+ domain_id?: number | null;
1348
+ /** Steal a URL already bound to another page. Default false. */
1349
+ override?: boolean;
1350
+ path?: string | null;
1351
+ slug?: string | null;
1352
+ subdomain?: string | null;
1353
+ }
1354
+
1355
+ /** Persist a whole-page HTML snapshot. Deterministic, spends nothing. */
1356
+ export interface ReplaceHtmlRequest {
1357
+ edit_instruction?: string | null;
1358
+ html: string;
1359
+ }
1360
+
1361
+ /** What the visual picker selected, as the rewrite pass needs to see it. */
1362
+ export interface SelectedElementPayload {
1363
+ element_id: string;
1364
+ outer_html?: string | null;
1365
+ role?: string | null;
1366
+ scope?: string;
1367
+ section_id?: string | null;
1368
+ tag: string;
1369
+ text?: string | null;
1370
+ }
1371
+
1372
+ /**
1373
+ * A LIST result, open-shaped, with `items` always present.
1374
+ *
1375
+ * The app returns a bare list from some routes and a named key from others
1376
+ * (`pages`, `grids`, `images`, `creatives`, `reports`, `items`). Both are
1377
+ * published: the original key is preserved AND mirrored onto `items`, so a
1378
+ * client can page any Studio collection the same way without a per-route
1379
+ * lookup table.
1380
+ */
1381
+ export interface StudioContentListPayload {
1382
+ items?: Array<unknown>;
1383
+ [key: string]: unknown;
1384
+ }
1385
+
1386
+ /** One Studio object, open-shaped. See the module docstring. */
1387
+ export type StudioContentPayload = Record<string, unknown>;
1388
+
1389
+ /** Raw HTML save from the code editor. Deterministic, spends nothing. */
1390
+ export interface UpdateHtmlRequest {
1391
+ html: string;
1392
+ }
1393
+
1394
+ /** Metadata only - name, slug, description, settings. Spends nothing. */
1395
+ export interface UpdateLandingPageRequest {
1396
+ description?: string | null;
1397
+ name?: string | null;
1398
+ settings?: Record<string, unknown> | null;
1399
+ slug?: string | null;
1400
+ }
1401
+
1402
+ /** Replace one section's content block. Deterministic, spends nothing. */
1403
+ export interface UpdateSectionRequest {
1404
+ content: Record<string, unknown>;
1405
+ }
1406
+
1407
+ /** Set one element's inner HTML directly. No AI, spends nothing. */
1408
+ export interface UpdateTextRequest {
1409
+ element_id: string;
1410
+ new_html: string;
1411
+ }