Didomi · Capability

Didomi Platform API — Data Manager Purposes & Groups

Didomi Platform API — Data Manager Purposes & Groups. 19 operations. Self-contained Naftiko capability over the Didomi Platform REST API.

Didomi Platform API — Data Manager Purposes & Groups is a Naftiko capability published by Didomi, one of 10 capabilities the APIs.io network indexes for this provider. It bundles 19 operations across the GET, POST, PUT, PATCH, and DELETE methods rooted at /v1/metadata.

The capability includes 7 read-only operations and 12 state-changing operations. Lead operation: Retrieve a list of available purposes for restrictions. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Didomi, Consent Management, and Privacy.

Run with Naftiko DidomiConsent ManagementPrivacy

What You Can Do

GET
Get metadata purposes restrictions — Retrieve a list of available purposes for restrictions. For publisher restriction list.
/v1/metadata/purposes/restrictions
GET
Get metadata purposes — Retrieve a list of purposes
/v1/metadata/purposes
POST
Post metadata purposes — Create a purpose
/v1/metadata/purposes
GET
Get metadata purposes id — Retrieve a purpose
/v1/metadata/purposes/{id}
PUT
Put metadata purposes id — Update a purpose
/v1/metadata/purposes/{id}
PATCH
Patch metadata purposes id — Patch a purpose
/v1/metadata/purposes/{id}
DELETE
Delete metadata purposes id — Delete a purpose
/v1/metadata/purposes/{id}
GET
Get metadata purposes groups — Retrieve a list of purposes groups
/v1/metadata/purposes-groups
POST
Post metadata purposes groups — Create a group of purposes
/v1/metadata/purposes-groups
GET
Get metadata purposes groups id — Retrieve a group of purposes
/v1/metadata/purposes-groups/{id}
PUT
Put metadata purposes groups id — Update a group of purposes
/v1/metadata/purposes-groups/{id}
PATCH
Patch metadata purposes groups id — Patch a group of purposes
/v1/metadata/purposes-groups/{id}
DELETE
Delete metadata purposes groups id — Delete a group of purposes
/v1/metadata/purposes-groups/{id}
GET
Get metadata purposes regulations overrides — Retrieve a list of MetadataPurposeRegulationOverrides.
/v1/metadata/purposes-regulations-overrides
POST
Post metadata purposes regulations overrides — Create a MetadataPurposeRegulationOverride
/v1/metadata/purposes-regulations-overrides
GET
Get metadata purposes regulations overrides id — Retrieve a MetadataPurposeRegulationOverride
/v1/metadata/purposes-regulations-overrides/{id}
PUT
Put metadata purposes regulations overrides id — Update a MetadataPurposeRegulationOverride
/v1/metadata/purposes-regulations-overrides/{id}
PATCH
Patch metadata purposes regulations overrides id — Patch a MetadataPurposeRegulationOverride
/v1/metadata/purposes-regulations-overrides/{id}
DELETE
Delete metadata purposes regulations overrides id — Delete a MetadataPurposeRegulationOverride
/v1/metadata/purposes-regulations-overrides/{id}

MCP Tools

didomi-get-metadata-purposes-restrictions

Retrieve a list of available purposes for restrictions. For publisher restriction list.

read-only idempotent
didomi-get-metadata-purposes

Retrieve a list of purposes

read-only idempotent
didomi-post-metadata-purposes

Create a purpose

didomi-get-metadata-purposes-id

Retrieve a purpose

read-only idempotent
didomi-put-metadata-purposes-id

Update a purpose

idempotent
didomi-patch-metadata-purposes-id

Patch a purpose

didomi-delete-metadata-purposes-id

Delete a purpose

idempotent
didomi-get-metadata-purposes-groups

Retrieve a list of purposes groups

read-only idempotent
didomi-post-metadata-purposes-groups

Create a group of purposes

didomi-get-metadata-purposes-groups-id

Retrieve a group of purposes

read-only idempotent
didomi-put-metadata-purposes-groups-id

Update a group of purposes

idempotent
didomi-patch-metadata-purposes-groups-id

Patch a group of purposes

didomi-delete-metadata-purposes-groups-id

Delete a group of purposes

idempotent
didomi-get-metadata-purposes-regulations-overrides

Retrieve a list of MetadataPurposeRegulationOverrides.

read-only idempotent
didomi-post-metadata-purposes-regulations-overrides

Create a MetadataPurposeRegulationOverride

didomi-get-metadata-purposes-regulations-overrides-id

Retrieve a MetadataPurposeRegulationOverride

read-only idempotent
didomi-put-metadata-purposes-regulations-overrides-id

Update a MetadataPurposeRegulationOverride

idempotent
didomi-patch-metadata-purposes-regulations-overrides-id

Patch a MetadataPurposeRegulationOverride

didomi-delete-metadata-purposes-regulations-overrides-id

Delete a MetadataPurposeRegulationOverride

idempotent

Capability Spec

data-manager-purposes.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Didomi Platform API — Data Manager Purposes & Groups
  description: Didomi Platform API — Data Manager Purposes & Groups. 19 operations. Self-contained Naftiko capability over the Didomi Platform REST API.
  tags:
  - Didomi
  - Consent Management
  - Privacy
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    DIDOMI_BEARER_TOKEN: DIDOMI_BEARER_TOKEN
capability:
  consumes:
  - type: http
    namespace: data-manager-purposes
    baseUri: https://api.didomi.io/v1
    description: Didomi Platform API — Data Manager Purposes & Groups business capability against the Didomi Platform REST API (https://api.didomi.io/v1).
    resources:
    - name: metadata-purposes-restrictions
      path: /metadata/purposes/restrictions
      operations:
      - name: get-metadata-purposes-restrictions
        method: GET
        description: Retrieve a list of available purposes for restrictions. For publisher restriction list.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: object
          required: false
          description: Optional query filters / pagination.
    - name: metadata-purposes
      path: /metadata/purposes
      operations:
      - name: get-metadata-purposes
        method: GET
        description: Retrieve a list of purposes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: object
          required: false
          description: Optional query filters / pagination.
      - name: post-metadata-purposes
        method: POST
        description: Create a purpose
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
    - name: metadata-purposes-id
      path: /metadata/purposes/{id}
      operations:
      - name: get-metadata-purposes-id
        method: GET
        description: Retrieve a purpose
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: put-metadata-purposes-id
        method: PUT
        description: Update a purpose
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
      - name: patch-metadata-purposes-id
        method: PATCH
        description: Patch a purpose
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
      - name: delete-metadata-purposes-id
        method: DELETE
        description: Delete a purpose
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: metadata-purposes-groups
      path: /metadata/purposes-groups
      operations:
      - name: get-metadata-purposes-groups
        method: GET
        description: Retrieve a list of purposes groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: object
          required: false
          description: Optional query filters / pagination.
      - name: post-metadata-purposes-groups
        method: POST
        description: Create a group of purposes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
    - name: metadata-purposes-groups-id
      path: /metadata/purposes-groups/{id}
      operations:
      - name: get-metadata-purposes-groups-id
        method: GET
        description: Retrieve a group of purposes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: put-metadata-purposes-groups-id
        method: PUT
        description: Update a group of purposes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
      - name: patch-metadata-purposes-groups-id
        method: PATCH
        description: Patch a group of purposes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
      - name: delete-metadata-purposes-groups-id
        method: DELETE
        description: Delete a group of purposes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: metadata-purposes-regulations-overrides
      path: /metadata/purposes-regulations-overrides
      operations:
      - name: get-metadata-purposes-regulations-overrides
        method: GET
        description: Retrieve a list of MetadataPurposeRegulationOverrides.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: object
          required: false
          description: Optional query filters / pagination.
      - name: post-metadata-purposes-regulations-overrides
        method: POST
        description: Create a MetadataPurposeRegulationOverride
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
    - name: metadata-purposes-regulations-overrides-id
      path: /metadata/purposes-regulations-overrides/{id}
      operations:
      - name: get-metadata-purposes-regulations-overrides-id
        method: GET
        description: Retrieve a MetadataPurposeRegulationOverride
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: put-metadata-purposes-regulations-overrides-id
        method: PUT
        description: Update a MetadataPurposeRegulationOverride
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
      - name: patch-metadata-purposes-regulations-overrides-id
        method: PATCH
        description: Patch a MetadataPurposeRegulationOverride
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
          description: Request body (JSON).
      - name: delete-metadata-purposes-regulations-overrides-id
        method: DELETE
        description: Delete a MetadataPurposeRegulationOverride
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      value: '{{env.DIDOMI_BEARER_TOKEN}}'
      placement: header
      note: Obtain by POSTing api-key + secret to /v1/sessions and reusing access_token for up to one hour.
  exposes:
  - type: rest
    namespace: data-manager-purposes-rest
    port: 8080
    description: REST adapter for Didomi Platform API — Data Manager Purposes & Groups. One resource per consumed operation.
    resources:
    - path: /v1/metadata/purposes/restrictions
      name: metadata-purposes-restrictions
      description: REST surface for metadata-purposes-restrictions.
      operations:
      - method: GET
        name: get-metadata-purposes-restrictions
        description: Retrieve a list of available purposes for restrictions. For publisher restriction list.
        call: data-manager-purposes.get-metadata-purposes-restrictions
    - path: /v1/metadata/purposes
      name: metadata-purposes
      description: REST surface for metadata-purposes.
      operations:
      - method: GET
        name: get-metadata-purposes
        description: Retrieve a list of purposes
        call: data-manager-purposes.get-metadata-purposes
      - method: POST
        name: post-metadata-purposes
        description: Create a purpose
        call: data-manager-purposes.post-metadata-purposes
    - path: /v1/metadata/purposes/{id}
      name: metadata-purposes-id
      description: REST surface for metadata-purposes-id.
      operations:
      - method: GET
        name: get-metadata-purposes-id
        description: Retrieve a purpose
        call: data-manager-purposes.get-metadata-purposes-id
      - method: PUT
        name: put-metadata-purposes-id
        description: Update a purpose
        call: data-manager-purposes.put-metadata-purposes-id
      - method: PATCH
        name: patch-metadata-purposes-id
        description: Patch a purpose
        call: data-manager-purposes.patch-metadata-purposes-id
      - method: DELETE
        name: delete-metadata-purposes-id
        description: Delete a purpose
        call: data-manager-purposes.delete-metadata-purposes-id
    - path: /v1/metadata/purposes-groups
      name: metadata-purposes-groups
      description: REST surface for metadata-purposes-groups.
      operations:
      - method: GET
        name: get-metadata-purposes-groups
        description: Retrieve a list of purposes groups
        call: data-manager-purposes.get-metadata-purposes-groups
      - method: POST
        name: post-metadata-purposes-groups
        description: Create a group of purposes
        call: data-manager-purposes.post-metadata-purposes-groups
    - path: /v1/metadata/purposes-groups/{id}
      name: metadata-purposes-groups-id
      description: REST surface for metadata-purposes-groups-id.
      operations:
      - method: GET
        name: get-metadata-purposes-groups-id
        description: Retrieve a group of purposes
        call: data-manager-purposes.get-metadata-purposes-groups-id
      - method: PUT
        name: put-metadata-purposes-groups-id
        description: Update a group of purposes
        call: data-manager-purposes.put-metadata-purposes-groups-id
      - method: PATCH
        name: patch-metadata-purposes-groups-id
        description: Patch a group of purposes
        call: data-manager-purposes.patch-metadata-purposes-groups-id
      - method: DELETE
        name: delete-metadata-purposes-groups-id
        description: Delete a group of purposes
        call: data-manager-purposes.delete-metadata-purposes-groups-id
    - path: /v1/metadata/purposes-regulations-overrides
      name: metadata-purposes-regulations-overrides
      description: REST surface for metadata-purposes-regulations-overrides.
      operations:
      - method: GET
        name: get-metadata-purposes-regulations-overrides
        description: Retrieve a list of MetadataPurposeRegulationOverrides.
        call: data-manager-purposes.get-metadata-purposes-regulations-overrides
      - method: POST
        name: post-metadata-purposes-regulations-overrides
        description: Create a MetadataPurposeRegulationOverride
        call: data-manager-purposes.post-metadata-purposes-regulations-overrides
    - path: /v1/metadata/purposes-regulations-overrides/{id}
      name: metadata-purposes-regulations-overrides-id
      description: REST surface for metadata-purposes-regulations-overrides-id.
      operations:
      - method: GET
        name: get-metadata-purposes-regulations-overrides-id
        description: Retrieve a MetadataPurposeRegulationOverride
        call: data-manager-purposes.get-metadata-purposes-regulations-overrides-id
      - method: PUT
        name: put-metadata-purposes-regulations-overrides-id
        description: Update a MetadataPurposeRegulationOverride
        call: data-manager-purposes.put-metadata-purposes-regulations-overrides-id
      - method: PATCH
        name: patch-metadata-purposes-regulations-overrides-id
        description: Patch a MetadataPurposeRegulationOverride
        call: data-manager-purposes.patch-metadata-purposes-regulations-overrides-id
      - method: DELETE
        name: delete-metadata-purposes-regulations-overrides-id
        description: Delete a MetadataPurposeRegulationOverride
        call: data-manager-purposes.delete-metadata-purposes-regulations-overrides-id
  - type: mcp
    namespace: data-manager-purposes-mcp
    port: 9090
    transport: http
    description: MCP adapter for Didomi Platform API — Data Manager Purposes & Groups. One tool per consumed operation.
    tools:
    - name: didomi-get-metadata-purposes-restrictions
      description: Retrieve a list of available purposes for restrictions. For publisher restriction list.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes-restrictions
    - name: didomi-get-metadata-purposes
      description: Retrieve a list of purposes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes
    - name: didomi-post-metadata-purposes
      description: Create a purpose
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-manager-purposes.post-metadata-purposes
    - name: didomi-get-metadata-purposes-id
      description: Retrieve a purpose
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes-id
    - name: didomi-put-metadata-purposes-id
      description: Update a purpose
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: data-manager-purposes.put-metadata-purposes-id
    - name: didomi-patch-metadata-purposes-id
      description: Patch a purpose
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-manager-purposes.patch-metadata-purposes-id
    - name: didomi-delete-metadata-purposes-id
      description: Delete a purpose
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: data-manager-purposes.delete-metadata-purposes-id
    - name: didomi-get-metadata-purposes-groups
      description: Retrieve a list of purposes groups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes-groups
    - name: didomi-post-metadata-purposes-groups
      description: Create a group of purposes
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-manager-purposes.post-metadata-purposes-groups
    - name: didomi-get-metadata-purposes-groups-id
      description: Retrieve a group of purposes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes-groups-id
    - name: didomi-put-metadata-purposes-groups-id
      description: Update a group of purposes
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: data-manager-purposes.put-metadata-purposes-groups-id
    - name: didomi-patch-metadata-purposes-groups-id
      description: Patch a group of purposes
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-manager-purposes.patch-metadata-purposes-groups-id
    - name: didomi-delete-metadata-purposes-groups-id
      description: Delete a group of purposes
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: data-manager-purposes.delete-metadata-purposes-groups-id
    - name: didomi-get-metadata-purposes-regulations-overrides
      description: Retrieve a list of MetadataPurposeRegulationOverrides.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes-regulations-overrides
    - name: didomi-post-metadata-purposes-regulations-overrides
      description: Create a MetadataPurposeRegulationOverride
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-manager-purposes.post-metadata-purposes-regulations-overrides
    - name: didomi-get-metadata-purposes-regulations-overrides-id
      description: Retrieve a MetadataPurposeRegulationOverride
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-manager-purposes.get-metadata-purposes-regulations-overrides-id
    - name: didomi-put-metadata-purposes-regulations-overrides-id
      description: Update a MetadataPurposeRegulationOverride
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: data-manager-purposes.put-metadata-purposes-regulations-overrides-id
    - name: didomi-patch-metadata-purposes-regulations-overrides-id
      description: Patch a MetadataPurposeRegulationOverride
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-manager-purposes.patch-metadata-purposes-regulations-overrides-id
    - name: didomi-delete-metadata-purposes-regulations-overrides-id
      description: Delete a MetadataPurposeRegulationOverride
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: data-manager-purposes.delete-metadata-purposes-regulations-overrides-id