Harness Pipeline API

This contains pipeline APIs for files as provided as runtime input during pipeline execution

Operations 16

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /pipeline/api/input-file/download-file Download a pipeline input file by its storage path · Download file from GCS using filePath #
Ask an LLM
“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?”
Tell an agent
Download the pipeline input file at path {file_path}.
Fetch stored file {file_path} for account {account}.
GET /pipeline/api/input-file/file/{planExecutionId} Get a file uploaded during a pipeline execution step · Returns a file uploaded or filtered based on the fileIdentifier provided for a… #
Ask an LLM
“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?”
Tell an agent
Get file {file_name} from node {node_execution} in pipeline execution {plan_execution}.
Fetch the uploaded input file {file_name} for execution {plan_execution}, node {node_execution}.
POST /pipeline/api/pipelines/annotations Add or update annotations on a pipeline execution · Create/Update Pipeline Annotations #
Ask an LLM
“Can I attach annotations to a pipeline execution after a step finishes?”
“What does a step need to send to annotate its stage execution?”
Tell an agent
Annotate stage execution {stage_execution} of pipeline {pipeline} run {plan_execution} with {annotations}.
Write annotations {annotations} to execution {plan_execution} in project {project}.
POST /pipeline/api/pipelines/{pipelineIdentifier}/convert-to-dag Convert a sequential pipeline to DAG format · Convert existing pipeline to DAG format #
Ask an LLM
“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?”
Tell an agent
Convert pipeline {pipeline} to DAG format.
Add depends_on fields to the stages of pipeline {pipeline} in project {project}.
POST /pipeline/api/pipelines Create a pipeline · Create a Pipeline #
Ask an LLM
“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?”
Tell an agent
Create a pipeline in project {project}.
Create a pipeline saved to repo {repo} on branch {branch} at {file_path}.
POST /pipeline/api/pipelines/v2 Create a pipeline with the v2 endpoint · Create a Pipeline #
Ask an LLM
“Which create endpoint lets me allow dynamic executions on a new pipeline?”
“Can I make a newly created pipeline public?”
Tell an agent
Create a v2 pipeline in project {project} with dynamic executions set to {dynamic}.
Create a public pipeline via v2 (public={public}) in project {project}.
GET /pipeline/api/pipelines/{pipelineIdentifier} Get a pipeline's YAML definition · Fetch a Pipeline #
Ask an LLM
“What does the full YAML of a pipeline look like?”
“Can I fetch a pipeline with its templates resolved?”
Tell an agent
Get pipeline {pipeline} from project {project}.
Fetch pipeline {pipeline} from git branch {branch}.
PUT /pipeline/api/pipelines/{pipelineIdentifier} Update a pipeline · Update a Pipeline #
Ask an LLM
“How do I save changes to an existing pipeline?”
“Can I commit a pipeline edit to a remote git branch with a message?”
Tell an agent
Update pipeline {pipeline} in project {project}.
Save pipeline {pipeline} changes to branch {branch} with commit message {message}.
DELETE /pipeline/api/pipelines/{pipelineIdentifier} Delete a pipeline · Delete a Pipeline #
Ask an LLM
“How do I delete a pipeline I no longer need?”
“Does removing a remote pipeline also commit the deletion to git?”
Tell an agent destructive · confirm first
Delete pipeline {pipeline}.
Remove pipeline {pipeline} from project {project} with commit message {message}.
POST /pipeline/api/pipelines/list List pipelines in a project · List Pipelines #
Ask an LLM
“Which pipelines exist in my project?”
“Can I filter the pipeline list by tag or search term?”
Tell an agent
List pipelines in project {project}.
List pipelines matching {search} with filter type {filter_type}.
GET /pipeline/api/pipelines/summary/{pipelineIdentifier} Get a pipeline's summary · Fetch Pipeline Summary #
Ask an LLM
“Can I get a lightweight summary of a pipeline without its full YAML?”
“What are the headline details of a given pipeline?”
Tell an agent
Get the summary of pipeline {pipeline}.
Show summary info for pipeline {pipeline} in project {project}.
POST /pipeline/api/pipelines/import Import a pipeline from a git repository · Import and Create Pipeline from Git Repository #
Ask an LLM
“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?”
Tell an agent
Import the pipeline at {file_path} in repo {repo} on branch {branch}.
Import a new pipeline named {name} from {file_path} in {repo}, branch {branch}.
POST /pipeline/api/pipelines/import/{pipelineIdentifier} Import a git pipeline under a chosen identifier · Import and Create Pipeline from Git Repository #
Ask an LLM
“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?”
Tell an agent
Import pipeline {pipeline} from {file_path} in repo {repo} on branch {branch}.
Create pipeline identifier {pipeline} by importing git file {file_path} on {branch} of {repo}.
GET /pipeline/api/pipelines/refresh-and-get/{pipelineIdentifier} Refresh a remote pipeline's git cache and fetch it · Refresh cache and fetch a Pipeline #
Ask an LLM
“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?”
Tell an agent
Refresh the git cache and get pipeline {pipeline} from branch {branch}.
Force reload remote pipeline {pipeline} on {branch} in project {project}.
PUT /pipeline/api/pipelines/{pipelineIdentifier}/update-git-metadata Update the git metadata of a remote pipeline · Update git-metadata in remote pipeline Entity #
Ask an LLM
“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?”
Tell an agent
Point pipeline {pipeline} at repo {repo} and file {file_path}.
Change the git connector of remote pipeline {pipeline} to {connector}.
PUT /pipeline/api/pipelines/v2/{pipelineIdentifier} Update a pipeline with the v2 endpoint · Update a Pipeline #
Ask an LLM
“Which update call lets me turn dynamic executions on for an existing pipeline?”
“Can I make an existing pipeline public?”
Tell an agent
Update pipeline {pipeline} via v2 with dynamic executions set to {dynamic}.
Make existing pipeline {pipeline} public={public} using the v2 update.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harness:harness-pipeline-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harness-pipeline-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harness Pipeline API
  version: '1.0'
  description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0.
  contact:
    name: API Support
    email: contact@harness.io
    url: https://harness.io/
  x-logo:
    url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook
    altText: Harness
  termsOfService: https://harness.io/terms-of-use/
servers:
- url: https://app.harness.io
  description: Harness host URL
- url: https://{vanity}
  description: Vanity URL
  variables:
    vanity:
      default: app.harness.io
security:
- x-api-key: []
tags:


# --- truncated at 32 KB (255 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harness/refs/heads/main/openapi/harness-pipeline-api-openapi.yml