Enhance documentation
enhance-dev canvas create-editable-frame
Insert one validated primitive subtree beside its source screen as an atomic canvas edit.
enhance-dev canvas create-editable-frame
enhance-dev canvas create-editable-frame [options]
Arguments
This command takes no positional arguments.
Options
| Option | Required | Default | Meaning |
|---|---|---|---|
--canvas-id <string> | Yes | None | Canvas id, from enhance canvas list. |
--document-format-version <number> | Yes | None | Supported canvas schema version for this writer, not the saved revision in baseVersion. Update the client if its format is no longer supported. |
--mutation-id <string> | Yes | None | Client-minted UUID identifying this atomic canvas mutation. |
--base-version <number> | Yes | None | Document version returned by enhance canvas document get. |
--screen-node-id <string> | Yes | None | Root-level screen node id returned by enhance canvas tree. |
--draft [json] | No | None | Versioned primitive subtree JSON produced by screen conversion. |
--json <json> | No | None | Complete procedure input as JSON; do not combine it with field flags. |
--client-token <uuid> | No | None | Stable UUID to reuse when retrying the exact same mutation. |
Input
This command presents the capability canvas.createEditableFrame. 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.createEditableFrame result from the Enhance API without transport-specific prose.
Show complete output JSON Schema (JSON file)
Examples
enhance-dev canvas create-editable-frame --canvas-id <string> --document-format-version <number> --mutation-id <string> --base-version <number> --screen-node-id <string>
Show example input
{
"canvasId": "00000000-0000-4000-8000-000000000010",
"documentFormatVersion": 13,
"mutationId": "00000000-0000-4000-8000-000000000010",
"baseVersion": 1,
"screenNodeId": "x",
"draft": {
"version": 1,
"rootTemporaryId": "x",
"nodes": [
{
"label": "x",
"component": "x",
"styles": {},
"temporaryId": "x"
}
],
"relationships": []
}
}
Show example output
{
"canvasId": "00000000-0000-4000-8000-000000000010",
"mutationId": "00000000-0000-4000-8000-000000000010",
"previousVersion": 1,
"version": 1,
"rootNodeId": "x",
"idMap": {},
"insertedNodeIds": [],
"removedNodeIds": [],
"boxes": {},
"affectedBounds": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"operation": {
"op": "insertConvertedSubtree",
"destination": {
"kind": "adjacent"
},
"rootNodeId": "x",
"nodes": {},
"relationships": {}
},
"next": []
}
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.