
# Tokens einer Anwendung widerrufen

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

Widerruft jede aktive Refresh-Token-Familie, die der Anwendung ausgestellt wurde, für alle Benutzer. Access-Token, die der Anwendung vor dem Aufruf ausgestellt wurden, werden von Introspection und der Widerrufsprüfung nicht mehr akzeptiert. Verwenden Sie dies, wenn Tokens, die der Anwendung ausgestellt wurden, möglicherweise kompromittiert sind: Die Anwendung muss neue Tokens über eine neue Autorisierungsanfrage erhalten.

Sitzungen, Zustimmungen der Benutzer und die Zugangsdaten der Anwendung bleiben unverändert: Die Anmeldesitzungen der Benutzer bleiben offen, sodass eine neue Autorisierungsanfrage gelingen kann, ohne dass sich der Benutzer erneut anmeldet, und die Zustimmung wird nicht erneut abgefragt. Um zu verhindern, dass ein kompromittiertes Client-Secret neue Tokens ausstellt, rotieren Sie außerdem die [Zugangsdaten der Anwendung](credentials/create.md). Die Anfrage hat keinen Body. Ein wiederholter Aufruf gelingt mit Anzahl null. Der Widerruf wird im Verwaltungs-Audit-Log protokolliert. Senden Sie einen `Idempotency-Key`-Header, damit Wiederholungen sicher sind.

## Anfrage

| Parameter | In | Erforderlich | Beschreibung |
|---|---|---|---|
| `application_id` | path | ja | Anwendungs-ID mit Präfix `app_`. |

## Antwort

`200 OK`.

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

`revoked_token_families` ist die Anzahl der durch diesen Aufruf widerrufenen Refresh-Token-Familien.

## Fehler

Jeder Fehler ist ein `application/problem+json`-Body mit einem stabilen `code`.

| HTTP | `code` | Wann |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | Ein Body wurde gesendet, der kein leeres JSON-Objekt ist. |
| 404 | `not_found` | Die Anwendung existiert in dieser Umgebung nicht. |
| 401 | `unauthenticated` | Der API-Schlüssel fehlt, ist ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Dem Schlüssel fehlt die Berechtigung `sessions:write`. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; beachten Sie `Retry-After`. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; später erneut versuchen. |

## Beispiel

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