OneTrust · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Third-Party Management - Third-Party Risk Management…

9 actions 9 updates phrasing extends openapi/onetrust-engagements-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 9

$.info
$.paths['/api/vendor/v1/engagement-schemas'].get
$.paths['/api/vendor/v1/engagements/{engagementId}'].get
$.paths['/api/vendor/v1/engagements/{engagementId}'].put
$.paths['/api/vendor/v1/engagements/{engagementId}'].delete
$.paths['/api/vendor/v1/engagements/{engagementId}'].patch
$.paths['/api/vendor/v1/engagements/{engagementId}/status'].put
$.paths['/api/vendor/v1/engagements-search'].post
$.paths['/api/vendor/v1/vendor-engagements'].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 Third-Party Management - Third-Party Risk Management…
  version: 1.0.0
extends: openapi/onetrust-engagements-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: 8
- target: $.paths['/api/vendor/v1/engagement-schemas'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the engagement attribute schema
      effect: read
      questions:
      - What attributes and options can I set on a vendor engagement?
      - Can I see only the active engagement attributes?
      instructions:
      - text: Show the engagement attribute schema.
      - text: Get engagement attributes filtered by active status {activeStatus}.
        slots:
          activeStatus: query.activeStatus
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/engagements/{engagementId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an engagement
      effect: read
      questions:
      - Which vendor, workflow and attributes belong to a specific engagement?
      - How do I pull up one vendor engagement by its ID?
      instructions:
      - text: Show engagement {engagementId}.
        slots:
          engagementId: path.engagementId
      - text: Get the vendor and workflow details for engagement {engagementId}.
        slots:
          engagementId: path.engagementId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/engagements/{engagementId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an engagement's details
      effect: write
      questions:
      - How do I fully update a vendor engagement's owner, dates and scope?
      - Can I change an engagement's workflow stage through a full update?
      instructions:
      - text: Fully update engagement {engagementId} with name {name} and owner {internalOwnerEmail}.
        slots:
          engagementId: path.engagementId
          name: requestBody.name
          internalOwnerEmail: requestBody.internalOwnerEmail
      - text: Replace engagement {engagementId} as {name} running {startDate} to {endDate}.
        slots:
          engagementId: path.engagementId
          name: requestBody.name
          startDate: requestBody.startDate
          endDate: requestBody.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/engagements/{engagementId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an engagement
      effect: destructive
      questions:
      - How do I delete a vendor engagement I no longer need?
      - Can I remove an engagement by its ID?
      instructions:
      - text: Delete engagement {engagementId}.
        slots:
          engagementId: path.engagementId
      - text: Remove vendor engagement {engagementId} permanently.
        slots:
          engagementId: path.engagementId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/engagements/{engagementId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update an engagement
      effect: write
      questions:
      - Can I change a single field on an engagement without resending the rest?
      - What date format does a partial engagement update expect?
      instructions:
      - text: Patch only the changed fields on engagement {engagementId}.
        slots:
          engagementId: path.engagementId
      - text: Modify engagement {engagementId} partially.
        slots:
          engagementId: path.engagementId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/engagements/{engagementId}/status'].put
  update:
    x-apievangelist-phrasing:
      intent: Change an engagement's status
      effect: write
      questions:
      - How do I mark a vendor engagement as active or inactive?
      - Can I update just the status of an engagement?
      instructions:
      - text: Set engagement {engagementId} status to {status}.
        slots:
          engagementId: path.engagementId
          status: requestBody.status
      - text: Change the status of engagement {engagementId} to {status}.
        slots:
          engagementId: path.engagementId
          status: requestBody.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/engagements-search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search engagements
      effect: read
      questions:
      - Which engagements do we have with a particular vendor?
      - Can I full-text search engagements by keyword?
      - How do I filter vendor engagements and sort the results?
      instructions:
      - text: Search engagements for {fullText}.
        slots:
          fullText: requestBody.fullText
      - text: Find engagements matching filters {filters}.
        slots:
          filters: requestBody.filters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/vendor-engagements'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a vendor engagement
      effect: write
      questions:
      - How do I start a new engagement with a vendor?
      - Which organization does a new engagement land in if I don't specify one?
      instructions:
      - text: Create an engagement named {name} with vendor {vendor}.
        slots:
          name: requestBody.name
          vendor: requestBody.vendor
      - text: Open engagement {name} for vendor {vendor} owned by {internalOwnerEmail} starting {startDate}.
        slots:
          name: requestBody.name
          vendor: requestBody.vendor
          internalOwnerEmail: requestBody.internalOwnerEmail
          startDate: requestBody.startDate
      method: generated
      generated: '2026-09-26'