StudioProjectCreateDto
| Field | Required | Description |
|---|---|---|
clientId | Yes | This editor instance; it receives the lease |
envelope | No | An initial document, saved as revision 1 |
name | Yes | string |
requestKey | No | Owner-scoped idempotency key for project creation; reuse requires the same payload |
spaceId | No | Share the project with a shared space for review |
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: StudioProjectEnvelopeDto
{
"properties": {
"clientId": {
"description": "This editor instance; it receives the lease",
"pattern": "^[\\w.:-]{1,128}$",
"type": "string"
},
"envelope": {
"$ref": "#/components/schemas/StudioProjectEnvelopeDto",
"description": "An initial document, saved as revision 1"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"requestKey": {
"description": "Owner-scoped idempotency key for project creation; reuse requires the same payload",
"pattern": "^[\\w.:-]{1,128}$",
"type": "string"
},
"spaceId": {
"description": "Share the project with a shared space for review",
"format": "uuid",
"nullable": true,
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
}
},
"required": [
"clientId",
"name"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.