@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.
- package/README.md +9 -2
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +105 -7
- package/dist/index.d.ts +105 -7
- package/dist/index.js +44 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -3
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +103 -7
- package/dist/react.d.ts +103 -7
- package/dist/react.js +62 -11
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +53 -12
- package/dist/react.mjs.map +1 -1
- package/dist/types/README.md +7 -0
- package/dist/types/agency.d.ts +20 -0
- package/dist/types/agentSetup.d.ts +57 -0
- package/dist/types/api.d.ts +127 -0
- package/dist/types/appClient.d.ts +99 -0
- package/dist/types/appPlatform.d.ts +269 -0
- package/dist/types/appTokens.d.ts +125 -0
- package/dist/types/apps.d.ts +130 -0
- package/dist/types/audiences.d.ts +88 -0
- package/dist/types/calendar.d.ts +55 -0
- package/dist/types/campaigns.d.ts +61 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/cli.d.ts +14 -0
- package/dist/types/companies.d.ts +123 -0
- package/dist/types/contacts.d.ts +200 -0
- package/dist/types/copilot.d.ts +31 -0
- package/dist/types/core.d.ts +1052 -0
- package/dist/types/deals.d.ts +215 -0
- package/dist/types/enrich.d.ts +51 -0
- package/dist/types/fields.d.ts +84 -0
- package/dist/types/forms.d.ts +16 -0
- package/dist/types/http.d.ts +141 -0
- package/dist/types/inbox.d.ts +123 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/intent.d.ts +196 -0
- package/dist/types/lists.d.ts +44 -0
- package/dist/types/mailboxes.d.ts +240 -0
- package/dist/types/marketplace.d.ts +62 -0
- package/dist/types/meetings.d.ts +70 -0
- package/dist/types/newsletter.d.ts +212 -0
- package/dist/types/notes.d.ts +57 -0
- package/dist/types/objects.d.ts +281 -0
- package/dist/types/pipelines.d.ts +135 -0
- package/dist/types/quotes.d.ts +143 -0
- package/dist/types/react.d.ts +978 -0
- package/dist/types/search.d.ts +99 -0
- package/dist/types/sequences.d.ts +255 -0
- package/dist/types/signals.d.ts +28 -0
- package/dist/types/skills.d.ts +176 -0
- package/dist/types/snippet.d.ts +24 -0
- package/dist/types/studio.d.ts +161 -0
- package/dist/types/tasks.d.ts +101 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/utils.d.ts +21 -0
- package/dist/types/version.d.ts +10 -0
- package/dist/types/visitors.d.ts +29 -0
- package/dist/types/voice.d.ts +304 -0
- package/dist/types/webhooks.d.ts +71 -0
- package/dist/types/workflows.d.ts +229 -0
- package/docs/agents.md +748 -0
- package/docs/api/README.md +165 -0
- package/docs/api/accounts.d.ts +396 -0
- package/docs/api/accounts.md +644 -0
- package/docs/api/adCampaigns.d.ts +707 -0
- package/docs/api/adCampaigns.md +1091 -0
- package/docs/api/adCreatives.d.ts +996 -0
- package/docs/api/adCreatives.md +1708 -0
- package/docs/api/agency.d.ts +556 -0
- package/docs/api/agency.md +845 -0
- package/docs/api/agent.d.ts +330 -0
- package/docs/api/agent.md +514 -0
- package/docs/api/agents.d.ts +1622 -0
- package/docs/api/agents.md +2860 -0
- package/docs/api/aiInbox.d.ts +1984 -0
- package/docs/api/aiInbox.md +3490 -0
- package/docs/api/analytics.d.ts +1273 -0
- package/docs/api/analytics.md +2095 -0
- package/docs/api/apiKeys.d.ts +252 -0
- package/docs/api/apiKeys.md +318 -0
- package/docs/api/appDeployments.d.ts +236 -0
- package/docs/api/appDeployments.md +471 -0
- package/docs/api/appDomains.d.ts +171 -0
- package/docs/api/appDomains.md +281 -0
- package/docs/api/appLogs.d.ts +120 -0
- package/docs/api/appLogs.md +159 -0
- package/docs/api/appObjects.d.ts +415 -0
- package/docs/api/appObjects.md +568 -0
- package/docs/api/appPages.d.ts +557 -0
- package/docs/api/appPages.md +796 -0
- package/docs/api/appPlatformTokens.d.ts +123 -0
- package/docs/api/appPlatformTokens.md +172 -0
- package/docs/api/appointments.d.ts +2361 -0
- package/docs/api/appointments.md +3917 -0
- package/docs/api/apps.d.ts +822 -0
- package/docs/api/apps.md +1342 -0
- package/docs/api/assertUpsert.d.ts +286 -0
- package/docs/api/assertUpsert.md +370 -0
- package/docs/api/audienceSyncs.d.ts +259 -0
- package/docs/api/audienceSyncs.md +395 -0
- package/docs/api/brandKit.d.ts +686 -0
- package/docs/api/brandKit.md +1133 -0
- package/docs/api/bugReports.d.ts +181 -0
- package/docs/api/bugReports.md +268 -0
- package/docs/api/by-path.md +3260 -0
- package/docs/api/calendarInvites.d.ts +117 -0
- package/docs/api/calendarInvites.md +148 -0
- package/docs/api/campaignWorkflows.d.ts +152 -0
- package/docs/api/campaignWorkflows.md +200 -0
- package/docs/api/campaigns.d.ts +721 -0
- package/docs/api/campaigns.md +1236 -0
- package/docs/api/channels.d.ts +171 -0
- package/docs/api/channels.md +235 -0
- package/docs/api/cliCampaigns.d.ts +205 -0
- package/docs/api/cliCampaigns.md +256 -0
- package/docs/api/cliPipelines.d.ts +324 -0
- package/docs/api/cliPipelines.md +562 -0
- package/docs/api/clickHouse.d.ts +115 -0
- package/docs/api/clickHouse.md +138 -0
- package/docs/api/companies.d.ts +1636 -0
- package/docs/api/companies.md +2211 -0
- package/docs/api/companyIntelligence.d.ts +299 -0
- package/docs/api/companyIntelligence.md +488 -0
- package/docs/api/contacts.d.ts +2173 -0
- package/docs/api/contacts.md +3143 -0
- package/docs/api/content.d.ts +968 -0
- package/docs/api/content.md +1667 -0
- package/docs/api/contentGridSkills.d.ts +177 -0
- package/docs/api/contentGridSkills.md +271 -0
- package/docs/api/copilot.d.ts +1017 -0
- package/docs/api/copilot.md +1765 -0
- package/docs/api/crmSyncs.d.ts +215 -0
- package/docs/api/crmSyncs.md +301 -0
- package/docs/api/customerSuccess.d.ts +491 -0
- package/docs/api/customerSuccess.md +776 -0
- package/docs/api/deals.d.ts +1697 -0
- package/docs/api/deals.md +2436 -0
- package/docs/api/deliverability.d.ts +418 -0
- package/docs/api/deliverability.md +677 -0
- package/docs/api/desk.d.ts +1765 -0
- package/docs/api/desk.md +3007 -0
- package/docs/api/dialer.d.ts +1185 -0
- package/docs/api/dialer.md +2166 -0
- package/docs/api/dialerAnalytics.d.ts +187 -0
- package/docs/api/dialerAnalytics.md +257 -0
- package/docs/api/documents.d.ts +895 -0
- package/docs/api/documents.md +1440 -0
- package/docs/api/duplicates.d.ts +195 -0
- package/docs/api/duplicates.md +315 -0
- package/docs/api/eSign.d.ts +38 -0
- package/docs/api/eSign.md +54 -0
- package/docs/api/eSignature.d.ts +242 -0
- package/docs/api/eSignature.md +341 -0
- package/docs/api/enrichment.d.ts +3207 -0
- package/docs/api/enrichment.md +5225 -0
- package/docs/api/events.d.ts +115 -0
- package/docs/api/events.md +105 -0
- package/docs/api/fields.d.ts +482 -0
- package/docs/api/fields.md +566 -0
- package/docs/api/forms.d.ts +1012 -0
- package/docs/api/forms.md +1542 -0
- package/docs/api/gtmCampaigns.d.ts +662 -0
- package/docs/api/gtmCampaigns.md +1044 -0
- package/docs/api/gtmContext.d.ts +1187 -0
- package/docs/api/gtmContext.md +2112 -0
- package/docs/api/gtmDeliverability.d.ts +60 -0
- package/docs/api/gtmDeliverability.md +63 -0
- package/docs/api/gtmKnowledgeBase.d.ts +76 -0
- package/docs/api/gtmKnowledgeBase.md +91 -0
- package/docs/api/gtmLaunchHelpers.d.ts +123 -0
- package/docs/api/gtmLaunchHelpers.md +148 -0
- package/docs/api/gtmLibrary.d.ts +448 -0
- package/docs/api/gtmLibrary.md +780 -0
- package/docs/api/health.d.ts +39 -0
- package/docs/api/health.md +58 -0
- package/docs/api/imageLibrary.d.ts +341 -0
- package/docs/api/imageLibrary.md +569 -0
- package/docs/api/imports.d.ts +157 -0
- package/docs/api/imports.md +174 -0
- package/docs/api/inbox.d.ts +709 -0
- package/docs/api/inbox.md +1067 -0
- package/docs/api/install.d.ts +213 -0
- package/docs/api/install.md +317 -0
- package/docs/api/installedApps.d.ts +131 -0
- package/docs/api/installedApps.md +241 -0
- package/docs/api/integrationStatus.d.ts +142 -0
- package/docs/api/integrationStatus.md +205 -0
- package/docs/api/integrations.d.ts +2327 -0
- package/docs/api/integrations.md +3791 -0
- package/docs/api/intent.d.ts +482 -0
- package/docs/api/intent.md +858 -0
- package/docs/api/knowledge.d.ts +501 -0
- package/docs/api/knowledge.md +843 -0
- package/docs/api/knowledgeBase.d.ts +84 -0
- package/docs/api/knowledgeBase.md +96 -0
- package/docs/api/landingPages.d.ts +1411 -0
- package/docs/api/landingPages.md +2488 -0
- package/docs/api/leads.d.ts +133 -0
- package/docs/api/leads.md +180 -0
- package/docs/api/library.d.ts +217 -0
- package/docs/api/library.md +338 -0
- package/docs/api/linkedIn.d.ts +227 -0
- package/docs/api/linkedIn.md +289 -0
- package/docs/api/linkedInOutreach.d.ts +727 -0
- package/docs/api/linkedInOutreach.md +990 -0
- package/docs/api/lists.d.ts +1106 -0
- package/docs/api/lists.md +1609 -0
- package/docs/api/logs.d.ts +71 -0
- package/docs/api/logs.md +70 -0
- package/docs/api/mailboxes.d.ts +1050 -0
- package/docs/api/mailboxes.md +1690 -0
- package/docs/api/marketingIntelligence.d.ts +256 -0
- package/docs/api/marketingIntelligence.md +454 -0
- package/docs/api/marketplace.d.ts +3173 -0
- package/docs/api/marketplace.md +5953 -0
- package/docs/api/mcp.d.ts +69 -0
- package/docs/api/mcp.md +69 -0
- package/docs/api/me.d.ts +54 -0
- package/docs/api/me.md +56 -0
- package/docs/api/meetings.d.ts +539 -0
- package/docs/api/meetings.md +747 -0
- package/docs/api/newsletter.d.ts +1613 -0
- package/docs/api/newsletter.md +2746 -0
- package/docs/api/notes.d.ts +517 -0
- package/docs/api/notes.md +888 -0
- package/docs/api/notifications.d.ts +94 -0
- package/docs/api/notifications.md +105 -0
- package/docs/api/objects.d.ts +621 -0
- package/docs/api/objects.md +1098 -0
- package/docs/api/openSearch.d.ts +234 -0
- package/docs/api/openSearch.md +297 -0
- package/docs/api/ops.d.ts +299 -0
- package/docs/api/ops.md +339 -0
- package/docs/api/orgGovernance.d.ts +393 -0
- package/docs/api/orgGovernance.md +623 -0
- package/docs/api/orgVideos.d.ts +184 -0
- package/docs/api/orgVideos.md +252 -0
- package/docs/api/organizationSettings.d.ts +626 -0
- package/docs/api/organizationSettings.md +911 -0
- package/docs/api/phoneNumbers.d.ts +484 -0
- package/docs/api/phoneNumbers.md +777 -0
- package/docs/api/profile.d.ts +329 -0
- package/docs/api/profile.md +540 -0
- package/docs/api/programmaticPages.d.ts +400 -0
- package/docs/api/programmaticPages.md +626 -0
- package/docs/api/providerDomains.d.ts +866 -0
- package/docs/api/providerDomains.md +1446 -0
- package/docs/api/providerUsage.d.ts +129 -0
- package/docs/api/providerUsage.md +186 -0
- package/docs/api/public.d.ts +69 -0
- package/docs/api/public.md +78 -0
- package/docs/api/publicCopilot.d.ts +67 -0
- package/docs/api/publicCopilot.md +80 -0
- package/docs/api/publicSignals.d.ts +66 -0
- package/docs/api/publicSignals.md +71 -0
- package/docs/api/publicVisitors.d.ts +97 -0
- package/docs/api/publicVisitors.md +118 -0
- package/docs/api/quotes.d.ts +1564 -0
- package/docs/api/quotes.md +2553 -0
- package/docs/api/radar.d.ts +808 -0
- package/docs/api/radar.md +1431 -0
- package/docs/api/radarReports.d.ts +208 -0
- package/docs/api/radarReports.md +306 -0
- package/docs/api/recordRoles.d.ts +143 -0
- package/docs/api/recordRoles.md +175 -0
- package/docs/api/repos.d.ts +146 -0
- package/docs/api/repos.md +211 -0
- package/docs/api/research.d.ts +295 -0
- package/docs/api/research.md +534 -0
- package/docs/api/revenue.d.ts +402 -0
- package/docs/api/revenue.md +608 -0
- package/docs/api/revenueAnalytics.d.ts +147 -0
- package/docs/api/revenueAnalytics.md +212 -0
- package/docs/api/revenueLifecycle.d.ts +207 -0
- package/docs/api/revenueLifecycle.md +274 -0
- package/docs/api/revenueRecords.d.ts +372 -0
- package/docs/api/revenueRecords.md +563 -0
- package/docs/api/roles.d.ts +431 -0
- package/docs/api/roles.md +812 -0
- package/docs/api/salesCoach.d.ts +877 -0
- package/docs/api/salesCoach.md +1540 -0
- package/docs/api/sandbox.d.ts +210 -0
- package/docs/api/sandbox.md +380 -0
- package/docs/api/scans.d.ts +104 -0
- package/docs/api/scans.md +136 -0
- package/docs/api/scheduleBuy.d.ts +293 -0
- package/docs/api/scheduleBuy.md +431 -0
- package/docs/api/scraping.d.ts +266 -0
- package/docs/api/scraping.md +383 -0
- package/docs/api/sdrAnalytics.d.ts +138 -0
- package/docs/api/sdrAnalytics.md +246 -0
- package/docs/api/search.d.ts +598 -0
- package/docs/api/search.md +866 -0
- package/docs/api/seo.d.ts +447 -0
- package/docs/api/seo.md +660 -0
- package/docs/api/sequenceLifecycle.d.ts +439 -0
- package/docs/api/sequenceLifecycle.md +513 -0
- package/docs/api/sequences.d.ts +1936 -0
- package/docs/api/sequences.md +3232 -0
- package/docs/api/settings.d.ts +448 -0
- package/docs/api/settings.md +731 -0
- package/docs/api/signals.d.ts +1441 -0
- package/docs/api/signals.md +2526 -0
- package/docs/api/signatures.d.ts +719 -0
- package/docs/api/signatures.md +1247 -0
- package/docs/api/skills.d.ts +230 -0
- package/docs/api/skills.md +466 -0
- package/docs/api/snippet.d.ts +85 -0
- package/docs/api/snippet.md +106 -0
- package/docs/api/socialPublishing.d.ts +824 -0
- package/docs/api/socialPublishing.md +1245 -0
- package/docs/api/studioDocuments.d.ts +244 -0
- package/docs/api/studioDocuments.md +348 -0
- package/docs/api/support.d.ts +90 -0
- package/docs/api/support.md +76 -0
- package/docs/api/suppressions.d.ts +241 -0
- package/docs/api/suppressions.md +343 -0
- package/docs/api/surveys.d.ts +847 -0
- package/docs/api/surveys.md +1223 -0
- package/docs/api/tasks.d.ts +813 -0
- package/docs/api/tasks.md +1344 -0
- package/docs/api/teamMembers.d.ts +668 -0
- package/docs/api/teamMembers.md +1040 -0
- package/docs/api/teams.d.ts +784 -0
- package/docs/api/teams.md +1395 -0
- package/docs/api/usage.d.ts +277 -0
- package/docs/api/usage.md +389 -0
- package/docs/api/visitors.d.ts +690 -0
- package/docs/api/visitors.md +1075 -0
- package/docs/api/voice.d.ts +4661 -0
- package/docs/api/voice.md +7905 -0
- package/docs/api/webAnalytics.d.ts +964 -0
- package/docs/api/webAnalytics.md +1452 -0
- package/docs/api/webChat.d.ts +1704 -0
- package/docs/api/webChat.md +2048 -0
- package/docs/api/webhooks.d.ts +251 -0
- package/docs/api/webhooks.md +386 -0
- package/docs/api/websiteEditor.d.ts +324 -0
- package/docs/api/websiteEditor.md +517 -0
- package/docs/api/work.d.ts +2298 -0
- package/docs/api/work.md +3096 -0
- package/docs/api/workbench.d.ts +2962 -0
- package/docs/api/workbench.md +4884 -0
- package/docs/api/workflows.d.ts +1218 -0
- package/docs/api/workflows.md +2302 -0
- package/docs/sdk-clients.md +4339 -0
- package/package.json +10 -3
|
@@ -0,0 +1,626 @@
|
|
|
1
|
+
<!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
|
|
2
|
+
|
|
3
|
+
# `g8.api.programmaticPages`: Programmatic Pages
|
|
4
|
+
|
|
5
|
+
15 operations (6 read, 6 write, 1 destructive, 2 external).
|
|
6
|
+
|
|
7
|
+
No hand-written client covers this area. Call it through `g8.api.programmaticPages.*` as shown below, or by operationId with `g8.api.call(operationId, input)`.
|
|
8
|
+
|
|
9
|
+
Every example below assumes this setup (server-side, API key):
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { g8 } from "@graph8/sdk";
|
|
13
|
+
|
|
14
|
+
g8.init({ apiKey: process.env.G8_API_KEY! });
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Example values are placeholders that match each field's type. Only required fields are shown. Every example is type-checked against the SDK in CI.
|
|
18
|
+
|
|
19
|
+
Exact TypeScript types for every operation on this page, and every schema they use: [programmaticPages.d.ts](programmaticPages.d.ts).
|
|
20
|
+
|
|
21
|
+
## Operations
|
|
22
|
+
|
|
23
|
+
| Call | HTTP | Tier | Scope | Summary |
|
|
24
|
+
|---|---|---|---|---|
|
|
25
|
+
| [`createProgrammaticCampaign`](#op-createprogrammaticcampaign) | `POST /api/v1/programmatic-campaigns` | write | `campaigns:write` | Create Programmatic Campaign |
|
|
26
|
+
| [`deleteProgrammaticCampaign`](#op-deleteprogrammaticcampaign) | `DELETE /api/v1/programmatic-campaigns/{campaign_id}` | destructive | `campaigns:delete` | Delete Programmatic Campaign |
|
|
27
|
+
| [`getProgrammaticCampaign`](#op-getprogrammaticcampaign) | `GET /api/v1/programmatic-campaigns/{campaign_id}` | read | `campaigns:read` | Get Programmatic Campaign |
|
|
28
|
+
| [`getProgrammaticCampaignVariables`](#op-getprogrammaticcampaignvariables) | `GET /api/v1/programmatic-campaigns/{campaign_id}/variables` | read | `campaigns:read` | Get Programmatic Campaign Variables |
|
|
29
|
+
| [`getProgrammaticGenerationStatus`](#op-getprogrammaticgenerationstatus) | `GET /api/v1/programmatic-campaigns/{campaign_id}/status` | read | `campaigns:read` | Get Programmatic Generation Status |
|
|
30
|
+
| [`getProgrammaticWorkspace`](#op-getprogrammaticworkspace) | `GET /api/v1/programmatic-campaigns/{campaign_id}/workspace` | read | `campaigns:read` | Get Programmatic Workspace |
|
|
31
|
+
| [`importProgrammaticSitemap`](#op-importprogrammaticsitemap) | `POST /api/v1/programmatic-campaigns/{campaign_id}/imports/sitemap` | write | `campaigns:write` | Import Programmatic Sitemap |
|
|
32
|
+
| [`listProgrammaticCampaigns`](#op-listprogrammaticcampaigns) | `GET /api/v1/programmatic-campaigns` | read | `campaigns:read` | List Programmatic Campaigns |
|
|
33
|
+
| [`listProgrammaticGeneratedPages`](#op-listprogrammaticgeneratedpages) | `GET /api/v1/programmatic-campaigns/{campaign_id}/pages` | read | `campaigns:read` | List Programmatic Generated Pages |
|
|
34
|
+
| [`previewProgrammaticPage`](#op-previewprogrammaticpage) | `POST /api/v1/programmatic-campaigns/{campaign_id}/preview` | write | `campaigns:write` | Preview Programmatic Page |
|
|
35
|
+
| [`runProgrammaticBulkPageAction`](#op-runprogrammaticbulkpageaction) | `POST /api/v1/programmatic-campaigns/{campaign_id}/pages/actions` | external | `campaigns:run` | Run Programmatic Bulk Page Action |
|
|
36
|
+
| [`runProgrammaticPageAction`](#op-runprogrammaticpageaction) | `POST /api/v1/programmatic-campaigns/{campaign_id}/pages/{page_id}/actions` | external | `campaigns:run` | Run Programmatic Page Action |
|
|
37
|
+
| [`startProgrammaticGeneration`](#op-startprogrammaticgeneration) | `POST /api/v1/programmatic-campaigns/{campaign_id}/generate` | write | `campaigns:write` | Start Programmatic Generation |
|
|
38
|
+
| [`updateProgrammaticCampaign`](#op-updateprogrammaticcampaign) | `PATCH /api/v1/programmatic-campaigns/{campaign_id}` | write | `campaigns:write` | Update Programmatic Campaign |
|
|
39
|
+
| [`updateProgrammaticWorkspace`](#op-updateprogrammaticworkspace) | `PATCH /api/v1/programmatic-campaigns/{campaign_id}/workspace` | write | `campaigns:write` | Update Programmatic Workspace |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
<a id="op-createprogrammaticcampaign"></a>
|
|
44
|
+
|
|
45
|
+
### `g8.api.programmaticPages.createProgrammaticCampaign(input)`
|
|
46
|
+
|
|
47
|
+
**Create Programmatic Campaign**
|
|
48
|
+
|
|
49
|
+
- HTTP: `POST /api/v1/programmatic-campaigns`
|
|
50
|
+
- operationId: `create_programmatic_campaign_programmatic_campaigns_post` (also callable as `g8.api.call("create_programmatic_campaign_programmatic_campaigns_post", input)`)
|
|
51
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
52
|
+
- API-key scope: `campaigns:write`
|
|
53
|
+
|
|
54
|
+
Create a programmatic campaign from a template page and a source. FREE.
|
|
55
|
+
|
|
56
|
+
Nothing is generated yet - `POST /{id}/preview` renders one row, and
|
|
57
|
+
`POST /{id}/generate` renders them all. `created_by` is the key's principal.
|
|
58
|
+
|
|
59
|
+
**Input**
|
|
60
|
+
|
|
61
|
+
| Field | Type | Required | Description |
|
|
62
|
+
|---|---|---|---|
|
|
63
|
+
| `body` | `CreateProgrammaticCampaignRequest` | yes | Request body; fields below. |
|
|
64
|
+
|
|
65
|
+
Body fields (`CreateProgrammaticCampaignRequest`):
|
|
66
|
+
|
|
67
|
+
| Field | Type | Required | Description |
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
| `body.name` | `string` | yes | |
|
|
70
|
+
| `body.template_page_id` | `string` | yes | A landing page with HTML, from `GET /landing-pages`. |
|
|
71
|
+
| `body.data_source_id` | `string \| null` | no | |
|
|
72
|
+
| `body.data_source_name` | `string \| null` | no | |
|
|
73
|
+
| `body.data_source_type` | `"list" \| "workbench" \| "csv" \| "seo_import"` | no | default `"list"` |
|
|
74
|
+
| `body.list_id` | `integer \| null` | no | |
|
|
75
|
+
| `body.settings` | `Record<string, unknown> \| null` | no | |
|
|
76
|
+
| `body.slug_template` | `string` | no | default `"{{company}}-{{first_name}}"` |
|
|
77
|
+
| `body.variable_config` | `Array<Record<string, unknown>> \| null` | no | |
|
|
78
|
+
|
|
79
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
80
|
+
|
|
81
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
82
|
+
|
|
83
|
+
**Example**
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
const result = await g8.api.programmaticPages.createProgrammaticCampaign({ body: { name: "Example", template_page_id: "id" } });
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
<a id="op-deleteprogrammaticcampaign"></a>
|
|
92
|
+
|
|
93
|
+
### `g8.api.programmaticPages.deleteProgrammaticCampaign(input)`
|
|
94
|
+
|
|
95
|
+
**Delete Programmatic Campaign**
|
|
96
|
+
|
|
97
|
+
- HTTP: `DELETE /api/v1/programmatic-campaigns/{campaign_id}`
|
|
98
|
+
- operationId: `delete_programmatic_campaign_programmatic_campaigns__campaign_id__delete` (also callable as `g8.api.call("delete_programmatic_campaign_programmatic_campaigns__campaign_id__delete", input)`)
|
|
99
|
+
- Tier: `destructive`: deletes or archives data; confirm with a human before calling
|
|
100
|
+
- API-key scope: `campaigns:delete`
|
|
101
|
+
|
|
102
|
+
Delete the campaign and its generated pages.
|
|
103
|
+
|
|
104
|
+
Spends nothing.
|
|
105
|
+
|
|
106
|
+
**Input**
|
|
107
|
+
|
|
108
|
+
| Field | Type | Required | Description |
|
|
109
|
+
|---|---|---|---|
|
|
110
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
111
|
+
|
|
112
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
113
|
+
|
|
114
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
115
|
+
|
|
116
|
+
**Example**
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
// destructive: deletes or archives data; confirm with a human before calling.
|
|
120
|
+
const result = await g8.api.programmaticPages.deleteProgrammaticCampaign({ path: { campaign_id: "id" } });
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
<a id="op-getprogrammaticcampaign"></a>
|
|
126
|
+
|
|
127
|
+
### `g8.api.programmaticPages.getProgrammaticCampaign(input)`
|
|
128
|
+
|
|
129
|
+
**Get Programmatic Campaign**
|
|
130
|
+
|
|
131
|
+
- HTTP: `GET /api/v1/programmatic-campaigns/{campaign_id}`
|
|
132
|
+
- operationId: `get_programmatic_campaign_programmatic_campaigns__campaign_id__get` (also callable as `g8.api.call("get_programmatic_campaign_programmatic_campaigns__campaign_id__get", input)`)
|
|
133
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
134
|
+
- API-key scope: `campaigns:read`
|
|
135
|
+
|
|
136
|
+
One programmatic campaign. FREE.
|
|
137
|
+
|
|
138
|
+
**Input**
|
|
139
|
+
|
|
140
|
+
| Field | Type | Required | Description |
|
|
141
|
+
|---|---|---|---|
|
|
142
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
143
|
+
|
|
144
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
145
|
+
|
|
146
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
147
|
+
|
|
148
|
+
**Example**
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
const result = await g8.api.programmaticPages.getProgrammaticCampaign({ path: { campaign_id: "id" } });
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
<a id="op-getprogrammaticcampaignvariables"></a>
|
|
157
|
+
|
|
158
|
+
### `g8.api.programmaticPages.getProgrammaticCampaignVariables(input)`
|
|
159
|
+
|
|
160
|
+
**Get Programmatic Campaign Variables**
|
|
161
|
+
|
|
162
|
+
- HTTP: `GET /api/v1/programmatic-campaigns/{campaign_id}/variables`
|
|
163
|
+
- operationId: `get_programmatic_campaign_variables_programmatic_campaigns__campaign_id__variables_get` (also callable as `g8.api.call("get_programmatic_campaign_variables_programmatic_campaigns__campaign_id__variables_get", input)`)
|
|
164
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
165
|
+
- API-key scope: `campaigns:read`
|
|
166
|
+
|
|
167
|
+
The template's `{{variables}}` and the source columns they can bind to. FREE.
|
|
168
|
+
|
|
169
|
+
**Input**
|
|
170
|
+
|
|
171
|
+
| Field | Type | Required | Description |
|
|
172
|
+
|---|---|---|---|
|
|
173
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
174
|
+
|
|
175
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
176
|
+
|
|
177
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
178
|
+
|
|
179
|
+
**Example**
|
|
180
|
+
|
|
181
|
+
```ts
|
|
182
|
+
const result = await g8.api.programmaticPages.getProgrammaticCampaignVariables({ path: { campaign_id: "id" } });
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
<a id="op-getprogrammaticgenerationstatus"></a>
|
|
188
|
+
|
|
189
|
+
### `g8.api.programmaticPages.getProgrammaticGenerationStatus(input)`
|
|
190
|
+
|
|
191
|
+
**Get Programmatic Generation Status**
|
|
192
|
+
|
|
193
|
+
- HTTP: `GET /api/v1/programmatic-campaigns/{campaign_id}/status`
|
|
194
|
+
- operationId: `get_programmatic_generation_status_programmatic_campaigns__campaign_id__status_get` (also callable as `g8.api.call("get_programmatic_generation_status_programmatic_campaigns__campaign_id__status_get", input)`)
|
|
195
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
196
|
+
- API-key scope: `campaigns:read`
|
|
197
|
+
|
|
198
|
+
Generation progress: pages generated, failed, total. FREE - the poll target.
|
|
199
|
+
|
|
200
|
+
**Input**
|
|
201
|
+
|
|
202
|
+
| Field | Type | Required | Description |
|
|
203
|
+
|---|---|---|---|
|
|
204
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
205
|
+
|
|
206
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
207
|
+
|
|
208
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
209
|
+
|
|
210
|
+
**Example**
|
|
211
|
+
|
|
212
|
+
```ts
|
|
213
|
+
const result = await g8.api.programmaticPages.getProgrammaticGenerationStatus({ path: { campaign_id: "id" } });
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
<a id="op-getprogrammaticworkspace"></a>
|
|
219
|
+
|
|
220
|
+
### `g8.api.programmaticPages.getProgrammaticWorkspace(input)`
|
|
221
|
+
|
|
222
|
+
**Get Programmatic Workspace**
|
|
223
|
+
|
|
224
|
+
- HTTP: `GET /api/v1/programmatic-campaigns/{campaign_id}/workspace`
|
|
225
|
+
- operationId: `get_programmatic_workspace_programmatic_campaigns__campaign_id__workspace_get` (also callable as `g8.api.call("get_programmatic_workspace_programmatic_campaigns__campaign_id__workspace_get", input)`)
|
|
226
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
227
|
+
- API-key scope: `campaigns:read`
|
|
228
|
+
|
|
229
|
+
The full workspace: source, template settings, lifecycle state, page summary,
|
|
230
|
+
and the valid row and bulk actions. FREE.
|
|
231
|
+
|
|
232
|
+
**Input**
|
|
233
|
+
|
|
234
|
+
| Field | Type | Required | Description |
|
|
235
|
+
|---|---|---|---|
|
|
236
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
237
|
+
|
|
238
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
239
|
+
|
|
240
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
241
|
+
|
|
242
|
+
**Example**
|
|
243
|
+
|
|
244
|
+
```ts
|
|
245
|
+
const result = await g8.api.programmaticPages.getProgrammaticWorkspace({ path: { campaign_id: "id" } });
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
<a id="op-importprogrammaticsitemap"></a>
|
|
251
|
+
|
|
252
|
+
### `g8.api.programmaticPages.importProgrammaticSitemap(input)`
|
|
253
|
+
|
|
254
|
+
**Import Programmatic Sitemap**
|
|
255
|
+
|
|
256
|
+
- HTTP: `POST /api/v1/programmatic-campaigns/{campaign_id}/imports/sitemap`
|
|
257
|
+
- operationId: `import_programmatic_sitemap_programmatic_campaigns__campaign_id__imports_sitemap_post` (also callable as `g8.api.call("import_programmatic_sitemap_programmatic_campaigns__campaign_id__imports_sitemap_post", input)`)
|
|
258
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
259
|
+
- API-key scope: `campaigns:write`
|
|
260
|
+
|
|
261
|
+
Make an existing sitemap the campaign's data source. FREE.
|
|
262
|
+
|
|
263
|
+
Up to `max_urls` URLs become rows of a new source table; `fetch_pages`
|
|
264
|
+
also fetches each page. REPLACES the campaign's current source.
|
|
265
|
+
|
|
266
|
+
**Input**
|
|
267
|
+
|
|
268
|
+
| Field | Type | Required | Description |
|
|
269
|
+
|---|---|---|---|
|
|
270
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
271
|
+
| `body` | `ProgrammaticSitemapImportRequest` | yes | Request body; fields below. |
|
|
272
|
+
|
|
273
|
+
Body fields (`ProgrammaticSitemapImportRequest`):
|
|
274
|
+
|
|
275
|
+
| Field | Type | Required | Description |
|
|
276
|
+
|---|---|---|---|
|
|
277
|
+
| `body.sitemap_url` | `string` | yes | |
|
|
278
|
+
| `body.fetch_pages` | `boolean` | no | default `false` |
|
|
279
|
+
| `body.max_urls` | `integer` | no | default `250` |
|
|
280
|
+
| `body.source_name` | `string \| null` | no | |
|
|
281
|
+
|
|
282
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
283
|
+
|
|
284
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
285
|
+
|
|
286
|
+
**Example**
|
|
287
|
+
|
|
288
|
+
```ts
|
|
289
|
+
const result = await g8.api.programmaticPages.importProgrammaticSitemap({
|
|
290
|
+
path: { campaign_id: "id" },
|
|
291
|
+
body: { sitemap_url: "https://example.com" },
|
|
292
|
+
});
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
<a id="op-listprogrammaticcampaigns"></a>
|
|
298
|
+
|
|
299
|
+
### `g8.api.programmaticPages.listProgrammaticCampaigns(input?)`
|
|
300
|
+
|
|
301
|
+
**List Programmatic Campaigns**
|
|
302
|
+
|
|
303
|
+
- HTTP: `GET /api/v1/programmatic-campaigns`
|
|
304
|
+
- operationId: `list_programmatic_campaigns_programmatic_campaigns_get` (also callable as `g8.api.call("list_programmatic_campaigns_programmatic_campaigns_get", input)`)
|
|
305
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
306
|
+
- API-key scope: `campaigns:read`
|
|
307
|
+
|
|
308
|
+
Every programmatic campaign in the org, with its generation counters. FREE.
|
|
309
|
+
|
|
310
|
+
**Input**: none.
|
|
311
|
+
|
|
312
|
+
**Returns** `ApiResponse_StudioContentListPayload_`: the envelope `{ data: StudioContentListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
313
|
+
|
|
314
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
315
|
+
|
|
316
|
+
`StudioContentListPayload` fields:
|
|
317
|
+
|
|
318
|
+
| Field | Type | Required | Description |
|
|
319
|
+
|---|---|---|---|
|
|
320
|
+
| `items` | `Array<unknown>` | no | |
|
|
321
|
+
|
|
322
|
+
**Example**
|
|
323
|
+
|
|
324
|
+
```ts
|
|
325
|
+
const result = await g8.api.programmaticPages.listProgrammaticCampaigns();
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
<a id="op-listprogrammaticgeneratedpages"></a>
|
|
331
|
+
|
|
332
|
+
### `g8.api.programmaticPages.listProgrammaticGeneratedPages(input)`
|
|
333
|
+
|
|
334
|
+
**List Programmatic Generated Pages**
|
|
335
|
+
|
|
336
|
+
- HTTP: `GET /api/v1/programmatic-campaigns/{campaign_id}/pages`
|
|
337
|
+
- operationId: `list_programmatic_generated_pages_programmatic_campaigns__campaign_id__pages_get` (also callable as `g8.api.call("list_programmatic_generated_pages_programmatic_campaigns__campaign_id__pages_get", input)`)
|
|
338
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
339
|
+
- API-key scope: `campaigns:read`
|
|
340
|
+
|
|
341
|
+
The generated pages, a page of results at a time. FREE.
|
|
342
|
+
|
|
343
|
+
**Input**
|
|
344
|
+
|
|
345
|
+
| Field | Type | Required | Description |
|
|
346
|
+
|---|---|---|---|
|
|
347
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
348
|
+
| `query.offset` | `integer` | no | default `0` |
|
|
349
|
+
| `query.limit` | `integer` | no | default `50` |
|
|
350
|
+
|
|
351
|
+
**Returns** `ApiResponse_StudioContentListPayload_`: the envelope `{ data: StudioContentListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
352
|
+
|
|
353
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
354
|
+
|
|
355
|
+
`StudioContentListPayload` fields:
|
|
356
|
+
|
|
357
|
+
| Field | Type | Required | Description |
|
|
358
|
+
|---|---|---|---|
|
|
359
|
+
| `items` | `Array<unknown>` | no | |
|
|
360
|
+
|
|
361
|
+
**Example**
|
|
362
|
+
|
|
363
|
+
```ts
|
|
364
|
+
const result = await g8.api.programmaticPages.listProgrammaticGeneratedPages({ path: { campaign_id: "id" } });
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
<a id="op-previewprogrammaticpage"></a>
|
|
370
|
+
|
|
371
|
+
### `g8.api.programmaticPages.previewProgrammaticPage(input)`
|
|
372
|
+
|
|
373
|
+
**Preview Programmatic Page**
|
|
374
|
+
|
|
375
|
+
- HTTP: `POST /api/v1/programmatic-campaigns/{campaign_id}/preview`
|
|
376
|
+
- operationId: `preview_programmatic_page_programmatic_campaigns__campaign_id__preview_post` (also callable as `g8.api.call("preview_programmatic_page_programmatic_campaigns__campaign_id__preview_post", input)`)
|
|
377
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
378
|
+
- API-key scope: `campaigns:write`
|
|
379
|
+
|
|
380
|
+
Render ONE page for one source row, without saving it. FREE.
|
|
381
|
+
|
|
382
|
+
**Input**
|
|
383
|
+
|
|
384
|
+
| Field | Type | Required | Description |
|
|
385
|
+
|---|---|---|---|
|
|
386
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
387
|
+
| `body` | `ProgrammaticPreviewRequest` | yes | Request body; fields below. |
|
|
388
|
+
|
|
389
|
+
Body fields (`ProgrammaticPreviewRequest`):
|
|
390
|
+
|
|
391
|
+
| Field | Type | Required | Description |
|
|
392
|
+
|---|---|---|---|
|
|
393
|
+
| `body.contact_id` | `integer \| null` | no | |
|
|
394
|
+
|
|
395
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
396
|
+
|
|
397
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
398
|
+
|
|
399
|
+
**Example**
|
|
400
|
+
|
|
401
|
+
```ts
|
|
402
|
+
const result = await g8.api.programmaticPages.previewProgrammaticPage({ path: { campaign_id: "id" }, body: {} });
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
<a id="op-runprogrammaticbulkpageaction"></a>
|
|
408
|
+
|
|
409
|
+
### `g8.api.programmaticPages.runProgrammaticBulkPageAction(input)`
|
|
410
|
+
|
|
411
|
+
**Run Programmatic Bulk Page Action**
|
|
412
|
+
|
|
413
|
+
- HTTP: `POST /api/v1/programmatic-campaigns/{campaign_id}/pages/actions`
|
|
414
|
+
- operationId: `run_programmatic_bulk_page_action_programmatic_campaigns__campaign_id__pages_actions_post` (also callable as `g8.api.call("run_programmatic_bulk_page_action_programmatic_campaigns__campaign_id__pages_actions_post", input)`)
|
|
415
|
+
- Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
|
|
416
|
+
- API-key scope: `campaigns:run`
|
|
417
|
+
|
|
418
|
+
Run a lifecycle action on selected pages - or deploy. CAN CHANGE THE LIVE SITE.
|
|
419
|
+
|
|
420
|
+
`deploy_pending_changes`, `republish_all`, `rollback_publish` and
|
|
421
|
+
`unpublish_selected` change what real visitors see; `delete_selected`
|
|
422
|
+
removes pages. `export_urls` only reads.
|
|
423
|
+
|
|
424
|
+
Spends nothing.
|
|
425
|
+
|
|
426
|
+
**Input**
|
|
427
|
+
|
|
428
|
+
| Field | Type | Required | Description |
|
|
429
|
+
|---|---|---|---|
|
|
430
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
431
|
+
| `body` | `ProgrammaticBulkPageActionRequest` | yes | Request body; fields below. |
|
|
432
|
+
|
|
433
|
+
Body fields (`ProgrammaticBulkPageActionRequest`):
|
|
434
|
+
|
|
435
|
+
| Field | Type | Required | Description |
|
|
436
|
+
|---|---|---|---|
|
|
437
|
+
| `body.action` | `"mark_ready_to_deploy_selected" \| "unpublish_selected" \| "mark_for_regeneration_selected" \| "deploy_pending_changes" \| "republish_all" \| "rollback_publish" \| "queue_search_console" \| "delete_selected" \| …` | yes | |
|
|
438
|
+
| `body.page_ids` | `Array<string> \| null` | no | |
|
|
439
|
+
|
|
440
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
441
|
+
|
|
442
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
443
|
+
|
|
444
|
+
**Example**
|
|
445
|
+
|
|
446
|
+
```ts
|
|
447
|
+
// external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
|
|
448
|
+
const result = await g8.api.programmaticPages.runProgrammaticBulkPageAction({
|
|
449
|
+
path: { campaign_id: "id" },
|
|
450
|
+
body: { action: "mark_ready_to_deploy_selected" },
|
|
451
|
+
});
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
<a id="op-runprogrammaticpageaction"></a>
|
|
457
|
+
|
|
458
|
+
### `g8.api.programmaticPages.runProgrammaticPageAction(input)`
|
|
459
|
+
|
|
460
|
+
**Run Programmatic Page Action**
|
|
461
|
+
|
|
462
|
+
- HTTP: `POST /api/v1/programmatic-campaigns/{campaign_id}/pages/{page_id}/actions`
|
|
463
|
+
- operationId: `run_programmatic_page_action_programmatic_campaigns__campaign_id__pages__page_id__actions_post` (also callable as `g8.api.call("run_programmatic_page_action_programmatic_campaigns__campaign_id__pages__page_id__actions_post", input)`)
|
|
464
|
+
- Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
|
|
465
|
+
- API-key scope: `campaigns:run`
|
|
466
|
+
|
|
467
|
+
Run a lifecycle action on one page. `unpublish` takes it OFF the live site.
|
|
468
|
+
|
|
469
|
+
`override` replaces the page's rendered HTML with `html_output` (sanitised by
|
|
470
|
+
the app); `reset_override` returns it to the template.
|
|
471
|
+
|
|
472
|
+
Spends nothing.
|
|
473
|
+
|
|
474
|
+
**Input**
|
|
475
|
+
|
|
476
|
+
| Field | Type | Required | Description |
|
|
477
|
+
|---|---|---|---|
|
|
478
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
479
|
+
| `path.page_id` | `string` | yes | Generated page id, from `GET .../pages`. |
|
|
480
|
+
| `body` | `ProgrammaticPageActionRequest` | yes | Request body; fields below. |
|
|
481
|
+
|
|
482
|
+
Body fields (`ProgrammaticPageActionRequest`):
|
|
483
|
+
|
|
484
|
+
| Field | Type | Required | Description |
|
|
485
|
+
|---|---|---|---|
|
|
486
|
+
| `body.action` | `"mark_ready_to_deploy" \| "unpublish" \| "mark_for_regeneration" \| "override" \| "reset_override" \| "publish" \| "regenerate"` | yes | |
|
|
487
|
+
| `body.html_output` | `string \| null` | no | |
|
|
488
|
+
| `body.manual_override` | `Record<string, unknown> \| null` | no | |
|
|
489
|
+
|
|
490
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
491
|
+
|
|
492
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
493
|
+
|
|
494
|
+
**Example**
|
|
495
|
+
|
|
496
|
+
```ts
|
|
497
|
+
// external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
|
|
498
|
+
const result = await g8.api.programmaticPages.runProgrammaticPageAction({
|
|
499
|
+
path: { campaign_id: "id", page_id: "id" },
|
|
500
|
+
body: { action: "mark_ready_to_deploy" },
|
|
501
|
+
});
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
<a id="op-startprogrammaticgeneration"></a>
|
|
507
|
+
|
|
508
|
+
### `g8.api.programmaticPages.startProgrammaticGeneration(input)`
|
|
509
|
+
|
|
510
|
+
**Start Programmatic Generation**
|
|
511
|
+
|
|
512
|
+
- HTTP: `POST /api/v1/programmatic-campaigns/{campaign_id}/generate`
|
|
513
|
+
- operationId: `start_programmatic_generation_programmatic_campaigns__campaign_id__generate_post` (also callable as `g8.api.call("start_programmatic_generation_programmatic_campaigns__campaign_id__generate_post", input)`)
|
|
514
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
515
|
+
- API-key scope: `campaigns:write`
|
|
516
|
+
|
|
517
|
+
Render every page, one per source row, in the background. FREE - no model runs.
|
|
518
|
+
|
|
519
|
+
Pages are generated as drafts; nothing goes live until a deploy action.
|
|
520
|
+
400 if a run is already in progress or the source is empty. Poll
|
|
521
|
+
`GET /{campaign_id}/status`.
|
|
522
|
+
|
|
523
|
+
**Input**
|
|
524
|
+
|
|
525
|
+
| Field | Type | Required | Description |
|
|
526
|
+
|---|---|---|---|
|
|
527
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
528
|
+
|
|
529
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
530
|
+
|
|
531
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
532
|
+
|
|
533
|
+
**Example**
|
|
534
|
+
|
|
535
|
+
```ts
|
|
536
|
+
const result = await g8.api.programmaticPages.startProgrammaticGeneration({ path: { campaign_id: "id" } });
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
<a id="op-updateprogrammaticcampaign"></a>
|
|
542
|
+
|
|
543
|
+
### `g8.api.programmaticPages.updateProgrammaticCampaign(input)`
|
|
544
|
+
|
|
545
|
+
**Update Programmatic Campaign**
|
|
546
|
+
|
|
547
|
+
- HTTP: `PATCH /api/v1/programmatic-campaigns/{campaign_id}`
|
|
548
|
+
- operationId: `update_programmatic_campaign_programmatic_campaigns__campaign_id__patch` (also callable as `g8.api.call("update_programmatic_campaign_programmatic_campaigns__campaign_id__patch", input)`)
|
|
549
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
550
|
+
- API-key scope: `campaigns:write`
|
|
551
|
+
|
|
552
|
+
Partial update. FREE. A source or template change marks the pages stale.
|
|
553
|
+
|
|
554
|
+
**Input**
|
|
555
|
+
|
|
556
|
+
| Field | Type | Required | Description |
|
|
557
|
+
|---|---|---|---|
|
|
558
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
559
|
+
| `body` | `UpdateProgrammaticCampaignRequest` | yes | Request body; fields below. |
|
|
560
|
+
|
|
561
|
+
Body fields (`UpdateProgrammaticCampaignRequest`):
|
|
562
|
+
|
|
563
|
+
| Field | Type | Required | Description |
|
|
564
|
+
|---|---|---|---|
|
|
565
|
+
| `body.data_source_id` | `string \| null` | no | |
|
|
566
|
+
| `body.data_source_name` | `string \| null` | no | |
|
|
567
|
+
| `body.data_source_type` | `"list" \| "workbench" \| "csv" \| "seo_import" \| null` | no | |
|
|
568
|
+
| `body.list_id` | `integer \| null` | no | |
|
|
569
|
+
| `body.name` | `string \| null` | no | |
|
|
570
|
+
| `body.settings` | `Record<string, unknown> \| null` | no | |
|
|
571
|
+
| `body.slug_template` | `string \| null` | no | |
|
|
572
|
+
| `body.variable_config` | `Array<Record<string, unknown>> \| null` | no | |
|
|
573
|
+
|
|
574
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
575
|
+
|
|
576
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
577
|
+
|
|
578
|
+
**Example**
|
|
579
|
+
|
|
580
|
+
```ts
|
|
581
|
+
const result = await g8.api.programmaticPages.updateProgrammaticCampaign({ path: { campaign_id: "id" }, body: {} });
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
---
|
|
585
|
+
|
|
586
|
+
<a id="op-updateprogrammaticworkspace"></a>
|
|
587
|
+
|
|
588
|
+
### `g8.api.programmaticPages.updateProgrammaticWorkspace(input)`
|
|
589
|
+
|
|
590
|
+
**Update Programmatic Workspace**
|
|
591
|
+
|
|
592
|
+
- HTTP: `PATCH /api/v1/programmatic-campaigns/{campaign_id}/workspace`
|
|
593
|
+
- operationId: `update_programmatic_workspace_programmatic_campaigns__campaign_id__workspace_patch` (also callable as `g8.api.call("update_programmatic_workspace_programmatic_campaigns__campaign_id__workspace_patch", input)`)
|
|
594
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
595
|
+
- API-key scope: `campaigns:write`
|
|
596
|
+
|
|
597
|
+
Update workspace settings - source, SEO, linking, deployment, regeneration. FREE.
|
|
598
|
+
|
|
599
|
+
**Input**
|
|
600
|
+
|
|
601
|
+
| Field | Type | Required | Description |
|
|
602
|
+
|---|---|---|---|
|
|
603
|
+
| `path.campaign_id` | `string` | yes | Programmatic campaign id. |
|
|
604
|
+
| `body` | `ProgrammaticWorkspaceUpdateRequest` | yes | Request body; fields below. |
|
|
605
|
+
|
|
606
|
+
Body fields (`ProgrammaticWorkspaceUpdateRequest`):
|
|
607
|
+
|
|
608
|
+
| Field | Type | Required | Description |
|
|
609
|
+
|---|---|---|---|
|
|
610
|
+
| `body.data_source_id` | `string \| null` | no | |
|
|
611
|
+
| `body.data_source_name` | `string \| null` | no | |
|
|
612
|
+
| `body.data_source_type` | `"list" \| "workbench" \| "csv" \| "seo_import" \| null` | no | |
|
|
613
|
+
| `body.list_id` | `integer \| null` | no | |
|
|
614
|
+
| `body.settings` | `Record<string, unknown> \| null` | no | |
|
|
615
|
+
| `body.slug_template` | `string \| null` | no | |
|
|
616
|
+
| `body.variable_config` | `Array<Record<string, unknown>> \| null` | no | |
|
|
617
|
+
|
|
618
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
619
|
+
|
|
620
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
621
|
+
|
|
622
|
+
**Example**
|
|
623
|
+
|
|
624
|
+
```ts
|
|
625
|
+
const result = await g8.api.programmaticPages.updateProgrammaticWorkspace({ path: { campaign_id: "id" }, body: {} });
|
|
626
|
+
```
|