> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sluice.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /api/jobs/bulk/revoke

> Revoke (cancel) multiple active or queued jobs at once.

Revokes up to 100 jobs in a single request. Each job is processed independently — if some jobs can't be revoked (wrong state, not found), the others are still revoked.

## Authentication

Session cookie (dashboard).

## Request body

```json theme={null}
{
  "ids": [
    "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "b2c3d4e5-f6a7-8901-bcde-f12345678901"
  ]
}
```

| Field | Type       | Description                                |
| ----- | ---------- | ------------------------------------------ |
| `ids` | `string[]` | Array of Sluice job UUIDs. Min 1, max 100. |

## Response

```json theme={null}
{
  "results": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "success": true,
      "state": "cancelled"
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "success": false,
      "error": "Job cannot be revoked from state 'completed'."
    }
  ]
}
```

### Result fields

| Field     | Type      | Description                                                |
| --------- | --------- | ---------------------------------------------------------- |
| `id`      | `string`  | Job UUID.                                                  |
| `success` | `boolean` | Whether the revoke was successful.                         |
| `state`   | `string?` | New state after revoke (present when `success` is `true`). |
| `error`   | `string?` | Error message (present when `success` is `false`).         |
