Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Exemptions API

23 actions 23 updates phrasing extends openapi/harness-exemptions-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Harness's API. It is a proposal applied on top of the contract, not a document Harness publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 23 · first 16 shown; the file carries all of them

$.info
$.paths['/sto/api/v2/exemptions'].get
$.paths['/sto/api/v2/exemptions'].post
$.paths['/sto/api/v2/exemptions/{id}'].get
$.paths['/sto/api/v2/exemptions/{id}'].put
$.paths['/sto/api/v2/exemptions/{id}'].delete
$.paths['/sto/api/v2/exemptions/{id}/{action}'].put
$.paths['/sto/api/v2/exemptions/{id}/promote'].put
$.paths['/sto/api/v2/exemptions/bulk'].post
$.paths['/sto/api/v2/exemptions/issue/{issueId}'].get
$.paths['/sto/api/v2/exemptions/issue/{issueId}/history'].get
$.paths['/sto/api/v2/exemptions/issue/{issueId}/history/export'].get
$.paths['/v1/orgs/{org}/projects/{project}/exemptions'].get
$.paths['/v1/orgs/{org}/projects/{project}/exemptions'].post
$.paths['/v1/orgs/{org}/projects/{project}/artifacts/{artifact}/exemptions'].post
$.paths['/v1/orgs/{org}/projects/{project}/exemptions/{exemption}'].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 Harness Exemptions API
  version: 1.0.0
extends: openapi/harness-exemptions-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: 22
- target: $.paths['/sto/api/v2/exemptions'].get
  update:
    x-apievangelist-phrasing:
      intent: List security testing issue exemptions
      effect: read
      questions:
      - Which STO security issue exemptions exist in my Harness account?
      - Can I page through all the vulnerability exemptions scoped to one project?
      instructions:
      - text: List the STO issue exemptions in account {account}.
        slots:
          account: query.accountId
      - text: Show page {page} of STO exemptions for project {project} in org {org}, {pageSize} per page.
        slots:
          page: query.page
          project: query.projectId
          org: query.orgId
          pageSize: query.pageSize
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Request an exemption for a security issue
      effect: write
      questions:
      - How do I request an exemption for a vulnerability that STO flagged?
      - Can an STO issue exemption expire automatically after a set date?
      - Is it possible to also exempt future occurrences of the same security issue?
      instructions:
      - text: Request a {type} exemption for STO issue {issueId} in project {project} because {reason}.
        slots:
          type: requestBody.type
          issueId: requestBody.issueId
          project: query.projectId
          reason: requestBody.reason
      - text: Exempt issue {issueId} in org {org}, project {project}, expiring at {expiration}.
        slots:
          issueId: requestBody.issueId
          org: query.orgId
          project: query.projectId
          expiration: requestBody.expiration
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one security issue exemption
      effect: read
      questions:
      - What are the details and status of a single STO exemption by its ID?
      - Can I fetch an STO exemption regardless of which scope it was created in?
      instructions:
      - text: Get STO exemption {id} in account {account}.
        slots:
          id: path.id
          account: query.accountId
      - text: Look up STO exemption {id} as seen by pipeline execution {executionId}.
        slots:
          id: path.id
          executionId: query.executionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit an existing security issue exemption
      effect: write
      questions:
      - Can I change the reason or expiration on an STO exemption I already requested?
      - How do I edit an existing security issue exemption request?
      instructions:
      - text: Update STO exemption {id} to expire at {expiration}.
        slots:
          id: path.id
          expiration: requestBody.expiration
      - text: Change the reason on STO exemption {id} to {reason}.
        slots:
          id: path.id
          reason: requestBody.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a security issue exemption
      effect: destructive
      questions:
      - How do I remove an STO exemption so the issue blocks pipelines again?
      - Can I delete a security issue exemption that is no longer needed?
      instructions:
      - text: Delete STO exemption {id}.
        slots:
          id: path.id
      - text: Remove STO exemption {id} from account {account}.
        slots:
          id: path.id
          account: query.accountId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/{id}/{action}'].put
  update:
    x-apievangelist-phrasing:
      intent: Approve or reject a security issue exemption
      effect: write
      questions:
      - How do I approve a pending STO exemption request?
      - Can I reject a security issue exemption and leave a comment explaining why?
      instructions:
      - text: Apply action {action} to STO exemption {id}.
        slots:
          action: path.action
          id: path.id
      - text: Take action {action} on STO exemption {id} with comment {comment}.
        slots:
          action: path.action
          id: path.id
          comment: requestBody.comment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/{id}/promote'].put
  update:
    x-apievangelist-phrasing:
      intent: Promote an exemption to a higher scope
      effect: write
      questions:
      - Can I promote a project-level STO exemption so it applies across the org or account?
      - What happens when I widen an issue exemption to a higher scope?
      instructions:
      - text: Promote STO exemption {id} to a higher scope.
        slots:
          id: path.id
      - text: Promote STO exemption {id} with the note {comment}.
        slots:
          id: path.id
          comment: requestBody.comment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/bulk'].post
  update:
    x-apievangelist-phrasing:
      intent: Create many security issue exemptions at once
      effect: write
      questions:
      - Can I exempt many STO issues in a single request?
      - What happens to a bulk exemption batch if one item violates an exemption rule?
      instructions:
      - text: Bulk-create {type} exemptions for these issues {items} in project {project} with reason {reason}.
        slots:
          type: requestBody.type
          items: requestBody.items
          project: query.projectId
          reason: requestBody.reason
      - text: Exempt the batch of issues {items} in org {org}, project {project}, all or none.
        slots:
          items: requestBody.items
          org: query.orgId
          project: query.projectId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/issue/{issueId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Find the exemption that applies to an issue
      effect: read
      questions:
      - Which exemption actually applies to this STO issue across account, org and project?
      - Is a given security issue currently covered by any exemption?
      instructions:
      - text: Find the highest-priority exemption for issue {issueId}.
        slots:
          issueId: path.issueId
      - text: Check whether issue {issueId} in project {project} is exempted.
        slots:
          issueId: path.issueId
          project: query.projectId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/issue/{issueId}/history'].get
  update:
    x-apievangelist-phrasing:
      intent: Show the exemption history timeline for an issue
      effect: read
      questions:
      - Who requested, approved or rejected exemptions on this security issue over time?
      - Can I filter an issue's exemption timeline by pipeline or target?
      instructions:
      - text: Show the exemption history for issue {issueId}.
        slots:
          issueId: path.issueId
      - text: List exemption history events for issue {issueId} in pipeline {pipelineId}.
        slots:
          issueId: path.issueId
          pipelineId: query.pipelineId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sto/api/v2/exemptions/issue/{issueId}/history/export'].get
  update:
    x-apievangelist-phrasing:
      intent: Export an issue's exemption history as CSV
      effect: read
      questions:
      - Can I download the full exemption history of a security issue as a CSV file?
      - Is there a way to export an issue's exemption audit trail without paging?
      instructions:
      - text: Export the exemption history for issue {issueId} to CSV.
        slots:
          issueId: path.issueId
      - text: Download a CSV of exemption events for issue {issueId} on target {targetId}.
        slots:
          issueId: path.issueId
          targetId: query.targetId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/exemptions'].get
  update:
    x-apievangelist-phrasing:
      intent: List component exemptions in a project
      effect: read
      questions:
      - Which supply chain component exemptions are set up in my Harness project?
      - Can I filter a project's component exemptions by status or artifact?
      instructions:
      - text: List component exemptions in project {project} of org {org}.
        slots:
          project: path.project
          org: path.org
      - text: Show {status} component exemptions in project {project}, org {org}.
        slots:
          status: query.status
          project: path.project
          org: path.org
      - text: Search component exemptions in project {project}, org {org} for {search_term}.
        slots:
          project: path.project
          org: path.org
          search_term: query.search_term
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/exemptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Exempt a component across a project
      effect: write
      questions:
      - How do I exempt an open source component version for every artifact in a project?
      - Can a project-wide component exemption be limited to a duration?
      instructions:
      - text: Create a project-wide exemption for component {component_name} {component_version} in project {project}, org {org}.
        slots:
          component_name: requestBody.component_name
          component_version: requestBody.component_version
          project: path.project
          org: path.org
      - text: Exempt component {component_name} across project {project} in org {org} for {exemption_duration} because {reason}.
        slots:
          component_name: requestBody.component_name
          project: path.project
          org: path.org
          exemption_duration: requestBody.exemption_duration
          reason: requestBody.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/artifacts/{artifact}/exemptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Exempt a component for one artifact
      effect: write
      questions:
      - Can I exempt a component only for a single artifact instead of the whole project?
      - How do I add a component exemption scoped to one artifact?
      instructions:
      - text: Create an exemption for component {component_name} on artifact {artifact} in project {project}, org {org}.
        slots:
          component_name: requestBody.component_name
          artifact: path.artifact
          project: path.project
          org: path.org
      - text: Exempt {component_name} version {component_version} only on artifact {artifact} in org {org}, project {project}.
        slots:
          component_name: requestBody.component_name
          component_version: requestBody.component_version
          artifact: path.artifact
          org: path.org
          project: path.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/exemptions/{exemption}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a project-level component exemption
      effect: read
      questions:
      - What are the details of one project-wide component exemption?
      - Can I see the reason and duration on a project component exemption?
      instructions:
      - text: Get project component exemption {exemption} in project {project}, org {org}.
        slots:
          exemption: path.exemption
          project: path.project
          org: path.org
      - text: Show the project-level exemption {exemption} for org {org}, project {project}.
        slots:
          exemption: path.exemption
          org: path.org
          project: path.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/exemptions/{exemption}'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit a project-level component exemption
      effect: write
      questions:
      - Can I change the component version range on a project-wide exemption?
      - How do I extend the duration of a project component exemption?
      instructions:
      - text: Update project exemption {exemption} in project {project}, org {org} to last {exemption_duration}.
        slots:
          exemption: path.exemption
          project: path.project
          org: path.org
          exemption_duration: requestBody.exemption_duration
      - text: Change project exemption {exemption} in org {org}, project {project} to cover version {component_version}.
        slots:
          exemption: path.exemption
          org: path.org
          project: path.project
          component_version: requestBody.component_version
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/exemptions/{exemption}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a project-level component exemption
      effect: destructive
      questions:
      - How do I remove a project-wide component exemption?
      - Can I delete a component exemption that applies to a whole project?
      instructions:
      - text: Delete project component exemption {exemption} from project {project}, org {org}.
        slots:
          exemption: path.exemption
          project: path.project
          org: path.org
      - text: Remove the project-level exemption {exemption} in org {org}, project {project}.
        slots:
          exemption: path.exemption
          org: path.org
          project: path.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/artifacts/{artifact}/exemptions/{exemption}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an artifact-level component exemption
      effect: read
      questions:
      - What does a component exemption on a specific artifact look like?
      - Can I check the status of an exemption tied to one artifact?
      instructions:
      - text: Get exemption {exemption} on artifact {artifact} in project {project}, org {org}.
        slots:
          exemption: path.exemption
          artifact: path.artifact
          project: path.project
          org: path.org
      - text: Show artifact {artifact}'s exemption {exemption} in org {org}, project {project}.
        slots:
          artifact: path.artifact
          exemption: path.exemption
          org: path.org
          project: path.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/artifacts/{artifact}/exemptions/{exemption}'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit an artifact-level component exemption
      effect: write
      questions:
      - Can I change the reason on a component exemption tied to one artifact?
      - How do I modify an exemption that only applies to a single artifact?
      instructions:
      - text: Update exemption {exemption} on artifact {artifact} in project {project}, org {org} with reason {reason}.
        slots:
          exemption: path.exemption
          artifact: path.artifact
          project: path.project
          org: path.org
          reason: requestBody.reason
      - text: Set artifact {artifact}'s exemption {exemption} in org {org}, project {project} to last {exemption_duration}.
        slots:
          artifact: path.artifact
          exemption: path.exemption
          org: path.org
          project: path.project
          exemption_duration: requestBody.exemption_duration
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/artifacts/{artifact}/exemptions/{exemption}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an artifact-level component exemption
      effect: destructive
      questions:
      - How do I remove a component exemption from a single artifact?
      - Can I delete just one artifact's exemption without touching project-wide ones?
      instructions:
      - text: Delete exemption {exemption} on artifact {artifact} in project {project}, org {org}.
        slots:
          exemption: path.exemption
          artifact: path.artifact
          project: path.project
          org: path.org
      - text: Remove artifact {artifact}'s component exemption {exemption} from org {org}, project {project}.
        slots:
          artifact: path.artifact
          exemption: path.exemption
          org: path.org
          project: path.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/exemptions/{exemption}/review'].put
  update:
    x-apievangelist-phrasing:
      intent: Review a project-level component exemption
      effect: write
      questions:
      - How do I approve or reject a project-wide component exemption request?
      - Can I leave a review comment when deciding on a project exemption?
      instructions:
      - text: Review project exemption {exemption} in project {project}, org {org} and set it to {exemption_status}.
        slots:
          exemption: path.exemption
          project: path.project
          org: path.org
          exemption_status: requestBody.exemption_status
      - text: Mark project exemption {exemption} in org {org}, project {project} as {exemption_status} with comment {review_comment}.
        slots:
          exemption: path.exemption
          org: path.org
          project: path.project
          exemption_status: requestBody.exemption_status
          review_comment: requestBody.review_comment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/artifacts/{artifact}/exemptions/{exemption}/review'].put
  update:
    x-apievangelist-phrasing:
      intent: Review an artifact-level component exemption
      effect: write
      questions:
      - How do I approve or reject a component exemption requested for one artifact?
      - Can a reviewer comment on an artifact-specific exemption decision?
      instructions:
      - text: Review exemption {exemption} on artifact {artifact} in project {project}, org {org} as {exemption_status}.
        slots:
          exemption: path.exemption
          artifact: path.artifact
          project: path.project
          org: path.org
          exemption_status: requestBody.exemption_status
      - text: Set artifact {artifact}'s exemption {exemption} in org {org}, project {project} to {exemption_status} noting {review_comment}.
        slots:
          artifact: path.artifact
          exemption: path.exemption
          org: path.org
          project: path.project
          exemption_status: requestBody.exemption_status
          review_comment: requestBody.review_comment
      method: generated
      generated: '2026-09-26'