Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Pipeline Execute API
10 actions
10 updates
phrasing
extends
openapi/harness-pipeline-execute-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['/pipeline/api/pipeline/execute/retryHistory/{planExecutionId}'].get
$.paths['/pipeline/api/pipeline/execute/interrupt/{planExecutionId}'].put
$.paths['/pipeline/api/pipeline/execute/manual-execution/{nodeExecutionId}'].post
$.paths['/pipeline/api/pipeline/execute/interrupt/{planExecutionId}/{nodeExecutionId}'].put
$.paths['/pipeline/api/pipeline/execute/retry/{identifier}'].post
$.paths['/pipeline/api/pipeline/execute/retry/v2/{identifier}'].post
$.paths['/pipeline/api/pipeline/execute/{identifier}/inputSetList'].post
$.paths['/pipeline/api/pipeline/execute/{identifier}'].post
$.paths['/pipeline/api/pipeline/execute/{identifier}/stages'].post
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 Pipeline Execute API
version: 1.0.0
extends: openapi/harness-pipeline-execute-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['/pipeline/api/pipeline/execute/retryHistory/{planExecutionId}'].get
update:
x-apievangelist-phrasing:
intent: Get the retry history of an execution
effect: read
questions:
- How many times has a pipeline execution been retried?
- Where can I see the earlier attempts of a retried run?
instructions:
- text: Show the retry history for execution {planExecutionId} of pipeline {pipelineIdentifier}.
slots:
planExecutionId: path.planExecutionId
pipelineIdentifier: query.pipelineIdentifier
- text: List previous retry attempts of run {planExecutionId}.
slots:
planExecutionId: path.planExecutionId
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/interrupt/{planExecutionId}'].put
update:
x-apievangelist-phrasing:
intent: Abort, pause or resume a pipeline run
effect: destructive
questions:
- How do I abort a running pipeline execution?
- Can I pause and later resume a whole pipeline run?
instructions:
- text: Send interrupt {interruptType} to pipeline execution {planExecutionId}.
slots:
interruptType: query.interruptType
planExecutionId: path.planExecutionId
- text: Abort the whole run {planExecutionId} with interrupt {interruptType}.
slots:
planExecutionId: path.planExecutionId
interruptType: query.interruptType
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/manual-execution/{nodeExecutionId}'].post
update:
x-apievangelist-phrasing:
intent: Fail or resume a manual intervention step
effect: write
questions:
- What do I do when a step is waiting on manual intervention?
- Can I mark a paused manual step as failed instead of resuming it?
instructions:
- text: Mark manual step {nodeExecutionId} as {action}.
slots:
nodeExecutionId: path.nodeExecutionId
action: requestBody.action
- text: Resume the manual intervention on node {nodeExecutionId} with action {action}.
slots:
nodeExecutionId: path.nodeExecutionId
action: requestBody.action
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/interrupt/{planExecutionId}/{nodeExecutionId}'].put
update:
x-apievangelist-phrasing:
intent: Interrupt a single stage of a run
effect: destructive
questions:
- Can I abort just one stage without stopping the rest of the pipeline?
- Which interrupt types can be applied to an individual stage?
instructions:
- text: Send {interruptType} to stage {nodeExecutionId} in run {planExecutionId}.
slots:
interruptType: query.interruptType
nodeExecutionId: path.nodeExecutionId
planExecutionId: path.planExecutionId
- text: Abort only stage node {nodeExecutionId} of execution {planExecutionId} using {interruptType}.
slots:
nodeExecutionId: path.nodeExecutionId
planExecutionId: path.planExecutionId
interruptType: query.interruptType
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/retry/{identifier}'].post
update:
x-apievangelist-phrasing:
intent: Retry a failed pipeline run
effect: write
questions:
- How do I rerun a failed pipeline from the stages that failed?
- Can I retry every stage instead of just the failed ones?
instructions:
- text: Retry pipeline {identifier} execution {planExecutionId} from stages {retryStages}.
slots:
identifier: path.identifier
planExecutionId: query.planExecutionId
retryStages: query.retryStages
- text: Rerun execution {planExecutionId} of {identifier} starting at {retryStages}, with note {notesForPipelineExecution}.
slots:
planExecutionId: query.planExecutionId
identifier: path.identifier
retryStages: query.retryStages
notesForPipelineExecution: query.notesForPipelineExecution
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/retry/v2/{identifier}'].post
update:
x-apievangelist-phrasing:
intent: Retry a run with new runtime inputs (V2)
effect: write
questions:
- Can I change the runtime inputs when retrying a failed execution?
- Is there a retry that also takes expression values?
instructions:
- text: Retry run {planExecutionId} of pipeline {identifier} at stages {retryStages} with runtime YAML {runtimeInputYaml}.
slots:
planExecutionId: query.planExecutionId
identifier: path.identifier
retryStages: query.retryStages
runtimeInputYaml: requestBody.runtimeInputYaml
- text: Use the V2 retry on {identifier} execution {planExecutionId} from {retryStages}, passing expression values {expressionValues}.
slots:
identifier: path.identifier
planExecutionId: query.planExecutionId
retryStages: query.retryStages
expressionValues: requestBody.expressionValues
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/{identifier}/inputSetList'].post
update:
x-apievangelist-phrasing:
intent: Run a pipeline using saved input sets
effect: write
questions:
- Can I start a pipeline by referencing input sets I already saved?
- What happens when several saved input sets are passed to one run?
instructions:
- text: Run pipeline {identifier} with input sets {inputSetReferences}.
slots:
identifier: path.identifier
inputSetReferences: requestBody.inputSetReferences
- text: Execute {identifier} on branch {branch} using saved input sets {inputSetReferences}.
slots:
identifier: path.identifier
branch: query.branch
inputSetReferences: requestBody.inputSetReferences
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/{identifier}'].post
update:
x-apievangelist-phrasing:
intent: Run a pipeline with runtime input YAML
effect: write
questions:
- How do I trigger a pipeline run through the Harness API?
- Can I add a note to a pipeline run when I start it?
instructions:
- text: Run pipeline {identifier} in project {projectIdentifier}.
slots:
identifier: path.identifier
projectIdentifier: query.projectIdentifier
- text: Execute {identifier} from branch {branch} with note {notesForPipelineExecution}.
slots:
identifier: path.identifier
branch: query.branch
notesForPipelineExecution: query.notesForPipelineExecution
method: generated
generated: '2026-09-26'
- target: $.paths['/pipeline/api/pipeline/execute/{identifier}/stages'].post
update:
x-apievangelist-phrasing:
intent: Run selected stages of a pipeline
effect: write
questions:
- Can I run only some stages of a pipeline instead of the whole thing?
- Is it possible to pass runtime inputs when running selected stages?
instructions:
- text: Run only stages {stageIdentifiers} of pipeline {identifier}.
slots:
stageIdentifiers: requestBody.stageIdentifiers
identifier: path.identifier
- text: Execute stages {stageIdentifiers} of {identifier} with runtime inputs {runtimeInputYaml}.
slots:
stageIdentifiers: requestBody.stageIdentifiers
identifier: path.identifier
runtimeInputYaml: requestBody.runtimeInputYaml
method: generated
generated: '2026-09-26'