Benutzer auflisten

GET /v1/users · Berechtigung users:read

Listet die Benutzer der Umgebung mit Cursor-Paginierung auf, standardmäßig die neuesten zuerst. Hier werden nur Filter akzeptiert, die keine personenbezogenen Daten enthalten. Um Benutzer anhand von E-Mail-Adresse, Telefonnummer oder Benutzername zu suchen, verwenden Sie Benutzer suchen.

Anfrage

Parameter In Erforderlich Beschreibung
limit query nein Seitengröße, 1 bis 100. Standard 20.
after query nein Undurchsichtiger Cursor aus list_metadata.after. Schließt before aus.
before query nein Undurchsichtiger Cursor aus list_metadata.before. Schließt after aus.
order query nein asc oder desc nach Erstellungszeitpunkt. Standard desc.
status query nein active, blocked oder pending_deletion.
external_id query nein Exakte Übereinstimmung mit Ihrer eigenen Kennung.
created_after query nein RFC-3339-Zeitpunkt; Benutzer, die danach erstellt wurden.
created_before query nein RFC-3339-Zeitpunkt; Benutzer, die davor erstellt wurden.

Ein Cursor ist nur mit denselben Filtern und derselben Reihenfolge gültig, für die er ausgestellt wurde; andernfalls schlägt die Anfrage mit invalid_cursor fehl.

Antwort

200 OK. data enthält die Benutzer auf der Seite; list_metadata.before und list_metadata.after sind Cursor für die vorherige bzw. nächste Seite (null, wenn keine vorhanden ist). Eine Gesamtanzahl wird nicht zurückgegeben.

Personenbezogene Daten werden maskiert, wenn der Schlüssel die Berechtigung users:read_pii nicht besitzt: email wird zu a***@e***.com, phone_number behält nur die letzten 2 Ziffern (+**********67), name, given_name, family_name, middle_name und nickname werden zu Initialen (A. L.), username behält nur das erste Zeichen (a***), birthdate wird zu ****-**-** und address wird zu {"redacted": true}. user_metadata und app_metadata werden nicht maskiert.

{
  "data": [ {
    "id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
    "kind": "regular",
    "status": "active",
    "external_id": null,
    "username": null,
    "name": "Ada Lovelace",
    "email": "ada@example.com",
    "email_verified": true,
    "phone_number": null,
    "phone_verified": false,
    "user_metadata": {},
    "app_metadata": {},
    "created_via": "admin_api",
    "created_at": "2026-01-15T09:30:00Z",
    "updated_at": "2026-01-15T09:30:00Z",
    "last_sign_in_at": null,
    "deletion_requested_at": null,
    "deletion_due_at": null
  } ],
  "list_metadata": { "before": null, "after": "<opaque cursor>" }
}

Fehler

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

HTTP code Wann
400 invalid_cursor Der Cursor ist fehlerhaft, manipuliert oder wurde für andere Filter ausgestellt.
422 validation_failed Ein Query-Parameter ist ungültig (limit außerhalb des Bereichs, ungültiger Zeitstempel, wiederholter Parameter).
401 unauthenticated Der API-Schlüssel fehlt, ist ungültig oder wurde widerrufen.
403 insufficient_permissions Dem Schlüssel fehlt die Berechtigung users:read.
429 rate_limited Das Ratenlimit wurde überschritten; beachten Sie Retry-After.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; versuchen Sie es später erneut.

Beispiel

curl "https://api.eu.keenauth.com/v1/users?limit=20&status=active" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

Personenbezogene Daten

Dieser Endpunkt enthält personenbezogene Daten: Profil von Endnutzern. 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).