Publish a page
POST /v1/pages/{page_id}/publish — Publish the page's current DRAFT to its live public route — the same code path as the editor's Publish button. Pass starts_at to…
Publish the page's current DRAFT to its live public route — the same code path as the editor's Publish button. Pass starts_at to schedule the publish instead of applying it now. Requires the publish scope, granted separately at key creation.
Requires scope: publish. Plan entitlement: public_api (Creator and Pro).
Consequential operation — send an Idempotency-Key header.
API key (bf_live_… / bf_test_…) as a Bearer token.
In: header
Path Parameters
Page ID from List pages
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/v1/pages/string/publish" \ -H "Content-Type: application/json" \ -d '{}'{ "page": { "id": "string", "title": "string", "description": "string", "slug": "string", "status": "DRAFT", "locale": "string", "public_url": "string", "theme": { "label": "string", "preset_key": "string" }, "draft": { "updated_at": "2019-08-24T14:15:22Z", "block_count": 0, "blocks": [ { "id": "string", "kind": "string", "enabled": true, "label": "string" } ] }, "published": { "is_live": true, "block_count": 0, "live_updated_at": "2019-08-24T14:15:22Z" } }, "scheduled_for": "2019-08-24T14:15:22Z"}Delete a page DELETE
DELETE /v1/pages/{page_id} — Permanently delete a page, its blocks, versions, and route. This cannot be undone. Requires scope pages:write.
Add a block POST
POST /v1/pages/{page_id}/blocks — Append ONE block to the page DRAFT, preserving every existing block byte-for-byte. Optionally wire an uploaded file (public_path…