---
title: "Cancel a pending or in-progress async chat job."
method: POST
path: "/v1/jobs/{job_id}/cancel"
tags: ["v1", "mcp", "jobs"]
---

# Cancel a pending or in-progress async chat job.

`POST /v1/jobs/{job_id}/cancel`

## Request

- Base URL: `https://api.superdocs.app`
- URL: `https://api.superdocs.app/v1/jobs/{job_id}/cancel`
- Auth: HTTP bearer

Stops a running turn, or ends a turn that is waiting for your review by discarding its staged changes. Already-applied changes are preserved in the document; anything still pending is discarded. Use to abort work that is no longer wanted (e.g. the user changed their mind, or you want to retry with different parameters or model_tier). The response tells you whether the work was stopped here and now (`stop_state: "stopped_here"`) or the stop was ACCEPTED and is being carried out by the instance running the turn (`stop_state: "accepted"`) — in the accepted case poll get_job until `metadata.stopped_unwound` is true or the job reaches a terminal status. A turn that already finished cannot be stopped and returns 409 naming its status.

## Path parameters

- `job_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/superdocs/apis/universal-document-ai-api.md) · [All operations](https://skmtc.dev/superdocs/apis/universal-document-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/superdocs/apis/universal-document-ai-api/revisions/37d03122940b?raw)
