Skip to main content

Worked content samples

The endpoint list below documents every operation’s parameters; this overlay walks a CMS content page the way a lobby page or static-publisher integration actually uses it: list the published pages → fetch one page → handle a delete when a landing campaign ends. Success envelopes are { data, meta }, error envelopes { error, meta } — see How to read a worked sample. Content endpoints are org-admin scoped; the read paths accept any tenant-scoped API key, the write paths require owner or admin. Every response carries meta.request_id. Quote the request id when you report a deleted page still cached in the tenant’s CDN, or a fetch that 404s on an id the dashboard still lists.

1. List content pages

GET /api/v1/content/pages returns the pages your tenant has published — landing pages, help decoys, email-copy blocks — with cursor pagination. Use this to manage the content block id you hand to a personalization slot or a flow.
200

2. Fetch one page

GET /api/v1/content/pages/{id} returns a single page entity — body, metadata, and the raw content blob the builder captured — for a downstream renderer or editor. A deleted page returns 404.

3. Create a page

POST /api/v1/content/pages stores a new page centrally so a flow, a widget, or the dashboard can resolve it by id. The create endpoint is idempotent via the Idempotency-Key header — the same key replays the original response for 24h on success.
200

4. Errors

Errors follow the { error, meta } envelope. The failure every content editor hits: 422 — bot-protection or body validation. An unsigned ingestion, a Turnstile gate blocking a public form submission, or a slug collision:
422