{
"type": "object",
"additionalProperties": false,
"properties": {
"productionId": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$",
"description": "ID of the saved Production whose asset context must remain pinned."
},
"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."
},
"expectedVersion": {
"type": "integer",
"minimum": 1,
"description": "Copy the current version from the latest workflow read. Refresh after a conflict; never increment or guess it."
},
"sourceSnapshotRef": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$"
},
"mode": {
"type": "string",
"enum": [
"merge",
"replace"
]
},
"choices": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"bindingId": {
"type": "string",
"pattern": "^manual:[a-zA-Z0-9-]{16,64}$"
},
"kind": {
"type": "string",
"enum": [
"character",
"location"
]
},
"entityId": {
"type": "string",
"pattern": "^[a-fA-F0-9]{24}$"
},
"entityRevision": {
"type": "integer",
"minimum": 1
},
"contentRevision": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"referenceRevision": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"referenceSetId": {
"anyOf": [
{
"type": "null"
},
{
"type": "string",
"minLength": 1,
"maxLength": 100
}
]
},
"appearanceNotes": {
"type": "object",
"additionalProperties": false,
"properties": {
"costume": {
"type": "string",
"maxLength": 1000
},
"expression": {
"type": "string",
"maxLength": 1000
},
"pose": {
"type": "string",
"maxLength": 1000
},
"temporaryCondition": {
"type": "string",
"maxLength": 1000
},
"lighting": {
"type": "string",
"maxLength": 1000
}
},
"required": []
}
},
"required": [
"kind",
"entityId",
"entityRevision",
"contentRevision",
"referenceRevision"
]
},
"minItems": 0,
"maxItems": 40
},
"removeBindingIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"minItems": 0,
"maxItems": 40
}
},
"required": [
"productionId",
"operationId",
"expectedVersion",
"sourceSnapshotRef",
"choices"
]
}