{
"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."
},
"operationId": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{16,100}$",
"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."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"referenceAssetId": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$",
"description": "ID of the saved identity reference image, after inspecting its actual pixels and source record."
},
"folderId": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$"
},
"details": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"appearance": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"personality": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"backstory": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"role": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The reference view being inspected or assigned; keep the candidate and its receipt tied to this role."
},
"ageRange": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": []
}
},
"required": [
"storyworldId",
"operationId",
"name",
"referenceAssetId",
"details"
]
}