Node Version Update
Update the node's single draft checkpoint. This operation is for draft autosave and editing only. It does not change version status and cannot apply a version to the target node. The version must still have draft status and the caller must be the draft author or have `MANAGE_LIBRARY`. Fields omitted from the request are left unchanged on the draft snapshot. Explicit null values clear nullable fields. Properties are a complete desired-state list for the target node properties: when the version is applied, the list replaces the node's existing property set rather than merging with it.
/nodes/{node_slug}/versions/{version_id}Update the node's single draft checkpoint.
This operation is for draft autosave and editing only. It does not
change version status and cannot apply a version to the target node.
The version must still have draft status and the caller must be the
draft author or have MANAGE_LIBRARY.
Fields omitted from the request are left unchanged on the draft snapshot. Explicit null values clear nullable fields. Properties are a complete desired-state list for the target node properties: when the version is applied, the list replaces the node's existing property set rather than merging with it.
In: cookie
Path Parameters
Unique node Slug.
Node version ID.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Updates to a draft checkpoint snapshot. This does not change version status. Omitted fields keep the current draft value. Nullable fields can be set to null to clear them. Properties are replace-all and are not merged with existing values when the version is applied.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/nodes/cc5lnd2s1s4652adtu50/versions/cc5lnd2s1s4652adtu50" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "cc5lnd2s1s4652adtu50",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"node_id": "cc5lnd2s1s4652adtu50",
"author": {
"id": "cc5lnd2s1s4652adtu50",
"joined": "2019-08-24T14:15:22Z",
"suspended": "2019-08-24T14:15:22Z",
"handle": "Southclaws",
"name": "Barnaby Keene",
"signature": "<body><p>Sent with love from London!</p></body>",
"roles": [
{
"badge": true,
"default": true,
"id": "cc5lnd2s1s4652adtu50",
"name": "string",
"colour": "string",
"meta": {}
}
]
},
"status": "draft",
"previous": {
"id": "cc5lnd2s1s4652adtu50",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"author": {
"id": "cc5lnd2s1s4652adtu50",
"joined": "2019-08-24T14:15:22Z",
"suspended": "2019-08-24T14:15:22Z",
"handle": "Southclaws",
"name": "Barnaby Keene",
"signature": "<body><p>Sent with love from London!</p></body>",
"roles": [
{
"badge": true,
"default": true,
"id": "cc5lnd2s1s4652adtu50",
"name": "string",
"colour": "string",
"meta": {}
}
]
},
"status": "draft"
},
"name": "string",
"slug": "string",
"description": "string",
"content": "string",
"properties": [
{
"fid": "cc5lnd2s1s4652adtu50",
"name": "string",
"value": "string",
"type": "text",
"sort": "string"
}
],
"meta": {}
}{
"type": "string",
"title": "string",
"detail": "string",
"trace_id": "string",
"metadata": {}
}Node Version List GET
List edit versions for a node. Versions have two states: draft and applied. A version is a draft when it is pre-published. There can only be a single draft of a node. Applied versions are immutable historical snapshots of the page fields that were copied into the node. The single draft version, when present, is the working snapshot ahead of the live node and is visible only to its author and members with `MANAGE_LIBRARY`. Results are ordered by `updated_at` descending so draft autosaves and recently applied checkpoints appear before older history.
Node Version Update Status PATCH
Update the lifecycle status of a checkpoint. This endpoint is separate from the content patch endpoint because status changes have side effects. For the initial checkpoint workflow, the only supported transition is draft to applied. Applying a version is restricted to members with `MANAGE_LIBRARY`. Applying a draft copies the full draft snapshot into the target node, applies properties as a complete desired-state list, marks the version immutable, and updates the node's `current_version_id` pointer to the applied version. This is a linear operation; applying a draft does not merge against other draft or historical versions. Clients must use this endpoint for lifecycle transitions and must not combine status changes with regular draft content updates.