
# Revocar los tokens de una aplicación

`POST /v1/applications/{application_id}/tokens:revoke` · permiso `sessions:write`

Revoca cada familia de refresh tokens activa emitida a la aplicación, para todos los usuarios. Los access tokens emitidos a la aplicación antes de la llamada dejan de aceptarse en la introspección y en la comprobación de revocación. Úselo cuando sospeche que los tokens emitidos a la aplicación pueden haberse filtrado: la aplicación debe obtener tokens nuevos mediante una nueva solicitud de autorización.

Las sesiones, los consentimientos de los usuarios y las credenciales de la aplicación no cambian: las sesiones de inicio de sesión de los usuarios permanecen abiertas, así que una nueva solicitud de autorización puede tener éxito sin volver a iniciar sesión, y no se vuelve a pedir el consentimiento. Para impedir que un secreto de cliente filtrado siga emitiendo tokens nuevos, rote también las [credenciales de la aplicación](credentials/create.md). La solicitud no tiene cuerpo. Una llamada repetida tiene éxito con un recuento en cero. La revocación se escribe en el registro de auditoría de gestión. Envíe una cabecera `Idempotency-Key` para que los reintentos sean seguros.

## Solicitud

| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
| `application_id` | path | sí | Id de aplicación, con el prefijo `app_`. |

## Respuesta

`200 OK`.

```json
{
  "revoked_token_families": 318
}
```

`revoked_token_families` es el número de familias de refresh tokens revocadas por esta llamada.

## Errores

Cada error es un cuerpo `application/problem+json` con un `code` estable.

| HTTP | `code` | Cuándo |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | Se envió un cuerpo que no es un objeto JSON vacío. |
| 404 | `not_found` | La aplicación no existe en este entorno. |
| 401 | `unauthenticated` | Falta la clave de API, no es válida o está revocada. |
| 403 | `insufficient_permissions` | La clave no tiene el permiso `sessions:write`. |
| 429 | `rate_limited` | Se superó el límite de frecuencia; respete `Retry-After`. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; reintente más tarde. |

## Ejemplo

```bash
curl -X POST https://api.eu.keenauth.com/v1/applications/app_0a1b2c3d4e5f6g7h8j9k0m1n2p/tokens:revoke \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

CLI: `keenauth applications tokens revoke app_0a1b2c3d4e5f6g7h8j9k0m1n2p --yes`
