StudioProjectSaveDto
| Field | Required | Description |
|---|---|---|
clientId | Yes | Client-chosen identifier; letters, digits, `_ . : -`, up to 128 characters |
commands | No | The canonical commands the engine applied to produce this document (). Each is checked against the catalogue and the head, and the revision summary is counted from them. |
envelope | Yes | See definition below |
expectedRevision | Yes | The head this document was built on |
requestKey | Yes | Stable per attempt; a retry carries the same key |
summary | No | See definition below |
Complete definition
required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.
Field definitions: StudioCommandEnvelopeDto, StudioProjectEnvelopeDto, StudioCommandSummaryDto
{
"properties": {
"clientId": {
"description": "Client-chosen identifier; letters, digits, `_ . : -`, up to 128 characters",
"pattern": "^[\\w.:-]{1,128}$",
"type": "string"
},
"commands": {
"description": "The canonical commands the engine applied to produce this document (). Each is checked against the catalogue and the head, and the revision summary is counted from them.",
"items": {
"$ref": "#/components/schemas/StudioCommandEnvelopeDto"
},
"maxItems": 500,
"type": "array"
},
"envelope": {
"$ref": "#/components/schemas/StudioProjectEnvelopeDto"
},
"expectedRevision": {
"description": "The head this document was built on",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"requestKey": {
"description": "Stable per attempt; a retry carries the same key",
"pattern": "^[\\w.:-]{1,128}$",
"type": "string"
},
"summary": {
"$ref": "#/components/schemas/StudioCommandSummaryDto"
}
},
"required": [
"clientId",
"envelope",
"expectedRevision",
"requestKey"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.