---
title: "Run API - Cancel"
method: POST
path: "/{workspaceId}/projects/{projectName}/run/{runId}/cancel"
tags: ["projects.runs"]
---

# Run API - Cancel

`POST /{workspaceId}/projects/{projectName}/run/{runId}/cancel`

## Request

- Base URL: `https://app.intuned.io/api/v1/workspace`
- URL: `https://app.intuned.io/api/v1/workspace/{workspaceId}/projects/{projectName}/run/{runId}/cancel`
- Auth: API key in header `x-api-key`

Cancel a Run that has not finished yet. Runs that belong to a Job cannot be canceled here; terminate the JobRun instead.

## Path parameters

- `workspaceId` string, uuid, required
- `projectName` string, required
- `runId` string, nanoid, required

## Response `200`

Run canceled successfully. Any pending Runs that depend on this Run are canceled with it.

- object
  - `runId` string, required: Unique identifier for the run, prefixed nanoId (ru_...)
  - `status` 'canceled', required: Status of the Run after cancellation.

## Other responses

- `400`: Bad Request. Returned when the Run belongs to a JobRun, which must be terminated through the JobRun endpoint instead.
- `401`: Unauthorized
- `404`: Not Found. The Run does not exist in this Project.
- `409`: Conflict. The Run already finished and can no longer be canceled. This endpoint returns the legacy error body rather than the standard error envelope.

---

[API](https://skmtc.dev/intunedhq/apis/intuned-client.md) - [All operations](https://skmtc.dev/intunedhq/apis/intuned-client/llms.txt) - [OpenAPI document](https://skmtc.dev/intunedhq/apis/intuned-client/revisions/9f87fec44145?raw)
