Nimbu Developer Docs
ReferencePages

Save a page draft

POST
/pages/{page_id}/draft

PUT and PATCH are aliases. Draftable fields only; items merge like PUT.

Unknown {id} creates a draft-only unpublished page (reserved_fullpath, parent_id, position, template_id). 422 concurrent_modification on lock timeout. Redirect pages → 422 not_draftable. ?dry_run=1 is not supported on draft endpoints (422 invalid_request); drafts never change the live page.

Authorization

AuthorizationBearer <token>

Personal access token tied to a user account. Requires the X-Nimbu-Site header to scope requests.

In: header

X-Nimbu-Site<token>

Identifier of the site context when authenticating with a personal access token.

In: header

Path Parameters

page_id*string

Existing page id, or a new ObjectId to create a draft-only page

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/pages/string/draft" \  -H "Content-Type: application/json" \  -d '{    "title": "Draft Title",    "items": {      "Title": "Hero"    }  }'
{
  "id": "66f1a2b3c4d5e6f7a8b9c0e0",
  "page_id": "66f1a2b3c4d5e6f7a8b9c0d0",
  "content": {
    "title": "Draft Title"
  },
  "updated_at": "2026-09-10T19:00:00Z"
}
{
  "message": "Redirect pages cannot have drafts",
  "code": "not_draftable"
}