openapi: 3.0.2
info:
title: Didomi consents/events organizations API
description: 'A REST API to communicate with the Didomi platform (https://api.didomi.io/v1/)
This is the complete specification of the API. A complete guide to authenticating and using the API is available on our Developers Portal.
All HTTP calls to the API require a valid JWT token. The token must be provided in an **Authorization** header with the value "Bearer ".
Click on the Authorize button in the header of this page to provide a token before testing requests from this documentation.
'
version: '1.0'
servers:
- url: https://api.didomi.io/v1
description: Didomi Platform API
security:
- bearer: []
tags:
- name: organizations
description: Manage organizations
paths:
/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: []
components:
schemas:
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
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http