Revocar una sesión
POST /v1/sessions/{session_id}:revoke · permiso sessions:write
Revoca la sesión y las familias de refresh tokens vinculadas a ella; los access tokens emitidos en la sesión dejan de aceptarse en la introspección y en la comprobación de revocación (sid), y las aplicaciones de la sesión reciben notificaciones de cierre de sesión. La solicitud no tiene cuerpo. Revocar una sesión que ya está revocada o expirada no cambia nada y devuelve already_inactive: true. 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 |
|---|---|---|---|
session_id |
path | sí | Id de sesión, con el prefijo ses_. |
Respuesta
200 OK.
{
"already_inactive": false,
"revoked_token_families": 2
}
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 JSON válido o que tiene un campo. |
| 404 | not_found |
La sesión no existe en este entorno (o el id está mal formado). |
| 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
curl -X POST https://api.eu.keenauth.com/v1/sessions/ses_0a1b2c3d4e5f6g7h8j9k0m1n2p:revoke \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)"
CLI: keenauth sessions revoke ses_0a1b2c3d4e5f6g7h8j9k0m1n2p --yes