*REST API › Errors*

# `api_key_revoked`

> 401. The key was revoked. Revoking a key in the API and MCP settings (Ajustes → API y MCP) cuts off access at once; an integration connected through OAuth appears there as a connected integration, and revoking it there has the same effect. The API checks revocation first, then expiry, then the owner, so a revoked key always answers this code. HTTP 401.

HTTP status: `401` · Problem type: `https://docs.filmo.io/errors/api_key_revoked`

## When it happens

401. The key was revoked. Revoking a key in the API and MCP settings (Ajustes → API y MCP) cuts off access at once; an integration connected through OAuth appears there as a connected integration, and revoking it there has the same effect. The API checks revocation first, then expiry, then the owner, so a revoked key always answers this code.

## What to do

An administrator creates a new key (or reconnects the integration) and you replace the revoked one. Do not keep retrying with the old key.

## Retry

| Condition | What to do | Note |
| --- | --- | --- |
| 401 · 402 · 403 (key, owner or plan) | Stop | Do not retry: resending the same request fails again. Act on the key, its owner or the plan: use a valid key with the right scope, ask an administrator for the missing permission, or add the add-on. |

## Example

*api_key_revoked*

```json
{
  "type": "https://docs.filmo.io/errors/api_key_revoked",
  "title": "API key revoked",
  "status": 401,
  "code": "api_key_revoked",
  "detail": "The API key has been revoked",
  "requestId": "req_0b9f6c1d2e3a4f5a8b7c6d5e4f3a2b1c"
}
```

## Returned by

`api_key_revoked` can be returned by any operation.

## Through MCP

A tool call that fails comes back with `isError` set and the problem as structured content, with the same `code`.

---

Canonical URL: https://docs.filmo.io/rest-api/errors/api_key_revoked  
Last updated: 2026-10-25