Bericht über inaktive Mitglieder

GET /v1/reports/inactive-members · Berechtigung reports:read

Listet die aktiven Mitglieder einer Organisation auf, die seit days Tagen keine erfolgreiche Anmeldung in dieser Organisation hatten. Verwenden Sie den Bericht, um Konten zu finden, die entfernt werden sollen, wenn eine Verbindung keine SCIM-Bereitstellung hat: Prüfen Sie die Liste und sperren Sie danach die ausgewählten Mitgliedschaften mit POST /v1/organizations/{org_id}/memberships/{membership_id}:suspend.

Die Umgebung stammt immer aus dem API-Schlüssel; es gibt keinen Umgebungsparameter. Die Zeilen enthalten nur Kennungen und Zeitstempel, weder Namen, E-Mail-Adresse, IP-Adresse noch User-Agent. Da Benutzerkennungen personenbezogene Daten sind, ist der Bericht auf Schlüssel mit reports:read beschränkt.

Was als Anmeldung zählt

Eine erfolgreiche Authentifizierung zählt, wenn sie im Kontext dieser Organisation abgeschlossen wurde. Eine Anmeldung ohne ausgewählte Organisation zählt nicht. Eine Mitgliedschaft, deren Aktivierung (activated_at oder, falls sie nie aktiviert wurde, ihr Erstellungszeitpunkt) neuer als der Schwellenwert ist, wird nicht aufgeführt; ein Mitglied, das gestern beigetreten ist, erscheint daher in einem 30-Tage-Bericht nie.

Anfrage

Parameter In Erforderlich Beschreibung
organization_id query ja Die Organisation (org_…).
days query nein Schwellenwert für Inaktivität in Tagen, 7 bis 365. Standard 30.
limit query nein Seitengröße, 1 bis 100. Standard 50.
cursor query nein next_cursor der vorherigen Seite. Nur gültig für die Umgebung, organization_id und days, für die er ausgestellt wurde.

Die Zeilen folgen der Reihenfolge, in der die Mitgliedschaften zuletzt aktualisiert wurden. Der Schwellenwert (inactive_since) wird einmal auf der ersten Seite berechnet und im Cursor übernommen, sodass jede Seite eines Berichts denselben Zeitpunkt verwendet.

Eine Seite durchsucht höchstens 500 Mitgliedschaften und kann weniger Zeilen als limit zurückgeben, auch keine. Folgen Sie next_cursor so lange, bis er null ist.

Antwort

Erfolgreiche Antwort: 200 OK.

Feld Beschreibung
organization_id Die Organisation des Berichts.
days Der verwendete Schwellenwert.
inactive_since Der Schwellenzeitpunkt (Anfragezeit minus days, RFC 3339, UTC). Mitglieder ohne Anmeldung seitdem werden aufgeführt.
data_since Zeitpunkt der ersten erfolgreichen Authentifizierung, die für die Umgebung erfasst wurde; Anmeldungen davor sind unbekannt. null, wenn die Umgebung noch keinen Eintrag hat.
complete true, wenn data_since nicht nach inactive_since liegt, sodass die Liste das gesamte Schwellenfenster abdeckt.
data Die Zeilen dieser Seite (siehe unten).
next_cursor Cursor für die nächste Seite, null auf der letzten Seite.

Jede Zeile in data:

Feld Beschreibung
membership_id Kennung: mem_….
user_id Kennung: usr_….
activated_at Zeitpunkt, zu dem die Mitgliedschaft aktiv wurde (ihr Erstellungszeitpunkt, falls sie nie aktiviert wurde).
last_authenticated_at Letzte erfolgreiche Authentifizierung in dieser Organisation oder null, wenn seit data_since keine erfasst wurde.

Wenn complete false ist, kann ein aufgeführtes Mitglied vor data_since angemeldet gewesen sein; betrachten Sie die Liste daher nicht als endgültig. Wenn data_since null ist, wurde für die Umgebung noch keine Anmeldung erfasst, und jedes ausreichend alte Mitglied ist aufgeführt.

{
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4d",
  "days": 30,
  "inactive_since": "2027-02-03T09:30:00Z",
  "data_since": "2026-12-01T08:00:00Z",
  "complete": true,
  "data": [
    {
      "membership_id": "mem_01j9xk3m7q8r2s4t6v8w0y2z4e",
      "user_id": "usr_01j9xk3m7q8r2s4t6v8w0y2z4f",
      "activated_at": "2026-12-10T10:00:00Z",
      "last_authenticated_at": "2027-01-05T17:45:00Z"
    }
  ],
  "next_cursor": null
}

Fehler

Jeder Fehler liefert einen application/problem+json-Antwortkörper mit einem stabilen code.

HTTP code Wann
400 invalid_cursor Der Cursor ist fehlerhaft oder wurde für eine andere Umgebung, Organisation oder days ausgestellt.
404 not_found Die Organisation existiert nicht oder gehört zu einer anderen Umgebung.
422 validation_failed organization_id fehlt oder ist fehlerhaft, days oder limit liegt außerhalb des gültigen Bereichs, oder ein Parameter wurde wiederholt.
401 unauthenticated Der API-Schlüssel fehlt, ist ungültig oder wurde widerrufen.
403 insufficient_permissions Dem Schlüssel fehlt reports:read.
429 rate_limited Das Ratenlimit wurde überschritten; beachten Sie Retry-After.
503 service_unavailable Der Berichtsdienst ist vorübergehend nicht verfügbar; versuchen Sie es später erneut.

Beispiel

curl "https://api.eu.keenauth.com/v1/reports/inactive-members?organization_id=org_01j9xk3m7q8r2s4t6v8w0y2z4d&days=60" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth reports inactive-members org_01j9xk3m7q8r2s4t6v8w0y2z4d --days 60

Personenbezogene Daten

Dieser Endpunkt verarbeitet personenbezogene Daten: Organisationsmitgliedschaften und Einladungen (Benutzer- und Mitgliedschaftskennungen mit Anmeldezeiten). Personenbezogene Daten in den KeenAuth-APIs beschreibt, was gespeichert wird, wie lange es aufbewahrt wird und wie es gelöscht wird. Übermitteln Sie keine besonderen Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung) in irgendeinem Feld.