Enhance documentation
enhance-dev canvas version name
Name the current or a retained canvas version so it is kept.
enhance-dev canvas version name
enhance-dev canvas version name [options]
Arguments
This command takes no positional arguments.
Options
| Option | Required | Default | Meaning |
|---|---|---|---|
--canvas-id <string> | Yes | None | Canvas id, from enhance canvas list. |
--target [value] | No | None | Version target JSON: current with its expectedVersion, or a retained version with its versionId. |
--title <string> | Yes | None | Human-readable title used to name or find the resource. |
--description [value] | No | null | Optional detail explaining why this named version matters, or null. |
--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.version.name. It has write effect and single idempotency.
Show complete input JSON Schema
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"canvasId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"current"},"expectedVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["kind","expectedVersion"]},{"type":"object","properties":{"kind":{"type":"string","const":"version"},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind","versionId"]}]},"title":{"type":"string","minLength":1},"description":{"default":null,"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["canvasId","target","title"]}
Output
This command writes JSON records to standard output. Returns a typed canvas.version.name result from the Enhance API without transport-specific prose.
Show complete output JSON Schema
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"entry":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"canvasId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"documentVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"origin":{"type":"string","enum":["automatic","manual","restore"]},"restoreRole":{"anyOf":[{"type":"string","enum":["before","result"]},{"type":"null"}]},"retention":{"type":"string","enum":["automatic","named","restore-boundary"]},"title":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"actor":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"person"},"personId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string","minLength":1,"maxLength":200},"initials":{"type":"string","minLength":1,"maxLength":2}},"required":["kind","personId","displayName","initials"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"agent"},"personId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string","minLength":1,"maxLength":200},"initials":{"type":"string","minLength":1,"maxLength":2},"tokenLabel":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","personId","displayName","initials","tokenLabel"],"additionalProperties":false}]},"sourceVersionEntryId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"checkpointAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"screenCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","canvasId","documentVersion","origin","restoreRole","retention","title","description","actor","sourceVersionEntryId","expiresAt","checkpointAt","createdAt","updatedAt","screenCount"],"additionalProperties":false}},"required":["entry"],"additionalProperties":false}
Examples
enhance-dev canvas version name --canvas-id <string> --title <string>
Show example input
{
"canvasId": "00000000-0000-4000-8000-000000000010",
"target": {
"kind": "current",
"expectedVersion": 1
},
"title": "x"
}
Show example output
{
"entry": {
"id": "00000000-0000-4000-8000-000000000010",
"canvasId": "00000000-0000-4000-8000-000000000010",
"documentVersion": 1,
"origin": "automatic",
"restoreRole": "before",
"retention": "automatic",
"title": "x",
"description": "x",
"actor": {
"kind": "person",
"personId": "00000000-0000-4000-8000-000000000010",
"displayName": "x",
"initials": "x"
},
"sourceVersionEntryId": "00000000-0000-4000-8000-000000000010",
"expiresAt": "2026-08-10T00:00:00.000Z",
"checkpointAt": "2026-08-10T00:00:00.000Z",
"createdAt": "2026-08-10T00:00:00.000Z",
"updatedAt": "2026-08-10T00:00:00.000Z",
"screenCount": 0
}
}
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.