BioFlow
API Reference

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…

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 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.

Authorization

AuthorizationBearer <token>

API key (bf_live_… / bf_test_…) as a Bearer token.

In: header

Path Parameters

page_id*string

Page ID from List pages

Length1 <= length

Request 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"}