PhotographyChoicesDto
| Field | Required | Description |
|---|---|---|
captureIds | Yes | array |
expectedRevision | Yes | string |
notes | Yes | array |
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.
{
"additionalProperties": false,
"properties": {
"captureIds": {
"items": {
"format": "uuid",
"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"
},
"maxItems": 10000,
"type": "array"
},
"expectedRevision": {
"format": "uuid",
"nullable": true,
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"notes": {
"items": {
"additionalProperties": false,
"properties": {
"annotations": {
"items": {
"additionalProperties": false,
"properties": {
"height": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"text": {
"maxLength": 500,
"type": "string"
},
"width": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"x": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"y": {
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"x",
"y",
"width",
"height",
"text"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"captureId": {
"format": "uuid",
"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"
},
"text": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"captureId",
"text"
],
"type": "object"
},
"maxItems": 10000,
"type": "array"
}
},
"required": [
"captureIds",
"expectedRevision",
"notes"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.