---
title: "Cancel Run Route"
method: POST
path: "/gtm-internal/runs/{source}/{run_ref}/cancel"
tags: ["gtm-internal"]
---

# Cancel Run Route

`POST /gtm-internal/runs/{source}/{run_ref}/cancel`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/gtm-internal/runs/{source}/{run_ref}/cancel`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Request cancellation of an in-flight run — REUSES the #285 cancel surface
(``analysis_runs.cancellation.cancel_run``): records cancel-intent on the run
and dispatches to the substrate's stop adapter (corpus runs stop
cooperatively; other kinds record intent, no live-stop adapter yet).

MVP cancels ``analysis_run`` only (Decision 2): routine runs are fast
orchestration — the spend is in the analysis_run stages #285 already covers,
so routine-level cancel is a later follow-up and is rejected here.

## Path parameters

- `source` string, required
- `run_ref` string, required

## Request body

- CancelRunRequest
  - `reason` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
