
# Eine Sitzung widerrufen

`POST /v1/sessions/{session_id}:revoke` · Berechtigung `sessions:write`

Widerruft die Sitzung und die an sie gebundenen Refresh-Token-Familien; in der Sitzung ausgestellte Access-Token werden von Introspection und der Widerrufsprüfung (`sid`) nicht mehr akzeptiert, und die Anwendungen der Sitzung erhalten Abmeldebenachrichtigungen. Die Anfrage hat keinen Body. Das Widerrufen einer bereits widerrufenen oder abgelaufenen Sitzung ändert nichts und liefert `already_inactive: true`. Der Widerruf wird im Verwaltungs-Audit-Log protokolliert. Senden Sie einen `Idempotency-Key`-Header, damit Wiederholungen sicher sind.

## Anfrage

| Parameter | In | Erforderlich | Beschreibung |
|---|---|---|---|
| `session_id` | path | ja | Sitzungs-ID mit Präfix `ses_`. |

## Antwort

`200 OK`.

```json
{
  "already_inactive": false,
  "revoked_token_families": 2
}
```

## 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 gültiges JSON ist oder ein Feld enthält. |
| 404 | `not_found` | Die Sitzung existiert in dieser Umgebung nicht (oder die ID ist fehlerhaft). |
| 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/sessions/ses_0a1b2c3d4e5f6g7h8j9k0m1n2p:revoke \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

CLI: `keenauth sessions revoke ses_0a1b2c3d4e5f6g7h8j9k0m1n2p --yes`
