---
title: "Bulk delete cached responses"
method: DELETE
path: "/api/caches/bulk/"
tags: ["caches"]
---

# Bulk delete cached responses

`DELETE /api/caches/bulk/`

Delete cached responses using exactly one selector: `cache_keys`, `ids`, or `all: true`. Up to 1,000 keys or IDs can be deleted per request. `ids` uses internal integer IDs and is JWT-only; API-key clients should use `cache_keys` or `all`. Rate limit: 60 requests per minute per organization for API-key calls (shared across API keys) and per user for JWT calls.

## Headers

- `Authorization` string, required

## Request body

- object
  - `cache_keys` string[] — Cache keys to delete. Supported for API key and JWT authentication.
  - `ids` integer[] — Internal numeric cache entry IDs to delete. JWT only.
  - `all` boolean — Set to true to delete all cached responses for the current organization. The server rejects false.

## Response `200`

Cached responses were deleted synchronously.

- BulkDeleteResponse — Canonical bulk result envelope plus delete-specific fields.
  - `success_count` integer, required — Number of items successfully processed.
  - `error_count` integer, required — Number of items that failed.
  - `errors` BulkItemError[], required — Item-level failures, keyed by zero-based input index.
    - `index` integer, required — Zero-based index of the failed item in the submitted array.
    - `error` string, required — Error message for the failed item.
  - `deleted_count` integer, required — Number of resources matched and processed for deletion.
  - `message` string, required — Human-readable deletion result.

## Other responses

- `400` — The selector is invalid, more than one selector was supplied, or API-key authentication was used with `ids`.
- `401` — Unauthorized - Missing or invalid authentication
- `403` — Forbidden - The caller cannot delete cached responses
- `422` — The request contains more than 1,000 cache keys or IDs.
- `429` — Rate limit exceeded.

## Changes

> 6 revisions in range; 3 could not be searched.

- **2026-07-31** `c26d550029f8` — 2 breaking, 5 info
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `401`
  - …3 more
- **2026-07-26** `77d94e49bc7a` — 1 breaking, 2 warning, 5 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `401`
  - removed the optional property `error` from the response with the `400` status
  - removed the optional property `error` from the response with the `401` status
  - added the non-success response with the status `403`
  - …4 more

[Change history](https://skmtc.dev/keywordsai/apis/api-reference/changes/api/caches/bulk/delete.md)

---

[API](https://skmtc.dev/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.dev/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/keywordsai/api-reference/revisions/c61efaf24756/schema)
