Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Infrastructure API
10 actions
10 updates
phrasing
extends
openapi/harness-infrastructure-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.
What the actions change
x-apievangelist-phrasing
Targets 10
$.info
$.paths['/api/infrastructures'].get
$.paths['/api/infrastructures/{executionID}/abort'].post
$.paths['/api/infrastructures/{id}'].get
$.paths['/api/infrastructures/{id}'].delete
$.paths['/api/infrastructures/{id}/executions'].get
$.paths['/api/infrastructures/{id}/specs'].get
$.paths['/api/infrastructures/approve'].post
$.paths['/api/infrastructures/execute'].post
$.paths['/api/infrastructures/executions/{id}'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Harness Infrastructure API
version: 1.0.0
extends: openapi/harness-infrastructure-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['/api/infrastructures'].get
update:
x-apievangelist-phrasing:
intent: List infrastructures
effect: read
questions:
- What infrastructures have been defined in my account?
- Can I page through infrastructures in a specific project?
instructions:
- text: List infrastructures in project {projectIdentifier}.
slots:
projectIdentifier: query.projectIdentifier
- text: Show the first {limit} infrastructures, newest first.
slots:
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/{executionID}/abort'].post
update:
x-apievangelist-phrasing:
intent: Abort an infrastructure execution
effect: destructive
questions:
- How do I stop an infrastructure execution that's still running?
- Can I cancel an in-flight provisioning run?
instructions:
- text: Abort infrastructure execution {executionID}.
slots:
executionID: path.executionID
- text: Cancel running execution {executionID} in project {projectIdentifier}.
slots:
executionID: path.executionID
projectIdentifier: requestBody.projectIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get an infrastructure
effect: read
questions:
- What's the definition of one specific infrastructure?
- Can I look up an infrastructure by its ID?
instructions:
- text: Get infrastructure {id}.
slots:
id: path.id
- text: Show details of infrastructure {id} in project {projectIdentifier}.
slots:
id: path.id
projectIdentifier: query.projectIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an infrastructure
effect: destructive
questions:
- How do I remove an infrastructure I no longer need?
- Is deleting an infrastructure definition reversible?
instructions:
- text: Delete infrastructure {id}.
slots:
id: path.id
- text: Remove infrastructure {id} from project {projectIdentifier}.
slots:
id: path.id
projectIdentifier: query.projectIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/{id}/executions'].get
update:
x-apievangelist-phrasing:
intent: List executions of an infrastructure
effect: read
questions:
- What runs have been executed against a given infrastructure?
- Can I see an infrastructure's execution history in order?
instructions:
- text: List executions for infrastructure {id}.
slots:
id: path.id
- text: Show the last {limit} executions of infrastructure {id}.
slots:
limit: query.limit
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/{id}/specs'].get
update:
x-apievangelist-phrasing:
intent: List specs of an infrastructure
effect: read
questions:
- Which specs make up a particular infrastructure?
- Can I page through the spec versions of an infrastructure?
instructions:
- text: List specs for infrastructure {id}.
slots:
id: path.id
- text: Show the spec history of infrastructure {id} in project {projectIdentifier}.
slots:
id: path.id
projectIdentifier: query.projectIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/approve'].post
update:
x-apievangelist-phrasing:
intent: Approve or reject a pipeline approval step
effect: write
questions:
- How do I respond to an approval step that's blocking an infrastructure pipeline?
- Can I leave a message when approving or rejecting a pipeline step?
instructions:
- text: Take action {action} on approval {approvalID}.
slots:
action: requestBody.action
approvalID: requestBody.approvalID
- text: Approve step {approvalID} with message {message}.
slots:
approvalID: requestBody.approvalID
message: requestBody.message
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/execute'].post
update:
x-apievangelist-phrasing:
intent: Execute an infrastructure definition
effect: write
questions:
- How do I run an infrastructure YAML to provision resources?
- Can I dry-run an infrastructure execution before applying it for real?
instructions:
- text: 'Execute this infrastructure YAML: {infrastructureYaml}.'
slots:
infrastructureYaml: requestBody.infrastructureYaml
- text: Dry-run infrastructure {infrastructureYaml} with dryRun {dryRun}.
slots:
infrastructureYaml: requestBody.infrastructureYaml
dryRun: query.dryRun
method: generated
generated: '2026-09-26'
- target: $.paths['/api/infrastructures/executions/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get an infrastructure execution
effect: read
questions:
- What happened in a particular infrastructure execution?
- Can I check the status of one execution by its ID?
instructions:
- text: Get infrastructure execution {id}.
slots:
id: path.id
- text: Show the result of execution {id} in project {projectIdentifier}.
slots:
id: path.id
projectIdentifier: query.projectIdentifier
method: generated
generated: '2026-09-26'