info:
title: Didomi 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'
components:
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http
schemas:
sessions:
type: object
title: Session
description: A session contains authentication information for a user or an API key
properties:
type:
type: string
description: The type of session ("api-key" or "email")
key:
type: string
description: The key used for authentication (either an email address or an API key)
access_token:
type: string
description: The access token to use when making API calls with this session
required:
- type
- key
- secret
sessions-input:
type: object
title: SessionInput
properties:
type:
type: string
description: The type of session ("api-key" or "email")
key:
type: string
description: The key to use for authentication (either an email address or an API key)
secret:
type: string
description: The secret to use for authentication (either a password or an API secret)
required:
- type
- key
- secret
keys:
type: object
title: APIKey
description: An API key allows machine-to-machine authentication and authorization
properties:
id:
type: string
description: Unique ID of the API key
name:
type: string
description: Name of the API key to help identify it. This could be the name of the app or team that will be using
it, or a short description of what the key will be used for
description:
type: string
description: Description of the API key
organization_id:
type: string
description: ID of the organization that owns the API key
created_at:
type: string
description: Creation date of the API key (ISO8601)
enabled:
type: boolean
description: Status of the API key. A disabled API key cannot be used for obtaining a token. Already issued tokens
remain valid until their expiration.
is_internal:
type: boolean
description: Marks an API key as internal. These keys are managed by Didomi. Internal keys are excluded from list
results unless explicitly requested.
keys-input-create:
type: object
title: APIKeyInputCreate
properties:
organization_id:
type: string
description: ID of the organization that owns the API key
name:
type: string
description: Unique name to identify this key like the app or team that will be using it, or what it will be used
for
description:
type: string
description: Description of the API key
is_internal:
type: boolean
description: Marks an API key as internal. These keys are managed by Didomi. Internal keys are excluded from list
results unless explicitly requested.
keys-input-update:
type: object
title: APIKeyInputUpdate
properties:
name:
type: string
description: Unique name to identify this key like the app or team that will be using it, or what it will be used
for
description:
type: string
description: Description of the API key
enabled:
type: boolean
description: Status of the API key. A disabled API key cannot be used for obtaining a token. Already issued tokens
remain valid until their expiration.
quotas:
type: object
title: Quota
description: A quota defines some resource limits on the didomi platform by organization
properties:
id:
type: string
description: Quota ID
created_at:
type: string
description: Creation date of the quota
format: date-time
updated_at:
type: string
description: Last update date of the quota
format: date-time
organization_id:
type: string
description: Identifier of the organization the quota belongs to
exports_configs:
type: number
description: Limit on enabled export configs for the organization
exports_destinations:
type: number
description: Limit on export destinations per export config for the organization
scraper_enabled_properties:
type: number
description: Limit on enabled scraper properties for the organization
parallel_notices_deployments:
type: number
description: Maximum number of notices deployments that can be run in parallel for the organization
consent_proof_reports:
type: number
description: Maximum number of consent proof reports that can be generated by an organization per month
api_requests:
type: number
description: Maximum number of API requests (excluding requests to the /consents/* endpoint) that can be made by
an organization per quota period
delivery_clouds:
type: number
description: Maximum number of delivery clouds per organization
services_per_delivery_cloud:
type: number
description: Maximum number of services per delivery cloud
regions_per_delivery_cloud:
type: number
description: Maximum number of regions per delivery cloud
domains_per_delivery_cloud:
type: number
description: Maximum number of custom domains associated with a delivery cloud.
acm_scan_max_pages_per_property:
type: number
description: Maximum number of pages that can be scanned during an ACM report scan.
secrets:
type: number
description: Maximum number of secrets allowed to be created by an organization.
metadata_purposes:
type: number
description: Maximum number of metadata purposes allowed to be created by an organization.
metadata_partners:
type: number
description: Maximum number of metadata partners allowed to be created by an organization.
version:
type: number
description: Revision number of the quota object
required:
- id
- organization_id
domains:
title: Domain
type: object
properties:
id:
type: string
description: Fully qualified domain name
organization_id:
type: string
description: The ID of the organization that owns this data processing
description:
type: string
description: Description of the domain name usage in your organization
enabled:
type: boolean
description: Whether the domain is enabled or not. Disabling a domain triggers de-provisioning of the domain on
the Didomi platform which might break existing notices or privacy centers if the domain is still in use. Make
sure that the domain is not used anymore before disabling it.
entity_id:
type: string
description: Which entity the domain is used by. This entity ID is currently used by PMP for the domain to properly
redirect to the correct S3 bucket (preference-center/organization_id/entity_id/)
type:
type: string
description: Type of the domain. "custom" indicates a domain owned and delegated by a client while "managed" indicates
a domain that Didomi owns and manages like "privacy-center.org". This is automatically set when a domain is created
status:
type: string
description: "Provisioning status on the Didomi platform. \n Possible values: \n draft (domain is created\
\ but not deployed yet), \n scheduled (domain is scheduled for deployment), \n to_be_deleted (domain\
\ is scheduled for deletion),\n deploying (domain is being provisioned),\n deleting (domain is being\
\ deleted),\n failed (domain deployment/deletion failed),\n ready (domain is provisioned and ready for\
\ use)"
usage:
type: string
description: 'What the domain is used for: CMP ("cmp"), Privacy Center ("privacy-center"), Preference Center ("preference-center")'
bots_crawl:
type: string
description: 'Controls whether bots are allowed to crawl the domain. Possible values: "allow_all" (allow crawls
from any bots) or "disallow_all" (disallow crawls from all bots)'
enum:
- allow_all
- disallow_all
created_at:
type: string
description: Creation date of the domain
format: date-time
updated_at:
type: string
description: Last update date of the domain
format: date-time
version:
type: number
description: Revision number of the domain entity
domains-input-create:
title: DomainInputCreate
type: object
properties:
id:
type: string
description: Fully qualified domain name
organization_id:
type: string
description: The ID of the organization that owns this data processing
description:
type: string
description: Description of the domain name usage in your organization
enabled:
type: boolean
description: Whether the domain is enabled or not. Disabling a domain triggers de-provisioning of the domain on
the Didomi platform which might break existing notices or privacy centers if the domain is still in use. Make
sure that the domain is not used anymore before disabling it.
entity_id:
type: string
description: Which entity the domain is used by. This entity ID is currently used by PMP for the domain to properly
redirect to the correct S3 bucket (preference-center/organization_id/entity_id/)
status:
type: string
description: "Provisioning status on the Didomi platform. \n Possible values: \n draft (domain is created\
\ but not deployed yet), \n scheduled (domain is scheduled for deployment), \n to_be_deleted (domain\
\ is scheduled for deletion),\n deploying (domain is being provisioned),\n deleting (domain is being\
\ deleted),\n failed (domain deployment/deletion failed),\n ready (domain is provisioned and ready for\
\ use)"
usage:
type: string
description: 'What the domain is used for: CMP ("cmp"), Privacy Center ("privacy-center"), Preference Center ("preference-center")'
bots_crawl:
type: string
description: 'Controls whether bots are allowed to crawl the domain. Possible values: "allow_all" (allow crawls
from any bots) or "disallow_all" (disallow crawls from all bots)'
enum:
- allow_all
- disallow_all
required:
- id
- usage
- organization_id
domains-input-update:
title: DomainInputUpdate
type: object
properties:
description:
type: string
description: Description of the domain name usage in your organization
enabled:
type: boolean
description: Whether the domain is enabled or not. Disabling a domain triggers de-provisioning of the domain on
the Didomi platform which might break existing notices or privacy centers if the domain is still in use. Make
sure that the domain is not used anymore before disabling it.
entity_id:
type: string
description: Which entity the domain is used by. This entity ID is currently used by PMP for the domain to properly
redirect to the correct S3 bucket (preference-center/organization_id/entity_id/)
status:
type: string
description: "Provisioning status on the Didomi platform. \n Possible values: \n draft (domain is created\
\ but not deployed yet), \n scheduled (domain is scheduled for deployment), \n to_be_deleted (domain\
\ is scheduled for deletion),\n deploying (domain is being provisioned),\n deleting (domain is being\
\ deleted),\n failed (domain deployment/deletion failed),\n ready (domain is provisioned and ready for\
\ use)"
bots_crawl:
type: string
description: 'Controls whether bots are allowed to crawl the domain. Possible values: "allow_all" (allow crawls
from any bots) or "disallow_all" (disallow crawls from all bots)'
enum:
- allow_all
- disallow_all
secrets:
type: object
title: Secret
description: A secret is used to authenticate API requests in unsecure environments (client-side, emails, etc.)
properties:
id:
type: string
description: Secret ID
name:
type: string
description: Name of the secret
description:
type: string
description: Description of the secret
secret:
type: string
description: The actual secret
organization_id:
type: string
description: The ID of the organization that owns this secret
created_at:
type: string
description: Creation date of the secret
format: date-time
updated_at:
type: string
description: Last update date of the secret
format: date-time
version:
type: number
description: Revision number of the secret
required:
- id
- name
- organization_id
secrets-input:
title: SecretInput
type: object
properties:
name:
type: string
description: Name of the secret
description:
type: string
description: Description of the secret
organization_id:
type: string
description: The ID of the organization that owns this secret
required:
- name
- organization_id
platform-integrations-sessions-input:
type: object
properties: {}
required: []
platform-integrations-sessions:
type: object
properties:
type:
type: string
description: Session type (always "api-key")
example: api-key
key:
type: string
description: API key ID
access_token:
type: string
description: JWT access token for API authentication
platform_integration_id:
type: string
description: ID of the platform integration this token authenticates against.
required:
- type
- key
- access_token
- platform_integration_id
cookies:
type: object
title: Cookie
description: A cookie that is set by a property when consumers visit it
properties:
id:
type: string
description: Cookie ID
name:
type: string
description: Name of the cookie
domain:
type: string
description: Domain that the cookie is set on
lifetime:
type: integer
description: Lifetime of the cookie (in seconds)
status:
type: string
description: The status of the cookie for the privacy center (draft or published)
taxonomy_id:
type: string
description: The ID of the taxonomy item for classifying this cookie
property_id:
type: string
description: The ID of the property that sets this cookie
vendor_id:
type: string
description: The ID of the vendor that sets or uses this cookie (if any)
created_at:
type: string
description: Creation date of the property
format: date-time
updated_at:
type: string
description: Last update date of the property
format: date-time
version:
type: number
description: Revision number of the property object
required:
- id
- name
- taxonomy_id
- property_id
cookies-input:
title: CookieInput
type: object
properties:
name:
type: string
description: Name of the cookie
domain:
type: string
description: Domain that the cookie is set on (should be the same as the property or a sub-domain)
lifetime:
type: integer
description: Lifetime of the cookie (in seconds)
status:
type: string
description: The status of the cookie for the privacy center (draft or published)
taxonomy_id:
type: string
description: The ID of the taxonomy item for classifying this cookie
vendor_id:
type: string
description: The ID of the vendor that sets or uses this cookie (if any)
property_id:
type: string
description: The ID of the property that sets this cookie
required:
- name
- domain
- taxonomy_id
- property_id
languages:
title: Languages
type: object
properties:
available:
type: array
items:
type: string
description: List of available locales
default:
type: string
description: Fallback locale to use if the configured language is not a supported language
defaultCountries:
type: object
description: Mapping of default countries if the locale does not provide it
dashboards-urls:
type: object
title: dashboard
properties:
id:
type: string
description: Dashboard ID
name:
type: string
description: Dashboard name
order:
type: number
description: The dashboard order
url:
type: string
description: Signed URL of the dashboard
category:
type: string
$ref: '#/components/schemas/DashboardUrlCategory'
description: The category of the dashboard. Used for grouping dashboard (per page for example).
type:
type: string
$ref: '#/components/schemas/DashboardUrlType'
description: Type of the dashboard
product:
type: string
$ref: '#/components/schemas/DashboardUrlProduct'
description: The product that the dashboard belongs to.
aggregation_period:
type: string
$ref: '#/components/schemas/DashboardUrlAggregationPeriod'
description: The aggregation period.
description:
type: string
description: The dashboard description.
illustration_ref:
type: string
description: The illustration ref url.
required:
- id
- url
- type
- aggregation_period
- product
DashboardUrlCategory:
type: string
enum:
- analytics
- home
DashboardUrlType:
type: string
enum:
- cluvio
- redash
DashboardUrlProduct:
type: string
enum:
- cmp
- pmp
- integration
- acm
DashboardUrlAggregationPeriod:
type: string
enum:
- monthly
- weekly
- daily
- hourly
organizations:
type: object
title: Organization
description: An organization can have multiple properties and users
properties:
id:
type: string
description: Organization ID
name:
type: string
description: Name of the organization
website:
type: string
format: uri
description: Website URL of the organization
created_at:
type: string
description: Creation date of the organization
format: date-time
updated_at:
type: string
description: Last update date of the organization
format: date-time
industry_id:
type: string
description: Identifier of industry that the organization belongs to
analytics_url:
type: string
description: URL to a public Redash dashboard
public_api_key:
type: string
description: Public API key of the organization (for consent collection on public properties)
version:
type: number
description: Revision number of the organization object
validate_purpose_id:
type: boolean
description: Enable or disable the validation of the purposes in the consent API
disable_preferences_in_consents:
type: boolean
description: Allow or disallow the use of preferences of the consents object in the consent API
auth_enabled:
type: boolean
description: Enable or disable authentication for end users
auth_allow_user_creation:
type: boolean
description: Enable or disable creation of an end user on authentication if it doesn't exist
auth_message_priority:
type: array
description: List the priority of message channels, from the most important to the least
items:
type: string
allow_tcf_with_custom_text:
type: boolean
description: Whether the organization is allowed to publish consent notices without a standard approved text
self_register:
type: boolean
description: Whether the organization is created by a user (true) or via Didomi's Customer Succes team (false)
organization_group_id:
type: string
description: Identifier of the organization group that the organization belongs to
organization_group_name:
type: string
description: Name of the organization group that the organization belongs to
nullable: true
iab_tcf_cmp_id:
type: integer
description: The IAB TCF CMP ID of the organization. If available, the ID will be added to generated TCF consent
strings. If not available, the ID will be set to Didomi. If an ID is provided, it must be present in the IAB TCF
CMP list (https://cmplist.consensu.org/v2/cmp-list.json).
nullable: true
allow_chat_support:
type: boolean
description: Controls wether the organization should be allowed to contact support via chat
required:
- id
- name
organizations-input:
title: OrganizationInput
type: object
properties:
name:
type: string
description: Unique name of the organization
website:
type: string
format: uri
description: Website URL of the organization
industry_id:
type: string
description: identifier of industry that the organization belongs to
analytics_url:
type: string
description: URL to a public Redash dashboard
auth_enabled:
type: boolean
description: Enable or disable authentication for end users - (DEPRECATED - auth is now always enabled)
auth_allow_user_creation:
type: boolean
description: Enable or disable creation of an end user on authentication if it doesn't exist
auth_message_priority:
type: array
description: List the priority of message channels, from the most important to the least
items:
type: string
organization_group_id:
type: string
description: Identifier of the organization group that the organization belongs to
salesforce_account_id:
type: string
description: Identifier of the salesforce account that the organization group belongs to
required:
- name
members:
type: object
title: Member
description: A member of an organization
properties:
id:
type: string
description: Member ID (ie, ID of the user in the organization)
role_id:
type:
- string
- 'null'
description: Role identifier attached to the user membership
organization_id:
type: string
description: Organization ID
user_id:
type: string
description: User ID
authentication_method:
type: string
enum:
- email_password
- google
- microsoft
- saml_sso
saml_active:
type: boolean
created_at:
type: string
description: Date when the user was added to the organization
format: date-time
updated_at:
type: string
description: Last update date of the member
format: date-time
version:
type: number
description: Revision number of the member record
required:
- id
- organization_id
- user_id
members-invite-to-org-input:
title: InvitedMemberInput
type: object
properties:
name:
type: string
description: The invited user's name
email:
type: string
description: The invited user's email
organization_id:
type: string
description: Organization ID
required:
- name
- email
- organization_id
privacy-centers:
type: object
title: PrivacyCenter
description: A privacy center gives legal information to users as well as options to manage consent
properties:
id:
type: string
description: Privacy Center ID
name:
type: string
description: Display name of the privacy center (usually the company or website name)
website:
type: string
format: uri
description: URL of the website linked to the privacy center
custom_domains:
type: array
description: 'Sub-domains that the privacy center should be served on (without http or / ; example: privacy.domain.com)'
items:
type: string
contact:
$ref: '#/components/schemas/privacy-centers-contact'
customization:
$ref: '#/components/schemas/privacy-centers-customization'
legal_name:
type: string
description: Full legal name of the company
display_cookies:
type: string
description: How to display the cookies section in the privacy center?
enum:
- list
- choices
- none
privacy_policy:
type: string
description: The privacy policy to display in the privacy center formatted with Markdown (English)
content:
type: object
description: Texts of the privacy center
languages:
type: array
description: Languages enabled in the privacy center (two-letter codes or two-letter language and two-letter country
code); an empty list or a null value will enabled all available languages
items:
type: string
auth_required:
type: boolean
description: Whether end users must be authenticated when accessing a privacy center
organization_id:
type: string
description: The ID of the organization that owns this privacy center
created_at:
type: string
description: Creation date of the privacy center
format: date-time
updated_at:
type: string
description: Last update date of the privacy center
format: date-time
version:
type: number
description: Revision number of the privacy center object
required:
- id
- name
privacy-centers-input:
title: PrivacyCenterInput
type: object
properties:
name:
type: string
description: Display name of the privacy center (usually the company or website name)
website:
type: string
format: uri
description: URL of the website linked to the privacy center
custom_domains:
type: array
description: Sub-domains that the privacy center should be served on
items:
type: string
contact:
$ref: '#/components/schemas/privacy-centers-contact'
customization:
$ref: '#/components/schemas/privacy-centers-customization'
legal_name:
type: string
description: Full legal name of the company
display_cookies:
type: string
description: How to display the cookies section in the privacy center?
enum:
- list
- choices
- none
privacy_policy:
type: string
description: The privacy policy to display in the privacy center formatted with Markdown (English)
content:
type: object
description: Texts of the privacy center
languages:
type: array
description: Languages enabled in the privacy center (two-letter codes); an empty list or a null value will enabled
all available languages
items:
type: string
auth_required:
type: boolean
description: Whether end users must be authenticated when accessing a privacy center
organization_id:
type: string
description: The ID of the organization that owns this property
required:
- name
- organization_id
privacy-centers-contact:
type: object
title: Contact
description: Contact information of the DPO or person in charge of privacy
properties:
email:
type: string
description: Email address
schedule:
type: string
description: Phone number
address:
type: string
description: Postal address
privacy-centers-customization:
type: object
title: Customization
description: Customization options for the privacy center
properties:
logo:
type: string
format: uri
description: URL of the logo to display (must be HTTPS)
colors:
type: object
title: Colors
description: Colors information
properties:
primary:
type: string
description: Primary color to use in the Privacy Center theme
vendors:
type: object
title: Vendor
description: A vendor that provides services to a property
properties:
id:
type: string
description: The ID of the vendor for the property (ie different from the ID of the vendor metadata on the Didomi
platform)
status:
type: string
description: The status of the vendor for the privacy center (draft or published)
property_id:
type: string
description: The ID of the property that sets this cookie
metadata_id:
type: string
description: The ID of the vendor metadata
created_at:
type: string
description: Creation date of the property
format: date-time
updated_at:
type: string
description: Last update date of the property
format: date-time
version:
type: number
description: Revision number of the property object
required:
- id
- property_id
- metadata_id
vendors-input:
title: VendorInput
type: object
properties:
status:
type: string
description: The status of the vendor for the privacy center (draft or published)
property_id:
type: string
description: The ID of the property that sets this cookie
metadata_id:
type: string
description: The ID of the vendor metadata
required:
- property_id
- metadata_id
premium-features:
type: object
title: PremiumFeature
description: A premium feature represents the activation status of premium functionalities offered by the Didomi Platform
for an organization.
properties:
id:
type: string
description: Premium feature ID
created_at:
type: string
description: Creation date of the premium feature
format: date-time
updated_at:
type: string
description: Last update date of the premium feature
format: date-time
organization_id:
type: string
description: Identifier of the organization the premium feature belongs to
preference_center:
type: boolean
description: Flag to enable or disable the Consents API for the "Preference Center" product.
preference_management_platform:
type: boolean
description: Flag to enable or disable the PMP SPA in the console.
propagate_consents_on_sync:
type: boolean
description: Flag to enable or disable the propagation to secondary users during synchronization process.
consent_management_platform:
type: boolean
description: Flag to enable or disable the CMP SPA in the console.
cross_device:
type: boolean
description: Flag to enable or disable the "Cross Device" product.
batch_exports:
type: boolean
description: Flag to enable or disable the "Batch Exports" product.
batch_exports_manual_run:
type: boolean
description: Flag to enable the /exports/execute endpoint to run exports from the API.
batch_exports_analytics:
type: boolean
description: Flag to enable or disable the "Analytics Exports" product.
data_residency_russia:
type: boolean
description: Flag to enable or disable the "Data residency" product for Russia.
integrations:
type: boolean
description: Flag to enable the Didomi integrations product.
integrations_v2:
type: boolean
description: Flag to enable the delivery of Consents API events to the new integrations platform.
smart_vendor_list:
type: boolean
description: Flag to enable or disable the "Smart Vendor list" product.
compliance_report_v2:
type: boolean
description: Flag to enable or disable the "Compliance Report Premium" product.
versions_and_proofs:
type: boolean
description: Flag to enable the "Versions & Proofs" product.
mass_update:
type: boolean
description: Flag to enable or disable the "Mass Update" product.
consents_api:
type: boolean
description: Flag to enable the Consents API (used by various premium features such as cross_device or batch_exports).
All products that require the Consents API will enable this feature by default.
store_cmp_consents:
type: boolean
description: If enabled, it will send cmp consents that have an organization_user_id in their payload, commonly
used for the cross_device feature.
store_guest_cmp_consents:
type: boolean
description: A subset of the store_cmp_consents flag, it will also enable sending cmp consents that do not have
an organization_user_id.
sso:
type: boolean
description: Flag to enable SSO authentication.
version:
type: number
description: Revision number of the premium feature object
mailchimp:
type: boolean
description: Flag to enable or disable Mailchimp integration.
actito:
type: boolean
description: Flag to enable or disable Actito integration.
hubspot:
type: boolean
description: Flag to enable or disable Hubspot integration.
sendinblue:
type: boolean
description: Flag to enable or disable Sendinblue integration.
selligent:
type: boolean
description: Flag to enable or disable Selligent integration.
adobe_campaign_classic:
type: boolean
description: Flag to enable or disable Adobe Campaign Classic integration.
adobe_campaign_standard:
type: boolean
description: Flag to enable or disable Adobe Campaign Standard integration.
webhooks:
type: boolean
description: Flag to enable or disable Webhooks integration.
sf_marketing_cloud:
type: boolean
description: Flag to enable or disable Salesforce Marketing Cloud integration.
braze:
type: boolean
description: Flag to enable or disable Braze integration.
marketo:
type: boolean
description: Flag to enable or disable Marketo integration.
microsoft_dynamics:
type: boolean
description: Flag to enable or disable Microsoft Dynamics 365 integration.
microsoft_dynamics_cpc:
type: boolean
description: Flag to enable or disable Microsoft Dynamics 365 — Customer Insights — Journeys / Contact Point Consent
integration.
dotdigital:
type: boolean
description: Flag to enable or disable dotdigital integration.
adobe_experience_cloud:
type: boolean
description: Flag to enable or disable adobe experience cloud integration.
advanced_internal_monitoring:
type: boolean
description: Flag to enable or disable advanced internal monitoring.
sf_sales_cloud:
type: boolean
description: Flag to enable or disable Salesforce Sales Cloud integration.
server_side:
type: boolean
description: Flag to enable or disable the Server-Side product.
acm_static_ip:
type: boolean
description: Flag to enable or disable the ACM static IP.
acm_vendor_templates:
type: boolean
description: Flag to enable or disable the ACM vendors comparison with templates.
acm_data_exports:
type: boolean
description: Flag to enable or disable the ACM data exports feature.
acm_high_frequency:
type: boolean
description: Flag to enable or disable the ACM high frequency scheduled reports (up to 1 hour).
acm_full_website_scan:
type: boolean
description: Flag to enable or disable the ACM full website scan feature.
web_sdk_versioning:
type: boolean
description: Flag to enable or disable the Web SDK versioning feature.
web_sdk_fixed_versioning:
type: boolean
description: Flag to enable or disable the Web SDK fixed versioning feature.
privacy_widgets_advanced:
type: boolean
description: Flag to enable the Privacy Widgets Advanced feature. Fully manage privacy widgets, add new components,
layers.
cmp_consent_or_pay:
type: boolean
description: Flag to enable the CMP Consent or Pay widget template.
cmp_rules_underage:
type: boolean
description: Flag to enable the CMP Rules Underage feature. Grants access to Didomi underage template + access to
the Age group condition group in the privacy experience.
privacy_widgets_versions:
type: boolean
description: Flag to enable the Privacy Widgets Versions feature.
dsar_experience:
type: boolean
description: Flag to enable the DSAR Experience feature.
brand_manager:
type: boolean
description: Flag to enable the Brand Manager feature.
cmp_advanced_widgets:
type: boolean
description: Flag to enable the CMP Advanced Widgets feature.
pmp_data_exports:
type: boolean
description: Flag to enable or disable the PMP data exports feature.
cmp_data_exports:
type: boolean
description: Flag to enable or disable the CMP data exports feature.
cmp_ctv_widgets:
type: boolean
description: Flag to enable the CMP CTV Widgets feature.
required:
- id
- organization_id
premium-features-input:
title: PremiumFeatureInput
type: object
properties:
organization_id:
type: string
description: Identifier of the organization the premium feature belongs to
preference_center:
type: boolean
description: Flag to enable or disable the Consents API for the "Preference Center" product.
preference_management_platform:
type: boolean
description: Flag to enable or disable the PMP SPA in the console.
propagate_consents_on_sync:
type: boolean
description: Flag to enable or disable the propagation to secondary users during synchronization process.
consent_management_platform:
type: boolean
description: Flag to enable or disable the CMP SPA in the console.
cross_device:
type: boolean
description: Flag to enable or disable the "Cross Device" product.
batch_exports:
type: boolean
description: Flag to enable or disable the "Batch Exports" product.
batch_exports_manual_run:
type: boolean
description: Flag to enable the /exports/execute endpoint to run exports from the API.
batch_exports_analytics:
type: boolean
description: Flag to enable or disable the "Analytics Exports" product.
data_residency_russia:
type: boolean
description: Flag to enable or disable the "Data residency" product for Russia.
integrations:
type: boolean
description: Flag to enable the Didomi integrations product.
integrations_v2:
type: boolean
description: Flag to enable the delivery of Consents API events to the new integrations platform.
smart_vendor_list:
type: boolean
description: Flag to enable or disable the "Smart Vendor list" product.
compliance_report_v2:
type: boolean
description: Flag to enable or disable the "Compliance Report Premium" product.
versions_and_proofs:
type: boolean
description: Flag to enable the "Versions & Proofs" product.
mass_update:
type: boolean
description: Flag to enable or disable the "Mass Update" product.
store_cmp_consents:
type: boolean
description: If enabled, it will send cmp consents that have an organization_user_id in their payload, commonly
used for the cross_device feature.
store_guest_cmp_consents:
type: boolean
description: A subset of the store_cmp_consents flag, it will also enable sending cmp consents that do not have
an organization_user_id.
server_side:
type: boolean
description: Flag to enable or disable the Server-Side product.
acm_static_ip:
type: boolean
description: Flag to enable or disable the ACM static IP.
acm_vendor_templates:
type: boolean
description: Flag to enable or disable the ACM vendors comparison with templates.
acm_data_exports:
type: boolean
description: Flag to enable or disable the ACM data exports feature.
acm_high_frequency:
type: boolean
description: Flag to enable or disable the ACM high frequency scheduled reports (up to 1 hour).
acm_full_website_scan:
type: boolean
description: Flag to enable or disable the ACM full website scan feature.
web_sdk_versioning:
type: boolean
description: Flag to enable or disable the Web SDK versioning feature.
web_sdk_fixed_versioning:
type: boolean
description: Flag to enable or disable the Web SDK fixed versioning feature.
privacy_widgets_advanced:
type: boolean
description: Flag to enable the Privacy Widgets Advanced feature. Fully manage privacy widgets, add new components,
layers.
cmp_consent_or_pay:
type: boolean
description: Flag to enable the CMP Consent or Pay widget template.
cmp_rules_underage:
type: boolean
description: Flag to enable the CMP Rules Underage feature. Grants access to Didomi underage template + access to
the Age group condition group in the privacy experience.
privacy_widgets_versions:
type: boolean
description: Flag to enable the Privacy Widgets Versions feature.
dsar_experience:
type: boolean
description: Flag to enable the DSAR Experience feature.
brand_manager:
type: boolean
description: Flag to enable the Brand Manager feature.
cmp_advanced_widgets:
type: boolean
description: Flag to enable the CMP Advanced Widgets feature.
pmp_data_exports:
type: boolean
description: Flag to enable or disable the PMP data exports feature.
cmp_data_exports:
type: boolean
description: Flag to enable or disable the CMP data exports feature.
cmp_ctv_widgets:
type: boolean
description: Flag to enable the CMP CTV Widgets feature.
required:
- organization_id
sso-connections:
title: SSOConnection
type: object
properties:
id:
type: string
description: SSO connection ID.
auth0_connection_id:
type: string
description: The id of the SSO connection in Auth0.
auth0_connection_name:
type: string
description: A unique name that identifies the SSO connection.
auth0_certificate:
type: string
description: The public SSO connection certificate.
auth0_domain_aliases:
type: array
items:
type: string
description: A list of domains aliases that are used for home realm discovery for the SSO connection.
auth0_sign_in_endpoint:
type: string
description: The sign in URL where users are redirected to complete the authentication step.
auth0_sign_out_endpoint:
type: string
description: The sign out URL where users are redirected after logging out.
auth0_sign_saml_request:
type: boolean
description: Whether or not SAML request signing is enabled for the SSO connection.
organization_group_id:
type: string
description: The ID of the organization group.
created_at:
type: string
description: Creation date of the SSO connection.
format: date-time
updated_at:
type: string
description: Last update date of the SSO connection.
format: date-time
sso-connection-input-create:
title: SSOConnectionInputCreate
type: object
properties:
auth0_certificate:
type: string
description: The public SSO connection certificate.
auth0_domain_aliases:
type: array
items:
type: string
description: A list of domains aliases that will be used for home realm discovery for the SSO connection.
auth0_sign_in_endpoint:
type: string
description: The sign in URL where users will be redirected to complete the authentication step.
auth0_sign_out_endpoint:
type: string
description: The sign out URL where users will be redirected after logging out.
auth0_sign_saml_request:
type: boolean
description: Whether or not SAML request signing is enabled for the SSO connection.
organization_id:
type: string
description: The ID of the organization.
required:
- auth0_certificate
- auth0_sign_in_endpoint
- organization_id
sso-connection-input-patch:
title: SSOConnectionInputPatch
type: object
properties:
auth0_certificate:
type: string
description: The public SSO connection certificate.
auth0_domain_aliases:
type: array
items:
type: string
description: A list of domains aliases that will be used for home realm discovery for the SSO connection.
auth0_sign_in_endpoint:
type: string
description: The sign in URL where users will be redirected to complete the authentication step.
auth0_sign_out_endpoint:
type: string
description: The sign out URL where users will be redirected after logging out.
auth0_sign_saml_request:
type: boolean
description: Whether or not SAML request signing is enabled for the SSO connection.
organization_id:
type: string
description: The ID of the organization.
required:
- organization_id
organizations-source-systems:
title: OrganizationSourceSystem
type: object
properties:
id:
type: string
description: Unique identifier for the organization source system mapping
organization_id:
type: string
description: The ID of the DDM organization
source_system:
type: string
description: The name of the source system
enum:
- sp
source_system_id:
type: string
description: The ID of the organization in the source system
created_at:
type: string
description: Creation date of the mapping
format: date-time
updated_at:
type: string
description: Last update date of the mapping
format: date-time
required:
- id
- organization_id
- source_system
- source_system_id
organizations-source-systems_list:
title: OrganizationSourceSystemList
type: object
properties:
total:
type: number
description: Total number of items
limit:
type: number
description: Number of items per page
skip:
type: number
description: Number of items skipped
data:
type: array
items:
$ref: '#/components/schemas/organizations-source-systems'
organizations-source-systems-input-create:
title: OrganizationSourceSystemInputCreate
type: object
properties:
organization_id:
type: string
description: The ID of the DDM organization
source_system:
type: string
description: The name of the source system
enum:
- sp
source_system_id:
type: string
description: The ID of the organization in the source system
required:
- organization_id
- source_system
- source_system_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-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-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-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
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
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
notice-configs:
type: object
title: NoticeConfig
description: Consent notice configuration structured for Didomi API
properties:
config:
type: object
description: Notice configuration
required:
- config
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-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-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
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-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-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-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
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-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
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
partners:
type: object
title: Partner
description: A third-party company that provides services to companies by collecting data, transforming it, etc.
properties:
id:
type: string
description: Partner ID
name:
type: string
description: Name of the partner
tags:
type: array
description: Extra classification items for the partner
items:
type: string
contact:
type: string
description: Contact information for someone from the partner
website:
type: string
format: uri
description: Website URL of the partner
website_optout:
type: string
format: uri
description: URL for consumers to opt-out from data collection and processing from the partner
hosts:
type: array
description: List of hosts (DNS names) that belong to the partner
items:
type: string
url_patterns:
type: array
description: List of URL patterns (regular expressions) that uniquely identify the partner
items:
type: string
urls:
type: array
description: If partners were queried from URLs (with the `url` query-string parameter), this property contains
a list of all URLs that were matched to this partner
items:
type: string
format: uri
taxonomy_id:
type: string
description: The ID of the taxonomy item for classifying this partner
organization_id:
type: string
description: The organization ID that owns the partner
category_id:
type: string
description: The category ID of the partner
country:
type: string
description: The ISO Alpha-2 code of the country where the partner is located
created_at:
type: string
description: Creation date of the partner
format: date-time
updated_at:
type: string
description: Last update date of the partner
format: date-time
version:
type: number
description: Revision number of the partner object
namespaces:
type: object
description: IDs of this partner in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab:
type: string
description: ID of the vendor in the IAB TCF version 1
iab2:
type: string
description: ID of the vendor in the IAB TCF version 2
didomi:
type: string
description: ID of the vendor in the Didomi SDK
custom:
type: string
description: Custom ID for the vendor
google:
type: string
description: ID of the vendor for Google DFP/GAM
default_purposes_id:
type: array
description: Purposes of the partner with consent legal basis
items:
type: string
legitimate_interest_purposes_id:
type: array
description: Purposes of the partner with legitimate interest legal basis
items:
type: string
spi_purposes_id:
type: array
description: Purposes of the partner with sensitive personal information
items:
type: string
cookie_max_duration:
type: number
description: The duration of time for which the cookies are stored
cookie_max_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the cookie max duration
uses_non_cookie_access:
type: boolean
description: Whether the vendor uses other means of storage than cookies
deprecated:
type: boolean
description: Whether a partner is deprecated or not. Deprecated partners cannot be added to privacy centers or consent
notices but are not immediately removed to not break entities that already use them. Deprecated partners will
eventually be removed.
notes:
type: string
description: Free-form field to keep various notes on a vendor
required:
- id
- name
- category_id
partners-input:
title: PartnerInput
type: object
properties:
name:
type: string
description: Name of the partner
tags:
type: array
description: Extra classification items for the partner
items:
type: string
contact:
type: string
description: Contact information for someone from the partner
website:
type: string
format: uri
description: Website URL of the partner
website_optout:
type: string
format: uri
description: URL for consumers to opt-out from data collection and processing from the partner
hosts:
type: array
description: List of hosts (DNS names) that belong to the partner
items:
type: string
url_patterns:
type: array
description: List of URL patterns (regular expressions) that uniquely identify the partner
items:
type: string
taxonomy_id:
type: string
description: The ID of the taxonomy item for classifying this partner
organization_id:
type: string
description: The organization ID that owns the partner
category_id:
type: string
description: The category ID of the partner
country:
type: string
description: The ISO Alpha-2 code of the country where the partner is located.
namespaces:
type: object
description: IDs of this partner in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab:
type: string
description: ID of the vendor in the IAB TCF version 1
iab2:
type: string
description: ID of the vendor in the IAB TCF version 2
didomi:
type: string
description: ID of the vendor in the Didomi SDK
custom:
type: string
description: Custom ID for the vendor
google:
type: string
description: ID of the vendor for Google DFP/GAM
default_purposes_id:
type: array
description: Purposes of the partner with consent legal basis
items:
type: string
legitimate_interest_purposes_id:
type: array
description: Purposes of the partner with legitimate interest legal basis
items:
type: string
spi_purposes_id:
type: array
description: Purposes of the partner with sensitive personal information
items:
type: string
cookie_max_duration:
type: number
description: The duration of time for which the cookies are stored
cookie_max_duration_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the cookie max duration
uses_non_cookie_access:
type: boolean
description: Whether the vendor uses other means of storage than cookies
deprecated:
type: boolean
description: Whether a partner is deprecated or not. Deprecated partners cannot be added to privacy centers or consent
notices but are not immediately removed to not break entities that already use them. Deprecated partners will
eventually be removed.
notes:
type: string
description: Free-form field to keep various notes on a vendor
required:
- name
- category_id
purposes:
description: The reason why a company is collecting and processing personal data
type: object
title: Purpose
properties:
id:
type: string
description: Purpose ID
description:
type: object
additionalProperties: {}
description: Name of the purpose
details:
type: object
additionalProperties: {}
description: Details of the purpose
enabled_status_description:
type: object
description: Description of the purpose when the sdk status for the user for this purpose is enabled
disabled_status_description:
type: object
description: Description of the purpose when the sdk status for the user for this purpose is disabled
reference:
type: object
additionalProperties: {}
description: The reference number uniquely identifies the purpose in an official classification like the one from
the CNIL
organization_id:
type: string
description: Id of organization which purpose belongs to. If id is null, purpose is global
created_at:
type: string
description: Creation date of the purpose
format: date-time
updated_at:
type: string
description: Last update date of the purpose
format: date-time
namespaces:
type: object
description: IDs of this purpose in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab:
type: string
description: ID of the purpose in the IAB TCF version 1
iab2:
type: string
description: ID of the purpose in the IAB TCF version 2 (only allowed if "iab2_special_feature" is not present)
iab2_special_feature:
type: string
description: ID of the special feature in the IAB TCF version 2 (only allowed if "iab2" is not present)
didomi:
type: string
description: ID of the purpose in the Didomi SDK
custom:
type: string
description: Custom ID for the purpose
regulations_id:
type: array
description: An array of regulation IDs the purpose supports
items:
type: string
type:
type: string
description: The purpose type discriminator.
default: purpose
metadata:
type: object
additionalProperties: {}
description: Metadata for additional information
required:
- id
purposes-input:
title: PurposeInput
type: object
properties:
description:
description: Name of the purpose
schema:
type: object
details:
description: Details of the purpose
schema:
type: object
enabled_status_description:
description: Description of the purpose when the sdk status for the user for this purpose is enabled
schema:
type: object
disabled_status_description:
description: Description of the purpose when the sdk status for the user for this purpose is disabled
schema:
type: object
reference:
description: The reference number uniquely identifies the purpose in an official classification like the one from
the CNIL
schema:
type: object
organization_id:
type: string
description: Id of organization which purpose belongs to. If id is 'null', purpose is global
namespaces:
type: object
description: IDs of this purpose in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab:
type: string
description: ID of the purpose in the IAB TCF version 1
iab2:
type: string
description: ID of the purpose in the IAB TCF version 2
didomi:
type: string
description: ID of the purpose in the Didomi SDK
custom:
type: string
description: Custom ID for the purpose
regulations_id:
type: array
description: An array of regulation IDs the purpose supports
items:
type: string
metadata:
type: object
additionalProperties: {}
description: Metadata for additional information
type:
type: string
description: The purpose type discriminator.
default: purpose
purposes-patch-input:
title: PurposeInput
type: object
properties:
description:
description: Name of the purpose
schema:
type: object
details:
description: Details of the purpose
schema:
type: object
enabled_status_description:
description: Description of the purpose when the sdk status for the user for this purpose is enabled
schema:
type: object
disabled_status_description:
description: Description of the purpose when the sdk status for the user for this purpose is disabled
schema:
type: object
reference:
description: The reference number uniquely identifies the purpose in an official classification like the one from
the CNIL
schema:
type: object
organization_id:
type: string
description: Id of organization which purpose belongs to. If id is 'null', purpose is global
namespaces:
type: object
description: IDs of this purpose in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab:
type: string
description: ID of the purpose in the IAB TCF version 1
iab2:
type: string
description: ID of the purpose in the IAB TCF version 2
didomi:
type: string
description: ID of the purpose in the Didomi SDK
custom:
type: string
description: Custom ID for the purpose
metadata:
type: object
additionalProperties: {}
description: Metadata for additional information
regulations_id:
type: array
description: An array of regulation IDs the purpose supports
items:
type: string
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-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
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
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-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
taxonomies-vendors:
type: object
title: TaxonomyVendor
description: A classification item for vendors
properties:
id:
type: string
description: Item ID
name:
type: string
description: Name of the item
parent_id:
type: string
description: ID of the parent of this item
created_at:
type: string
description: Creation date of the item
format: date-time
updated_at:
type: string
description: Last update date of the item
format: date-time
version:
type: number
description: Revision number of the item
required:
- id
- name
taxonomies-vendors-input:
title: TaxonomyVendorInput
type: object
properties:
id:
type: string
description: Item ID
name:
type: string
description: Name of the item
parent_id:
type: string
description: ID of the parent of this item
required:
- id
- name
metadata-vendors:
type: object
title: Vendor
description: A vendor is a third-party company that provides services to properties by collecting data, transforming
it, ... This object describes a vendor.
properties:
id:
type: string
description: Vendor ID
name:
type: string
description: Name of the vendor
tags:
type: array
description: Extra classification items for the vendor
items:
type: string
website:
type: string
format: uri
description: Website URL of the vendor
website_optout:
type: string
format: uri
description: URL for consumers to opt-out from data collection and processing from the vendor
hosts:
type: array
description: List of hosts (DNS names) that belong to the vendor
items:
type: string
url_patterns:
type: array
description: List of URL patterns (regular expressions) that uniquely identify the vendor
items:
type: string
urls:
type: array
description: If vendors were queried from URLs (with the `url` query-string parameter), this property contains a
list of all URLs that were matched to this vendor
items:
type: string
format: uri
taxonomy_id:
type: string
description: The ID of the taxonomy item for classifying this vendor
created_at:
type: string
description: Creation date of the vendor
format: date-time
updated_at:
type: string
description: Last update date of the vendor
format: date-time
version:
type: number
description: Revision number of the vendor object
required:
- id
- name
metadata-vendors-input:
title: VendorInput
type: object
properties:
name:
type: string
description: Name of the vendor
tags:
type: array
description: Extra classification items for the vendor
items:
type: string
website:
type: string
format: uri
description: Website URL of the vendor
website_optout:
type: string
format: uri
description: URL for consumers to opt-out from data collection and processing from the vendor
hosts:
type: array
description: List of hosts (DNS names) that belong to the vendor
items:
type: string
url_patterns:
type: array
description: List of URL patterns (regular expressions) that uniquely identify the vendor
items:
type: string
taxonomy_id:
type: string
description: The ID of the taxonomy item for classifying this vendor
required:
- name
purposes-groups:
description: A group of purposes
type: object
title: PurposesGroup
properties:
id:
type: string
description: Group ID
name:
type: string
description: Name of the group
description:
type: string
description: Description of the group
namespaces:
type: object
description: IDs of this group in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab2:
type: string
description: ID of the group in the IAB TCF version 2 as a stack ID
purposes_id:
description: Purposes that belong to the group
type: array
items:
type: string
description: ID of a purpose
organization_id:
type: string
description: ID of the organization that owns the group. If ID is null, the group is global.
created_at:
type: string
description: Creation date of the purpose
format: date-time
updated_at:
type: string
description: Last update date of the purpose
format: date-time
required:
- name
purposes-group-input:
title: PurposesGroupInput
type: object
properties:
name:
type: string
description: Name of the group
description:
type: string
description: Description of the group
namespaces:
type: object
description: IDs of this group in other namespaces / vendor lists and used in Didomi SDKs and consents
properties:
iab2:
type: string
description: ID of the group in the IAB TCF version 2 as a stack ID
purposes_id:
description: Purposes that belong to the group
type: array
items:
type: string
description: ID of a purpose
organization_id:
type: string
description: ID of the organization that owns the group. If ID is null, the group is global.
required:
- name
MetadataPurposeRegulationOverride:
description: A table to define MetadataPurposeRegulationOverrides. Overrides allow clients to define which regulations
a global (organization_id=null) metadata purpose supports. It is not supported to define overrides for a custom purpose
(purposes created by an organization). A null value of `regulations_id` means all regulations are supported, and an
empty array means no regulations are supported.
type: object
title: MetadataPurposeRegulationOverride
properties:
id:
type: string
description: The unique identifier of the override
organization_id:
type: string
description: ID of the organization that owns the override
created_at:
type: string
description: Creation date of the override
format: date-time
updated_at:
type: string
description: Last update date of the override
format: date-time
deleted_at:
type: string
description: Deletion date of the override
format: date-time
regulations_id:
type: array
description: An array of regulation IDs the override configures the metadata purpose to support
items:
type: string
metadata_purpose_id:
type: string
description: The ID of the associated global (organization_id=null) metadata purpose
required:
- id
- metadata_purpose_id
- organization_id
MetadataPurposeRegulationOverrideInput:
title: MetadataPurposeRegulationOverrideInput
type: object
properties:
organization_id:
type: string
description: ID of the organization which the MetadataPurposeRegulationOverride belongs to
regulations_id:
type: array
description: An array of regulation IDs the override configures the metadata purpose to support
items:
type: string
metadata_purpose_id:
type: string
description: The ID of the associated global (organization_id=null) metadata purpose
required:
- organization_id
- metadata_purpose_id
MetadataPurposeRegulationOverridePatchInput:
title: MetadataPurposeRegulationOverridePatchInput
type: object
properties:
regulations_id:
type: array
description: An array of regulation IDs the override configures the metadata purpose to support
items:
type: string
metadata_purpose_id:
type: string
description: The ID of the associated global (organization_id=null) metadata purpose
partners-categories:
type: object
title: PartnersCategory
properties:
id:
type: string
description: Partners category ID
name:
type: string
description: Name of the partners category
created_at:
type: string
description: Creation date of the partners category
format: date-time
updated_at:
type: string
description: Last update date of the partners category
format: date-time
required:
- id
partners-categories-input:
title: PartnersCategoryInput
type: object
properties:
id:
type: string
description: Partners category ID
name:
type: string
description: Name of the partners category
partners-purposes:
type: object
properties:
id:
type: string
description: Unique identifier for the partner-purpose association
metadata_partner_id:
type: string
description: Foreign key reference to metadata-partners(id)
metadata_purpose_id:
type: string
description: Foreign key reference to metadata-purposes(id)
organization_id:
type: string
description: Optional organization ID for org-specific overrides. Null indicates a global association
nullable: true
processing_rules:
type: array
items:
type: string
enum:
- opt-in
- opt-out
description: Processing rules for this partner-purpose combination
minItems: 1
is_org_override:
type: boolean
description: Read-only flag indicating if this is an organization override of a global association
default_purposes_id:
type: string
description: Legacy foreign key reference to metadata-partners-default-purposes(id)
nullable: true
legitimate_interest_purposes_id:
type: string
description: Legacy foreign key reference to metadata-partners-legitimate-interest-purposes(id)
nullable: true
created_at:
type: string
format: date-time
description: Timestamp of record creation
updated_at:
type: string
format: date-time
description: Timestamp of last update
version:
type: integer
description: Version number for concurrency control
required:
- id
- metadata_partner_id
- metadata_purpose_id
- processing_rules
partners-purposes-input:
title: partners-purposes-input
type: object
properties:
metadata_partner_id:
type: string
description: Foreign key reference to metadata-partners(id)
metadata_purpose_id:
type: string
description: Foreign key reference to metadata-purposes(id)
organization_id:
type: string
description: Optional organization ID for org-specific overrides. Null indicates a global association
nullable: true
processing_rules:
type: array
items:
type: string
enum:
- opt-in
- opt-out
description: Processing rules for this partner-purpose combination
minItems: 1
required:
- metadata_partner_id
- metadata_purpose_id
- processing_rules
partners-default-purposes:
type: object
title: PartnersDefaultPurposes
properties:
is_org_override:
type: boolean
description: Override flag, if true, means that the association references a global partner but belongs to an organization
metadata_partner_id:
type: string
description: Partner ID
metadata_purpose_id:
type: string
description: Purpose ID
organization_id:
type: string
description: Organization ID
created_at:
type: string
description: Creation date of the partners-default-purposes object
format: date-time
updated_at:
type: string
description: Last update date of the partners-default-purposes object
format: date-time
required:
- metadata_partner_id
- metadata_purpose_id
- organization_id
partners-default-purposes-input:
title: PartnersDefaultPurposesInput
type: object
properties:
metadata_partner_id:
type: string
description: Partner ID
metadata_purpose_id:
type: string
description: Purpose ID
organization_id:
type: string
description: Organization ID
partners-legitimate-interest-purposes:
type: object
title: PartnersLegitimateInterestPurposes
properties:
metadata_partner_id:
type: string
description: Partner ID
metadata_purpose_id:
type: string
description: Purpose ID
is_org_override:
type: boolean
description: Override flag, if true, means that the association references a global partner but belongs to an organization
organization_id:
type: string
description: Organization ID
created_at:
type: string
description: Creation date of the partners-legitimate-interest-purposes object
format: date-time
updated_at:
type: string
description: Last update date of the partners-legitimate-interest-purposes object
format: date-time
required:
- metadata_partner_id
- metadata_purpose_id
- organization_id
partners-legitimate-interest-purposes-input:
title: PartnersLegitimateInterestPurposesInput
type: object
properties:
metadata_partner_id:
type: string
description: Partner ID
metadata_purpose_id:
type: string
description: Purpose ID
organization_id:
type: string
description: Organization ID
partners-spi-purposes:
type: object
title: PartnersSPIPurposes
properties:
metadata_partner_id:
type: string
description: Partner ID
metadata_purpose_id:
type: string
description: Purpose ID
is_org_override:
type: boolean
description: Override flag, if true, means that the association references a global partner but belongs to an organization
organization_id:
type: string
description: Organization ID
created_at:
type: string
description: Creation date of the partners-spi-purposes object
format: date-time
updated_at:
type: string
description: Last update date of the partners-spi-purposes object
format: date-time
required:
- metadata_partner_id
- metadata_purpose_id
- organization_id
partners-spi-purposes-input:
title: PartnersSPIPurposesInput
type: object
properties:
metadata_partner_id:
type: string
description: Partner ID
metadata_purpose_id:
type: string
description: Purpose ID
organization_id:
type: string
description: Organization ID
partners-storages:
description: List of additional storages used by the vendor
type: object
title: Storage
properties:
type:
type: string
enum:
- cookie
- web_storage
- app_storage
description: What type of storage or access mechanism is used
identifier:
type: string
description: Name of the storage item
purposes_id:
type: array
description: The purpose IDs for which the storage is used
items:
type: string
domain:
type: string
description: The domain for which the storage is used (only required for type "cookie" and "web_storage")
max_age:
type: number
description: The duration for storage on a device (only required for type "cookie")
max_age_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the storage duration
organization_id:
type: string
description: The organization ID that owns the storage
partner_id:
type: string
description: The partner ID that owns the storage
required:
- id
partners-storages-input:
title: StorageInput
type: object
properties:
type:
type: string
enum:
- cookie
- web_storage
- app_storage
description: What type of storage or access mechanism is used
identifier:
type: string
description: Name of the storage item
purposes_id:
type: array
description: The purpose IDs for which the storage is used
items:
type: string
domain:
type: string
description: The domain for which the storage is used (only required for type "cookie" and "web_storage")
max_age:
type: number
description: The duration for storage on a device (only required for type "cookie")
max_age_unit:
type: string
enum:
- months
- days
- seconds
description: The unit of the storage duration
organization_id:
type: string
description: The organization ID that owns the storage
partner_id:
type: string
description: The partner ID that owns the storage
partners-purposes-templates-overrides:
type: object
properties:
id:
type: string
description: Unique identifier for the template override
metadata_partner_id:
type: string
description: Foreign key reference to metadata-partners(id)
metadata_purpose_id:
type: string
description: Foreign key reference to metadata-purposes(id)
template_id:
type: string
description: Foreign key reference to widgets-notices-templates(id)
organization_id:
type: string
description: Foreign key reference to organizations(id)
processing_rule:
type: string
enum:
- opt-in
- opt-out
description: Processing rule override for this template
created_at:
type: string
format: date-time
description: Timestamp of record creation
updated_at:
type: string
format: date-time
description: Timestamp of last update
version:
type: integer
description: Version number for concurrency control
required:
- id
- metadata_partner_id
- metadata_purpose_id
- template_id
- organization_id
- processing_rule
partners-purposes-templates-overrides-input:
type: object
properties:
metadata_partner_id:
type: string
description: Foreign key reference to metadata-partners(id)
metadata_purpose_id:
type: string
description: Foreign key reference to metadata-purposes(id)
template_id:
type: string
description: Foreign key reference to widgets-notices-templates(id)
organization_id:
type: string
description: Foreign key reference to organizations(id)
processing_rule:
type: string
enum:
- opt-in
- opt-out
description: Processing rule override for this template
required:
- metadata_partner_id
- metadata_purpose_id
- template_id
- organization_id
- processing_rule
partners-purposes-notices-regulations-overrides:
type: object
properties:
id:
type: string
description: Unique identifier for the notice-regulation override
metadata_partner_id:
type: string
description: Foreign key reference to metadata-partners(id)
metadata_purpose_id:
type: string
description: Foreign key reference to metadata-purposes(id)
notice_id:
type: string
description: Foreign key reference to widgets-notices(id)
organization_id:
type: string
description: Foreign key reference to organizations(id)
regulation_id:
type: string
description: Reference to the regulation ID in the Regulations Service
processing_rule:
type: string
enum:
- opt-in
- opt-out
description: Processing rule override for this notice-regulation combination
created_at:
type: string
format: date-time
description: Timestamp of record creation
updated_at:
type: string
format: date-time
description: Timestamp of last update
version:
type: integer
description: Version number for concurrency control
required:
- id
- metadata_partner_id
- metadata_purpose_id
- notice_id
- organization_id
- regulation_id
- processing_rule
partners-purposes-notices-regulations-overrides-input:
type: object
properties:
metadata_partner_id:
type: string
description: Foreign key reference to metadata-partners(id)
metadata_purpose_id:
type: string
description: Foreign key reference to metadata-purposes(id)
notice_id:
type: string
description: Foreign key reference to widgets-notices(id)
organization_id:
type: string
description: Foreign key reference to organizations(id)
regulation_id:
type: string
description: Reference to the regulation ID in the Regulations Service
processing_rule:
type: string
enum:
- opt-in
- opt-out
description: Processing rule override for this notice-regulation combination
required:
- metadata_partner_id
- metadata_purpose_id
- notice_id
- organization_id
- regulation_id
- processing_rule
security:
- bearer: []
definitions:
consent-events:
type: object
title: ConsentEvent
description: A partial update to a user consent status
properties:
id:
type: string
description: Unique event ID
organization_id:
type: string
description: ID of the organization that owns the event
created_at:
type: string
description: Creation date of the event (ISO8601)
status:
type: string
description: 'Status of the event (possible values: confirmed, pending_approval)'
regulation:
type: string
description: Regulation of the event. Possible value is any existing regulation in the Regulations API (/compliance/v1/regulations)
user:
type: object
description: Information on the user that initiated the event
properties:
id:
type: string
description: Didomi user ID (A random UUID for users encountered on websites and an IDFA/ADID for users from mobile
apps) ; if the user does not exist, it will be automatically created
organization_user_id:
type: string
description: A unique user ID, internal to your organization. This can be an email, a phone number, an internal
client ID, etc. It is used to link Didomi users to your internal systems. This ID will be assigned to user if
the user does not already have an organization user ID.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the user. Use it to store custom information on the user. The metadata
will be merged with the existing metadata of the user.
country:
type: string
title: Country
description: Two-letter ISO code of the user's country
last_seen_country:
type: string
title: Last seen country
description: Two-letter ISO country code of the event
required:
- id
consents:
type: object
title: Consents
description: Consent status of the user
properties:
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that the
user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
purposes:
type: array
description: Purposes that the user has made choices for
items:
type: object
title: ConsentChoice
description: Consent choice of the user
properties:
id:
type: string
description: Purpose ID
enabled:
type: boolean
description: Whether the user has given consent to this purpose or not. A null value indicates that the
user has not made a specific choice for the purpose but might have made choices for preferences or channels.
enabled_li:
type: boolean
description: Whether the user has objected to this purpose based on legitimate interest. A null value indicates
that the user has not made a specific choice for the purpose. A "false" value indicates that the user
has objected to the purpose.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the purpose
channels:
type: array
description: Channels. This property is deprecated.
deprecated: true
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that
the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
preferences:
type: array
description: Extra preferences expressed for the purpose. This property is deprecated.
deprecated: true
items:
type: object
title: ConsentPreference
description: Extra preference expressed for the purpose
properties:
id:
type: string
description: Preference ID
enabled:
type: boolean
description: Whether the user has given consent to this preference or not. A null value indicates
that the user has not made a specific choice for the preference but might have made choices for
channels.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the preference
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates
that the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
required:
- id
values:
type: object
description: Flat structure for every selected value by the user.
title: ConsentValues
properties:
preferenceId1:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
preferenceId2:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
required:
- id
vendors:
type: object
description: Vendors that the user has made choices for
properties:
enabled:
type: array
items:
type: string
description: IDs of the vendors that the user given consent to
enabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has not objected to based on legitimate interest
disabled:
type: array
items:
type: string
description: IDs of the vendors that the user denied consent to
disabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has objected to based on legitimate interest
tcfcs:
type: string
description: TCF consent string of the user
required:
- vendors
proofs_id:
type: array
items:
description: IDs of the proofs associated with this consent event
type: string
delegate:
type: object
description: Information on the delegate that created the event on behalf of the user. A delegate is a third-party
that modifies the consents for an end user and that you want to keep track of.
properties:
id:
type: string
description: Unique ID of the delegate. This is usually an internal ID in your organization (team, user, etc.)
and is a free-form string.
name:
type: string
description: Name of the delegate
metadata:
type: object
title: Metadata
description: Free-form metadata object on the delegate. Use it to store custom information on the delegate.
required:
- id
required:
- id
- organization_id
- created_at
- user
- consents
consent-events-input:
type: object
title: ConsentEventInput
description: A partial update to a user consent status
properties:
id:
type: string
description: Unique event ID. Providing an event ID is optional and a unique ID will automatically be generated if
no ID is provided. If an ID is provided, the API will ensure that the event does not already exist before creating
it.
organization_id:
type: string
description: ID of the organization that owns the event
created_at:
type: string
description: Creation date of the event (ISO8601). Providing a creation data is optional and the date will automatically
be set to the time of the request if it is not provided. Dates provided can be in the past to import events that
were collected outside of the Didomi platform.
status:
type: string
description: 'Status of the event (possible values: confirmed, pending_approval)'
user:
type: object
description: Information on the user that initiated the event
properties:
id:
type: string
description: Didomi user ID (A random UUID for users encountered on websites and an IDFA/ADID for users from mobile
apps) ; if the user does not exist, it will be automatically created
organization_user_id:
type: string
description: A unique user ID, internal to your organization. This can be an email, a phone number, an internal
client ID, etc. It is used to link Didomi users to your internal systems. This ID will be assigned to user if
the user does not already have an organization user ID.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the user. Use it to store custom information on the user. The metadata
will be merged with the existing metadata of the user.
country:
type: string
title: Country
description: Two-letter ISO code of the user's country
last_seen_country:
type: string
title: Last seen country
description: Two-letter ISO country code of the event
required:
- id
consents:
type: object
title: Consents
description: Consent status of the user
properties:
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that the
user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
purposes:
type: array
description: Purposes that the user has made choices for
items:
type: object
title: ConsentChoice
description: Consent choice of the user
properties:
id:
type: string
description: Purpose ID
enabled:
type: boolean
description: Whether the user has given consent to this purpose or not. A null value indicates that the
user has not made a specific choice for the purpose but might have made choices for preferences or channels.
enabled_li:
type: boolean
description: Whether the user has objected to this purpose based on legitimate interest. A null value indicates
that the user has not made a specific choice for the purpose. A "false" value indicates that the user
has objected to the purpose.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the purpose
channels:
type: array
description: Channels. This property is deprecated.
deprecated: true
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that
the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
preferences:
type: array
description: Extra preferences expressed for the purpose. This property is deprecated.
deprecated: true
items:
type: object
title: ConsentPreference
description: Extra preference expressed for the purpose
properties:
id:
type: string
description: Preference ID
enabled:
type: boolean
description: Whether the user has given consent to this preference or not. A null value indicates
that the user has not made a specific choice for the preference but might have made choices for
channels.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the preference
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates
that the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
required:
- id
values:
type: object
description: Flat structure for every selected value by the user.
title: ConsentValues
properties:
preferenceId1:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
preferenceId2:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
required:
- id
vendors:
type: object
description: Vendors that the user has made choices for
properties:
enabled:
type: array
items:
type: string
description: IDs of the vendors that the user given consent to
enabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has not objected to based on legitimate interest
disabled:
type: array
items:
type: string
description: IDs of the vendors that the user denied consent to
disabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has objected to based on legitimate interest
tcfcs:
type: string
description: TCF consent string of the user
required:
- vendors
proofs_id:
type: array
items:
description: IDs of the proofs associated with this event
type: string
proofs:
type: array
items:
description: List of proofs to associate with this event. Proofs must be base64-encoded data URIs.
type: string
delegate:
type: object
description: Information on the delegate that created the event on behalf of the user. A delegate is a third-party
that modifies the consents for an end user and that you want to keep track of. The delegate will be ignored if the
API call is done with a consent token.
properties:
id:
type: string
description: Unique ID of the delegate. This is usually an internal ID in your organization (team, user, etc.)
and is a free-form string.
name:
type: string
description: Name of the delegate
metadata:
type: object
title: Metadata
description: Free-form metadata object on the delegate. Use it to store custom information on the delegate.
required:
- id
required:
- organization_id
- created_at
- user
- consents
consent-events-input-update:
type: object
title: ConsentEventInputUpdate
description: A partial update to an event consent status
properties:
status:
type: string
description: 'Status of the event (possible values: confirmed, pending_approval)'
consents:
type: object
title: Consents
description: Consent status of the user
properties:
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that the
user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
purposes:
type: array
description: Purposes that the user has made choices for
items:
type: object
title: ConsentChoice
description: Consent choice of the user
properties:
id:
type: string
description: Purpose ID
enabled:
type: boolean
description: Whether the user has given consent to this purpose or not. A null value indicates that the
user has not made a specific choice for the purpose but might have made choices for preferences or channels.
enabled_li:
type: boolean
description: Whether the user has objected to this purpose based on legitimate interest. A null value indicates
that the user has not made a specific choice for the purpose. A "false" value indicates that the user
has objected to the purpose.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the purpose
channels:
type: array
description: Channels. This property is deprecated.
deprecated: true
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that
the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
preferences:
type: array
description: Extra preferences expressed for the purpose. This property is deprecated.
deprecated: true
items:
type: object
title: ConsentPreference
description: Extra preference expressed for the purpose
properties:
id:
type: string
description: Preference ID
enabled:
type: boolean
description: Whether the user has given consent to this preference or not. A null value indicates
that the user has not made a specific choice for the preference but might have made choices for
channels.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the preference
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates
that the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
required:
- id
values:
type: object
description: Flat structure for every selected value by the user.
title: ConsentValues
properties:
preferenceId1:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
preferenceId2:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
required:
- id
vendors:
type: object
description: Vendors that the user has made choices for
properties:
enabled:
type: array
items:
type: string
description: IDs of the vendors that the user given consent to
enabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has not objected to based on legitimate interest
disabled:
type: array
items:
type: string
description: IDs of the vendors that the user denied consent to
disabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has objected to based on legitimate interest
tcfcs:
type: string
description: TCF consent string of the user
required:
- vendors
proofs_id:
type: array
items:
description: IDs of the proofs associated with this event
type: string
proofs:
type: array
items:
description: List of proofs to associate with this event. Proofs must be base64-encoded data URIs.
type: string
delegate:
type: object
description: Information on the delegate that created the event on behalf of the user. A delegate is a third-party
that modifies the consents for an end user and that you want to keep track of. The delegate will be ignored if the
API call is done with a consent token.
properties:
id:
type: string
description: Unique ID of the delegate. This is usually an internal ID in your organization (team, user, etc.)
and is a free-form string.
name:
type: string
description: Name of the delegate
metadata:
type: object
title: Metadata
description: Free-form metadata object on the delegate. Use it to store custom information on the delegate.
required:
- id
- consents
consent-proofs:
type: object
title: ConsentProof
description: A file proving the consent of the user
properties:
id:
type: string
description: Unique ID of the proof
size:
type: integer
description: Size of the proof in bytes
file:
type: string
description: Base64-encoded data URI
required:
- id
- size
- file
consent-proofs-input:
type: object
title: ConsentProof
description: A file proving the consent of the user
properties:
file:
type: string
description: 'Base64-encoded data URI. Accepted file formats: PDF, PNG, JPG, GIF, DOCX, DOC'
required:
- file
consent-tokens:
type: object
title: ConsentToken
description: A JWT token authorizing users to access and modify their consent data
properties:
id_token:
type: string
description: JWT token
organization_id:
type: string
description: ID of the organization that the consent gives access to
organization_user_id:
type: string
description: User ID
lifetime:
type: integer
description: Lifetime of the token (in seconds)
metadata:
type: object
description: Free-form metadata object on the token. Use it to store custom information tied to the token user. That
information will not be stored in events or user data and will only be available for the lifetime of the token.
required:
- id_token
- organization_id
- organization_user_id
- lifetime
consent-tokens-input:
type: object
title: ConsentToken
description: A JWT token authorizing users to access and modify their consent data
properties:
organization_id:
type: string
description: ID of the organization that the consent gives access to
organization_user_id:
type: string
description: User ID
lifetime:
type: integer
description: Lifetime of the token (in seconds)
metadata:
type: object
description: Free-form metadata object on the token. Use it to store custom information tied to the token user. That
information will not be stored in events or user data and will only be available for the lifetime of the token.
required:
- organization_id
- organization_user_id
- lifetime
consent-users:
type: object
title: ConsentUser
description: An end user and its consent status
properties:
id:
type: string
description: Didomi user ID (A random UUID for users encountered on websites and an IDFA/ADID for users from mobile
apps)
organization_id:
type: string
description: ID of the organization that owns the user
organization_user_id:
type: string
description: A unique user ID, internal to your organization. This can be an email, a phone number, an internal client
ID, etc. It is used to link Didomi users to your internal systems.
version:
type: number
description: Version number of the user record for optimistic locking
created_at:
type: string
description: Creation date of the user (ISO8601)
updated_at:
type: string
description: Last update date of the user (ISO8601)
metadata:
type: object
title: Metadata
description: Free-form metadata object on the user. Use it to store custom information on the user.
country:
type: string
title: Country
description: Two-letter ISO code of the user country
last_seen_country:
type: string
title: Last seen country
description: Two-letter ISO country code of the last consent event for the user.
consents:
type: object
title: Consents
description: Consent status of the user
properties:
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that the
user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
purposes:
type: array
description: Purposes that the user has made choices for
items:
type: object
title: ConsentChoice
description: Consent choice of the user
properties:
id:
type: string
description: Purpose ID
enabled:
type: boolean
description: Whether the user has given consent to this purpose or not. A null value indicates that the
user has not made a specific choice for the purpose but might have made choices for preferences or channels.
enabled_li:
type: boolean
description: Whether the user has objected to this purpose based on legitimate interest. A null value indicates
that the user has not made a specific choice for the purpose. A "false" value indicates that the user
has objected to the purpose.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the purpose
channels:
type: array
description: Channels. This property is deprecated.
deprecated: true
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that
the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
preferences:
type: array
description: Extra preferences expressed for the purpose. This property is deprecated.
deprecated: true
items:
type: object
title: ConsentPreference
description: Extra preference expressed for the purpose
properties:
id:
type: string
description: Preference ID
enabled:
type: boolean
description: Whether the user has given consent to this preference or not. A null value indicates
that the user has not made a specific choice for the preference but might have made choices for
channels.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the preference
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates
that the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
required:
- id
values:
type: object
description: Flat structure for every selected value by the user.
title: ConsentValues
properties:
preferenceId1:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
preferenceId2:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
required:
- id
vendors:
type: object
description: Vendors that the user has made choices for
properties:
enabled:
type: array
items:
type: string
description: IDs of the vendors that the user given consent to
enabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has not objected to based on legitimate interest
disabled:
type: array
items:
type: string
description: IDs of the vendors that the user denied consent to
disabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has objected to based on legitimate interest
tcfcs:
type: string
description: TCF consent string of the user
required:
- vendors
required:
- id
- organization_id
- version
- created_at
- updated_at
consent-users-input-create:
type: object
title: ConsentUserCreate
description: An end user and its consent status
properties:
id:
type: string
description: Didomi user ID (A random UUID for users encountered on websites and an IDFA/ADID for users from mobile
apps)
organization_id:
type: string
description: ID of the organization that owns the user
organization_user_id:
type: string
description: A unique user ID, internal to your organization. This can be an email, a phone number, an internal client
ID, etc. It is used to link Didomi users to your internal systems.
version:
type: number
description: Version number of the user record for optimistic locking
metadata:
type: object
title: Metadata
description: Free-form metadata object on the user. Use it to store custom information on the user.
country:
type: string
title: Country
description: Two-letter ISO code of the user country
last_seen_country:
type: string
title: Last seen country
description: Two-letter ISO country code of the last consent event for the user.
consents:
type: object
title: Consents
description: Consent status of the user
properties:
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that the
user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
purposes:
type: array
description: Purposes that the user has made choices for
items:
type: object
title: ConsentChoice
description: Consent choice of the user
properties:
id:
type: string
description: Purpose ID
enabled:
type: boolean
description: Whether the user has given consent to this purpose or not. A null value indicates that the
user has not made a specific choice for the purpose but might have made choices for preferences or channels.
enabled_li:
type: boolean
description: Whether the user has objected to this purpose based on legitimate interest. A null value indicates
that the user has not made a specific choice for the purpose. A "false" value indicates that the user
has objected to the purpose.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the purpose
channels:
type: array
description: Channels. This property is deprecated.
deprecated: true
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that
the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
preferences:
type: array
description: Extra preferences expressed for the purpose. This property is deprecated.
deprecated: true
items:
type: object
title: ConsentPreference
description: Extra preference expressed for the purpose
properties:
id:
type: string
description: Preference ID
enabled:
type: boolean
description: Whether the user has given consent to this preference or not. A null value indicates
that the user has not made a specific choice for the preference but might have made choices for
channels.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the preference
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates
that the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
required:
- id
values:
type: object
description: Flat structure for every selected value by the user.
title: ConsentValues
properties:
preferenceId1:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
preferenceId2:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
required:
- id
vendors:
type: object
description: Vendors that the user has made choices for
properties:
enabled:
type: array
items:
type: string
description: IDs of the vendors that the user given consent to
enabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has not objected to based on legitimate interest
disabled:
type: array
items:
type: string
description: IDs of the vendors that the user denied consent to
disabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has objected to based on legitimate interest
tcfcs:
type: string
description: TCF consent string of the user
required:
- vendors
deprecated: true
required:
- id
- organization_id
consent-users-input-update:
type: object
title: ConsentUserUpdate
description: An end user and its consent status
properties:
organization_user_id:
type: string
description: A unique user ID, internal to your organization. This can be an email, a phone number, an internal client
ID, etc. It is used to link Didomi users to your internal systems.
version:
type: number
description: Version number of the user record for optimistic locking
metadata:
type: object
title: Metadata
description: Free-form metadata object on the user. Use it to store custom information on the user.
country:
type: string
title: Country
description: Two-letter ISO code of the user's country
last_seen_country:
type: string
title: Last seen country
description: Two-letter ISO country code of the last consent event for the user.
consents:
type: object
title: Consents
description: Consent status of the user
properties:
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that the
user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
purposes:
type: array
description: Purposes that the user has made choices for
items:
type: object
title: ConsentChoice
description: Consent choice of the user
properties:
id:
type: string
description: Purpose ID
enabled:
type: boolean
description: Whether the user has given consent to this purpose or not. A null value indicates that the
user has not made a specific choice for the purpose but might have made choices for preferences or channels.
enabled_li:
type: boolean
description: Whether the user has objected to this purpose based on legitimate interest. A null value indicates
that the user has not made a specific choice for the purpose. A "false" value indicates that the user
has objected to the purpose.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the purpose
channels:
type: array
description: Channels. This property is deprecated.
deprecated: true
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates that
the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
preferences:
type: array
description: Extra preferences expressed for the purpose. This property is deprecated.
deprecated: true
items:
type: object
title: ConsentPreference
description: Extra preference expressed for the purpose
properties:
id:
type: string
description: Preference ID
enabled:
type: boolean
description: Whether the user has given consent to this preference or not. A null value indicates
that the user has not made a specific choice for the preference but might have made choices for
channels.
metadata:
type: object
title: Metadata
description: Free-form metadata object on the preference
channels:
type: array
description: Channels
items:
type: object
title: Channel
description: Channel
properties:
id:
type: string
description: Channel ID
enabled:
type: boolean
description: Whether the user has given consent to this channel or not. A null value indicates
that the user has not made a specific choice for the channel
metadata:
type: object
title: Metadata
description: Free-form metadata object on the channel
required:
- id
required:
- id
values:
type: object
description: Flat structure for every selected value by the user.
title: ConsentValues
properties:
preferenceId1:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
preferenceId2:
type: object
description: A map of the selected value(s) by the user by preference ID.
properties:
value:
type: string
description: The list of selected value(s) by the user separated by a comma
required:
- id
vendors:
type: object
description: Vendors that the user has made choices for
properties:
enabled:
type: array
items:
type: string
description: IDs of the vendors that the user given consent to
enabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has not objected to based on legitimate interest
disabled:
type: array
items:
type: string
description: IDs of the vendors that the user denied consent to
disabled_li:
type: array
items:
type: string
description: IDs of the vendors that the user has objected to based on legitimate interest
tcfcs:
type: string
description: TCF consent string of the user
required:
- vendors
deprecated: true
sdk-configs:
type: object
title: SDKConfig
description: Configuration loaded by SDKs deployed on properties
properties:
organization_public_api_key:
type: string
description: Public API key of the organization
organization_id:
type: string
description: ID of the organization
notice_id:
type: string
description: ID of the notice
default:
type: string
description: Whether this is the default notice configuration for the platform or not
targets:
type: array
items:
description: Targets (list of domains or mobile app IDs) that the notice should be loaded on
type: string
platform:
type: string
description: Platform that the notice applies to (e.g. "web", "amp", "app", "ctv")
notice_deployment_id:
type: string
description: ID of the notice deployment
deployment_time:
type: string
description: ISO 8601 timestamp of the notice deployment
environment:
type: string
description: Environment of the notice deployment (must be "production")
config:
type: string
description: JSON-encoded SDK configuration for GDPR. This cannot be used in conjunction with the "reg_geo" and "reg_configs"
properties.
reg_geo:
type: object
description: Regulation geo map that defines what regulation to load by country. Keys are countries (ISO 3166 alpha-2
country codes), regions (ISO 3166 alpha-2 country codes and regions, separated by a _), or * to indicate all geos.
Values are regulation IDs (e.g. "gdpr", "ccpa", etc.). This cannot be used in conjunction with the "config" property.
reg_configs:
type: object
description: Regulation configs map that defines the SDK config per regulation. Keys are regulation IDs (e.g. "gdpr",
"ccpa", etc.) and values are JSON-encoded SDK configs for each regulation. This cannot be used in conjunction with
the "config" property. Mutually exclusive with reg_configs_compressed - only present when compression is not applied.
reg_configs_compressed:
type: string
description: Base64-encoded gzip-compressed version of reg_configs. Mutually exclusive with reg_configs - only present
when compression is successfully applied to avoid the 6MB lambda event body size limit for large configurations.
required:
- organization_public_api_key
- organization_id
- notice_id
- default
- targets
- platform
- notice_deployment_id
- deployment_time
- environment
paths:
/consents/events:
get:
summary: Retrieve events
description: Returns a list of events for a given organization ID and user ID or organization user ID
security:
- bearer: []
parameters:
- name: organization_id
in: query
description: The ID of the organization for which to retrieve events
required: true
schema:
type: string
- name: user_id
in: query
description: The Didomi user ID for which to retrieve events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
- name: organization_user_id
in: query
description: The organization user ID for which to retrieve events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
- name: status
in: query
description: 'Filter events according to their status (possible values: confirmed, pending_approval). If this field
is missing, only confirmed events are returned. To filter on multiple statuses in a single request, use the notation
status[$in]: ?status[$in]=confirmed&status[$in]=pending_approval.'
required: false
schema:
type: string
- name: regulation
in: query
description: 'Filter events according to their regulation. Possible value is any existing regulation in the Regulations
API (/compliance/v1/regulations). If this field is missing, only GDPR events are returned. To filter on multiple
regulations in a single request, use the notation regulation[$in]: ?regulation[$in]=gdpr®ulation[$in]=cpra.'
required: false
schema:
type: string
responses:
'200':
description: A list of ConsentEvent objects
content:
application/json:
schema:
type: array
items:
$ref: '#/definitions/consent-events'
tags:
- consents/events
consumes:
- application/json
produces:
- application/json
post:
summary: Create a new event
description: Create a new event and update the consent status of the user
parameters:
- name: organization_id
in: query
description: The ID of the organization for which to create an event
required: true
schema:
type: string
- name: $disable_integrations
in: query
description: Disable sending the event to integrations configured for the organization. Set this parameter to true
if you do not want the event processed by integrations (if you are importing events that already exist in the integrated
systems, for instance).
required: false
schema:
type: boolean
- name: $generate_tcfcs
in: query
description: Set to "true" to generate a TCF consent string for the user based on the latest status of the user
required: false
schema:
type: boolean
- name: event
in: body
description: Event information
required: true
schema:
$ref: '#/definitions/consent-events-input'
responses:
'200':
description: The created ConsentEvent object
content:
application/json:
schema:
$ref: '#/definitions/consent-events'
tags:
- consents/events
consumes:
- application/json
produces:
- application/json
security:
- bearer: []
delete:
summary: Delete events
description: Delete events and update the user consent status as if the events had never happened ; the user consent
status is re-computed from all events for that user except deleted events
security:
- bearer: []
parameters:
- name: organization_id
in: query
description: The ID of the organization that the event belongs to
required: true
schema:
type: string
- name: user_id
in: query
description: The Didomi user ID for which to delete events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
- name: organization_user_id
in: query
description: The organization user ID for which to delete events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
- name: '{filters}'
in: query
description: Keys and values to filter the events to delete. You can filter using any property of the events, including
nested properties like metadata by using . as a separator for each level
required: true
schema:
type: string
responses:
'204':
description: The events were successfully deleted and the user consent status has been updated
tags:
- consents/events
consumes:
- application/json
produces:
- application/json
/consents/events/{id}:
get:
summary: Retrieve an event
description: Returns an event
security:
- bearer: []
parameters:
- name: id
in: path
description: The ID of the event to retrieve
required: true
schema:
type: string
- name: organization_id
in: query
description: The ID of the organization that the event belongs to
required: true
schema:
type: string
- name: user_id
in: query
description: The Didomi user ID for which to retrieve events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
- name: organization_user_id
in: query
description: The organization user ID for which to retrieve events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
responses:
'200':
description: A ConsentEvent object
content:
application/json:
schema:
$ref: '#/definitions/consent-events'
tags:
- consents/events
consumes:
- application/json
produces:
- application/json
patch:
summary: Patch an event
description: Patch an existing event
security:
- bearer: []
parameters:
- name: id
in: path
description: The ID of the event to update
required: true
schema:
type: string
- name: organization_id
in: query
description: The ID of the organization that the event belongs to
required: true
schema:
type: string
- name: user_id
in: query
description: The Didomi user ID for which to update events. You must provide either **user_id** or **organization_user_id**
when updating events
required: false
schema:
type: string
- name: organization_user_id
in: query
description: The organization user ID for which to update events. You must provide either **user_id** or **organization_user_id**
when updating events
required: false
schema:
type: string
- name: event
in: body
description: The new event data
required: true
schema:
$ref: '#/definitions/consent-events-input-update'
responses:
'200':
description: The patched ConsentEvent object
content:
application/json:
schema:
$ref: '#/definitions/consent-events'
tags:
- consents/events
consumes:
- application/json
produces:
- application/json
delete:
summary: Delete an event
description: Delete an event and update the user consent status as if the event had never happened ; the user consent
status is re-computed from all events for that user except deleted events
security:
- bearer: []
parameters:
- name: id
in: path
description: The ID of the event to delete
required: true
schema:
type: string
- name: organization_id
in: query
description: The ID of the organization that the event belongs to
required: true
schema:
type: string
- name: user_id
in: query
description: The Didomi user ID for which to delete events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
- name: organization_user_id
in: query
description: The organization user ID for which to delete events. You must provide either **user_id** or **organization_user_id**
when querying events
required: false
schema:
type: string
responses:
'204':
description: The event was successfully deleted and the user consent status has been updated
tags:
- consents/events
consumes:
- application/json
produces:
- application/json
/consents/proofs:
post:
summary: Upload a consent proof
description: Upload a file to serve as proof of consent
parameters:
- name: organization_id
in: query
description: The ID of the organization that the proof belongs to
required: true
schema:
type: string
- name: file
in: body
description: Proof information
required: true
schema:
$ref: '#/definitions/consent-proofs-input'
responses:
'200':
description: The created ConsentProof object
content:
application/json:
schema:
$ref: '#/definitions/consent-proofs'
tags:
- consents/proofs
consumes:
- application/json
produces:
- application/json
security:
- bearer: []
/consents/proofs/{id}:
get:
summary: Retrieve a proof
description: Returns a consent proof
security:
- bearer: []
parameters:
- name: id
in: path
description: Unique ID of the proof to retrieve
required: true
schema:
type: string
- name: organization_id
in: query
description: The ID of the organization that the proof belongs to
required: true
schema:
type: string
responses:
'200':
description: A ConsentProof object
content:
application/json:
schema:
$ref: '#/definitions/consent-proofs'
tags:
- consents/proofs
consumes:
- application/json
produces:
- application/json
/consents/tokens:
post:
summary: Create a new consent token
description: Create a new consent token for the user
parameters:
- name: token
in: body
description: Token information
required: true
schema:
$ref: '#/definitions/consent-tokens-input'
responses:
'200':
description: The created ConsentToken object
content:
application/json:
schema:
$ref: '#/definitions/consent-tokens'
tags:
- consents/tokens
consumes:
- application/json
produces:
- application/json
security:
- bearer: []
/consents/users:
get:
summary: Retrieve users
description: Returns a list of end users and their consent status
security:
- bearer: []
parameters:
- name: organization_id
in: query
description: The ID of the organization for which to retrieve users
required: true
schema:
type: string
- name: organization_user_id
in: query
description: The organization user ID to retrieve (optional)
required: false
schema:
type: string
- name: regulation
in: query
description: 'Filter user consents according to their regulation. Possible value is any existing regulation in the
Regulations API (/compliance/v1/regulations). If this field is missing, only GDPR events are returned. To filter
on multiple regulations in a single request, use the notation regulation[$in]: ?regulation[$in]=gdpr®ulation[$in]=cpra.'
required: false
schema:
type: string
responses:
'200':
description: A list of ConsentUser objects
content:
application/json:
schema:
type: array
items:
$ref: '#/definitions/consent-users'
tags:
- consents/users
consumes:
- application/json
produces:
- application/json
post:
summary: Create a new user
description: Create a new user and store its consent status
parameters:
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
- name: $generate_tcfcs
in: query
description: Set to "true" to generate a TCF consent string for the user based on the latest status of the user
required: false
schema:
type: boolean
- name: user
in: body
description: User information
required: true
schema:
$ref: '#/definitions/consent-users-input-create'
responses:
'200':
description: The created ConsentUser object
content:
application/json:
schema:
$ref: '#/definitions/consent-users'
tags:
- consents/users
consumes:
- application/json
produces:
- application/json
security:
- bearer: []
/consents/users/{id}:
get:
summary: Retrieve a user
description: Returns a user and its consent status
security:
- bearer: []
parameters:
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
- name: id
in: path
description: The ID of the user to retrieve. You can query by organization user ID here by providing your organization
user ID in the path and adding a **$by_organization_user_id** query-string parameter
required: true
schema:
type: string
- name: $by_organization_user_id
in: query
description: Add this query-string parameter if you provide an organization user ID as the **id** in the path
required: false
schema:
type: string
responses:
'200':
description: A ConsentUser object
content:
application/json:
schema:
$ref: '#/definitions/consent-users'
tags:
- consents/users
consumes:
- application/json
produces:
- application/json
patch:
summary: Patch a user
description: Patch an existing user
security:
- bearer: []
parameters:
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
- name: id
in: path
description: The ID of the user to update. You can update a user by organization user ID here by providing your organization
user ID in the path and adding a **$by_organization_user_id** query-string parameter
required: true
schema:
type: string
- name: $by_organization_user_id
in: query
description: Add this query-string parameter if you provide an organization user ID as the **id** in the path
required: false
schema:
type: string
- name: $generate_tcfcs
in: query
description: Set to "true" to generate a TCF consent string for the user based on the latest status of the user
required: false
schema:
type: boolean
- name: user
in: body
description: The new user data
required: true
schema:
$ref: '#/definitions/consent-users-input-update'
responses:
'200':
description: The patched ConsentUser object
content:
application/json:
schema:
$ref: '#/definitions/consent-users'
tags:
- consents/users
consumes:
- application/json
produces:
- application/json
delete:
summary: Delete a user
description: Delete an existing user
security:
- bearer: []
parameters:
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
- name: id
in: path
description: The ID of the user to delete. You can delete a user by organization user ID here by providing your organization
user ID in the path and adding a **$by_organization_user_id** query-string parameter
required: true
schema:
type: string
- name: $by_organization_user_id
in: query
description: Add this query-string parameter if you provide an organization user ID as the **id** in the path
required: false
schema:
type: string
responses:
'200':
description: The deleted ConsentUser object
content:
application/json:
schema:
$ref: '#/definitions/consent-users'
tags:
- consents/users
consumes:
- application/json
produces:
- application/json
/widgets/notices/remote-configs:
post:
summary: Deploy a SDK config
description: Directly deploy a SDK config to the production environment for the property
security:
- bearer: []
parameters: []
responses:
'200':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/sdk-configs'
'401':
description: not authenticated
'403':
description: forbidden
'500':
description: general error
tags:
- widgets/notices/remote-configs
consumes:
- application/json
produces:
- application/json
/sessions/{id}:
get:
parameters:
- in: path
name: id
description: ID of sessions to return
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/sessions'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Retrieves a single resource with the given id from the service.
summary: ''
tags:
- sessions
security: []
/sessions:
post:
parameters:
- name: session
in: body
description: The authentication information
required: true
schema:
$ref: '#/components/schemas/sessions-input'
responses:
'200':
description: The created Session object
content:
application/json:
schema:
$ref: '#/components/schemas/sessions'
description: Authenticate against the Didomi API and get an access token to use for calls requiring authorization
summary: Create a new session
tags:
- sessions
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/sessions'
/keys:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/keys'
responses:
'200':
description: A list of APIKey objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/keys'
description: Returns a list of all API keys the user has access to
summary: Retrieve a list of API keys
tags:
- keys
security:
- bearer: []
post:
parameters:
- name: key
in: body
description: API key
required: true
schema:
$ref: '#/components/schemas/keys-input-create'
responses:
'200':
description: The created APIKey object
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Unique ID of the API key
organization_id:
type: string
description: ID of the organization that owns the API key
created_at:
type: string
description: Creation date of the API key (ISO8601)
enabled:
type: boolean
description: Status of the API key. A disabled API key cannot be used for obtaining a token. Already issued
tokens remain valid until their expiration.
secret:
type: string
description: Secret of the API key
description: Create a new API key that can be used for authenticating HTTP requests to the Didomi API
summary: Create a new API key
tags:
- keys
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
/keys/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the API key to retrieve
required: true
schema:
type: string
responses:
'200':
description: An APIKey object
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
description: Returns a single API key with the given ID
summary: Retrieve an API key
tags:
- keys
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the API key to update
required: true
schema:
type: string
- name: key
in: body
description: The new API key data
required: true
schema:
$ref: '#/components/schemas/keys-input-update'
responses:
'200':
description: The updated APIKey object
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
description: Update an existing API key
summary: Update an API key
tags:
- keys
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
patch:
parameters:
- name: id
in: path
description: The ID of the API key to patch
required: true
schema:
type: string
- name: key
in: body
description: The new API key data
required: true
schema:
$ref: '#/components/schemas/keys-input-update'
responses:
'200':
description: The patched APIKey object
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
description: Patch an existing API key
summary: Patch an API key
tags:
- keys
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
delete:
parameters:
- name: id
in: path
description: The ID of the API key to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted APIKey object
content:
application/json:
schema:
$ref: '#/components/schemas/keys'
description: Delete an existing API key
summary: Delete an API key
tags:
- keys
security:
- bearer: []
/quotas:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/quotas'
responses:
'200':
description: A list of Quota objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/quotas'
description: Returns a list of all quotas for the organizations the user belongs to
summary: Retrieve a list of quotas
tags:
- quotas
security:
- bearer: []
/quotas/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the quota to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Quota object
content:
application/json:
schema:
$ref: '#/components/schemas/quotas'
description: Returns a single quota with the given ID
summary: Retrieve a quota
tags:
- quotas
security:
- bearer: []
/domains:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/domains'
responses:
'200':
description: A list of Domain objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/domains'
description: Returns a list of domains
summary: Retrieve a list of domains
tags:
- domains
security:
- bearer: []
post:
parameters:
- name: domain
in: body
description: The Domain object to create
required: true
schema:
$ref: '#/components/schemas/domains-input-create'
responses:
'200':
description: The created Domain object
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
description: Create a new domain
summary: Create a domain
tags:
- domains
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
/domains/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the domain to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Domain object
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
description: Returns a domain by its ID
summary: Retrieve a domain
tags:
- domains
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the domain to update
required: true
schema:
type: string
- name: domain
in: body
description: The new data to update the domain with
required: true
schema:
$ref: '#/components/schemas/domains-input-update'
responses:
'200':
description: The updated Domain object
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
description: Update an existing domain
summary: Update a domain
tags:
- domains
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
patch:
parameters:
- name: id
in: path
description: The ID of the domain to patch
required: true
schema:
type: string
- name: domain
in: body
description: The properties to replace on the Domain object
required: true
schema:
$ref: '#/components/schemas/domains-input-update'
responses:
'200':
description: The patched Domain object
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
description: Partially update a domain
summary: Patch a domain
tags:
- domains
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
delete:
parameters:
- name: id
in: path
description: The ID of the domain to delete
required: true
schema:
type: string
responses:
'200':
description: A Domain object
content:
application/json:
schema:
$ref: '#/components/schemas/domains'
description: Delete a domain with type "managed" by its ID
summary: Delete a domain
tags:
- domains
security:
- bearer: []
/secrets:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/secrets'
responses:
'200':
description: A list of Secret objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/secrets'
description: Returns a list of all the secrets the user has access to
summary: Retrieve a list of secrets
tags:
- secrets
security:
- bearer: []
post:
parameters:
- name: secret
in: body
description: The Secret object to create
required: true
schema:
$ref: '#/components/schemas/secrets-input'
responses:
'200':
description: The created Secret object
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
description: Create a new secret
summary: Create a secret
tags:
- secrets
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
/secrets/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the secret to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Secret object
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
description: Returns a single secret with the given ID
summary: Retrieve a secret
tags:
- secrets
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the secret to update
required: true
schema:
type: string
- name: secret
in: body
description: The new data to update the secret with
required: true
schema:
$ref: '#/components/schemas/secrets-input'
responses:
'200':
description: The updated Secret object
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
description: Update an existing secret
summary: Update a secret
tags:
- secrets
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
patch:
parameters:
- name: id
in: path
description: The ID of the secret to patch
required: true
schema:
type: string
- name: secret
in: body
description: The secrets to replace in the Secret object
required: true
schema:
$ref: '#/components/schemas/secrets-input'
responses:
'200':
description: The patched Secret object
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
description: Partially update a secret
summary: Patch a secret
tags:
- secrets
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
delete:
parameters:
- name: id
in: path
description: The ID of the secret to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Secret object
content:
application/json:
schema:
$ref: '#/components/schemas/secrets'
description: Delete an existing secret. Secrets are unrecoverable after being deleted so make sure that they are not
in-use before deleting them.
summary: Delete a secret
tags:
- secrets
security:
- bearer: []
/platform-integrations/sessions:
post:
parameters:
- name: X-Shopify-Authorization
in: header
description: Shopify session token (JWT) from App Bridge
required: true
schema:
type: string
example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
responses:
'201':
description: JWT token successfully minted
content:
application/json:
schema:
$ref: '#/components/schemas/platform-integrations-sessions'
'400':
description: Invalid request or integration configuration error
'401':
description: Platform authentication failed or missing
'404':
description: Platform integration not found
description: Authenticates using platform-specific session token (e.g., Shopify Session Token) and returns a session
response with a short-lived JWT token for accessing Didomi Admin API resources. The token is scoped to the integration's
role (external-integrations-notices-manager) and organization. Only custodial integrations are supported.
summary: Mint JWT token for custodial platform integration
tags:
- Integrations
security:
- ShopifySessionToken: []
requestBody:
description: Empty body (authentication via header)
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/platform-integrations-sessions-input'
/cookies:
get:
parameters:
- name: property_id
in: query
description: The ID of the property
required: false
schema:
type: string
responses:
'200':
description: A list of Cookie objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/cookies'
description: Returns a list of cookies set by a property
summary: Retrieve a list of cookies
tags:
- cookies
security:
- bearer: []
post:
parameters:
- name: cookie
in: body
description: The Cookie object to create
required: true
schema:
$ref: '#/components/schemas/cookies-input'
responses:
'200':
description: The created Cookie object
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
description: Create a new cookie for a property
summary: Create a cookie
tags:
- cookies
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
/cookies/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the cookie to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Cookie object
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
description: Returns a single cookie set by a property
summary: Retrieve a cookie
tags:
- cookies
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the cookie to update
required: true
schema:
type: string
- name: cookie
in: body
description: The new data to update the cookie with
required: true
schema:
$ref: '#/components/schemas/cookies-input'
responses:
'200':
description: The updated Cookie object
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
description: Update an existing cookie set by a property and replace all its properties
summary: Update a cookie
tags:
- cookies
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
patch:
parameters:
- name: id
in: path
description: The ID of the cookie to patch
required: true
schema:
type: string
- name: cookie
in: body
description: The properties to replace on the Cookie object
required: true
schema:
$ref: '#/components/schemas/cookies-input'
responses:
'200':
description: The patched Cookie object
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
description: Partially update a cookie set by a property
summary: Patch a cookie
tags:
- cookies
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
delete:
parameters:
- name: id
in: path
description: The ID of the cookie to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Cookie object
content:
application/json:
schema:
$ref: '#/components/schemas/cookies'
description: Delete an existing cookie
summary: Delete a cookie
tags:
- cookies
security:
- bearer: []
/languages:
get:
parameters: []
responses:
'200':
description: List of Languages object
content:
application/json:
schema:
$ref: '#/components/schemas/languages'
description: Returns list of available languages/locales
summary: Retrieve list of available languages/locales
tags:
- languages
security:
- bearer: []
/analytics/dashboards-urls:
get:
parameters:
- name: category
required: false
in: query
schema:
$ref: '#/components/schemas/DashboardUrlCategory'
description: The category of the dashboard. Used for grouping dashboard (per page for example).
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: false
schema:
type: string
- name: $limit
required: false
in: query
description: Number of max results to return
schema:
type: number
- name: $skip
required: false
in: query
description: Number of results to skip
schema:
type: number
- name: $sort
required: false
in: query
description: Object representing sorting options. Accepts properties to sort as keys and -1 or 1 for sort direction
example:
updated_at: 1
created_at: 1
schema:
type: object
properties:
updated_at:
type: number
created_at:
type: number
responses:
'200':
content:
application/json:
schema:
type: object
description: A paginated list of DashboardUrl objects
properties:
total:
type: number
description: The total amount of dashboard urls
limit:
type: number
description: The limit of dashboard urls on this query
skip:
type: number
description: Number of dashboard urls skipped
data:
type: array
items:
$ref: '#/components/schemas/dashboards-urls'
description: Returns a list of all dashboards with signed URLs
summary: Retrieve a list of dashboards with signed URLs
tags:
- dashboards-urls
security:
- bearer: []
/organizations:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/organizations'
responses:
'200':
description: A list of Organization objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/organizations'
description: Returns a list of all organizations the user belongs to
summary: Retrieve a list of organizations
tags:
- organizations
security:
- bearer: []
post:
parameters:
- name: organization
in: body
description: The Organization object to create
required: true
schema:
$ref: '#/components/schemas/organizations-input'
responses:
'200':
description: The created Organization object
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
description: Create a new organization
summary: Create an organization
tags:
- organizations
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
/organizations/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the organization to retrieve
required: true
schema:
type: string
responses:
'200':
description: An Organization object
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
description: Returns a single organization with the given ID
summary: Retrieve an organization
tags:
- organizations
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the organization to update
required: true
schema:
type: string
- name: organization
in: body
description: The new data to update the organization with
required: true
schema:
$ref: '#/components/schemas/organizations-input'
responses:
'200':
description: The updated Organization object
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
description: Update an existing organization and replace all its properties
summary: Update an organization
tags:
- organizations
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
patch:
parameters:
- name: id
in: path
description: The ID of the organization to patch
required: true
schema:
type: string
- name: organization
in: body
description: The properties to replace in the Organization object
required: true
schema:
$ref: '#/components/schemas/organizations-input'
responses:
'200':
description: The patched Organization object
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
description: Partially update an organization
summary: Patch an organization
tags:
- organizations
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
delete:
parameters:
- name: id
in: path
description: The ID of the organization to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Organization object
content:
application/json:
schema:
$ref: '#/components/schemas/organizations'
description: Delete an existing organization
summary: Delete an organization
tags:
- organizations
security:
- bearer: []
/members:
get:
parameters:
- name: organization_id
in: query
description: The ID of the organization
required: true
schema:
type: string
responses:
'200':
description: A list of Member objects
schema:
type: array
items:
$ref: '#/components/schemas/members'
description: Returns a list of members of an organization
summary: Retrieve a list of members of an organization
tags:
- members
security:
- bearer: []
post:
parameters:
- name: member
in: body
description: The Member object to create
required: true
schema:
$ref: '#/components/schemas/members-invite-to-org-input'
responses:
'200':
description: The created Member object
content:
application/json:
schema:
$ref: '#/components/schemas/members'
description: Add a new member to an organization. If the user is new it will send an email with a password reset link.
Finally it will send an added to organization notification
summary: Add a user to an organization
tags:
- members
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/members'
/members/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the member to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Member object
content:
application/json:
schema:
$ref: '#/components/schemas/members'
description: Returns a single member of an organization
summary: Retrieve a member
tags:
- members
security:
- bearer: []
patch:
parameters:
- in: path
name: id
description: ID of members to update
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/members'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Updates the resource identified by id using data.
summary: ''
tags:
- members
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/members'
delete:
parameters:
- name: id
in: path
description: The ID of the member to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Member object
content:
application/json:
schema:
$ref: '#/components/schemas/members'
description: Delete an existing member of an organization
summary: Remove a user from an organization
tags:
- members
security:
- bearer: []
/privacy-centers:
get:
parameters:
- name: privacy_center_id
in: query
description: The ID of the privacy center
required: false
schema:
type: string
responses:
'200':
description: A list of PrivacyCenter objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/privacy-centers'
description: Returns a list of all the privacy centers the user has access to
summary: Retrieve a list of privacy centers
tags:
- privacy-centers
security:
- bearer: []
post:
parameters:
- name: privacycenter
in: body
description: The PrivacyCenter object to create
required: true
schema:
$ref: '#/components/schemas/privacy-centers-input'
responses:
'200':
description: The created PrivacyCenter object
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
description: Create a new privacy center
summary: Create a privacy center
tags:
- privacy-centers
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
/privacy-centers/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the privacy center to retrieve
required: true
schema:
type: string
responses:
'200':
description: A PrivacyCenter object
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
description: Returns a single privacy center with the given ID
summary: Retrieve a privacy center
tags:
- privacy-centers
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the session to update
required: true
schema:
type: string
- name: privacycenter
in: body
description: The new data to update the privacy center with
required: true
schema:
$ref: '#/components/schemas/privacy-centers-input'
responses:
'200':
description: The updated PrivacyCenter object
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
description: Update an existing privacy center and replace all its properties
summary: Update a privacy center
tags:
- privacy-centers
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
patch:
parameters:
- name: id
in: path
description: The ID of the session to patch
required: true
schema:
type: string
- name: privacycenter
in: body
description: The properties to replace in the PrivacyCenter object
required: true
schema:
$ref: '#/components/schemas/privacy-centers-input'
responses:
'200':
description: The patched PrivacyCenter object
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
description: Partially update a privacy center
summary: Patch a privacy center
tags:
- privacy-centers
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
delete:
parameters:
- name: id
in: path
description: The ID of the privacy center to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted PrivacyCenter object
content:
application/json:
schema:
$ref: '#/components/schemas/privacy-centers'
description: Delete an existing privacy center
summary: Delete a privacy center
tags:
- privacy-centers
security:
- bearer: []
/vendors:
get:
parameters:
- name: property_id
in: query
description: The ID of the property
required: false
schema:
type: string
responses:
'200':
description: A list of Vendor objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/vendors'
description: Returns a list of vendors used by a property
summary: Retrieve a list of vendors
tags:
- vendors
security:
- bearer: []
post:
parameters:
- name: vendor
in: body
description: The Vendor object to create
required: true
schema:
$ref: '#/components/schemas/vendors-input'
responses:
'200':
description: The created Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
description: Create a new vendor for a property
summary: Create a vendor
tags:
- vendors
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
/vendors/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the vendor to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
description: Returns a single vendor used by a property
summary: Retrieve a vendor
tags:
- vendors
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the vendor to update
required: true
schema:
type: string
- name: vendor
in: body
description: The new data to update the vendor with
required: true
schema:
$ref: '#/components/schemas/vendors-input'
responses:
'200':
description: The updated Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
description: Update an existing vendor used by a property and replace all its properties
summary: Update a vendor
tags:
- vendors
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
patch:
parameters:
- name: id
in: path
description: The ID of the vendor to patch
required: true
schema:
type: string
- name: vendor
in: body
description: The properties to replace on the Vendor object
required: true
schema:
$ref: '#/components/schemas/vendors-input'
responses:
'200':
description: The patched Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
description: Partially update a vendor used by a property
summary: Patch a vendor
tags:
- vendors
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
delete:
parameters:
- name: id
in: path
description: The ID of the vendor to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
description: Delete an existing vendor
summary: Delete a vendor
tags:
- vendors
security:
- bearer: []
/premium-features:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/premium-features'
responses:
'200':
description: A list of PremiumFeature objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/premium-features'
description: Returns a list of all premium features for the organizations the user belongs to
summary: Retrieve a list of premium features
tags:
- premium-features
security:
- bearer: []
/premium-features/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the premium feature to retrieve
required: true
schema:
type: string
responses:
'200':
description: A PremiumFeature object
content:
application/json:
schema:
$ref: '#/components/schemas/premium-features'
description: Returns a single premium feature with the given ID
summary: Retrieve a premium-feature
tags:
- premium-features
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the premium feature to update
required: true
schema:
type: string
- name: premium-feature
in: body
description: The new data to update the premium feature with
required: true
schema:
$ref: '#/components/schemas/premium-features-input'
responses:
'200':
description: The updated PremiumFeature object
content:
application/json:
schema:
$ref: '#/components/schemas/premium-features'
description: Update an existing premium feature
summary: Update a premium feature
tags:
- premium-features
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/premium-features'
patch:
parameters:
- name: id
in: path
description: The ID of the premium feature to patch
required: true
schema:
type: string
- name: premium-feature
in: body
description: The premium features to replace in the Premium Feature object
required: true
schema:
$ref: '#/components/schemas/premium-features-input'
responses:
'200':
description: The patched PremiumFeature object
content:
application/json:
schema:
$ref: '#/components/schemas/premium-features'
description: Partially update a premium feature
summary: Patch a premium feature
tags:
- premium-features
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/premium-features'
/sso-connections:
get:
parameters:
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/sso-connections'
description: Returns a list of all SSO connections.
summary: Retrieve a list of SSO connections
tags:
- sso-connections
security:
- bearer: []
post:
parameters:
- name: sso-connection
in: body
description: The SSO connection object to create.
required: true
schema:
$ref: '#/components/schemas/sso-connection-input-create'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/sso-connections'
description: Create a new SSO connection.
summary: Create a SSO connection
tags:
- sso-connections
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/sso-connections'
/sso-connections/{id}:
patch:
parameters:
- name: sso-connection
in: body
description: The SSO connection object to patch.
required: true
schema:
$ref: '#/components/schemas/sso-connection-input-patch'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/sso-connections'
description: Patch an existing SSO connection.
summary: Patch a SSO connection
tags:
- sso-connections
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/sso-connections'
/organizations-source-systems:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/organizations-source-systems'
responses:
'200':
description: A list of OrganizationSourceSystem objects
content:
application/json:
schema:
$ref: '#/components/schemas/organizations-source-systems_list'
'401':
description: Unauthorized
'500':
description: Internal server error
description: Returns a list of organization source system mappings
summary: Retrieve a list of organization source systems
tags:
- organizations-source-systems
security:
- bearer: []
post:
parameters: []
responses:
'201':
description: The created OrganizationSourceSystem object
content:
application/json:
schema:
$ref: '#/components/schemas/organizations-source-systems'
'401':
description: Unauthorized
'500':
description: Internal server error
description: Create a new organization source system mapping
summary: Create an organization source system mapping
tags:
- organizations-source-systems
security:
- bearer: []
requestBody:
description: The OrganizationSourceSystem object to create
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/organizations-source-systems-input-create'
/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: []
/metadata/partners/deprecate:
post:
parameters: []
responses:
'201':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
'401':
description: not authenticated
'500':
description: general error
description: Creates a new resource with data.
summary: ''
tags:
- metadata
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
/metadata/partners:
get:
parameters:
- name: url
in: query
required: false
schema:
type: string
description: An URL to match to a partner. This parameter can be repeated multiple times to identify multiple partners
at once.
responses:
'200':
description: A list of Partner objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners'
description: Returns a list of partners
summary: Retrieve a list of partners
tags:
- partners
security:
- bearer: []
post:
parameters:
- name: partner
in: body
description: The Partner object to create
required: true
schema:
$ref: '#/components/schemas/partners-input'
responses:
'200':
description: The created Partner object
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
description: Create a new partner
summary: Create a partner
tags:
- partners
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
/metadata/partners/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the partner to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Partner object
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
description: Returns a single partner with the given ID
summary: Retrieve a partner
tags:
- partners
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the partner to update
required: true
schema:
type: string
- name: partner
in: body
description: The new data to update the partner with
required: true
schema:
$ref: '#/components/schemas/partners-input'
responses:
'200':
description: The updated Partner object
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
description: Update an existing a partner
summary: Update a partner
tags:
- partners
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
patch:
parameters:
- name: id
in: path
description: The ID of the partner to patch
required: true
schema:
type: string
- name: partner
in: body
description: The data to replace in the Partner object
required: true
schema:
$ref: '#/components/schemas/partners-input'
responses:
'200':
description: The patched Partner object
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
description: Partially update the partner
summary: Patch a partner
tags:
- partners
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
delete:
parameters:
- name: id
in: path
description: The ID of the partner to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Partner object
content:
application/json:
schema:
$ref: '#/components/schemas/partners'
description: Delete the partner
summary: Delete a partner
tags:
- partners
security:
- bearer: []
/metadata/purposes/restrictions:
get:
parameters:
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
responses:
'200':
description: A list of Purpose objects
content:
application/json:
schema:
type: object
description: A paginated list of Purpose objects
properties:
total:
type: number
description: The total amount of purposes
limit:
type: number
description: The limit of purposes on this query
skip:
type: number
description: Number of purposes skipped
data:
type: array
items:
$ref: '#/components/schemas/purposes'
description: Returns a list of all purposes
summary: Retrieve a list of available purposes for restrictions. For publisher restriction list.
tags:
- purposes
security:
- bearer: []
/metadata/purposes:
get:
parameters:
- name: $translations
required: false
in: query
description: If true, will return translatable fields as objects with translations
schema:
type: boolean
- name: organization_id
in: query
description: The ID of the organization that the user belongs to
required: true
schema:
type: string
- name: $limit
required: false
in: query
description: Number of max results to return
schema:
type: number
- name: $skip
required: false
in: query
description: Number of results to skip
schema:
type: number
- name: $sort
required: false
in: query
description: Object representing sorting options. Accepts properties to sort as keys and -1 or 1 for sort direction
example:
updated_at: 1
created_at: 1
schema:
type: object
properties:
updated_at:
type: number
created_at:
type: number
responses:
'200':
description: A list of Purpose objects
content:
application/json:
schema:
type: object
description: A paginated list of Purpose objects
properties:
total:
type: number
description: The total amount of purposes
limit:
type: number
description: The limit of purposes on this query
skip:
type: number
description: Number of purposes skipped
data:
type: array
items:
$ref: '#/components/schemas/purposes'
description: Returns a list of all purposes
summary: Retrieve a list of purposes
tags:
- purposes
security:
- bearer: []
post:
parameters: []
responses:
'200':
description: The created Purpose object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes'
description: Create a new purpose
summary: Create a purpose
tags:
- purposes
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-input'
/metadata/purposes/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the purpose to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Purpose object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes'
description: Returns a single purpose with the given ID
summary: Retrieve a purpose
tags:
- purposes
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the purpose to update
required: true
schema:
type: string
responses:
'200':
description: The updated Purpose object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes'
description: Update an existing purpose and replace all its properties
summary: Update a purpose
tags:
- purposes
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-patch-input'
patch:
parameters:
- name: id
in: path
description: The ID of the purpose to patch
required: true
schema:
type: string
responses:
'200':
description: The patched Purpose object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes'
description: Partially update a purpose
summary: Patch a purpose
tags:
- purposes
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-patch-input'
delete:
parameters:
- name: id
in: path
description: The ID of the purpose to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Purpose object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes'
description: Delete an existing purpose
summary: Delete a purpose
tags:
- purposes
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: []
/taxonomies/vendors:
get:
parameters: []
responses:
'200':
description: A list of TaxonomyVendor objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/taxonomies-vendors'
description: Returns a list of taxonomy items for vendors
summary: Retrieve a list of taxonomy items for vendors
tags:
- taxonomies
security:
- bearer: []
post:
parameters:
- name: item
in: body
description: The TaxonomyVendor object to create
required: true
schema:
$ref: '#/components/schemas/taxonomies-vendors-input'
responses:
'200':
description: The created TaxonomyVendor object
content:
application/json:
schema:
$ref: '#/components/schemas/taxonomies-vendors'
description: Create a new taxonomy item
summary: Create a taxonomy item for vendors
tags:
- taxonomies
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
/taxonomies/vendors/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the item to retrieve
required: true
schema:
type: string
responses:
'200':
description: A TaxonomyVendor object
content:
application/json:
schema:
$ref: '#/components/schemas/taxonomies-vendors'
description: Returns a single taxonomy item
summary: Retrieve a taxonomy item for vendors
tags:
- taxonomies
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the item to update
required: true
schema:
type: string
- name: item
in: body
description: The new data to update the item with
required: true
schema:
$ref: '#/components/schemas/taxonomies-vendors-input'
responses:
'200':
description: The updated TaxonomyVendor object
content:
application/json:
schema:
$ref: '#/components/schemas/taxonomies-vendors'
description: Update an existing taxonomy item
summary: Update a taxonomy item for vendors
tags:
- taxonomies
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
patch:
parameters:
- name: id
in: path
description: The ID of the item to patch
required: true
schema:
type: string
- name: item
in: body
description: The properties to replace on the item
required: true
schema:
$ref: '#/components/schemas/taxonomies-vendors-input'
responses:
'200':
description: The patched TaxonomyVendor object
content:
application/json:
schema:
$ref: '#/components/schemas/taxonomies-vendors'
description: Partially update a taxonomy item
summary: Patch a taxonomy item for vendors
tags:
- taxonomies
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
delete:
parameters:
- name: id
in: path
description: The ID of the item to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted TaxonomyVendor object
content:
application/json:
schema:
$ref: '#/components/schemas/taxonomies-vendors'
description: Delete an item
summary: Delete a taxonomy item for vendors
tags:
- taxonomies
security:
- bearer: []
/metadata/vendors:
get:
parameters:
- name: url
in: query
required: false
schema:
type: string
description: An URL to match to a vendor. This parameter can be repeated multiple times to identify multiple vendors
at once.
responses:
'200':
description: A list of Vendor objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/metadata-vendors'
description: Returns a list of vendors
summary: Retrieve a list of vendors
tags:
- metadata
security:
- bearer: []
post:
parameters:
- name: vendor
in: body
description: The Vendor object to create
required: true
schema:
$ref: '#/components/schemas/metadata-vendors-input'
responses:
'200':
description: The created Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/metadata-vendors'
description: Create a new vendor
summary: Create a vendor
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
/metadata/vendors/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the vendor to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/metadata-vendors'
description: Returns a single vendor with the given ID
summary: Retrieve a vendor
tags:
- metadata
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the vendor to update
required: true
schema:
type: string
- name: vendor
in: body
description: The new data to update the vendor with
required: true
schema:
$ref: '#/components/schemas/metadata-vendors-input'
responses:
'200':
description: The updated Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/metadata-vendors'
description: Update an existing vendor
summary: Update a vendor
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
patch:
parameters:
- name: id
in: path
description: The ID of the vendor to patch
required: true
schema:
type: string
- name: vendor
in: body
description: The data to replace in the Vendor object
required: true
schema:
$ref: '#/components/schemas/metadata-vendors-input'
responses:
'200':
description: The patched Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/metadata-vendors'
description: Partially update a vendor
summary: Patch a vendor
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
delete:
parameters:
- name: id
in: path
description: The ID of the vendor to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Vendor object
content:
application/json:
schema:
$ref: '#/components/schemas/vendors'
description: Delete the vendor
summary: Delete a vendor
tags:
- metadata
security:
- bearer: []
/metadata/purposes-groups:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/purposes-groups'
responses:
'200':
description: A list of PurposesGroup objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/purposes-groups'
description: Returns a list of all purposes groups
summary: Retrieve a list of purposes groups
tags:
- purposes-groups
security:
- bearer: []
post:
parameters:
- name: group
in: body
description: The PurposesGroup object to create
required: true
schema:
$ref: '#/components/schemas/purposes-group-input'
responses:
'200':
description: The created PurposesGroup object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
description: Create a new group of purposes
summary: Create a group of purposes
tags:
- purposes-groups
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
/metadata/purposes-groups/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the group to retrieve
required: true
schema:
type: string
responses:
'200':
description: A PurposesGroup object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
description: Returns a single group with the given ID
summary: Retrieve a group of purposes
tags:
- purposes-groups
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the group to update
required: true
schema:
type: string
- name: purposes-group
in: body
description: The new data to update the group with
required: true
schema:
$ref: '#/components/schemas/purposes-group-input'
responses:
'200':
description: The updated PurposesGroup object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
description: Update an existing group of purposes and replace all its properties
summary: Update a group of purposes
tags:
- purposes-groups
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
patch:
parameters:
- name: id
in: path
description: The ID of the group of purposes to patch
required: true
schema:
type: string
- name: purposes-group
in: body
description: The properties to replace in the group of purposes
required: true
schema:
$ref: '#/components/schemas/purposes-group-input'
responses:
'200':
description: The patched PurposesGroup object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
description: Partially update a group of purposes
summary: Patch a group of purposes
tags:
- purposes-groups
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
delete:
parameters:
- name: id
in: path
description: The ID of the group to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted PurposesGroup object
content:
application/json:
schema:
$ref: '#/components/schemas/purposes-groups'
description: Delete an existing group of purposes
summary: Delete a group of purposes
tags:
- purposes-groups
security:
- bearer: []
/metadata/purposes-regulations-overrides:
get:
parameters:
- name: organization_id
in: query
description: The ID of the organization for which to filter overrides
required: false
schema:
type: string
- name: $limit
required: false
in: query
description: Number of max results to return
schema:
type: number
- name: $skip
required: false
in: query
description: Number of results to skip
schema:
type: number
- name: $sort
required: false
in: query
description: Object representing sorting options. Accepts properties to sort as keys and -1 or 1 for sort direction
responses:
'200':
description: A list of MetadataPurposeRegulationOverride objects
content:
application/json:
schema:
type: object
description: A paginated list of MetadataPurposeRegulationOverride objects
properties:
total:
type: number
description: The total amount of MetadataPurposeRegulationOverrides
limit:
type: number
description: The limit of MetadataPurposeRegulationOverrides on this query
skip:
type: number
description: Number of MetadataPurposeRegulationOverrides skipped
data:
type: array
items:
$ref: '#/components/schemas/MetadataPurposeRegulationOverride'
description: Returns a list of all MetadataPurposeRegulationOverrides. A null value of `regulations_id` means all regulations
are supported, and an empty array means no regulations are supported.
summary: Retrieve a list of MetadataPurposeRegulationOverrides.
tags:
- metadata-purpose-regulation-override
security:
- bearer: []
post:
parameters: []
responses:
'200':
description: The created MetadataPurposeRegulationOverride object
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverride'
description: Create a new MetadataPurposeRegulationOverride
summary: Create a MetadataPurposeRegulationOverride
tags:
- metadata-purpose-regulation-override
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverrideInput'
/metadata/purposes-regulations-overrides/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the MetadataPurposeRegulationOverride to retrieve
required: true
schema:
type: string
responses:
'200':
description: A MetadataPurposeRegulationOverride
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverride'
description: Returns a single MetadataPurposeRegulationOverride with the given ID
summary: Retrieve a MetadataPurposeRegulationOverride
tags:
- metadata-purpose-regulation-override
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the MetadataPurposeRegulationOverride to update
required: true
schema:
type: string
responses:
'200':
description: The updated MetadataPurposeRegulationOverride object
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverride'
description: Update an existing MetadataPurposeRegulationOverride and replace all its properties
summary: Update a MetadataPurposeRegulationOverride
tags:
- metadata-purpose-regulation-override
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverridePatchInput'
patch:
parameters:
- name: id
in: path
description: The ID of the MetadataPurposeRegulationOverride to patch
required: true
schema:
type: string
responses:
'200':
description: The patched MetadataPurposeRegulationOverride object
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverride'
description: Partially update a MetadataPurposeRegulationOverride
summary: Patch a MetadataPurposeRegulationOverride
tags:
- metadata-purpose-regulation-override
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverridePatchInput'
delete:
parameters:
- name: id
in: path
description: The ID of the MetadataPurposeRegulationOverride to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted MetadataPurposeRegulationOverride object
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataPurposeRegulationOverride'
description: Delete an existing MetadataPurposeRegulationOverride
summary: Delete a MetadataPurposeRegulationOverride
tags:
- metadata-purpose-regulation-override
security:
- bearer: []
/metadata/partners-categories:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-categories'
responses:
'200':
description: A list of PartnersCategory objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-categories'
description: Returns a list of all partners categories
summary: Retrieve a list of partners categories
tags:
- metadata
security:
- bearer: []
post:
parameters:
- name: partners category
in: body
description: The Partners category object to create
required: true
schema:
$ref: '#/components/schemas/partners-categories-input'
responses:
'200':
description: The created PartnersCategory object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
description: Create a new partners category
summary: Create a partners category
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
/metadata/partners-categories/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the partners category to retrieve
required: true
schema:
type: string
responses:
'200':
description: A PartnersCategory object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
description: Returns a single partners category with the given ID
summary: Retrieve a partners category
tags:
- metadata
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the partners category to update
required: true
schema:
type: string
- name: partners category
in: body
description: The new data to update the partners category with
required: true
schema:
$ref: '#/components/schemas/partners-categories-input'
responses:
'200':
description: The updated PartnersCategory object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
description: Update an existing partners category and replace all its properties
summary: Update a partners category
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
patch:
parameters:
- name: id
in: path
description: The ID of the partners category to patch
required: true
schema:
type: string
- name: partners category
in: body
description: The properties to replace in the Partners category object
required: true
schema:
$ref: '#/components/schemas/partners-categories-input'
responses:
'200':
description: The patched PartnersCategory object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
description: Partially update a partners category
summary: Patch a partners category
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
delete:
parameters:
- name: id
in: path
description: The ID of the partners category to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted PartnersCategory object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-categories'
description: Delete an existing partners category
summary: Delete a partners category
tags:
- metadata
security:
- bearer: []
/metadata/partners-purposes:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-purposes'
responses:
'200':
content:
application/json:
schema:
type: object
properties:
total:
type: integer
description: Total number of records
limit:
type: integer
description: Number of records per page
skip:
type: integer
description: Number of records to skip
data:
type: array
items:
$ref: '#/components/schemas/partners-purposes'
description: Returns a paginated list of partner-purpose associations the user has access to
summary: List partner-purpose associations
tags:
- metadata
security:
- bearer: []
post:
parameters: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes'
description: Creates a new association between a partner and purpose, optionally scoped to an organization
summary: Create a partner-purpose association
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-input'
/metadata/partners-purposes/{id}:
get:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes'
description: Retrieves a single partner-purpose association by ID
summary: Get a partner-purpose association
tags:
- metadata
security:
- bearer: []
put:
parameters:
- in: path
name: id
description: ID of partners-purposes to update
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Updates the resource identified by id using data.
summary: ''
tags:
- metadata
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes'
patch:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes'
description: Updates only the processing rules for an existing partner-purpose association
summary: Update processing rules
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
processing_rules:
type: array
items:
type: string
enum:
- opt-in
- opt-out
minItems: 1
required:
- processing_rules
delete:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Association successfully deleted
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the deleted association
description: Permanently removes a partner-purpose association
summary: Delete a partner-purpose association
tags:
- metadata
security:
- bearer: []
/metadata/partners-default-purposes:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-default-purposes'
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-default-purposes'
description: Returns a list of all partners-default-purposes objects
summary: Retrieve a list of partners-default-purposes objects
tags:
- partners-default-purposes
security:
- bearer: []
post:
parameters:
- name: partners-default-purposes
in: body
description: The partners-default-purposes object to create
required: true
schema:
type: array
items:
$ref: '#/components/schemas/partners-default-purposes-input'
responses:
'201':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-default-purposes'
description: Create a new partner purpose association
summary: Create a new association between a partner and purpose
tags:
- partners-default-purposes
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-default-purposes'
/metadata/partners-legitimate-interest-purposes:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-legitimate-interest-purposes'
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-legitimate-interest-purposes'
description: Returns a list of all partners-legitimate-interest-purposes objects
summary: Retrieve a list of partners-legitimate-interest-purposes objects
tags:
- partners-legitimate-interest-purposes
security:
- bearer: []
post:
parameters:
- name: partners-legitimate-interest-purposes
in: body
description: The partners-legitimate-interest-purposes object to create
required: true
schema:
type: array
items:
$ref: '#/components/schemas/partners-legitimate-interest-purposes-input'
responses:
'201':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-legitimate-interest-purposes'
description: Create a new partner purpose association
summary: Create a new association between a partner and purpose
tags:
- partners-legitimate-interest-purposes
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-legitimate-interest-purposes'
/metadata/partners-spi-purposes:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-spi-purposes'
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-spi-purposes'
description: Returns a list of all partners-spi-purposes objects
summary: Retrieve a list of partners-spi-purposes objects
tags:
- partners-spi-purposes
security:
- bearer: []
post:
parameters:
- name: partners-spi-purposes
in: body
description: The partners-spi-purposes object to create
required: true
schema:
type: array
items:
$ref: '#/components/schemas/partners-spi-purposes-input'
responses:
'201':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-spi-purposes'
description: Create a new partner purpose association
summary: Create a new association between a partner and purpose
tags:
- partners-spi-purposes
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-spi-purposes'
/metadata/partners-storages:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-storages'
responses:
'200':
description: A list of Storage objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/partners-storages'
description: Returns a list of all storages
summary: Retrieve a list of storages
tags:
- partners-storages
security:
- bearer: []
post:
parameters:
- name: storage
in: body
description: The Storage object to create
required: true
schema:
$ref: '#/components/schemas/partners-storages-input'
responses:
'200':
description: The created Storage object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
description: Create a new storage
summary: Create a storage
tags:
- partners-storages
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
/metadata/partners-storages/{id}:
get:
parameters:
- name: id
in: path
description: The ID of the storage to retrieve
required: true
schema:
type: string
responses:
'200':
description: A Storage object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
description: Returns a single storage with the given ID
summary: Retrieve a storage
tags:
- partners-storages
security:
- bearer: []
put:
parameters:
- name: id
in: path
description: The ID of the storage to update
required: true
schema:
type: string
- name: storage
in: body
description: The new data to update the storage with
required: true
schema:
$ref: '#/components/schemas/partners-storages-input'
responses:
'200':
description: The updated Storage object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
description: Update an existing storage and replace all its properties
summary: Update a storage
tags:
- partners-storages
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
patch:
parameters:
- name: id
in: path
description: The ID of the storage to patch
required: true
schema:
type: string
- name: storage
in: body
description: The properties to replace in the Storage object
required: true
schema:
$ref: '#/components/schemas/partners-storages-input'
responses:
'200':
description: The patched Storage object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
description: Partially update a storage
summary: Patch a storage
tags:
- partners-storages
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
delete:
parameters:
- name: id
in: path
description: The ID of the storage to delete
required: true
schema:
type: string
responses:
'200':
description: The deleted Storage object
content:
application/json:
schema:
$ref: '#/components/schemas/partners-storages'
description: Delete an existing storage
summary: Delete a storage
tags:
- partners-storages
security:
- bearer: []
/metadata/partners-purposes-templates-overrides:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
responses:
'200':
content:
application/json:
schema:
type: object
properties:
total:
type: integer
description: Total number of records
limit:
type: integer
description: Number of records per page
skip:
type: integer
description: Number of records to skip
data:
type: array
items:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
description: Returns a paginated list of template overrides
summary: List template overrides
tags:
- metadata
security:
- bearer: []
post:
parameters: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
description: Creates a new template override for a partner-purpose association
summary: Create a template override
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides-input'
/metadata/partners-purposes-templates-overrides/{id}:
get:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
description: Retrieves a single template override by ID
summary: Get a template override
tags:
- metadata
security:
- bearer: []
put:
parameters:
- in: path
name: id
description: ID of partners-purposes-templates-overrides to update
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Updates the resource identified by id using data.
summary: ''
tags:
- metadata
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
patch:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-templates-overrides'
description: Updates the processing rule for an existing template override
summary: Update a template override
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
processing_rule:
type: string
enum:
- opt-in
- opt-out
required:
- processing_rule
delete:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Template override successfully deleted
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the deleted template override
description: Permanently removes a template override
summary: Delete a template override
tags:
- metadata
security:
- bearer: []
/metadata/partners-purposes-notices-regulations-overrides:
get:
parameters:
- description: Number of results to return
in: query
name: $limit
schema:
type: integer
- description: Number of results to skip
in: query
name: $skip
schema:
type: integer
- description: Property to sort results
in: query
name: $sort
style: deepObject
schema:
type: object
- description: Query parameters to filter
in: query
name: filter
style: form
explode: true
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
responses:
'200':
content:
application/json:
schema:
type: object
properties:
total:
type: integer
description: Total number of records
limit:
type: integer
description: Number of records per page
skip:
type: integer
description: Number of records to skip
data:
type: array
items:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
description: Returns a paginated list of notice-regulation overrides
summary: List notice-regulation overrides
tags:
- metadata
security:
- bearer: []
post:
parameters: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
description: Creates a new notice-regulation override for a partner-purpose association
summary: Create a notice-regulation override
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides-input'
/metadata/partners-purposes-notices-regulations-overrides/{id}:
get:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
description: Retrieves a single notice-regulation override by ID
summary: Get a notice-regulation override
tags:
- metadata
security:
- bearer: []
put:
parameters:
- in: path
name: id
description: ID of partners-purposes-notices-regulations-overrides to update
schema:
type: integer
required: true
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
'401':
description: not authenticated
'404':
description: not found
'500':
description: general error
description: Updates the resource identified by id using data.
summary: ''
tags:
- metadata
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
patch:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/partners-purposes-notices-regulations-overrides'
description: Updates the processing rule for an existing notice-regulation override
summary: Update a notice-regulation override
tags:
- metadata
security:
- bearer: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
processing_rule:
type: string
enum:
- opt-in
- opt-out
required:
- processing_rule
delete:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Notice-regulation override successfully deleted
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the deleted notice-regulation override
description: Permanently removes a notice-regulation override
summary: Delete a notice-regulation override
tags:
- metadata
security:
- bearer: []
tags:
- name: consents/events
- name: consents/proofs
- name: consents/tokens
- name: consents/users
- name: widgets/notices/remote-configs
- name: partner-portal
- name: sessions
description: Manage sessions
- name: keys
description: Manage API keys
- name: quotas
description: Manage quotas
- name: domains
description: Provisioned domains for consent notices and privacy centers
- name: secrets
description: Manage secrets
- name: cookies
description: Manage cookies set by a property
- name: languages
description: List of available languages for the SDKs
- name: organizations
description: Manage organizations
- name: members
description: Manage members of an organization
- name: privacy-centers
description: Manage privacy centers
- name: vendors
description: Manage vendors used by a property
- name: premium-features
description: Manage premium features
- name: sso-connections
description: Manage SSO connections
- name: organizations-source-systems
description: Manage organization source systems
- name: widgets
description: A widgets service
- name: metadata
description: A metadata service
- name: taxonomies
description: Manage the taxonomy for vendors
openapi: 3.0.2
servers:
- url: https://api.didomi.io/v1
description: Didomi Platform API