openapi: 3.0.2 info: title: Didomi consents/events privacy-centers 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: privacy-centers description: Manage privacy centers paths: /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: [] components: schemas: 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-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: 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-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 securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http