---
title: "Bulk Revoke Api Keys"
method: POST
path: "/api/v1/api-keys/bulk/revoke"
tags: ["api-keys"]
---

# Bulk Revoke Api Keys

`POST /api/v1/api-keys/bulk/revoke`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/api-keys/bulk/revoke`
- Auth: none declared

Soft-revoke many keys in one call.

Pass `{"all": true}` to revoke every active key for this user, or
`{"ids": ["uuid1","uuid2",...]}` to revoke a specific set. Already-inactive
keys in the request are silently skipped (idempotent). Keys belonging to
other users are silently skipped (no enumeration via mismatched IDs).

## Request body

- ApiKeyBulkRevoke: Bulk-revoke specific keys by ID, or every active key (`all=true`). Either `ids` or `all` must be provided. `all=true` ignores `ids`. Revoke is soft (sets `is_active=False`) — same as DELETE /api-keys/{id}.
  - `ids` string[]
  - `all` boolean

## Response `200`

Successful Response

- ApiKeyBulkRevokeResult
  - `revoked_count` integer, required
  - `revoked_ids` string[], required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
