---
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`

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.md) · [All operations](https://skmtc.dev/tinyfish/apis/tinyfish-web-agent-automation-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tinyfish/tinyfish-web-agent-automation-api/revisions/bea716bc627d/schema)
