# 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-purposes-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: 7 - target: $.paths['/api/consentmanager/v1/purposes'].get update: x-apievangelist-phrasing: intent: List consent purposes (deprecated) effect: read questions: - Is there an older call that lists all consent purposes without grouping by version? - Can I still page through purposes with the deprecated list endpoint? instructions: - text: List purposes using the deprecated v1 list. - text: Show page {page} of purposes sorted by {sort} from the legacy endpoint. slots: page: query.page sort: query.sort method: generated generated: '2026-09-26' - target: $.paths['/api/consentmanager/v1/purposes'].post update: x-apievangelist-phrasing: intent: Create a consent purpose effect: write questions: - How do I create a new purpose for collecting consent? - What consent lifespan must I give a new purpose? instructions: - text: Create purpose {Name} described as {Description} with consent lifespan {ConsentLifeSpan}. slots: Name: requestBody.Name Description: requestBody.Description ConsentLifeSpan: requestBody.ConsentLifeSpan - text: 'Draft a new {Type} purpose {Name}: {Description}, consent lifespan {ConsentLifeSpan}.' slots: Type: requestBody.Type Name: requestBody.Name Description: requestBody.Description ConsentLifeSpan: requestBody.ConsentLifeSpan method: generated generated: '2026-09-26' - target: $.paths['/api/consentmanager/v1/purposes/{purposeGuid}'].post update: x-apievangelist-phrasing: intent: Create a new version of an active purpose effect: write questions: - Can I draft changes to a purpose that's already active without touching the live version? - What status does a new purpose version start in? instructions: - text: Create a new draft version of purpose {purposeGuid}. slots: purposeGuid: path.purposeGuid - text: Start a new version of active purpose {purposeGuid}. slots: purposeGuid: path.purposeGuid method: generated generated: '2026-09-26' - target: $.paths['/api/consentmanager/v1/purposes/{purposeId}'].put update: x-apievangelist-phrasing: intent: Update a draft purpose effect: write questions: - Can I edit a purpose that is still in draft? - Why can't I update an active purpose directly? instructions: - text: 'Update draft purpose {purposeId} version {Version}: name {Name}, description {Description}, lifespan {ConsentLifeSpan}, status {Status}.' slots: purposeId: path.purposeId Version: requestBody.Version Name: requestBody.Name Description: requestBody.Description ConsentLifeSpan: requestBody.ConsentLifeSpan Status: requestBody.Status - text: Rename draft purpose {purposeId} to {Name}. slots: purposeId: path.purposeId Name: requestBody.Name method: generated generated: '2026-09-26' - target: $.paths['/api/consentmanager/v1/purposes/{purposeId}/datasubjects'].get update: x-apievangelist-phrasing: intent: List data subjects for a purpose effect: read questions: - Who has consented to a given purpose? - Can I filter a purpose's data subjects by transaction status? instructions: - text: List data subjects for purpose {purposeId}. slots: purposeId: path.purposeId - text: Show data subjects of purpose {purposeId} with transaction status {transactionStatus}. slots: purposeId: path.purposeId transactionStatus: query.transactionStatus method: generated generated: '2026-09-26' - target: $.paths['/api/consentmanager/v1/purposes/{purposeId}/publish'].put update: x-apievangelist-phrasing: intent: Publish a draft purpose effect: write questions: - How do I make a draft purpose active? - Which version number do I need to publish a purpose? instructions: - text: Publish purpose {purposeId} version {version}. slots: purposeId: path.purposeId version: query.version - text: Make version {version} of purpose {purposeId} active. slots: version: query.version purposeId: path.purposeId method: generated generated: '2026-09-26' - target: $.paths['/api/consentmanager/v1/purposes/{purposeId}/retire'].put update: x-apievangelist-phrasing: intent: Retire a purpose effect: destructive questions: - Can I schedule a purpose to be retired on a certain date? - What date is used if I retire a purpose without giving one? instructions: - text: Retire purpose {purposeId}. slots: purposeId: path.purposeId - text: Set purpose {purposeId} to retire on {date}. slots: purposeId: path.purposeId date: query.date method: generated generated: '2026-09-26'