PhotographyOrderCreateDto
| Field | Required | Description |
|---|---|---|
bundleCount | No | integer |
captureIds | No | array |
expectedRevision | Yes | string |
outputs | No | array |
pricing | Yes | string |
recipientId | Yes | string |
roundId | No | string |
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": {
"bundleCount": {
"maximum": 10000,
"minimum": 1,
"type": "integer"
},
"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"
},
"outputs": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[a-z][a-z0-9-]{0,39}$",
"type": "string"
},
"kind": {
"enum": [
"print",
"web",
"social"
],
"type": "string"
},
"label": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxEdge": {
"maximum": 65535,
"minimum": 320,
"type": "integer"
},
"revisions": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"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"
},
"revisionId": {
"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"
}
},
"required": [
"captureId",
"revisionId"
],
"type": "object"
},
"maxItems": 10000,
"type": "array"
},
"watermark": {
"additionalProperties": false,
"nullable": true,
"properties": {
"alignment": {
"default": "center",
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"backing": {
"default": false,
"type": "boolean"
},
"color": {
"default": "#ffffff",
"pattern": "^#[\\da-fA-F]{6}$",
"type": "string"
},
"font": {
"default": "script",
"enum": [
"script",
"serif",
"sans"
],
"type": "string"
},
"logoAssetId": {
"default": null,
"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"
},
"logoPosition": {
"default": "above",
"enum": [
"above",
"below",
"left",
"right"
],
"type": "string"
},
"logoScale": {
"default": 1,
"maximum": 4,
"minimum": 0.25,
"type": "number"
},
"logoVariant": {
"default": "original",
"enum": [
"original",
"light",
"dark"
],
"type": "string"
},
"margin": {
"default": 4,
"maximum": 25,
"minimum": 0,
"type": "number"
},
"opacity": {
"default": 45,
"maximum": 100,
"minimum": 1,
"type": "number"
},
"outline": {
"default": false,
"type": "boolean"
},
"pattern": {
"default": "signature",
"enum": [
"signature",
"centre",
"diagonal",
"tile"
],
"type": "string"
},
"position": {
"default": "bottom-right",
"enum": [
"top-left",
"top-right",
"bottom-left",
"bottom-right",
"center"
],
"type": "string"
},
"rotation": {
"default": 0,
"maximum": 180,
"minimum": -180,
"type": "number"
},
"secondLine": {
"default": "",
"maxLength": 200,
"type": "string"
},
"size": {
"default": 6,
"maximum": 30,
"minimum": 1,
"type": "number"
},
"spacing": {
"default": 6,
"maximum": 100,
"minimum": 0,
"type": "number"
},
"text": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"type": {
"default": "text",
"enum": [
"text",
"logo",
"both"
],
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
}
},
"required": [
"key",
"label",
"kind",
"maxEdge",
"watermark"
],
"type": "object"
},
"maxItems": 6,
"minItems": 1,
"type": "array"
},
"pricing": {
"enum": [
"package",
"collection",
"bundle"
],
"type": "string"
},
"recipientId": {
"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"
},
"roundId": {
"default": null,
"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": [
"expectedRevision",
"pricing",
"recipientId"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.