PhotographyPublicSiteDto
| Field | Required | Description |
|---|---|---|
about | Yes | string |
brand | Yes | object |
contact | Yes | string |
enabled | Yes | boolean |
portfolio | Yes | array |
presentation | No | object |
services | Yes | string |
title | Yes | 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": {
"about": {
"maxLength": 10000,
"type": "string"
},
"brand": {
"properties": {
"background": {
"type": "string"
},
"color": {
"type": "string"
},
"email": {
"type": "string"
},
"font": {
"type": "string"
},
"logoUrl": {
"nullable": true,
"type": "string"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"tagline": {
"type": "string"
},
"textColor": {
"type": "string"
}
},
"required": [
"name",
"tagline",
"email",
"phone",
"color",
"background",
"textColor",
"font",
"logoUrl"
],
"type": "object"
},
"contact": {
"maxLength": 5000,
"type": "string"
},
"enabled": {
"type": "boolean"
},
"portfolio": {
"items": {
"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"
},
"shootId": {
"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"
},
"url": {
"type": "string"
}
},
"required": [
"shootId",
"captureId",
"url"
],
"type": "object"
},
"type": "array"
},
"presentation": {
"additionalProperties": false,
"default": {
"font": "editorial",
"layout": "editorial",
"palette": "studio",
"spacing": "comfortable"
},
"properties": {
"font": {
"enum": [
"editorial",
"modern",
"script"
],
"type": "string"
},
"layout": {
"enum": [
"editorial",
"grid",
"slideshow"
],
"type": "string"
},
"palette": {
"enum": [
"studio",
"ivory",
"charcoal"
],
"type": "string"
},
"spacing": {
"enum": [
"compact",
"comfortable",
"airy"
],
"type": "string"
}
},
"required": [
"layout",
"spacing",
"font",
"palette"
],
"type": "object"
},
"services": {
"maxLength": 10000,
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"about",
"brand",
"contact",
"enabled",
"portfolio",
"services",
"title"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.