OneTrust · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Tech Risk & Compliance - Management Issues API

10 actions 10 updates phrasing extends openapi/onetrust-issues-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 10

$.info
$.paths['/v1/attributes'].get
$.paths['/v1/issuelink/issue/{issueId}'].post
$.paths['/v1/issuelinks/{issueId}'].get
$.paths['/v1/issues'].post
$.paths['/v1/issues/search'].post
$.paths['/v1/issues/{issueId}'].get
$.paths['/v1/issues/{issueId}'].put
$.paths['/v1/issues/{issueId}'].patch
$.paths['/v1/issuetasks/{issueId}'].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 Tech Risk & Compliance - Management Issues API
  version: 1.0.0
extends: openapi/onetrust-issues-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: 9
- target: $.paths['/v1/attributes'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an issue attribute schema
      effect: read
      questions:
      - What custom attributes can I set on issues?
      - Which fields and options does an attribute schema define for a given type?
      instructions:
      - text: Get the attribute schema for {schemaName}.
        slots:
          schemaName: query.schemaName
      - text: Show the issue attributes defined for schema {schemaName}.
        slots:
          schemaName: query.schemaName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issuelink/issue/{issueId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Link an issue to a related record
      effect: write
      questions:
      - How do I connect an issue to an asset, vendor or other record?
      - Can I label the kind of relationship between an issue and another record?
      instructions:
      - text: Link issue {issueId} to {relatedEntityType} {relatedEntityId} as {linkTypeLabel}.
        slots:
          issueId: path.issueId
          relatedEntityType: requestBody.relatedEntityType
          relatedEntityId: requestBody.relatedEntityId
          linkTypeLabel: requestBody.linkTypeLabel
      - text: Create a relationship from issue {issueId} to record {relatedEntityId}.
        slots:
          issueId: path.issueId
          relatedEntityId: requestBody.relatedEntityId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issuelinks/{issueId}'].get
  update:
    x-apievangelist-phrasing:
      intent: List an issue's related records
      effect: read
      questions:
      - Which records is an issue linked to?
      - How do I see all relationships attached to one issue?
      instructions:
      - text: Show the relationships for issue {issueId}.
        slots:
          issueId: path.issueId
      - text: List records linked to issue {issueId}, page {page}.
        slots:
          issueId: path.issueId
          page: query.page
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issues'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an issue
      effect: write
      questions:
      - How do I log a new risk or compliance issue in OneTrust?
      - Can I set owners, a deadline and an action plan when I raise an issue?
      instructions:
      - text: Create a {priority} priority issue named {name} in organization {orgGroupId}.
        slots:
          priority: requestBody.priority
          name: requestBody.name
          orgGroupId: requestBody.orgGroupId
      - text: Raise issue {name} for org {orgGroupId} at {priority} priority due {deadline}.
        slots:
          name: requestBody.name
          orgGroupId: requestBody.orgGroupId
          priority: requestBody.priority
          deadline: requestBody.deadline
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issues/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search issues
      effect: read
      questions:
      - What open issues do we have right now?
      - Can I search issues by criteria like priority or owner?
      - Which issues match a set of filter criteria, sorted by deadline?
      instructions:
      - text: List all issues.
      - text: Search issues matching {criteria}.
        slots:
          criteria: requestBody.criteria
      - text: Find issues matching {criteria} sorted by {sort}.
        slots:
          criteria: requestBody.criteria
          sort: query.sort
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issues/{issueId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an issue
      effect: read
      questions:
      - What are the full details of a specific issue?
      - Who owns a given issue and when is it due?
      instructions:
      - text: Show issue {issueId}.
        slots:
          issueId: path.issueId
      - text: Get the details of issue {issueId}.
        slots:
          issueId: path.issueId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issues/{issueId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace all details of an issue
      effect: write
      questions:
      - How do I overwrite every field of an issue in one request?
      - Why must I send an attributes object even when fully replacing an issue?
      instructions:
      - text: Fully update issue {issueId} with name {name}, org {orgGroupId} and priority {priority}.
        slots:
          issueId: path.issueId
          name: requestBody.name
          orgGroupId: requestBody.orgGroupId
          priority: requestBody.priority
      - text: Replace issue {issueId}'s details, setting reason for closure to {reasonForClosure}, keeping name {name}, org {orgGroupId}, priority {priority}.
        slots:
          issueId: path.issueId
          reasonForClosure: requestBody.reasonForClosure
          name: requestBody.name
          orgGroupId: requestBody.orgGroupId
          priority: requestBody.priority
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issues/{issueId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update an issue
      effect: write
      questions:
      - Can I change just one or two fields on an issue without resending everything?
      - How do I patch selected fields of an issue?
      instructions:
      - text: 'Patch issue {issueId} with only these fields: {fields}.'
        slots:
          issueId: path.issueId
          fields: requestBody.fields
      - text: Modify just the changed fields on issue {issueId}.
        slots:
          issueId: path.issueId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/issuetasks/{issueId}'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks for an issue
      effect: read
      questions:
      - What tasks are assigned under a particular issue?
      - How do I see remediation tasks for an issue?
      instructions:
      - text: List the tasks for issue {issueId}.
        slots:
          issueId: path.issueId
      - text: Show page {page} of tasks on issue {issueId}.
        slots:
          page: query.page
          issueId: path.issueId
      method: generated
      generated: '2026-09-26'