# 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 API version: 1.0.0 extends: openapi/harness-pipeline-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: 16 - target: $.paths['/pipeline/api/input-file/download-file'].get update: x-apievangelist-phrasing: intent: Download a pipeline input file by its storage path effect: read questions: - Can I download a file a pipeline stored in cloud storage if I know its file path? - Where do I fetch an uploaded pipeline input file by path? instructions: - text: Download the pipeline input file at path {file_path}. slots: file_path: query.filePath - text: Fetch stored file {file_path} for account {account}. slots: file_path: query.filePath account: query.accountIdentifier method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/input-file/file/{planExecutionId}'].get update: x-apievangelist-phrasing: intent: Get a file uploaded during a pipeline execution step effect: read questions: - How do I retrieve a file that was uploaded in one step of a pipeline execution? - Can I get a file by name from a specific node of a running pipeline? instructions: - text: Get file {file_name} from node {node_execution} in pipeline execution {plan_execution}. slots: file_name: query.fileName node_execution: query.nodeExecutionId plan_execution: path.planExecutionId - text: Fetch the uploaded input file {file_name} for execution {plan_execution}, node {node_execution}. slots: file_name: query.fileName plan_execution: path.planExecutionId node_execution: query.nodeExecutionId method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/annotations'].post update: x-apievangelist-phrasing: intent: Add or update annotations on a pipeline execution effect: write questions: - Can I attach annotations to a pipeline execution after a step finishes? - What does a step need to send to annotate its stage execution? instructions: - text: Annotate stage execution {stage_execution} of pipeline {pipeline} run {plan_execution} with {annotations}. slots: stage_execution: requestBody.stageExecutionId pipeline: requestBody.pipelineId plan_execution: query.planExecutionId annotations: requestBody.annotations - text: Write annotations {annotations} to execution {plan_execution} in project {project}. slots: annotations: requestBody.annotations plan_execution: query.planExecutionId project: requestBody.projectId method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/{pipelineIdentifier}/convert-to-dag'].post update: x-apievangelist-phrasing: intent: Convert a sequential pipeline to DAG format effect: write questions: - How do I turn an existing sequential pipeline into a DAG with stage dependencies? - Can my pipeline's stages be rewired with depends_on automatically? instructions: - text: Convert pipeline {pipeline} to DAG format. slots: pipeline: path.pipelineIdentifier - text: Add depends_on fields to the stages of pipeline {pipeline} in project {project}. slots: pipeline: path.pipelineIdentifier project: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines'].post update: x-apievangelist-phrasing: intent: Create a pipeline effect: write questions: - How do I create a new CI/CD pipeline in a project? - Can a new pipeline be stored remotely in a git repo on its own branch? instructions: - text: Create a pipeline in project {project}. slots: project: query.projectIdentifier - text: Create a pipeline saved to repo {repo} on branch {branch} at {file_path}. slots: repo: query.repoName branch: query.branch file_path: query.filePath method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/v2'].post update: x-apievangelist-phrasing: intent: Create a pipeline with the v2 endpoint effect: write questions: - Which create endpoint lets me allow dynamic executions on a new pipeline? - Can I make a newly created pipeline public? instructions: - text: Create a v2 pipeline in project {project} with dynamic executions set to {dynamic}. slots: project: query.projectIdentifier dynamic: query.allowDynamicExecutions - text: Create a public pipeline via v2 (public={public}) in project {project}. slots: public: query.public project: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/{pipelineIdentifier}'].get update: x-apievangelist-phrasing: intent: Get a pipeline's YAML definition effect: read questions: - What does the full YAML of a pipeline look like? - Can I fetch a pipeline with its templates resolved? instructions: - text: Get pipeline {pipeline} from project {project}. slots: pipeline: path.pipelineIdentifier project: query.projectIdentifier - text: Fetch pipeline {pipeline} from git branch {branch}. slots: pipeline: path.pipelineIdentifier branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/{pipelineIdentifier}'].put update: x-apievangelist-phrasing: intent: Update a pipeline effect: write questions: - How do I save changes to an existing pipeline? - Can I commit a pipeline edit to a remote git branch with a message? instructions: - text: Update pipeline {pipeline} in project {project}. slots: pipeline: path.pipelineIdentifier project: query.projectIdentifier - text: Save pipeline {pipeline} changes to branch {branch} with commit message {message}. slots: pipeline: path.pipelineIdentifier branch: query.branch message: query.commitMsg method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/{pipelineIdentifier}'].delete update: x-apievangelist-phrasing: intent: Delete a pipeline effect: destructive questions: - How do I delete a pipeline I no longer need? - Does removing a remote pipeline also commit the deletion to git? instructions: - text: Delete pipeline {pipeline}. slots: pipeline: path.pipelineIdentifier - text: Remove pipeline {pipeline} from project {project} with commit message {message}. slots: pipeline: path.pipelineIdentifier project: query.projectIdentifier message: query.commitMsg method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/list'].post update: x-apievangelist-phrasing: intent: List pipelines in a project effect: read questions: - Which pipelines exist in my project? - Can I filter the pipeline list by tag or search term? instructions: - text: List pipelines in project {project}. slots: project: query.projectIdentifier - text: List pipelines matching {search} with filter type {filter_type}. slots: search: query.searchTerm filter_type: requestBody.filterType method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/summary/{pipelineIdentifier}'].get update: x-apievangelist-phrasing: intent: Get a pipeline's summary effect: read questions: - Can I get a lightweight summary of a pipeline without its full YAML? - What are the headline details of a given pipeline? instructions: - text: Get the summary of pipeline {pipeline}. slots: pipeline: path.pipelineIdentifier - text: Show summary info for pipeline {pipeline} in project {project}. slots: pipeline: path.pipelineIdentifier project: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/import'].post update: x-apievangelist-phrasing: intent: Import a pipeline from a git repository effect: write questions: - How do I bring a pipeline YAML that already lives in git into a project? - Can I force-import a pipeline file from a repo branch? instructions: - text: Import the pipeline at {file_path} in repo {repo} on branch {branch}. slots: file_path: query.filePath repo: query.repoName branch: query.branch - text: Import a new pipeline named {name} from {file_path} in {repo}, branch {branch}. slots: name: requestBody.pipelineName file_path: query.filePath repo: query.repoName branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/import/{pipelineIdentifier}'].post update: x-apievangelist-phrasing: intent: Import a git pipeline under a chosen identifier effect: write questions: - Can I import a pipeline from git and give it a specific pipeline identifier? - Which import call lets me set the pipeline ID up front? instructions: - text: Import pipeline {pipeline} from {file_path} in repo {repo} on branch {branch}. slots: pipeline: path.pipelineIdentifier file_path: query.filePath repo: query.repoName branch: query.branch - text: Create pipeline identifier {pipeline} by importing git file {file_path} on {branch} of {repo}. slots: pipeline: path.pipelineIdentifier file_path: query.filePath branch: query.branch repo: query.repoName method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/refresh-and-get/{pipelineIdentifier}'].get update: x-apievangelist-phrasing: intent: Refresh a remote pipeline's git cache and fetch it effect: read questions: - My remote pipeline shows stale YAML - can I force it to reload from git? - Is there a way to bypass the git file cache when fetching a pipeline? instructions: - text: Refresh the git cache and get pipeline {pipeline} from branch {branch}. slots: pipeline: path.pipelineIdentifier branch: query.branch - text: Force reload remote pipeline {pipeline} on {branch} in project {project}. slots: pipeline: path.pipelineIdentifier branch: query.branch project: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/{pipelineIdentifier}/update-git-metadata'].put update: x-apievangelist-phrasing: intent: Update the git metadata of a remote pipeline effect: write questions: - I moved my pipeline YAML to a new repo - how do I point the pipeline at it? - Can I change the connector or file path a remote pipeline is linked to? instructions: - text: Point pipeline {pipeline} at repo {repo} and file {file_path}. slots: pipeline: path.pipelineIdentifier repo: query.repoName file_path: query.filePath - text: Change the git connector of remote pipeline {pipeline} to {connector}. slots: pipeline: path.pipelineIdentifier connector: query.connectorRef method: generated generated: '2026-09-26' - target: $.paths['/pipeline/api/pipelines/v2/{pipelineIdentifier}'].put update: x-apievangelist-phrasing: intent: Update a pipeline with the v2 endpoint effect: write questions: - Which update call lets me turn dynamic executions on for an existing pipeline? - Can I make an existing pipeline public? instructions: - text: Update pipeline {pipeline} via v2 with dynamic executions set to {dynamic}. slots: pipeline: path.pipelineIdentifier dynamic: query.allowDynamicExecutions - text: Make existing pipeline {pipeline} public={public} using the v2 update. slots: pipeline: path.pipelineIdentifier public: query.public method: generated generated: '2026-09-26'