OneTrust · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Privacy Automation - Data Subject Request (DSR) Automation…

16 actions 16 updates phrasing extends openapi/onetrust-request-queues-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 16

$.info
$.paths['/api/datasubject/v2/requestqueues'].post
$.paths['/api/datasubject/v2/requestqueues/bulkdelete/{language}'].put
$.paths['/api/datasubject/v2/requestqueues/delete-certificate/{requestRefId}'].get
$.paths['/api/datasubject/v2/requestqueues/id/{requestQueueId}/requesthistory'].get
$.paths['/api/datasubject/v2/requestqueues/search/{language}'].post
$.paths['/api/datasubject/v2/requestqueues/status/{requestTraceId}'].get
$.paths['/api/datasubject/v2/requestqueues/{language}'].get
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/comments'].put
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/customfields/{language}'].put
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/language/{language}'].get
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/linkrequest'].put
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/movestages/{language}'].put
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/pausedeadline'].put
$.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/requesthistory'].get
$.paths['/api/datasubject/v2/requestqueues/{templateId}'].post

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 Privacy Automation - Data Subject Request (DSR) Automation…
  version: 1.0.0
extends: openapi/onetrust-request-queues-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: 15
- target: $.paths['/api/datasubject/v2/requestqueues'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a data subject request (deprecated)
      effect: write
      questions:
      - Is there an older endpoint that creates a DSR without putting the web form template in the path?
      - What does the deprecated create-request call accept for the requester's name and email?
      instructions:
      - text: Use the deprecated create-request endpoint to file a request for {email} with template {templateId} in the body.
        slots:
          email: requestBody.email
          templateId: requestBody.templateId
      - text: Submit a legacy DSR for {firstName} {lastName} with trace ID {requestTraceId}.
        slots:
          firstName: requestBody.firstName
          lastName: requestBody.lastName
          requestTraceId: requestBody.requestTraceId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/bulkdelete/{language}'].put
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete data subject requests
      effect: destructive
      questions:
      - Can I permanently delete many privacy requests at once by status or date range?
      - Does bulk deleting DSRs also remove their subtasks, attachments and results summaries?
      instructions:
      - text: Permanently delete requests {RequestIDs} in bulk, language {language}.
        slots:
          RequestIDs: requestBody.RequestIDs
          language: path.language
      - text: Bulk delete every request with status {Status} created in {CreatedDateRange}, using language {language}.
        slots:
          Status: requestBody.Status
          CreatedDateRange: requestBody.CreatedDateRange
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/delete-certificate/{requestRefId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the deletion certificate for a request
      effect: read
      questions:
      - Where can I get proof that a deleted data subject request was actually removed?
      - Does the deletion certificate show the retention policy and deletion mode?
      instructions:
      - text: Get the deletion certificate for deleted request {requestRefId}.
        slots:
          requestRefId: path.requestRefId
      - text: Show when and how request {requestRefId} was deleted.
        slots:
          requestRefId: path.requestRefId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/id/{requestQueueId}/requesthistory'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a request's audit history by internal ID
      effect: read
      questions:
      - Can I pull a DSR's change history using its numeric request queue ID instead of the reference ID?
      - Which field updates show up in the audit trail when I look a request up by internal ID?
      instructions:
      - text: Get the audit history for request queue ID {requestQueueId}.
        slots:
          requestQueueId: path.requestQueueId
      - text: Show page {page} of field changes for internal request ID {requestQueueId}.
        slots:
          page: query.page
          requestQueueId: path.requestQueueId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/search/{language}'].post
  update:
    x-apievangelist-phrasing:
      intent: Search data subject requests by keyword
      effect: read
      questions:
      - Can I find a privacy request by the data subject's email address or last name?
      - What search terms can I use to locate a DSR, like a request ID or first name?
      instructions:
      - text: Search requests for {term} in language {language}.
        slots:
          term: requestBody.term
          language: path.language
      - text: Find DSRs matching {term} created on {createddate}, language {language}.
        slots:
          term: requestBody.term
          createddate: query.createddate
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/status/{requestTraceId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check creation status of an async request
      effect: read
      questions:
      - Did my asynchronously submitted request actually get created?
      - Can I look up the request ID assigned to a submission using its trace ID?
      instructions:
      - text: Check the creation status for trace ID {requestTraceId}.
        slots:
          requestTraceId: path.requestTraceId
      - text: Get the creation log and request ID for submission {requestTraceId}.
        slots:
          requestTraceId: path.requestTraceId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{language}'].get
  update:
    x-apievangelist-phrasing:
      intent: List data subject requests
      effect: read
      questions:
      - Which privacy requests are currently open in OneTrust?
      - Can I filter the DSR list by status or by modified date?
      - Is it possible to leave out requests submitted by internal users when listing?
      instructions:
      - text: List all requests in language {language}.
        slots:
          language: path.language
      - text: List requests with status {status} modified since {modifieddate}, language {language}.
        slots:
          status: query.status
          modifieddate: query.modifieddate
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/comments'].put
  update:
    x-apievangelist-phrasing:
      intent: Add a comment to a request
      effect: write
      questions:
      - Can I leave an internal-only note on a data subject request?
      - Is it possible to attach files when commenting on a DSR?
      instructions:
      - text: Add the comment {comment} to request {requestQueueRefId}.
        slots:
          comment: requestBody.comment
          requestQueueRefId: path.requestQueueRefId
      - text: Post internal note {internalComment} on request {requestQueueRefId}.
        slots:
          internalComment: requestBody.internalComment
          requestQueueRefId: path.requestQueueRefId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/customfields/{language}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a request's custom fields
      effect: write
      questions:
      - Can I change the custom form fields on an existing privacy request?
      - What happens to option keys when I update a DSR's custom fields?
      instructions:
      - text: Update the custom fields on request {requestQueueRefId} in language {language}.
        slots:
          requestQueueRefId: path.requestQueueRefId
          language: path.language
      - text: 'Edit custom field values for request {requestQueueRefId}, mapping option keys to names: {mapOptionKeyToNameKey}, language {language}.'
        slots:
          requestQueueRefId: path.requestQueueRefId
          mapOptionKeyToNameKey: query.mapOptionKeyToNameKey
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/language/{language}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a data subject request
      effect: read
      questions:
      - Who is the approver on a specific privacy request?
      - Can I see the full details of one DSR, including the data subject's name?
      instructions:
      - text: Get request {requestQueueRefId} in language {language}.
        slots:
          requestQueueRefId: path.requestQueueRefId
          language: path.language
      - text: Show me the details and approver of DSR {requestQueueRefId}, language {language}.
        slots:
          requestQueueRefId: path.requestQueueRefId
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/linkrequest'].put
  update:
    x-apievangelist-phrasing:
      intent: Link or unlink related requests
      effect: write
      questions:
      - Can I connect duplicate privacy requests from the same person to each other?
      - Is there a way to unlink a request I linked by mistake?
      instructions:
      - text: Link request {requestQueueRefId} to requests {LinkRequests}.
        slots:
          requestQueueRefId: path.requestQueueRefId
          LinkRequests: requestBody.LinkRequests
      - text: Unlink requests {UnlinkRequests} from request {requestQueueRefId}.
        slots:
          UnlinkRequests: requestBody.UnlinkRequests
          requestQueueRefId: path.requestQueueRefId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/movestages/{language}'].put
  update:
    x-apievangelist-phrasing:
      intent: Move a request to another workflow stage
      effect: write
      questions:
      - How do I move a DSR from verifying identity to in progress?
      - Can I record a resolution title when advancing a request to its final stage?
      instructions:
      - text: Move request {requestQueueRefId} to stage {nextStage}, language {language}.
        slots:
          requestQueueRefId: path.requestQueueRefId
          nextStage: requestBody.nextStage
          language: path.language
      - text: Advance request {requestQueueRefId} to {nextStage} with resolution {resolutionTitle}, language {language}.
        slots:
          requestQueueRefId: path.requestQueueRefId
          nextStage: requestBody.nextStage
          resolutionTitle: requestBody.resolutionTitle
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/pausedeadline'].put
  update:
    x-apievangelist-phrasing:
      intent: Pause or resume a request's deadline
      effect: write
      questions:
      - Can I stop the clock on a privacy request while I wait on the data subject?
      - What happens to the deadline when a paused request is resumed?
      instructions:
      - text: Pause the deadline on request {requestQueueRefId}.
        slots:
          requestQueueRefId: path.requestQueueRefId
      - text: Set deadline paused to {pauseDeadline} on request {requestQueueRefId} with comment {comment}.
        slots:
          pauseDeadline: requestBody.pauseDeadline
          requestQueueRefId: path.requestQueueRefId
          comment: requestBody.comment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{requestQueueRefId}/requesthistory'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a request's audit history by reference ID
      effect: read
      questions:
      - What changed on a data subject request, and when, looking it up by its reference ID?
      - Can I see who edited a DSR's fields over time?
      instructions:
      - text: Get the audit history for request reference {requestQueueRefId}.
        slots:
          requestQueueRefId: path.requestQueueRefId
      - text: Show {size} history entries per page for request reference {requestQueueRefId}.
        slots:
          size: query.size
          requestQueueRefId: path.requestQueueRefId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/datasubject/v2/requestqueues/{templateId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a data subject request from a web form
      effect: write
      questions:
      - How do I submit a new DSR against a specific web form template?
      - Do web form visibility rules carry over to a request created through the API?
      instructions:
      - text: Create a request for {email} using web form template {templateId}.
        slots:
          email: requestBody.email
          templateId: path.templateId
      - text: File a new {requestTypes} request for {firstName} {lastName} on template {templateId}.
        slots:
          requestTypes: requestBody.requestTypes
          firstName: requestBody.firstName
          lastName: requestBody.lastName
          templateId: path.templateId
      method: generated
      generated: '2026-09-26'