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