openapi: 3.0.2
info:
title: Didomi consents/events notices API
description: 'A REST API to communicate with the Didomi platform (https://api.didomi.io/v1/)
This is the complete specification of the API. A complete guide to authenticating and using the API is available on our Developers Portal.
All HTTP calls to the API require a valid JWT token. The token must be provided in an **Authorization** header with the value "Bearer ".
Click on the Authorize button in the header of this page to provide a token before testing requests from this documentation.
'
version: '1.0'
servers:
- url: https://api.didomi.io/v1
description: Didomi Platform API
security:
- bearer: []
tags:
- name: notices
paths:
/widgets/notices/texts:
get:
parameters: []
responses:
'200':
description: A list of NoticeText objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/notices-text'
description: Returns a list of notice texts
summary: Retrieve a list of notice texts
tags:
- notices
security:
- bearer: []
post:
parameters:
- name: notices-text
in: body
description: The notice text object to create
required: true
schema:
$ref: '#/components/schemas/notices-text-input'
responses:
'200':
description: The created NoticeText object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text'
description: Create a new notice text for an organization
summary: Create a notice text
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/texts/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the notice text to retrieve
required: true
schema:
type: string
responses:
'200':
description: A NoticeText object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text'
description: Returns a single notice text
summary: Retrieve a notice text
tags:
- notices
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the notice text to update
required: true
schema:
type: string
- name: notices-text
in: body
description: The new notice text to update
required: true
schema:
$ref: '#/components/schemas/notices-text-input'
responses:
'200':
description: The updated NoticeText object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text'
description: Update an existing notice text
summary: Update a notice text
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
patch:
parameters:
- name: id
in: path
description: The ID of the notice text to patch
required: true
schema:
type: string
- name: notices-text
in: body
description: The properties to replace on the notice text object
required: true
schema:
$ref: '#/components/schemas/notices-text-input'
responses:
'200':
description: The patched NoticeText object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text'
description: Partially update a notice text
summary: Patch a notice text
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/texts-contents:
get:
parameters: []
responses:
'200':
description: A list of NoticeTextContent objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/notices-text-content'
description: Returns a list of notice text contents
summary: Retrieve a list of notice text contents
tags:
- notices
security:
- bearer: []
post:
parameters:
- name: notices-text-content
in: body
description: The notice text content object to create
required: true
schema:
$ref: '#/components/schemas/notices-text-content-input'
responses:
'200':
description: The created NoticeTextContent object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text-content'
description: Create a new notice text content for an organization. A content version will be automatically assigned and the content will need to go through the approval process from the Didomi team before it can be used in a notice. If there is already an approved content for a given notice text, it remains available for notices until the new version of the content get approved.
summary: Create a notice text content
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/texts-contents/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the notice text content to retrieve
required: true
schema:
type: string
responses:
'200':
description: A NoticeTextContent object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text-content'
description: Returns a single notice text content
summary: Retrieve a notice text content
tags:
- notices
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the notice text content to update
required: true
schema:
type: string
- name: notices-text-content
in: body
description: The new notice text content to update
required: true
schema:
$ref: '#/components/schemas/notices-text-content-input'
responses:
'200':
description: The updated NoticeTextContent object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text-content'
description: Update an existing notice text content. Text contents cannot be modified once their status is "approved". If you want to update an approved text content, create a new content for the same text and get it approved again by the Didomi team.
summary: Update a notice text content
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
patch:
parameters:
- name: id
in: path
description: The ID of the notice text content to patch
required: true
schema:
type: string
- name: notices-text-content
in: body
description: The properties to replace on the notice text content object
required: true
schema:
$ref: '#/components/schemas/notices-text-content-input'
responses:
'200':
description: The patched NoticeTextContent object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text-content'
description: Partially update an existing notice text content. Text contents cannot be modified once their status is "approved". If you want to update an approved text content, create a new content for the same text and get it approved again by the Didomi team.
summary: Patch a notice text content
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
delete:
parameters:
- name: id
in: path
description: The ID of the notice text content to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted NoticeTextContent object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-text-content'
description: Delete an existing notice text content. Text contents cannot be deleted once their status is "approved". If you want to update an approved text content, create a new content for the same text and get it approved again by the Didomi team.
summary: Delete a notice text content
tags:
- notices
security:
- bearer: []
/widgets/notices/generators/sdk:
post:
parameters:
- name: config
in: body
description: The notice configuration object to transform
required: true
schema:
$ref: '#/components/schemas/sdk-configs-input'
responses:
'200':
description: The generated SDK configuration
content:
application/json:
schema:
$ref: '#/components/schemas/sdk-configs'
description: Generate a SDK configuration from a notice configuration
summary: Generate a SDK configuration
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/generators/configs:
post:
parameters:
- name: config
in: body
description: The SDK configuration object to transform
required: true
schema:
$ref: '#/components/schemas/notice-configs-input'
responses:
'200':
description: The generated notice configuration
content:
application/json:
schema:
$ref: '#/components/schemas/notice-configs'
description: Generate a Notice configuration from a SDK configuration
summary: Generate a Notice configuration
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/templates/configs:
get:
parameters:
- name: $limit
in: query
required: false
schema:
type: number
default: 0
minimum: 0
- name: $skip
in: query
required: false
schema:
type: number
default: 10
minimum: 0
responses:
'200':
description: A NoticeTemplateConfig object
content:
application/json:
schema:
type: object
description: A paginated list of notice template configuration objects
properties:
total:
type: number
description: The total number of template configurations
limit:
type: number
description: The maximum number of template configurations returned
skip:
type: number
description: Number of template configurations skipped
data:
type: array
items:
$ref: '#/components/schemas/notices-templates-configs'
description: Returns a list of notice template configurations
summary: Retrieve a list of notice template configurations
tags:
- notices
security:
- bearer: []
/widgets/notices/templates/configs/{id}:
get:
parameters:
- name: template_id
in: path
description: The ID of the notice template to retrieve configuration
required: false
schema:
type: string
- name: $limit
in: query
required: false
schema:
type: number
default: 0
minimum: 0
- name: $skip
in: query
required: false
schema:
type: number
default: 10
minimum: 0
responses:
'200':
description: A NoticeTemplateConfig object
content:
application/json:
schema:
type: object
description: A paginated list of notice template configuration objects
properties:
total:
type: number
description: The total number of template configurations
limit:
type: number
description: The maximum number of template configurations returned
skip:
type: number
description: Number of template configurations skipped
data:
type: array
items:
$ref: '#/components/schemas/notices-templates-configs'
description: Returns a single notice template configuration
summary: Retrieve a notice template configuration
tags:
- notices
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the notice template configuration to update
required: true
schema:
type: string
- name: notice-template-config
in: body
description: The new notice template configuration to update
required: true
schema:
$ref: '#/components/schemas/notices-templates-configs-input'
responses:
'200':
description: The updated NoticeTemplateConfig object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-templates-configs'
description: Update an existing notice template configuration.
summary: Update a notice template configuration
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
patch:
parameters:
- name: id
in: path
description: The ID of the notice template configuration to patch
required: true
schema:
type: string
- name: notice-template
in: body
description: The properties to replace on the notice template configuration object
required: true
schema:
$ref: '#/components/schemas/notices-templates-configs'
responses:
'200':
description: The patched NoticeTemplateConfig object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-templates-configs'
description: Partially update an existing notice template configuration.
summary: Patch a notice template configuration
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
delete:
parameters:
- in: path
name: id
description: ID of notices to remove
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Removes the resource with id.
summary: ''
tags:
- notices
security: []
/widgets/notices/templates:
get:
parameters:
- name: $limit
in: query
required: false
schema:
type: number
default: 0
minimum: 0
- name: $skip
in: query
required: false
schema:
type: number
default: 10
minimum: 0
responses:
'200':
description: A NoticeTemplate object
content:
application/json:
schema:
type: object
description: A paginated list of notices templates objects
properties:
total:
type: number
description: The total number of templates
limit:
type: number
description: The maximum number of templates returned
skip:
type: number
description: Number of templates skipped
data:
type: array
items:
$ref: '#/components/schemas/notices-templates'
description: Returns a list of notices templates
summary: Retrieve a list of notices templates
tags:
- notices
security:
- bearer: []
post:
parameters:
- name: notice-template
in: body
description: The notice template name to create
required: true
schema:
$ref: '#/components/schemas/notices-templates-input'
responses:
'200':
description: The created NoticeTemplate object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-templates'
description: Create a new notice template for an organization.
summary: Create a notice template
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/templates/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the notice template to retrieve
required: false
schema:
type: string
- name: $limit
in: query
required: false
schema:
type: number
default: 0
minimum: 0
- name: $skip
in: query
required: false
schema:
type: number
default: 10
minimum: 0
responses:
'200':
description: A NoticeTemplate object
content:
application/json:
schema:
type: object
description: A paginated list of notices templates objects
properties:
total:
type: number
description: The total number of templates
limit:
type: number
description: The maximum number of templates returned
skip:
type: number
description: Number of templates skipped
data:
type: array
items:
$ref: '#/components/schemas/notices-templates'
description: Returns a single notice template
summary: Retrieve a notice template
tags:
- notices
security:
- bearer: []
put:
parameters:
- in: path
name: id
description: ID of notices to update
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Updates the resource identified by id using data.
summary: ''
tags:
- notices
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
patch:
parameters:
- name: id
in: path
description: The ID of the notice template to patch
required: true
schema:
type: string
- name: notice-template
in: body
description: The properties to replace on the notice template object
required: true
schema:
$ref: '#/components/schemas/notices-templates-input'
responses:
'200':
description: The patched NoticeTemplate object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-templates'
description: Partially update an existing notice template.
summary: Patch a notice template, and associate notice template with notices
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
delete:
parameters:
- name: id
in: path
description: The ID of the notice template to patch
required: true
schema:
type: string
responses:
'200':
description: The removed NoticeTemplate object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-templates'
description: Removes the notice template.
summary: Removes the notice template, and associated notice template config
tags:
- notices
security:
- bearer: []
/widgets/notices/deployments:
get:
parameters: []
responses:
'200':
description: A list of NoticeDeployment objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/notices-deployments'
description: Returns a list of deployments
summary: Retrieve a list of deployments
tags:
- notices
security:
- bearer: []
post:
parameters:
- name: notice
in: body
description: The deployment object to create
required: true
schema:
$ref: '#/components/schemas/notices-deployments-input'
responses:
'200':
description: The created NoticeDeployment object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-deployments'
description: Create a new deployment for an organization
summary: Create a deployment
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/deployments/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the deployment to retrieve
required: true
schema:
type: string
responses:
'200':
description: A NoticeDeployment object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-deployments'
description: Returns a single deployment
summary: Retrieve a deployment
tags:
- notices
security:
- bearer: []
/widgets/notices/configs:
get:
parameters:
- name: download
in: query
description: Flag to indicate the response should be returned as an attachment (interpreted as true if present regardless of value). Responds with a CSV extract of the items or Not Found if no items match the query.
required: false
allowEmptyValue: true
type: string
- name: v
in: header
description: 'Header to indicate Notice-Config API version. 1: Legacy. 2: Multi-Regulation'
required: false
allowEmptyValue: false
schema:
type: string
enum:
- '1'
- '2'
default: '1'
responses:
'200':
description: A list of NoticeConfig objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/notices-config'
description: Returns a list of configurations
summary: Retrieve a list of configurations
tags:
- notices
security:
- bearer: []
/widgets/notices/configs/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the notice configuration to retrieve
required: true
schema:
type: string
- name: download
in: query
description: Flag to indicate the response should be returned as an attachment (interpreted as true if present regardless of value)
required: false
allowEmptyValue: true
type: string
- name: v
in: header
description: 'Header to indicate Notice-Config API version. 1: Legacy. 2: Multi-Regulation'
required: false
allowEmptyValue: false
schema:
type: string
enum:
- '1'
- '2'
default: '1'
responses:
'200':
description: A NoticeConfig object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-config'
description: Returns a single notice configuration
summary: Retrieve a notice configuration
tags:
- notices
security:
- bearer: []
patch:
parameters:
- name: id
in: path
description: The ID of the notice configuration to patch
required: true
schema:
type: string
- name: notices-config
in: body
description: The properties to replace on the notice configuration object
required: true
schema:
$ref: '#/components/schemas/notices-config-input'
- name: v
in: header
description: 'Header to indicate Notice-Config API version. 1: Legacy. 2: Multi-Regulation'
required: false
allowEmptyValue: false
schema:
type: string
enum:
- '1'
- '2'
default: '1'
responses:
'200':
description: The patched NoticeConfig object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-config'
description: Partially update a notice configuration
summary: Patch a notice configuration
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/sdk-configs:
get:
parameters: []
responses:
'200':
description: A list of SDK Configs objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/notices-sdk-config'
description: Returns a list of SDK configurations
summary: Retrieve a list of SDK configurations
tags:
- notices
security:
- bearer: []
/widgets/notices/sdk-configs/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the SDK configuration to retrieve
required: true
schema:
type: string
responses:
'200':
description: A SDK config object
content:
application/json:
schema:
$ref: '#/components/schemas/notices-sdk-config'
description: Returns a single SDK configuration
summary: Retrieve a SDK configuration
tags:
- notices
security:
- bearer: []
/widgets/notices:
get:
parameters: []
responses:
'200':
description: A list of Notice objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/notices'
description: Returns a list of notices
summary: Retrieve a list of notices
tags:
- notices
security:
- bearer: []
post:
parameters:
- name: duplicate
in: query
description: The ID of the notice you want to duplicate
required: false
schema:
type: string
- name: notice
in: body
description: The Notice object to create
required: true
schema:
$ref: '#/components/schemas/notices-input'
responses:
'200':
description: The created Notice object
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
description: Create a new notice for an organization
summary: Create a notice
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
/widgets/notices/{id}:
get:
parameters:
- name: id
in: path
description: ID of the notice to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Notice object
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
description: Returns a single notice
summary: Retrieve a notice
tags:
- notices
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the notice to update
required: true
schema:
type: string
- name: notices
in: body
description: The new notice to update
required: true
schema:
$ref: '#/components/schemas/notices-input'
responses:
'200':
description: The updated Notice object
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
description: Update an existing notice
summary: Update a notice
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
patch:
parameters:
- name: id
in: path
description: The ID of the notice to patch
required: true
schema:
type: string
- name: notices
in: body
description: The properties to replace on the notice object
required: true
schema:
$ref: '#/components/schemas/notices-input'
responses:
'200':
description: The patched Notice object
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
description: Partially update a notice
summary: Patch a notice
tags:
- notices
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
delete:
parameters:
- name: id
in: path
description: The ID of the notice to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Notice object
content:
application/json:
schema:
$ref: '#/components/schemas/notices'
description: Delete an existing notice
summary: Delete a notice
tags:
- notices
security:
- bearer: []
components:
schemas:
notices-templates-input:
type: object
title: NoticeTemplateInput
description: A template defines common configuration shared across multiple consent notices
properties:
name:
type: string
description: Name of the notice template
notices_id:
type: array
description: List
items:
type: string
notices-input:
title: NoticeInput
type: object
properties:
organization_id:
type: string
description: ID of the organization that owns the notice
name:
type: string
description: Internal name of the notice ; this is only used for you to distinguish between the different notices in your account
archived_at:
type: string
description: Archival date of the notice
format: date-time
privacy_experience_id:
type: string
description: ID of the linked privacy experience
environment:
type: string
description: Deployment environment for the notice
external_source:
type: string
description: Source system for imported notices
external_id:
type: string
description: Original ID from the external source system
required:
- organization_id
- name
notices-templates-configs:
type: object
title: NoticeTemplateConfig
description: A template config defines a notice configuration associated with a template
properties:
id:
type: string
description: The ID of the notice template config
template_id:
type: string
description: The ID of the template that this template configuration belongs to
config:
type: object
description: Notice configuration
properties:
app:
type: object
description: Application configuration section
properties:
essentialPurposes:
type: array
description: List of IDs of purposes to mark as essential (https://developers.didomi.io/cmp/web-sdk/consent-notice/vendors-and-purposes#essential-purposes)
items:
type: string
description: ID of a custom purpose
vendors:
type: object
description: Vendors and purposes configuration (https://developers.didomi.io/cmp/web-sdk/consent-notice/vendors-and-purposes)
properties:
include:
type: array
description: Vendor IDs to include in the notice
items:
type: string
description: ID of the vendor
iab:
type: object
description: IAB configuration
properties:
all:
type: boolean
description: Include all vendors from the IAB list
include:
type: array
description: Custom list of IAB vendors to include
items:
type: number
description: ID of the vendor
exclude:
type: array
description: Vendors IDs to exclude
items:
type: number
description: Vendors to be excluded if 'all' is set to 'true'
enabled:
type: boolean
description: Whether the TCF integration is enabled or not
version:
type: integer
minimum: 1
maximum: 2
description: IAB TCF Version
restrictions:
type: array
description: IAB TCF restrictions to apply to vendors and purposes (https://developers.didomi.io/cmp/web-sdk/consent-notice/vendors-and-purposes#publisher-restrictions-iab-tcf)
items:
type: object
description: Publisher restrictions configuration
properties:
id:
type: string
description: Unique identifier for the specified publisher restriction
purposeId:
type: array
description: IAB purpose IDs
items:
type: string
restrictionType:
type: string
enum:
- allow
- disallow
- req-consent
- req-li
description: Type of the restriction
vendors:
type: object
description: Vendors that the restriction applies to
properties:
restrictionType:
type: string
enum:
- list
- all
description: Type of the list of vendors (either a specific list or all vendors)
purposeId:
type: array
description: List of vendor IDs that the restriction applies to if `type` is `list`
items:
type: string
stacks:
type: object
description: Configuration used to override stacks configuration (https://developers.didomi.io/cmp/web-sdk/consent-notice/vendors-and-purposes#stacks-iab-tcf)
properties:
auto:
type: boolean
description: Automatic configuration
ids:
type: array
description: IDs of the Stack
items:
type: string
preferences:
type: object
description: Preferences (Purposes and Vendors)
properties:
categories:
type: array
description: Purposes and categories
properties:
children:
type: array
description: The children purposes
properties:
purposeId:
type: string
description: ID of the purpose
type:
type: string
description: Whether it is a category or a purpose
enum:
- purpose
description:
type: object
description: Category description
items:
$ref: '#/components/schemas/notices-templates-translatable-string'
expanded:
type: boolean
description: Whether the category is expanded by default in the list of purposes
id:
type: string
description: ID of the category
name:
type: object
description: Category name
items:
$ref: '#/components/schemas/notices-templates-translatable-string'
type:
type: string
description: Whether it is a category or a purpose
enum:
- category
regulation_settings:
type: object
description: Field to store regulation settings for the template
properties:
privacySignals:
type: array
description: List of privacy signals
items:
type: object
properties:
namespaces:
type: object
description: Namespaces
section:
type: string
description: Section
purposes:
type: array
description: List of purposes
items:
type: string
description: Purpose ID
organization_id:
type: string
description: The ID of the organization that this template configuration belongs to
version:
type: number
description: Current version of the template configuration
created_at:
type: string
description: Creation date of the template configuration
format: date-time
updated_at:
type: string
description: Last update date of the template configuration
format: date-time
required:
- id
- template_id
- config
notices-templates-configs-input:
type: object
title: NoticeTemplateConfigInput
description: A template config defines a notice configuration associated with a template
properties:
template_id:
type: string
description: The ID of the template that this template configuration belongs to
config:
type: object
description: Configuration of the template
required:
- template_id
- config
notices-text-content:
type: object
title: NoticeTextContent
description: The actual content of a notice text (the text itself, approval status, etc.).
properties:
id:
type: string
description: The ID of the content
content:
type: string
description: Text content
status:
type: string
description: 'Approval status of the content: submitted, approved, or rejected. This is set by the Didomi team after reviewing the content and whether it follows the TCF policies.'
includes_purposes:
type: boolean
description: Whether the content includes a complete list of purposes
content_version:
type: integer
description: Version of the content for the notice text. The content version is automatically assigned when creating new content.
organization_id:
type: string
description: The ID of the organization that owns this text
text_id:
type: string
description: Notice text ID that this content applies to
created_at:
type: string
description: Creation date of the content
format: date-time
updated_at:
type: string
description: Last update date of the content
format: date-time
version:
type: number
description: Revision number of the content
required:
- id
- content
- status
- includes_purposes
- content_version
- organization_id
- text_id
- created_at
- updated_at
- version
notices-templates:
type: object
title: NoticeTemplate
description: A template defines common configuration shared across multiple consent notices
properties:
id:
type: string
description: The ID of the notice template
name:
type: string
description: Name of the notice template
organization_id:
type: string
description: The ID of the organization that the template
version:
type: number
description: Current version of the template
notices_id:
type: array
description: Notice IDs associated with this template
items:
type: string
created_at:
type: string
description: Creation date of the template
format: date-time
updated_at:
type: string
description: Last update date of the template
format: date-time
required:
- id
- name
- created_at
notices-text-input:
title: NoticeTextInput
type: object
description: Texts that can be used in notices for consent collection on various platforms (web, mobile, etc.). The actual content of a text (the text itself, approval status, etc.) is managed and versioned through the /widgets/notices/texts-contents service.
properties:
organization_id:
type: string
description: The ID of the organization that owns this text
name:
type: string
description: The name of the text. This is used for easily distinguishing between multiple texts and is not displayed to end users for consent collection.
platforms:
type: array
description: List of platforms that the content can be used on
items:
type: string
description: ID of a platform (web, amp, app or ctv)
default:
type: boolean
description: Whether the text is the default text for the organization and the platform(s)
required:
- organization_id
- name
notices-config-input:
title: NoticeConfigInput
type: object
properties:
id:
type: string
description: ID of the configuration
organization_id:
type: string
description: ID of the organization that owns this configuration
notice_id:
type: string
description: ID of the notice that this configuration belongs to
custom_json:
type: object
description: Custom JSON that will be merged into the final configuration
config:
type: object
description: Configuration of the notice
platform:
type: string
description: Platform (web, amp, mobile or television) that this notice is running on
default:
type: boolean
description: Whether the notice should be used when no other notice is available and matching the target. If `default` is set to true, `targets` must be empty.
targets:
type: array
items:
type: string
description: Domains or mobile app IDs that this notice should apply to. * can be used for glob matching.
full_atp:
type: boolean
description: Whether the notice uses the ATP vendors selected by Didomi (false) or if it uses the client's ATP vendor selection (true)
text_mode:
type: string
description: 'Whether the notice is using a custom or an approved text. Possible values: approved, custom.'
text_id:
type: string
description: ID of an approved notice text if this notice is configured for using an approved text in "text_mode"
template_id:
type: string
description: The ID of the notice template associated with this notice. "null" if this notice does not use configuration from a template.
enable_ignore_consent_before:
type: boolean
description: Whether the consent must be recollected after a certain date.
ignore_consent_before:
type: string
description: The date after which consent must be recollected if "enable_ignore_consent_before" is set to true.
negative_action:
type: string
enum:
- button
- link
description: 'What negative action should be displayed in the notice: Disagree to all ("button"), Continue without agreeing ("link") or no negative action (null)'
disagree_button_style:
type: string
enum:
- primary
- secondary
description: The style of the Disagree button
country:
type: string
description: The country that the consent notice belongs to (two letter ISO code)
notice_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user disagrees in the notice
preferences_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user clicks on "Disagree to all" in the Preferences
consent_duration:
type: number
description: The duration that applies to collected consent. Consent is recollected after the expiration of the duration
consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the consent duration
denied_consent_duration:
type: number
description: The duration that applies to fully negative consent. Consent is recollected after the expiration of the duration
denied_consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the denied consent duration
denied_consent_duration_custom:
type: boolean
description: Whether the duration for denied consent is different from the generic
gcm_enabled:
type: boolean
description: Whether Google consent mode is enabled
gcm_tcf_enabled:
type: boolean
description: Whether the Google consent mode TCF integration is enabled
gcm_set_default_status:
type: boolean
description: Whether to set the default status for analytics and ads
gcm_data_layer_name:
type: string
description: Data layer name for Google consent mode
gcm_analytics_default_status:
type: boolean
description: Default status for analytics in Google Consent Mode
gcm_ads_default_status:
type: boolean
description: Default status for ads in Google Consent Mode
gcm_functionality_default_status:
type: boolean
description: Default status for functionality of the website e.g. language settings in Google Consent Mode
gcm_personalization_default_status:
type: boolean
description: Default status for personalization in Google Consent Mode
gcm_security_default_status:
type: boolean
description: Default status for security in Google Consent Mode
gcm_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Google Consent Mode
gcm_ad_personalization_default_status:
type: boolean
description: Default status for ad personalization in Google Consent Mode
microsoft_enabled:
type: boolean
description: Whether Microsoft consent mode is enabled
microsoft_set_default_status:
type: boolean
description: Whether to set the default status for ads
microsoft_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Microsoft Consent Mode
microsoft_enable_tcf_advertiser_consent_mode:
type: boolean
description: Whether to enable TCF advertiser consent mode in Microsoft Consent Mode
amazon_enabled:
type: boolean
description: Whether Amazon consent mode is enabled
amazon_set_default_status:
type: boolean
description: Whether to set the default status for ads/user data in Amazon Consent Mode
amazon_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Amazon Consent Mode
amazon_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Amazon Consent Mode
wordpress_enabled:
type: boolean
description: Whether WordPress consent mode is enabled
gcm_firebase_enabled:
type: boolean
description: Whether Firebase SDK is enabled for GCM third-party SDKs
gcm_airbridge_enabled:
type: boolean
description: Whether Airbridge SDK is enabled for GCM third-party SDKs
gcm_kochava_enabled:
type: boolean
description: Whether Kochava SDK is enabled for GCM third-party SDKs
gcm_branch_enabled:
type: boolean
description: Whether Branch SDK is enabled for GCM third-party SDKs
gcm_appsflyer_enabled:
type: boolean
description: Whether AppsFlyer SDK is enabled for GCM third-party SDKs
ctv_focus_on_agree_and_close:
type: boolean
description: Whether the consent notice initial focus is on the Agree and Close button
secure_cookies:
type: boolean
description: Whether SDKs should create secure cookies on HTTPS websites
regulation_configurations:
type: array
items:
$ref: '#/components/schemas/notices-regulation-config-input'
notice_disabled:
type: boolean
description: Whether the notice is disabled
consent_string_partners_encoding:
type: string
description: 'The encoding selected for the partners section in the didomi consent string: One of "bit_field_2_bits", "ranges_u16", "ranges_fibonacci"'
consent_string_purposes_encoding:
type: string
description: 'The encoding selected for the purposes section in the didomi consent string: One of "bit_field_2_bits", "ranges_u16", "ranges_fibonacci"'
enable_web_view:
type: boolean
description: Whether the web view is enabled
notice_active_elements_order:
type: object
description: The order of active elements in the notice
dismiss_button_enabled:
type: boolean
description: Whether the dismiss button (Agree & Close) is enabled
preferences_title_enabled:
type: boolean
description: Whether the title is enabled in the preferences view
preferences_cross_button_enabled:
type: boolean
description: Whether the cross button (top right) is enabled in the preferences view
preferences_view_all_partners_button_enabled:
type: boolean
description: Whether the view all partners button is enabled in the preferences view
preferences_active_elements_order:
type: object
description: The order of active elements (buttons) in the preferences view
sdk_version:
type: string
description: The SDK version that the notice config is for
required:
- organization_id
- notice_id
notice-configs-input:
title: NoticeConfigInput
type: object
properties:
organization_id:
type: string
description: ID of the organization to generate the notice configuration for
config:
type: object
description: SDK Configuration of the notice
required:
- organization_id
- config
notices-text-content-input:
type: object
title: NoticeTextContentInput
description: The actual content of a notice text (the text itself, approval status, etc.).
properties:
content:
type: string
description: Text content
includes_purposes:
type: boolean
description: Whether the content includes a complete list of purposes
organization_id:
type: string
description: The ID of the organization that owns this text
text_id:
type: string
description: Notice text ID that this content applies to
required:
- content
- organization_id
- text_id
notices-config:
type: object
title: NoticeConfig
description: Configuration (purposes and vendors, theme, format, etc.) of a consent notice
properties:
id:
type: string
description: The ID of the configuration
organization_id:
type: string
description: The ID of the organization that owns this configuration
notice_id:
type: string
description: The ID of the notice that this configuration belongs to
platform:
type: string
description: Platform (web, amp, mobile, or television) that this notice is running on
default:
type: boolean
description: Whether the notice should be used when no other notice is available and matching the target. If `default` is set to true, `targets` must be empty.
targets:
type: array
items:
type: string
description: Domains or mobile app IDs that this notice should apply to. * can be used for glob matching.
custom_json:
type: object
description: Custom JSON that will be merged into the final SDK configuration for GDPR
config:
type: object
description: Configuration of the notice
full_atp:
type: boolean
description: Whether the notice uses the ATP vendors selected by Didomi (false) or if it uses the client's ATP vendor selection (true)
text_mode:
type: string
description: 'Whether the notice is using a custom or an approved text. Possible values: approved, custom.'
text_id:
type: string
description: ID of an approved notice text if this notice is configured for using an approved text in "text_mode"
template_id:
type: string
description: The ID of the notice template associated with this notice. "null" if this notice does not use configuration from a template.
enable_ignore_consent_before:
type: boolean
description: Whether the consent must be recollected after a certain date.
ignore_consent_before:
type: string
description: The date after which consent must be recollected if "enable_ignore_consent_before" is set to true.
negative_action:
type: string
enum:
- button
- link
description: 'What negative action should be displayed in the notice: Disagree to all ("button"), Continue without agreeing ("link") or no negative action (null)'
negative_action_link:
type: boolean
description: Whether negative action should be a link or not.
negative_action_link_format:
type: string
enum:
- text
- cross
description: 'What format of negative action link should be displayed in the notice: Link with te text Continue without agreeing or link with the X icon.'
negative_action_button:
type: boolean
description: Whether negative action should be a button or not.
disagree_button_style:
type: string
enum:
- primary
- secondary
description: The style of the Disagree button
country:
type: string
description: The country that the consent notice belongs to (two letter ISO code)
notice_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user disagrees in the notice
preferences_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user clicks on "Disagree to all" in the Preferences
consent_duration:
type: number
description: The duration that applies to collected consent. Consent is recollected after the expiration of the duration
consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the consent duration
denied_consent_duration:
type: number
description: The duration that applies to fully negative consent. Consent is recollected after the expiration of the duration
denied_consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the denied consent duration
denied_consent_duration_custom:
type: boolean
description: Whether the duration for denied consent is different from the generic
cross_device_enabled:
type: boolean
description: Whether the cross device feature is enabled
cross_device_timeout:
type: number
description: The timeout that applies to sync with consent notice
gcm_enabled:
type: boolean
description: Whether Google consent mode is enabled
gcm_tcf_enabled:
type: boolean
description: Whether the Google consent mode TCF integration is enabled
gcm_set_default_status:
type: boolean
description: Whether to set the default status for analytics and ads
gcm_data_layer_name:
type: string
description: Data layer name for Google consent mode
gcm_analytics_default_status:
type: boolean
description: Default status for analytics in Google Consent Mode
gcm_ads_default_status:
type: boolean
description: Default status for ads in Google Consent Mode
gcm_functionality_default_status:
type: boolean
description: Default status for functionality of the website e.g. language settings in Google Consent Mode
gcm_personalization_default_status:
type: boolean
description: Default status for personalization in Google Consent Mode
gcm_security_default_status:
type: boolean
description: Default status for security in Google Consent Mode
gcm_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Google Consent Mode
gcm_ad_personalization_default_status:
type: boolean
description: Default status for ad personalization in Google Consent Mode
microsoft_enabled:
type: boolean
description: Whether Microsoft consent mode is enabled
microsoft_set_default_status:
type: boolean
description: Whether to set the default status for ad storage in Microsoft Consent Mode
microsoft_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Microsoft Consent Mode
microsoft_enable_tcf_advertiser_consent_mode:
type: boolean
description: Whether to enable TCF advertiser consent mode in Microsoft Consent Mode
amazon_enabled:
type: boolean
description: Whether Amazon consent mode is enabled
amazon_set_default_status:
type: boolean
description: Whether to set the default status for ads/user data in Amazon Consent Mode
amazon_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Amazon Consent Mode
amazon_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Amazon Consent Mode
wordpress_enabled:
type: boolean
description: Whether WordPress consent mode is enabled
gcm_firebase_enabled:
type: boolean
description: Whether Firebase SDK is enabled for GCM third-party SDKs
gcm_airbridge_enabled:
type: boolean
description: Whether Airbridge SDK is enabled for GCM third-party SDKs
gcm_kochava_enabled:
type: boolean
description: Whether Kochava SDK is enabled for GCM third-party SDKs
gcm_branch_enabled:
type: boolean
description: Whether Branch SDK is enabled for GCM third-party SDKs
gcm_appsflyer_enabled:
type: boolean
description: Whether AppsFlyer SDK is enabled for GCM third-party SDKs
ctv_focus_on_agree_and_close:
type: boolean
description: Whether the consent notice initial focus is on the Agree and Close button
secure_cookies:
type: boolean
description: Whether SDKs should create secure cookies on HTTPS websites
gpp_enabled:
type: boolean
description: Whether GPP is enabled
gpp_mspa_signatory:
type: boolean
description: Whether GPP MSPA signatory is enabled
gpp_mspa_mode:
enum:
- service_provider
- opt_out
description: GPP MSPA mode (service provider or opt out)
gpp_mspa_generate_usnat_string:
type: boolean
description: Whether to generate the US national string when MSPA is enabled
deployed_at:
type: string
description: Date of deployment of this configuration
deployed_by:
type: string
description: The ID of the user that deployed this configuration
deployed_by_type:
type: string
description: The type of an ID (deployed_by) that deployed the notice
deployed_by_name:
type: string
description: The name of the user that deployed this configuration
deployed_metadata:
type: object
properties:
all_iab_enabled:
type: boolean
description: Indicates whether all IAB vendors are selected
iab_vendor_count:
type: number
description: Count of custom-included IAB vendors (0 if all IAB vendors are selected)
custom_vendor_count:
type: string
description: Count of non-IAB vendors
iab_purpose_count:
type: object
description: Count of IAB purposes used by the selected vendors
custom_purpose_count:
type: object
description: Count of non-IAB purposes used by the selected vendors
regulation_configurations:
type: array
items:
$ref: '#/components/schemas/notices-regulations-config'
created_at:
type: string
description: Creation date of the configuration
format: date-time
updated_at:
type: string
description: Last update date of the configuration
format: date-time
version:
type: number
description: Revision number of the configuration
notice_disabled:
type: boolean
description: Whether the notice is disabled
consent_string_partners_encoding:
type: string
description: 'The encoding selected for the partners section in the didomi consent string: One of "bit_field_2_bits", "ranges_u16", "ranges_fibonacci"'
consent_string_purposes_encoding:
type: string
description: 'The encoding selected for the purposes section in the didomi consent string: One of "bit_field_2_bits", "ranges_u16", "ranges_fibonacci"'
enable_web_view:
type: boolean
description: Whether the web view is enabled
notice_active_elements_order:
type: object
description: The order of active elements in the notice
dismiss_button_enabled:
type: boolean
description: Whether the dismiss button (Agree & Close) is enabled
preferences_title_enabled:
type: boolean
description: Whether the title is enabled in the preferences view
preferences_cross_button_enabled:
type: boolean
description: Whether the cross button (top right) is enabled in the preferences view
preferences_view_all_partners_button_enabled:
type: boolean
description: Whether the view all partners button is enabled in the preferences view
preferences_active_elements_order:
type: object
description: The order of active elements (buttons) in the preferences view
required:
- id
- notice_id
- organization_id
notices-sdk-config:
type: object
title: NoticeSDKConfig
description: Published SDK configuration
properties:
id:
type: string
description: Primary key
allowNull: false
regulation_id:
type: string
description: Regulation ID
allowNull: false
geo_locations:
type: array
items:
type: string
description: Geographical locations that will load this SDK config
allowNull: false
defaultValue: []
sdk_config:
type: object
description: SDK configuration
allowNull: false
defaultValue: {}
created_at:
type: string
format: date-time
description: Creation date
allowNull: false
deployment_id:
type: string
description: Deployment ID
allowNull: false
notice_id:
type: string
description: Notice ID
allowNull: false
notice_config_id:
type: string
description: Notice configuration ID
allowNull: false
notice_regulation_config_id:
type: string
description: Notice regulation configuration ID
allowNull: false
organization_id:
type: string
description: Organization ID
allowNull: false
required:
- id
- regulation_id
- geo_locations
- sdk_config
- created_at
- deployment_id
- notice_id
- notice_config_id
- notice_regulation_config_id
- organization_id
notice-configs:
type: object
title: NoticeConfig
description: Consent notice configuration structured for Didomi API
properties:
config:
type: object
description: Notice configuration
required:
- config
notices:
type: object
title: Notice
description: Consent notices (for mobile and desktop)
properties:
id:
type: string
description: ID of the notice
organization_id:
type: string
description: ID of the organization that owns the notice
name:
type: string
description: Internal name of the notice ; this is only used for you to distinguish between the different notices in your account
created_at:
type: string
description: Creation date of the notices
format: date-time
updated_at:
type: string
description: Last update date of the notices
format: date-time
archived_at:
type: string
description: Archival date of the notice
format: date-time
version:
type: number
description: Revision number of the notices
privacy_experience_id:
type: string
description: ID of the linked privacy experience
environment:
type: string
description: Deployment environment for the notice
external_source:
type: string
description: Source system for imported notices
external_id:
type: string
description: Original ID from the external source system
required:
- id
- name
- organization_id
notices-deployments-input:
title: NoticeDeploymentInput
type: object
properties:
notice_id:
type: string
description: ID of the notice for which a new configuration is deployed
organization_id:
type: string
description: ID of the organization that owns this deployment
production_config_id:
type: string
description: ID of the notice configuration to deploy
message:
type: string
description: Description of the deployment content
required:
- notice_id
- organization_id
- production_config_id
notices-regulation-config-input:
title: NoticeRegulationConfigInput
type: object
properties:
id:
type: string
description: The ID of the configuration
regulation_id:
type: string
description: The ID of the regulation. This is a reference to the regulations service.
organization_id:
type: string
description: The ID of the organization that owns this configuration
notice_config_id:
type: string
description: The ID of the notice config that this configuration belongs to
is_default_regulation_config:
type: boolean
description: If this is the default configuration for a given regulation
geo_locations:
type: array
items:
type: string
description: List of geo locations enabled for the notice regulation configuration (e.g. *, ES, US_CA)
regulation_settings:
type: object
description: Regulation specific configuration of the notice regulation configuration
config:
type: object
description: Configuration of the notice
text_id:
type: string
description: ID of an approved notice text if this notice is configured for using an approved text in "text_mode"
template_id:
type: string
description: The ID of the notice template associated with this notice. "null" if this notice does not use configuration from a template.
enable_ignore_consent_before:
type: boolean
description: Whether the consent must be recollected after a certain date.
negative_action_link_format:
type: string
enum:
- text
- cross
description: 'What format of negative action link should be displayed in the notice: Link with te text Continue without agreeing or link with the X icon.'
disagree_button_style:
type: string
enum:
- primary
- secondary
description: The style of the Disagree button
country:
type: string
description: The country that the consent notice belongs to (two letter ISO code)
notice_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user disagrees in the notice
preferences_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user clicks on "Disagree to all" in the Preferences
consent_duration:
type: number
description: The duration that applies to collected consent. Consent is recollected after the expiration of the duration
consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the consent duration
denied_consent_duration:
type: number
description: The duration that applies to fully negative consent. Consent is recollected after the expiration of the duration
denied_consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the denied consent duration
denied_consent_duration_custom:
type: boolean
description: Whether the duration for denied consent is different from the generic
cross_device_enabled:
type: boolean
description: Whether the cross device feature is enabled
cross_device_timeout:
type: number
description: The timeout that applies to sync with consent notice
gcm_enabled:
type: boolean
description: Whether Google consent mode is enabled
gcm_tcf_enabled:
type: boolean
description: Whether the Google consent mode TCF integration is enabled
gcm_set_default_status:
type: boolean
description: Whether to set the default status for analytics and ads
gcm_analytics_default_status:
type: boolean
description: Default status for analytics in Google Consent Mode
gcm_ads_default_status:
type: boolean
description: Default status for ads in Google Consent Mode
gcm_functionality_default_status:
type: boolean
description: Default status for functionality of the website e.g. language settings in Google Consent Mode
gcm_personalization_default_status:
type: boolean
description: Default status for personalization in Google Consent Mode
gcm_security_default_status:
type: boolean
description: Default status for security in Google Consent Mode
gcm_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Google Consent Mode
gcm_ad_personalization_default_status:
type: boolean
description: Default status for ad personalization in Google Consent Mode
microsoft_enabled:
type: boolean
description: Whether Microsoft consent mode is enabled
microsoft_set_default_status:
type: boolean
description: Whether to set the default status for ads
microsoft_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Microsoft Consent Mode
microsoft_enable_tcf_advertiser_consent_mode:
type: boolean
description: Whether to enable TCF advertiser consent mode in Microsoft Consent Mode
amazon_enabled:
type: boolean
description: Whether Amazon consent mode is enabled
amazon_set_default_status:
type: boolean
description: Whether to set the default status for ads/user data in Amazon Consent Mode
amazon_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Amazon Consent Mode
amazon_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Amazon Consent Mode
wordpress_enabled:
type: boolean
description: Whether WordPress consent mode is enabled
gcm_firebase_enabled:
type: boolean
description: Whether Firebase SDK is enabled for GCM third-party SDKs
gcm_airbridge_enabled:
type: boolean
description: Whether Airbridge SDK is enabled for GCM third-party SDKs
gcm_kochava_enabled:
type: boolean
description: Whether Kochava SDK is enabled for GCM third-party SDKs
gcm_branch_enabled:
type: boolean
description: Whether Branch SDK is enabled for GCM third-party SDKs
gcm_appsflyer_enabled:
type: boolean
description: Whether AppsFlyer SDK is enabled for GCM third-party SDKs
created_at:
type: string
description: Creation date of the configuration
format: date-time
updated_at:
type: string
description: Last update date of the configuration
format: date-time
disabled_at:
type: string
description: If present represents when the Notice Regulation Config was disabled.
format: date-time
version:
type: number
description: Revision number of the configuration
notice_disabled:
type: boolean
description: Whether the notice is disabled
notice_active_elements_order:
type: object
description: The order of active elements in the notice
dismiss_button_enabled:
type: boolean
description: Whether the dismiss button (Agree & Close) is enabled
preferences_title_enabled:
type: boolean
description: Whether the title is enabled in the preferences view
preferences_cross_button_enabled:
type: boolean
description: Whether the cross button (top right) is enabled in the preferences view
preferences_view_all_partners_button_enabled:
type: boolean
description: Whether the view all partners button is enabled in the preferences view
preferences_active_elements_order:
type: object
description: The order of active elements (buttons) in the preferences view
required:
- organization_id
- notice_config_id
- regulation_id
notices-text:
type: object
title: NoticeText
description: Texts that can be used in notices for consent collection on various platforms (web, mobile, etc.). The actual content of a text (the text itself, approval status, etc.) is managed and versioned through the /widgets/notices/texts-contents service.
properties:
id:
type: string
description: The ID of the text
organization_id:
type: string
description: The ID of the organization that owns this text
name:
type: string
description: The name of the text. This is used for easily distinguishing between multiple texts and is not displayed to end users for consent collection.
platforms:
type: array
description: List of platforms that the content can be used on
items:
type: string
description: ID of a platform (web, amp, app or ctv)
default:
type: boolean
description: Whether the text is the default text for the organization and the platform(s)
created_at:
type: string
description: Creation date of the text
format: date-time
updated_at:
type: string
description: Last update date of the text
format: date-time
version:
type: number
description: Revision number of the text
required:
- id
- name
- platforms
- organization_id
- default
- created_at
- updated_at
- version
notices-regulations-config:
type: object
title: NoticeRegulationConfig
description: Regulation configuration (purposes and vendors, theme, format, etc.) of a consent notice
properties:
id:
type: string
description: The ID of the configuration
regulation_id:
type: string
description: The ID of the regulation. This is a reference to the regulations service.
organization_id:
type: string
description: The ID of the organization that owns this configuration
notice_config_id:
type: string
description: The ID of the notice config that this configuration belongs to
is_default_regulation_config:
type: boolean
description: If this is the default configuration for a given regulation
geo_locations:
type: array
items:
type: string
description: List of geo locations enabled for the notice regulation configuration (e.g. *, ES, US_CA)
regulation_settings:
type: object
description: Regulation specific configuration of the notice regulation configuration
config:
type: object
description: Configuration of the notice
template_id:
type: string
description: The ID of the notice template associated with this notice. "null" if this notice does not use configuration from a template.
enable_ignore_consent_before:
type: boolean
description: Whether the consent must be recollected after a certain date.
negative_action_link_format:
type: string
enum:
- text
- cross
description: 'What format of negative action link should be displayed in the notice: Link with te text Continue without agreeing or link with the X icon.'
disagree_button_style:
type: string
enum:
- primary
- secondary
description: The style of the Disagree button
country:
type: string
description: The country that the consent notice belongs to (two letter ISO code)
notice_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user disagrees in the notice
preferences_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user clicks on "Disagree to all" in the Preferences
consent_duration:
type: number
description: The duration that applies to collected consent. Consent is recollected after the expiration of the duration
consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the consent duration
denied_consent_duration:
type: number
description: The duration that applies to fully negative consent. Consent is recollected after the expiration of the duration
denied_consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the denied consent duration
denied_consent_duration_custom:
type: boolean
description: Whether the duration for denied consent is different from the generic
cross_device_enabled:
type: boolean
description: Whether the cross device feature is enabled
cross_device_timeout:
type: number
description: The timeout that applies to sync with consent notice
gcm_enabled:
type: boolean
description: Whether Google consent mode is enabled
gcm_tcf_enabled:
type: boolean
description: Whether the Google consent mode TCF integration is enabled
gcm_set_default_status:
type: boolean
description: Whether to set the default status for analytics and ads
gcm_analytics_default_status:
type: boolean
description: Default status for analytics in Google Consent Mode
gcm_ads_default_status:
type: boolean
description: Default status for ads in Google Consent Mode
gcm_functionality_default_status:
type: boolean
description: Default status for functionality of the website e.g. language settings in Google Consent Mode
gcm_personalization_default_status:
type: boolean
description: Default status for personalization in Google Consent Mode
gcm_security_default_status:
type: boolean
description: Default status for security in Google Consent Mode
gcm_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Google Consent Mode
gcm_ad_personalization_default_status:
type: boolean
description: Default status for ad personalization in Google Consent Mode
microsoft_enabled:
type: boolean
description: Whether Microsoft consent mode is enabled
microsoft_set_default_status:
type: boolean
description: Whether to set the default status for ad storage in Microsoft Consent Mode
microsoft_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Microsoft Consent Mode
microsoft_enable_tcf_advertiser_consent_mode:
type: boolean
description: Whether to enable TCF advertiser consent mode in Microsoft Consent Mode
amazon_enabled:
type: boolean
description: Whether Amazon consent mode is enabled
amazon_set_default_status:
type: boolean
description: Whether to set the default status for ads/user data in Amazon Consent Mode
amazon_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Amazon Consent Mode
amazon_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Amazon Consent Mode
wordpress_enabled:
type: boolean
description: Whether WordPress consent mode is enabled
gcm_firebase_enabled:
type: boolean
description: Whether Firebase SDK is enabled for GCM third-party SDKs
gcm_airbridge_enabled:
type: boolean
description: Whether Airbridge SDK is enabled for GCM third-party SDKs
gcm_kochava_enabled:
type: boolean
description: Whether Kochava SDK is enabled for GCM third-party SDKs
gcm_branch_enabled:
type: boolean
description: Whether Branch SDK is enabled for GCM third-party SDKs
gcm_appsflyer_enabled:
type: boolean
description: Whether AppsFlyer SDK is enabled for GCM third-party SDKs
created_at:
type: string
description: Creation date of the configuration
format: date-time
updated_at:
type: string
description: Last update date of the configuration
format: date-time
disabled_at:
type: string
description: If present represents when the Notice Regulation Config was disabled.
format: date-time
version:
type: number
description: Revision number of the configuration
gpp_mspa_generate_usnat_string:
type: boolean
description: Whether to generate the US national string when MSPA is enabled
notice_disabled:
type: boolean
description: Whether the notice is disabled
notice_active_elements_order:
type: object
description: The order of active elements in the notice
dismiss_button_enabled:
type: boolean
description: Whether the dismiss button (Agree & Close) is enabled
preferences_title_enabled:
type: boolean
description: Whether the title is enabled in the preferences view
preferences_cross_button_enabled:
type: boolean
description: Whether the cross button (top right) is enabled in the preferences view
preferences_view_all_partners_button_enabled:
type: boolean
description: Whether the view all partners button is enabled in the preferences view
preferences_active_elements_order:
type: object
description: The order of active elements in the preferences layer
required:
- id
- notice_config_id
- organization_id
- regulation_id
sdk-configs:
type: object
title: Didomi SDK configuration
description: Consent notice configuration structured for a Didomi SDK
properties:
config:
type: object
description: Didomi SDK configuration (see https://developers.didomi.io/cmp/introduction)
required:
- config
notices-templates-translatable-string:
type: object
title: NoticeTemplateTranslatableString
description: An object that represens translatable string, to support translations to different languages
properties:
language_code:
type: string
maxLength: 2
minLength: 2
description: Two character language codes (ISO 639-1)
translated_text:
type: string
description: Text translated to appropriate language
required:
- language_code
sdk-configs-input:
title: Notice configuration
type: object
properties:
notice_deployment_id:
type: string
description: ID of the deployed notice configuration
organization_id:
type: string
description: ID of the organization to generate an SDK configuration for
platform:
type: string
description: Platform (web, amp, mobile or television) that this notice is running on
custom_json:
type: object
description: Custom JSON that will be merged into the final configuration
config:
type: object
description: Configuration of the notice
full_atp:
type: boolean
description: Whether the notice uses the ATP vendors selected by Didomi (false) or if it uses the client's ATP vendor selection (true)
text_mode:
type: string
description: 'Whether the notice is using a custom or an approved text. Possible values: approved, custom.'
text_id:
type: string
description: ID of an approved notice text if this notice is configured for using an approved text in "text_mode"
enable_ignore_consent_before:
type: boolean
description: Whether the consent must be recollected after a certain date.
ignore_consent_before:
type: string
description: The date after which consent must be recollected if "enable_ignore_consent_before" is set to true.
negative_action:
type: string
enum:
- button
- link
description: 'What negative action should be displayed in the notice: Disagree to all ("button"), Continue without agreeing ("link") or no negative action (null)'
disagree_button_style:
type: string
enum:
- primary
- secondary
description: The style of the Disagree button
country:
type: string
description: The country that the consent notice belongs to (two letter ISO code)
notice_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user disagrees in the notice
preferences_deny_applies_to_li:
type: boolean
description: Do not keep legitimate interest enabled when the user clicks on ”Disagree to all” in the Preferences
consent_duration:
type: number
description: The duration that applies to collected consent. Consent is recollected after the expiration of the duration
consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the consent duration
denied_consent_duration:
type: number
description: The duration that applies to fully negative consent. Consent is recollected after the expiration of the duration
denied_consent_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the denied consent duration
denied_consent_duration_custom:
type: boolean
description: Whether the duration for denied consent is different from the generic
gcm_enabled:
type: boolean
description: Whether Google consent mode is enabled
gcm_tcf_enabled:
type: boolean
description: Whether the Google consent mode TCF integration is enabled
gcm_set_default_status:
type: boolean
description: Whether to set the default status for analytics and ads
gcm_data_layer_name:
type: string
description: Data layer name for Google consent mode
gcm_analytics_default_status:
type: boolean
description: Default status for analytics
gcm_ads_default_status:
type: boolean
description: Default status for ads in Google Consent Mode
gcm_functionality_default_status:
type: boolean
description: Default status for functionality of the website e.g. language settings in Google Consent Mode
gcm_personalization_default_status:
type: boolean
description: Default status for personalization in Google Consent Mode
gcm_security_default_status:
type: boolean
description: Default status for security in Google Consent Mode
gcm_ad_user_data_default_status:
type: boolean
description: Default status for ad user data in Google Consent Mode
gcm_ad_personalization_default_status:
type: boolean
description: Default status for ad personalization in Google Consent Mode
microsoft_enabled:
type: boolean
description: Whether Microsoft consent mode is enabled
microsoft_set_default_status:
type: boolean
description: Whether to set the default status for ads
microsoft_ad_storage_default_status:
type: boolean
description: Default status for ad storage in Microsoft Consent Mode
microsoft_enable_tcf_advertiser_consent_mode:
type: boolean
description: Whether to enable TCF advertiser consent mode in Microsoft Consent Mode
ctv_focus_on_agree_and_close:
type: boolean
description: Whether the consent notice initial focus is on the Agree and Close button
sdk_version:
type: string
description: The SDK version that the notice config is for
required:
- organization_id
- platform
- config
notices-deployments:
type: object
title: NoticeDeployment
description: A deployment updates the live configuration used by a notice
properties:
id:
type: string
description: Deployment ID
notice_id:
type: string
description: ID of the notice for which a new configuration is deployed
organization_id:
type: string
description: ID of the organization that owns this deployment
production_config_id:
type: string
description: ID of the notice configuration to deploy
message:
type: string
description: Description of the deployment content
status:
type: string
description: Status of the deployment (ready, running, failure, success)
created_at:
type: string
description: Creation date of the deployment
format: date-time
updated_at:
type: string
description: Last update date of the deployment
format: date-time
version:
type: number
description: Revision number of the deployment
required:
- id
- notice_id
- organization_id
- production_config_id
- message
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http