Revocar las sesiones de una organización
POST /v1/organizations/{org_id}/sessions:revoke · permiso sessions:write
Revoca cada sesión activa abierta en el contexto de la organización, para todos sus usuarios, junto con las familias de refresh tokens emitidas para la organización o vinculadas a esas sesiones. Los access tokens emitidos para la organización dejan de aceptarse en la introspección y en la comprobación de revocación desde ese momento. Úselo después de un incidente de seguridad o cuando una organización se da de baja; para cerrar la sesión de un solo usuario o de una sola sesión, use Revocar las sesiones de un usuario.
El cuerpo debe incluir un reason. Se guarda como nota solo en el registro de auditoría de gestión; las sesiones terminan con el motivo de revocación admin. Las sesiones que ya están revocadas o expiradas no se cuentan, así que una llamada repetida tiene éxito con recuentos en cero. Envíe una cabecera Idempotency-Key para que los reintentos sean seguros.
Solicitud
| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
org_id |
path | sí | Id de organización, con el prefijo org_. |
Cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
reason |
string | sí | Su nota para el registro de auditoría: de 1 a 256 caracteres, sin caracteres de control ni saltos de línea. |
Respuesta
200 OK.
{
"revoked_sessions": 42,
"revoked_token_families": 57
}
| Campo | Descripción |
|---|---|
revoked_sessions |
Sesiones revocadas por esta llamada. |
revoked_token_families |
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 |
El cuerpo no es JSON válido o tiene un campo desconocido. |
| 415 | unsupported_media_type |
Se envió un cuerpo sin Content-Type: application/json. |
| 422 | validation_failed |
reason falta o está vacío (required), supera los 256 caracteres (too_long) o contiene un carácter de control o un salto de línea (invalid_value). |
| 404 | not_found |
La organizació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
curl -X POST https://api.eu.keenauth.com/v1/organizations/org_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions:revoke \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"reason": "Security incident INC-1042"}'
CLI: keenauth organizations sessions revoke org_0a1b2c3d4e5f6g7h8j9k0m1n2p --reason "Security incident INC-1042" --yes