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