
# Revoca i token di un'applicazione

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

Revoca ogni famiglia di refresh token attiva emessa all'applicazione, per tutti gli utenti. I token di accesso emessi all'applicazione prima della chiamata smettono di essere accettati dall'introspezione e dal controllo di revoca. Usarlo quando i token emessi all'applicazione potrebbero essere trapelati: l'applicazione deve ottenere nuovi token tramite una nuova richiesta di autorizzazione.

Le sessioni, i consensi OAuth degli utenti e le credenziali dell'applicazione non vengono modificati: le sessioni di accesso degli utenti restano aperte, quindi una nuova richiesta di autorizzazione può avere successo senza un nuovo accesso, e il consenso OAuth non viene richiesto di nuovo. Per impedire che un client secret trapelato generi nuovi token, ruotare anche le [credenziali dell'applicazione](credentials/create.md). La richiesta non ha corpo. Una chiamata ripetuta ha successo con conteggio pari a zero. La revoca viene scritta nel log di audit di gestione. Inviare un'intestazione `Idempotency-Key` per rendere sicuri i nuovi tentativi.

## Richiesta

| Parametro | In | Obbligatorio | Descrizione |
|---|---|---|---|
| `application_id` | path | sì | ID applicazione, con prefisso `app_`. |

## Risposta

`200 OK`.

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

`revoked_token_families` è il numero di famiglie di refresh token revocate da questa chiamata.

## Errori

Ogni errore è un body `application/problem+json` con un `code` stabile.

| HTTP | `code` | Quando |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | È stato inviato un corpo che non è un oggetto JSON vuoto. |
| 404 | `not_found` | L'applicazione non esiste in questo ambiente. |
| 401 | `unauthenticated` | La chiave API manca, non è valida o è stata revocata. |
| 403 | `insufficient_permissions` | La chiave non ha il permesso `sessions:write`. |
| 429 | `rate_limited` | È stato superato il limite di frequenza; attendi il periodo indicato in `Retry-After`. |
| 503 | `service_unavailable` | Una dipendenza non è disponibile temporaneamente; riprova più tardi. |

## Esempio

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