Node Version Update Status
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.
/nodes/{node_slug}/versions/{version_id}/statusUpdate 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.
In: cookie
Path Parameters
Unique node Slug.
Node version ID.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/nodes/cc5lnd2s1s4652adtu50/versions/cc5lnd2s1s4652adtu50/status" \ -H "Content-Type: application/json" \ -d '{ "status": "draft" }'{
"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 Update PATCH
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.
Link Create POST
Add a link to the community bookmarks. This will also scrape the content at the site the link points to, if possible. If scraping fails, the link is stored with basic information instead of scraped metadata. If the submitted URL already exists, the existing link is returned and a background scrape is queued to refresh its metadata. The handler consumes only the `url` field; submitted `title` and `description` are not applied. The submitted URL is used for lookup and storage without removing its fragment. Use the returned link resource to inspect the stored metadata.