OneTrust · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Consent & Preferences - Universal Consent & Preference…

5 actions 5 updates phrasing extends openapi/onetrust-data-subjects-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for OneTrust's API. It is a proposal applied on top of the contract, not a document OneTrust publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 5

$.info
$.paths['/api/consentmanager/v1/datasubjects/dataelements'].post
$.paths['/api/consentmanager/v1/datasubjects/merge'].put
$.paths['/api/consentmanager/v1/datasubjects/profiles'].get
$.paths['/api/consentmanager/v1/datasubjects/purposes'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Consent & Preferences - Universal Consent & Preference…
  version: 1.0.0
extends: openapi/onetrust-data-subjects-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 4
- target: $.paths['/api/consentmanager/v1/datasubjects/dataelements'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a data subject's data elements
      effect: write
      questions:
      - Can I add a new data subject or update their profile fields?
      - Is the primary identifier of a data subject changeable?
      instructions:
      - text: Update data elements {dataElements} for data subject {dataSubjectIdentifier}.
        slots:
          dataElements: requestBody.dataElements
          dataSubjectIdentifier: header.dataSubjectIdentifier
      - text: Create or update data subject {dataSubjectIdentifier} with language {language}.
        slots:
          dataSubjectIdentifier: header.dataSubjectIdentifier
          language: requestBody.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/consentmanager/v1/datasubjects/merge'].put
  update:
    x-apievangelist-phrasing:
      intent: Merge duplicate data subjects
      effect: destructive
      questions:
      - Can I merge duplicate consent records for the same person into one?
      - What happens to transactions on the records I merge?
      instructions:
      - text: Merge {additionalIdentifiers} into primary data subject {primaryIdentifier}.
        slots:
          additionalIdentifiers: requestBody.additionalIdentifiers
          primaryIdentifier: requestBody.primaryIdentifier
      - text: Deduplicate data subjects under primary identifier {primaryIdentifier}.
        slots:
          primaryIdentifier: requestBody.primaryIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/consentmanager/v1/datasubjects/profiles'].get
  update:
    x-apievangelist-phrasing:
      intent: List data subject consent profiles
      effect: read
      questions:
      - Which data subjects have been updated since a given date?
      - Can I see a data subject's purposes and preferences by their identifier?
      - Can I filter data subjects by collection point?
      instructions:
      - text: List data subjects updated since {updatedSince}.
        slots:
          updatedSince: query.updatedSince
      - text: Get the consent profile for identifier {identifier}.
        slots:
          identifier: query.identifier
      - text: List data subjects for purpose {purposeGuid}.
        slots:
          purposeGuid: query.purposeGuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/consentmanager/v1/datasubjects/purposes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a data subject's purposes (deprecated)
      effect: read
      questions:
      - Is there a legacy call that returns only the purposes for one data subject?
      - Can I still use the deprecated purposes-by-identifier lookup?
      instructions:
      - text: Get purposes for data subject {identifier} using the deprecated endpoint.
        slots:
          identifier: query.identifier
      - text: Use the legacy lookup to list consent purposes of {identifier}.
        slots:
          identifier: header.identifier
      method: generated
      generated: '2026-09-26'