---
title: "Cancel research run by ID"
method: POST
path: "/v1/research-run/{research_run_id}/cancel"
tags: ["Research"]
---

# Cancel research run by ID

`POST /v1/research-run/{research_run_id}/cancel`

## Request

- Base URL: `https://agent.tinyfish.ai`
- URL: `https://agent.tinyfish.ai/v1/research-run/{research_run_id}/cancel`
- Auth: API key in header `X-API-Key`

Cancel a running research run. Idempotent: an already-terminal run returns 200 with cancelled false and its current status.

## Path parameters

- `research_run_id` string, required: Research run identifier

## Response `200`

Cancellation outcome

- object
  - `research_run_id` string, required: Research run identifier
  - `status` 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED' | 'TIMED_OUT' | 'QUEUED', required: Status of the run after this request
  - `cancelled` boolean, required: Whether this request changed the run to CANCELLED

## Other responses

- `401`: Unauthorized - Invalid or missing API key
- `404`: Research run not found, or owned by another API key
- `500`: Internal server error

---

[API](https://skmtc.dev/tinyfish/apis/tinyfish-web-agent-automation-api-2.md) · [All operations](https://skmtc.dev/tinyfish/apis/tinyfish-web-agent-automation-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/tinyfish/apis/tinyfish-web-agent-automation-api-2/revisions/6c73a54df35c?raw)
