---
title: "Cancel multiple runs by IDs"
method: POST
path: "/v1/runs/batch/cancel"
tags: ["Runs"]
---

# Cancel multiple runs by IDs

`POST /v1/runs/batch/cancel`

## Request

- Base URL: `https://agent.tinyfish.ai`
- URL: `https://agent.tinyfish.ai/v1/runs/batch/cancel`
- Auth: API key in header `X-API-Key`

Cancel multiple runs by their IDs in a single request. Returns per-run results including cancelled runs, already-terminal runs, and not-found IDs. Maximum 100 IDs per request. Idempotent: calling twice returns consistent results.

## Request body

- object: Batch runs request
  - `run_ids` string[], required: Array of run IDs (1-100)

## Response `200`

Request succeeded. Returns per-run results in `results` and any missing IDs in `not_found`.

- object: Batch cancel runs response
  - `results` object[], required: Results for runs that were found and processed (cancelled or already terminal)
    - `run_id` string, required: The unique identifier of the run
    - `status` 'CANCELLED' | 'COMPLETED' | 'FAILED', required: The current status of the run. Returns actual status for idempotent responses (e.g., COMPLETED if run already finished)
    - `cancelled_at` string, nullable, required: ISO 8601 timestamp when the run was cancelled, or null if not cancelled
    - `message` string, nullable, required: Additional context about the cancellation result (e.g., "Run already cancelled", "Run already finished")
  - `not_found` string[], nullable, required: Run IDs that were not found or not owned. Null if all found.

## Other responses

- `400`: Invalid request - empty array, exceeds 100 IDs, or malformed input
- `401`: Unauthorized - Invalid or missing 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)
