Sitzungen eines Benutzers auflisten

GET /v1/users/{user_id}/sessions · Berechtigung sessions:read

Listet die Sitzungen des Benutzers auf einer einzigen Seite auf, zuletzt gesehene zuerst, maximal 1.000. Die Liste hat keine Parameter limit, after, before oder order, und list_metadata hat immer den Wert null. Standardmäßig werden nur aktive Sitzungen zurückgegeben; mit include_inactive=true werden auch abgelaufene und widerrufene Sitzungen (noch innerhalb der Aufbewahrungsfrist) zurückgegeben. Die vollständige IP-Adresse wird angezeigt, und jede Ansicht wird im Verwaltungs-Audit-Log protokolliert. Cookies, Tokens und Geräte-Fingerprints werden niemals zurückgegeben.

Organisationsbereich

Übergeben Sie org_id, um für einen Organisationsadministrator eine Diagnoseansicht des Mitglieds zu erstellen. Der Schlüssel benötigt dann zusätzlich die Berechtigung organizations:read; ohne sie schlägt die Anfrage mit 403 insufficient_permissions fehl, bevor etwas gelesen wird. Ist der Benutzer kein Mitglied dieser Organisation (keine Mitgliedschaft mit Status invited, active oder suspended), schlägt die Anfrage mit 404 not_found fehl, derselben Antwort wie für einen unbekannten Benutzer. Ist der Benutzer Mitglied, werden nur Sitzungen zurückgegeben, die nach der Richtlinie dieser Organisation eröffnet wurden (Sitzungen, deren org_id diese Organisation ist); Sitzungen des Benutzers im Kontext einer anderen Organisation oder außerhalb jeder Organisation werden niemals zurückgegeben. ip_address und user_agent sind in dieser Ansicht null. Ohne org_id bleibt die Antwort unverändert.

Anfrage

Parameter In Pflicht Beschreibung
user_id Pfad ja Benutzer-ID, mit usr_ beginnend.
include_inactive Query nein true, um auch abgelaufene und widerrufene Sitzungen zurückzugeben. Standardwert ist false.
org_id Query nein Organisations-ID, mit org_ beginnend. Beschränkt die Ansicht auf diese Organisation; siehe Organisationsbereich. Benötigt organizations:read.

Antwort

200 OK. Leere Felder sind null.

{
  "data": [
    {
      "id": "ses_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "status": "active",
      "login_host": "login.example.com",
      "auth_time": "2026-02-01T08:00:00Z",
      "acr": "mfa",
      "amr": ["pwd", "otp"],
      "created_at": "2026-02-01T08:00:00Z",
      "last_seen_at": "2026-02-01T09:15:00Z",
      "idle_expires_at": "2026-02-08T09:15:00Z",
      "absolute_expires_at": "2026-03-03T08:00:00Z",
      "org_id": null,
      "ip_address": "203.0.113.10",
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)",
      "revoked_at": null,
      "revoke_reason": null
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

status: active, expired, revoked · acr: 1fa, mfa, phr · org_id: die Organisation der Sitzung, falls vorhanden.

Fehler

Jeder Fehler ist ein Body vom Typ application/problem+json mit einem stabilen code.

HTTP code Wann
422 validation_failed include_inactive ist weder true noch false.
404 not_found Der Benutzer existiert in dieser Umgebung nicht (oder die ID ist fehlerhaft), oder org_id ist angegeben und der Benutzer ist kein Mitglied dieser Organisation.
401 unauthenticated Der API-Schlüssel fehlt, ist ungültig oder wurde widerrufen.
403 insufficient_permissions Dem Schlüssel fehlt die Berechtigung sessions:read, oder org_id ist angegeben und dem Schlüssel fehlt organizations:read.
429 rate_limited Das Ratenlimit wurde überschritten; beachten Sie Retry-After.
503 service_unavailable Ein Dienst ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage später.

Beispiel

curl "https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions?include_inactive=true" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

CLI: keenauth users sessions list usr_0a1b2c3d4e5f6g7h8j9k0m1n2p --include-inactive

Personenbezogene Daten

Dieser Endpunkt verarbeitet personenbezogene Daten: Sitzungen. Personenbezogene Daten in den KeenAuth-APIs beschreibt, welche Daten gespeichert werden, wie lange sie aufbewahrt und wie sie gelöscht werden. Senden Sie in keinem Feld besondere Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung).