Didomi · Schema

Didomi Consent Notice

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.

AdvertisingAdTechCCPACMPConsentConsent ManagementDSARData PrivacyGDPRIAB TCFMarTechPreference ManagementPrivacyPrivacy RequestsRegulatory Compliance

Properties

Name Type Description
id string Notice identifier.
organization_id string Owning Didomi organization.
name string Human-readable name of the notice.
config_id string Multi-regulation configuration id (regulations, vendors, purposes).
sdk_config_id string SDK config id consumed by the Web / Mobile / CTV SDK.
deployment_id string Active deployment id (publish target).
platforms array
regulations array Regulations this notice is configured to serve.
languages array ISO 639-1 language codes for which translated texts are available.
vendors object Vendor selection for the notice.
purposes array Didomi or IAB TCF purpose identifiers selected for the notice.
look_and_feel object Theme and layout for the rendered consent UI.
status string
created_at string
updated_at string
View JSON Schema on GitHub

JSON Schema

didomi-consent-notice-schema.json Raw ↑
{
  "$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" }
  }
}