
# Cerrar una sesión

`POST /fapi/v1/me/sessions/{session_id}:revoke` · llamado desde el host de inicio de sesión del entorno

Finaliza una de las otras sesiones del usuario autenticado. Sus tokens de actualización se revocan, los tokens de acceso que emitió se rechazan, y las aplicaciones con sesión iniciada a través de ella reciben una notificación. La sesión que realiza la solicitud no puede finalizarse aquí; para cerrar sesión en este navegador, use el endpoint de cierre de sesión (`/oauth2/logout`), que además elimina la cookie. Requiere la cookie `__Host-idp_session` del usuario autenticado; si la cookie falta, ha caducado o ha sido revocada, devuelve `401 unauthenticated`. Una aplicación propia en otro origen puede enviar en su lugar su token de acceso a la API de front (`Authorization: DPoP <token>` con una prueba DPoP; consulte [Token de acceso a la API de front](/docs/api/fapi/front-api-token)). La sesión debe haberse verificado en los últimos 300 segundos; de lo contrario, la respuesta es `401 step_up_required` con un desafío `WWW-Authenticate` según RFC 9470 (`max_age=300`) y no cambia nada. Inicie sesión de nuevo (por ejemplo, con `max_age=0` o `prompt=login`) y repita la solicitud. Una sesión del usuario que ya haya finalizado responde `204` y no cambia nada.

## Solicitud

Cabeceras:

| Cabecera | Obligatoria | Descripción |
| --- | --- | --- |
| `Idp-Client` | sí | Identificador del SDK. |
| `Origin` | sí | Debe ser exactamente `https://<host de inicio de sesión>`. |

`session_id`: el identificador de sesión devuelto por `GET /fapi/v1/me/sessions` (`ses_…`).

Sin cuerpo.

## Respuesta

`204 No Content`.

## Errores

| Estado | Código | Cuándo |
| --- | --- | --- |
| 401 | `unauthenticated` | No hay una cookie de sesión válida. |
| 401 | `step_up_required` | La sesión se verificó hace más de 300 segundos. |
| 403 | `origin_not_allowed` | Falta `Origin` o es incorrecta. |
| 404 | `not_found` | No existe tal sesión para este usuario (un identificador desconocido, mal formado o de otro usuario recibe la misma respuesta). |
| 409 | `conflict` | El identificador corresponde a la sesión que realiza la solicitud. |

## Ejemplo

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/sessions/ses_01jbz6x8kq3m2n4p5r6s7t8v9w:revoke \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt
```
