
# Disconnetti una sessione

`POST /fapi/v1/me/sessions/{session_id}:revoke` · chiamato dall'host di accesso dell'ambiente

Termina una delle altre sessioni dell'utente autenticato. I suoi refresh token vengono revocati, i token di accesso emessi da essa vengono rifiutati, e le applicazioni con cui si era effettuato l'accesso tramite essa ricevono una notifica. La sessione che effettua la richiesta non può essere terminata qui; per disconnetterti da questo browser usa l'endpoint di logout (`/oauth2/logout`), che cancella anche il cookie. Richiede il cookie `__Host-idp_session` dell'utente autenticato; se il cookie manca, è scaduto o è stato revocato, restituisce `401 unauthenticated`. Un'app di prima parte su un'altra origine può invece inviare il proprio token di accesso API front (`Authorization: DPoP <token>` con una prova DPoP; vedi [Token di accesso API front](/docs/api/fapi/front-api-token)). La sessione deve essere stata verificata negli ultimi 300 secondi; altrimenti la risposta è `401 step_up_required` con una sfida `WWW-Authenticate` secondo RFC 9470 (`max_age=300`) e non cambia nulla. Accedi di nuovo (ad esempio con `max_age=0` o `prompt=login`) e riprova. Una sessione dell'utente già terminata restituisce `204` e non cambia nulla.

## Richiesta

Header:

| Header | Obbligatorio | Descrizione |
| --- | --- | --- |
| `Idp-Client` | sì | Identificatore dell'SDK. |
| `Origin` | sì | Deve essere esattamente `https://<host di accesso>`. |

`session_id`: l'identificatore della sessione restituito da `GET /fapi/v1/me/sessions` (`ses_…`).

Nessun corpo.

## Risposta

`204 No Content`.

## Errori

| Stato | Codice | Quando |
| --- | --- | --- |
| 401 | `unauthenticated` | Nessun cookie di sessione valido. |
| 401 | `step_up_required` | La sessione è stata verificata più di 300 secondi fa. |
| 403 | `origin_not_allowed` | `Origin` manca o è errato. |
| 404 | `not_found` | Nessuna sessione del genere per questo utente (un identificatore sconosciuto, malformato o di un altro utente riceve la stessa risposta). |
| 409 | `conflict` | L'identificatore è quello della sessione che effettua la richiesta. |

## Esempio

```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
```
