Generate a Harness API key under Account/Org/Project Settings > Access Control > API Keys with appropriate pipeline execute permissions
POST to 'https://app.harness.io/pipeline/api/pipeline/execute/{pipelineIdentifier}' with query params 'accountIdentifier', 'orgIdentifier', and 'projectIdentifier'
Set header 'x-api-key: YOUR_API_KEY' and Content-Type 'application/json'; include a JSON body with 'inputSetTemplateYaml' or leave empty for pipelines with no runtime inputs
For pipelines requiring runtime inputs, fetch the input set template first via GET '/pipeline/api/pipelines/{pipelineIdentifier}/inputsets/template' and fill in required values as YAML in the body
Poll GET '/pipeline/api/pipeline/execute/summary/{planExecutionId}' using the 'planExecutionId' from the trigger response, checking 'pipelineExecutionSummary.status'
Known gotchas
Harness identifiers (account, org, project, pipeline) are distinct from display names; using display names in API calls returns 404 — always use the identifier shown in the URL or settings
Runtime input YAML must be structurally valid Harness YAML and match the pipeline's input set schema exactly; partial or malformed YAML causes the execution to fail at validation
API key scopes are hierarchical: account-level keys can act on all orgs/projects, but project-level keys cannot access resources in sibling projects
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp