Purposes

A Purpose is WHY a company/organization processes a personal data.

Personal data a company/organization may process depends on the legal reason for processing a personal data and the intended use.

When a company obtains its clients’ personal data, it should explain in clear and plain language

  • why it needs the data,

  • how it will be using it,

  • and how long it intends to keep it.

The processing should be tailored in a way that respects the key data protection principles.

Create a purpose

To create a new purpose, send a POST request on /metadata/purposes endpoint. You need to specify at least the purpose name (description) and a description (details).

POST https://api.didomi.io/metadata/purposes?organization_id=YOUR_ORG_ID

{
  "description": "String",
  "details": "String",
  "reference": "String",
  "organization_id": "string",
  "namespaces": {
    "iab": "string",
    "iab2": "string",
    "didomi": "string",
    "custom": "string"
  },
  "metadata": {},
}

Create a purpose with translations

Didomi supports translations (Check here to see languages supported and their related code). To create a purpose with translations, you need to send a POST request on /metadata/purposes endpoint and add the query $translations=true. You need to specify the purpose name (description) and description (details) which become object with translation query param set to true.

POST https://api.didomi.io/metadata/purposes
  ?$translations=true
  &organization_id=YOUR_ORG_ID

{
  "description": {
    "en": "",
    "fr": "",
    "it": ""
  },
  "details": {
    "en": "",
    "fr": "",
    "it": ""  
  }
}

Fetch purposes

Fetch all purposes

To retrieve all purposes from your Data Manager, you can send a GET request on /metadata/purposes endpoint.

GET https://api.didomi.io/metadata/purposes?organization_id=YOUR_ORG_ID

{
  "total": 0,
  "limit": 0,
  "skip": 0,
  "data": [
    {
      "id": "string",
      "description": "String",
      "details": "String",
      "reference": "String",
      "organization_id": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "metadata": {},
      "namespaces": {
        "iab": "string",
        "iab2": "string",
        "didomi": "string",
        "custom": "string"
      }
    }
  ]
}

Fetch a purpose

To retrieve one purpose from your Data Manager, you can send a GET request on /metadata/purposes/id endpoint.

GET https://api.didomi.io/metadata/purposes/{purposeId}?organization_id=YOUR_ORG_ID

{
  "id": "string",
  "description": "String",
  "details": "String",
  "reference": "String",
  "organization_id": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "metadata": {},  
  "namespaces": {
    "iab": "string",
    "iab2": "string",
    "didomi": "string",
    "custom": "string"
  }
}

Update a purpose

To update a purpose, you need to send a PATCH request on /metadata/purpose/id endpoint.

PATCH https://api.didomi.io/metadata/purposes/{purposeId}?organization_id=YOUR_ORG_ID

{
  "description": "String",
  "details": "String",
  "reference": "String",
  "organization_id": "string",
  "metadata": {},  
  "namespaces": {
    "iab": "string",
    "iab2": "string",
    "didomi": "string",
    "custom": "string"
  }
}

Delete a purpose

To delete a purpose, you need to send a DELETE request on /metadata/purpose/id endpoint.

DELETE https://api.didomi.io/metadata/purposes/{purposeId}?organization_id=YOUR_ORG_ID

Last updated