OneTrust · OpenAPI Overlay 1.0.0

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

8 actions 8 updates phrasing extends openapi/onetrust-contracts-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 8

$.info
$.paths['/api/vendor/v1/contracts/add'].post
$.paths['/api/vendor/v1/contracts/schemas'].get
$.paths['/api/vendor/v1/contracts/types'].get
$.paths['/api/vendor/v1/contracts/vendors/{vendorId}/contracts'].post
$.paths['/api/vendor/v1/contracts/{contractId}'].delete
$.paths['/api/vendor/v1/contracts/{contractId}/contracts'].get
$.paths['/api/vendor/v1/contracts/{contractId}/vendors/{vendorId}/contracts'].put

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-contracts-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/vendor/v1/contracts/add'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a vendor contract
      effect: write
      questions:
      - How do I record a new contract with a vendor?
      - Can I capture a contract's cost, currency and expiration date when adding it?
      instructions:
      - text: Create contract {name} for vendor {vendorId} with status {status}, agreed {agreementCreatedDate}.
        slots:
          name: requestBody.name
          vendorId: requestBody.vendorId
          status: requestBody.status
          agreementCreatedDate: requestBody.agreementCreatedDate
      - text: Add contract {name} with vendor {vendorId}, status {status}, signed {agreementCreatedDate}, expiring {expirationDate}.
        slots:
          name: requestBody.name
          vendorId: requestBody.vendorId
          status: requestBody.status
          agreementCreatedDate: requestBody.agreementCreatedDate
          expirationDate: requestBody.expirationDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/contracts/schemas'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the contract attribute schema
      effect: read
      questions:
      - What custom attributes can a vendor contract have?
      - Which options are available for each contract attribute?
      instructions:
      - text: Show the contract attribute schema.
      - text: Get contract attributes with active status {activeStatus}.
        slots:
          activeStatus: query.activeStatus
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/contracts/types'].get
  update:
    x-apievangelist-phrasing:
      intent: List contract types
      effect: read
      questions:
      - What contract types are available, like MSA or DPA?
      - Which contract type IDs can I use when creating a contract?
      instructions:
      - text: List all contract types.
      - text: Show the contract type options.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/contracts/vendors/{vendorId}/contracts'].post
  update:
    x-apievangelist-phrasing:
      intent: Search a vendor's contracts
      effect: read
      questions:
      - What contracts do we have with a given vendor?
      - Can I keyword search a vendor's contracts and filter them?
      instructions:
      - text: List the contracts for vendor {vendorId}.
        slots:
          vendorId: path.vendorId
      - text: Search vendor {vendorId}'s contracts for {fullText}.
        slots:
          vendorId: path.vendorId
          fullText: requestBody.fullText
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/contracts/{contractId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a contract
      effect: destructive
      questions:
      - How do I delete a vendor contract?
      - Can I remove a contract record by its ID?
      instructions:
      - text: Delete contract {contractId}.
        slots:
          contractId: path.contractId
      - text: Remove vendor contract {contractId}.
        slots:
          contractId: path.contractId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/contracts/{contractId}/contracts'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contract
      effect: read
      questions:
      - When was a contract approved and who approved it?
      - Can I fetch a contract without its attachments?
      instructions:
      - text: Show contract {contractId}.
        slots:
          contractId: path.contractId
      - text: Get contract {contractId} excluding attachments.
        slots:
          contractId: path.contractId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/vendor/v1/contracts/{contractId}/vendors/{vendorId}/contracts'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a vendor contract
      effect: write
      questions:
      - How do I change the status or expiration of an existing contract?
      - Can I update a contract's owner and approvers?
      instructions:
      - text: 'Update contract {contractId} for vendor {vendorId}: name {name}, status {status}, agreed {agreementCreatedDate}.'
        slots:
          contractId: path.contractId
          vendorId: path.vendorId
          name: requestBody.name
          status: requestBody.status
          agreementCreatedDate: requestBody.agreementCreatedDate
      - text: Extend contract {contractId} with vendor {vendorId} to expire {expirationDate}.
        slots:
          contractId: path.contractId
          vendorId: path.vendorId
          expirationDate: requestBody.expirationDate
      method: generated
      generated: '2026-09-26'