{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/didomi/main/json-schema/didomi-consent-notice-schema.json", "title": "Didomi Consent Notice", "description": "Didomi consent notice resource as exposed by /v1/widgets/notices and its child configs / SDK-configs / deployments. A notice ties together a multi-regulation configuration, an SDK config, a deployment, and a set of texts / translations.", "type": "object", "required": ["organization_id", "name"], "properties": { "id": { "type": "string", "description": "Notice identifier." }, "organization_id": { "type": "string", "description": "Owning Didomi organization." }, "name": { "type": "string", "description": "Human-readable name of the notice." }, "config_id": { "type": "string", "description": "Multi-regulation configuration id (regulations, vendors, purposes)." }, "sdk_config_id": { "type": "string", "description": "SDK config id consumed by the Web / Mobile / CTV SDK." }, "deployment_id": { "type": "string", "description": "Active deployment id (publish target)." }, "platforms": { "type": "array", "items": { "type": "string", "enum": ["web", "ios", "android", "amp", "ctv", "react-native", "flutter", "unity", "vega-os"] } }, "regulations": { "type": "array", "description": "Regulations this notice is configured to serve.", "items": { "type": "string", "enum": ["gdpr", "ccpa", "vcdpa", "ctdpa", "cpa", "utah", "cdpa", "tcf", "gpp", "chilean-law-25", "australian-privacy"] } }, "languages": { "type": "array", "description": "ISO 639-1 language codes for which translated texts are available.", "items": { "type": "string" } }, "vendors": { "type": "object", "description": "Vendor selection for the notice.", "properties": { "iab_tcf": { "type": "array", "items": { "type": "integer" } }, "didomi": { "type": "array", "items": { "type": "string" } }, "custom": { "type": "array", "items": { "type": "string" } } } }, "purposes": { "type": "array", "description": "Didomi or IAB TCF purpose identifiers selected for the notice.", "items": { "type": "string" } }, "look_and_feel": { "type": "object", "description": "Theme and layout for the rendered consent UI.", "properties": { "theme": { "type": "string" }, "position": { "type": "string", "enum": ["popup", "bottom", "top"] }, "shape": { "type": "string", "enum": ["card", "fullscreen", "banner"] } } }, "status": { "type": "string", "enum": ["draft", "active", "archived"] }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } }