{
"type": "object",
"additionalProperties": false,
"properties": {
"storyworldId": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$",
"description": "ID of an accessible saved Storyworld returned by discovery. Keep this destination fixed for the operation."
},
"characterId": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$",
"description": "ID of the exact saved Character to reuse; do not create a new identity for an outfit or accessory."
},
"operationId": {
"type": "string",
"pattern": "^[a-zA-Z0-9-]{16,64}$",
"description": "Persist a client-generated UUID before this mutation. Repeat identical inputs and this same ID after interruption; a new ID is a new request."
},
"roles": {
"type": "array",
"items": {
"type": "string",
"enum": [
"identity_portrait",
"waist_up",
"full_body",
"expression_sheet"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"description": "Only the missing/requested reference views. Reuse views already saved and suitable."
},
"modelId": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"storyworldId",
"characterId",
"operationId",
"roles"
]
}