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