enhancedocs
For agentsOpen Enhance ↗
CLI commands / enhance-dev canvas apply

Enhance documentation

enhance-dev canvas apply

Apply an atomic canvas edit batch and return its affected bounds.

↓ Markdown

enhance-dev canvas apply

enhance-dev canvas apply [options]

Arguments

This command takes no positional arguments.

Options

OptionRequiredDefaultMeaning
--canvas <url-or-id>YesNoneCanvas URL or UUID to edit.
--base-version <integer>YesNoneDocument version returned by enhance canvas document get.
--operations <json-or-@path>YesNoneOne or more validated canvas operations; use the canvas apply command’s @file form for a batch.
--client-token <uuid>NoNoneStable 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 codeMeaning
0The command succeeded.
1The command failed for another reason (INTERNAL). A write may have an unknown outcome.
2The command line was malformed. Nothing ran.
3The API refused the input (BAD_REQUEST).
4The credential is missing or expired (UNAUTHORIZED).
5The API refused the request (FORBIDDEN, NOT_FOUND, CONFLICT, RATE_LIMITED).
6A 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.