Enhance documentation
enhance-dev canvas apply
Apply an atomic canvas edit batch and return its affected bounds.
enhance-dev canvas apply
enhance-dev canvas apply [options]
Arguments
This command takes no positional arguments.
Options
| Option | Required | Default | Meaning |
|---|---|---|---|
--canvas <url-or-id> | Yes | None | Canvas URL or UUID to edit. |
--base-version <integer> | Yes | None | Document version returned by enhance canvas document get. |
--operations <json-or-@path> | Yes | None | One or more validated canvas operations; use the canvas apply command’s @file form for a batch. |
--client-token <uuid> | No | None | Stable UUID to reuse when retrying the exact same mutation. |
Input
This command presents the capability canvas.apply. It has write effect and single idempotency.
Show complete input JSON Schema (JSON file)
Output
This command writes JSON records to standard output. Returns a typed canvas.apply result from the Enhance API without transport-specific prose.
Show complete output JSON Schema (JSON file)
Examples
enhance-dev canvas apply --canvas <url-or-id> --base-version <integer> --operations <json-or-@path>
Show example input
{
"canvasId": "00000000-0000-4000-8000-000000000010",
"baseVersion": 1,
"operations": [
{
"op": "setText",
"nodeId": "text_title",
"text": "Ready"
}
]
}
Show example output
{
"canvasId": "00000000-0000-4000-8000-000000000010",
"mutationId": "00000000-0000-4000-8000-000000000010",
"previousVersion": 1,
"version": 2,
"operations": [
{
"op": "setText",
"nodeId": "text_title",
"text": "Ready"
}
],
"insertedNodeIds": [],
"changedNodeIds": [
"text_title"
],
"removedNodeIds": [],
"boxes": {},
"affectedBounds": null,
"next": [
"Inspect version 2."
]
}
Exit behaviour
| Exit code | Meaning |
|---|---|
0 | The command succeeded. |
1 | The command failed for another reason (INTERNAL). A write may have an unknown outcome. |
2 | The command line was malformed. Nothing ran. |
3 | The API refused the input (BAD_REQUEST). |
4 | The credential is missing or expired (UNAUTHORIZED). |
5 | The API refused the request (FORBIDDEN, NOT_FOUND, CONFLICT, RATE_LIMITED). |
6 | A batch finished only in part. Retry with the same --client-token. |
Versions
Minimum tested versions: Enhance CLI and MCP runtime 0.1.40, plugin 1.0.38, Node.js 24. No older floor is published.