Skip to main content
POST
Validate Changeset
Validates a changeset body against the current workspace state without writing anything: schema/vocabulary checks, revision and checksum guards, tree rules, and asset readiness. Use it before apply or submit. Requirements: instructions:write or instructions:propose, plus workspace EDITOR or OWNER access. A REVIEWER decides submitted changesets but is not a proposal author unless separately granted an authoring role.

Request

The changeset body (shared by validate/diff/apply/submit):
string
required
The workspace all operations must belong to.
string
Human-readable summary recorded on the changeset.
object[]
required
Up to 250 operations, each discriminated by kind: PATCH_CONTENT, REPLACE_CONTENT, CREATE_PAGE, RENAME_PAGE, MOVE_PAGE, SET_AUDIENCE, ARCHIVE_PAGE, RESTORE_PAGE, ATTACH_ASSET. Discover exact per-kind fields via capabilities. A CREATE_PAGE with clientPageKey: "x" can be referenced by sibling operations as parentPageId: "new:x", in any order.

Response

boolean
Whether the changeset would apply cleanly right now.
object[]
Structured conflicts: {operationIndex, code, message, pageId, nodeId, currentRevisionNumber, currentChecksum}. Codes include REVISION_MISMATCH, CHECKSUM_MISMATCH, NODE_NOT_FOUND, SCHEMA_INVALID, DEPTH_EXCEEDED, REPLACE_NOT_CONFIRMED, and more.
object[]
Non-blocking issues, e.g. attribute keys outside the vocabulary allowlist.