harness_update
Update any Harness resource by specifying its type and updated definition, with URL-based auto-extraction of identifiers.
Instructions
Update an existing Harness resource. For pipelines/input sets: pass body as a YAML string directly (recommended for complex definitions), or use body.yamlPipeline/body.pipeline. You can pass a Harness URL to auto-extract identifiers. Response includes openInHarness link to the updated resource when applicable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A Harness UI URL — org, project, resource type, ID, and supported resource_scope are extracted automatically | |
| body | Yes | The updated resource definition body. For pipelines: pass a YAML string directly, or an object with yamlPipeline (YAML string) or pipeline (JSON object) | |
| org_id | No | Organization identifier (overrides default) | |
| params | No | Additional identifiers (e.g. pipeline_id for triggers/input sets, version_label for templates). | |
| confirm | No | Set to true to confirm the operation. Only required when the operation risk is medium_write or above AND the client cannot surface a confirmation prompt — e.g. managed MCP that does not advertise elicitation, or an elicitation that fails at runtime. Has no effect for low-risk updates. Does NOT override an explicit decline from a client that completed an elicitation prompt — a user's decline is authoritative. | |
| project_id | No | Project identifier (overrides default) | |
| resource_id | No | The identifier of the resource to update. Optional when url contains the resource ID. | |
| resource_type | Yes | The type of resource to update | |
| resource_scope | No | Scope for the operation. account: omit org/project (e.g. /v1/templates). org: org only. project: org+project. Auto-detected from url when present. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||