---
title: "Cancel Batch"
method: POST
path: "/v3/batches/{batch_id}/cancel"
tags: ["Batches"]
---

# Cancel Batch

`POST /v3/batches/{batch_id}/cancel`

## Request

- Base URL: `https://api.edenai.run`
- URL: `https://api.edenai.run/v3/batches/{batch_id}/cancel`
- Auth: HTTP bearer

Cancel a batch. The requests that already completed are billed and their results stay
available; the batch reads `cancelling` until the provider has stopped it.

## Path parameters

- `batch_id` string, required: The batch id: the `id` the create call returned.

## Response `200`

Successful Response

- BatchObject: A chat batch.
  - `id` string, required: The batch id.
  - `object` 'batch': Always `batch`.
  - `endpoint` string: The endpoint every request of the batch calls.
  - `model` string, required: The model id every line of the batch named, as written: `openai/<model>`, `anthropic/<model>`, `mistral/<model>`, `amazon/<model>@eu` or `vertex/<model>@eu`, or an alias of it.
  - `status` 'validating' | 'in_progress' | 'finalizing' | 'completed' | 'failed' | 'expired' | 'cancelling' | 'cancelled', required: Where the batch is in its lifecycle.
  - `request_counts` BatchRequestCounts: How many of the batch's requests have finished, as the provider last reported them.
    - `total` integer: Requests in the batch.
    - `completed` integer: Requests that succeeded.
    - `failed` integer: Requests that failed.
  - `metadata` object, nullable: The key/value pairs given at create.
  - `created_at` integer, required: When the batch was created, Unix seconds.
  - `finished_at` integer, nullable: When the batch finished and settled, Unix seconds.
  - `cost` string, nullable: What the batch billed, in US dollars, once it finished; null before. Each request that succeeded bills its tokens at the model's batch rates; a failed one, or one that never ran, bills zero. A request that succeeded with no token count bills an estimate at the same rates: its prompt tokens, the output its response shows and a reasoning allowance, the output never above the most the request could produce. A request the provider counts as completed with no result line bills the same estimate with no output shown. When the results cannot be read, every request that may have run bills that estimate.
  - `error` string, nullable: Why the batch failed, when it did.
  - `results_available` boolean: Whether `GET /v3/batches/{batch_id}/results` is sure to serve this batch, read from the stored batch with no call to the provider: it has finished, was created at the provider, its recorded provider status is ended, and it was created less than 30 days ago, less one hour (29 days on Anthropic, which keeps results for 29 days: `jobs.results_promised_until`); past it this reads false, and the results route still tries and answers 410 once the results are gone. False while the batch runs, and for a batch that ended before the provider accepted it. A batch settled past its deadline before the provider ended it reads false, and the results route checks the provider live and can still serve it.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/edenai/apis/eden-ai-api-v3.md) - [All operations](https://skmtc.dev/edenai/apis/eden-ai-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/edenai/apis/eden-ai-api-v3/revisions/20ddfd49a3f4?raw)
