Subject-Konflikte einer Verbindung auflisten

GET /v1/connections/{connection_id}/subject-conflicts · Berechtigung users:read

Listet die SSO-Subject-Konflikte einer Enterprise-Verbindung (SAML oder OIDC) auf, neueste zuerst.

Ein Subject-Konflikt wird erfasst, wenn der Identitätsanbieter ein neues Subject mit der verifizierten E-Mail-Adresse eines Benutzers sendet, der bereits unter einem anderen Subject mit derselben Verbindung verknüpft ist. Das geschieht zum Beispiel, wenn das Postfach einer ehemaligen Mitarbeiterin einem neuen Mitarbeiter zugewiesen wird. KeenAuth verknüpft das neue Subject nicht automatisch: Die Anmeldung wird mit sso_subject_conflict abgelehnt, und für einen Administrator wird ein Datensatz angelegt, der aufgelöst werden kann.

Die Berechtigung ist users:read, weil ein Datensatz ein Benutzerkonto betrifft; zum Auflösen wird users:write benötigt.

Anfrage

Feld Typ Pflicht Beschreibung
connection_id path ja Verbindungs-ID (conn_…).
limit query nein Seitengröße, 1–100 (Standard 20).
after / before query nein Cursor aus list_metadata. Ein Cursor funktioniert nur für die Verbindung, die ihn erzeugt hat.
order query nein desc (Standard) oder asc, nach Erstellungszeitpunkt.

Antwort

200 OK:

{
  "data": [
    {
      "id": "sscf_01j9xr4a6b8c0d2e4f6g8h0j2k",
      "connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
      "user_id": "usr_01j9xm2n4p6q8r0s2t4v6w8x0y",
      "status": "open",
      "resolution": null,
      "created_at": "2026-10-28T10:00:00Z",
      "last_seen_at": "2026-10-28T10:05:00Z",
      "expires_at": "2026-11-27T10:00:00Z",
      "closed_at": null
    }
  ],
  "list_metadata": { "before": null, "after": null }
}
Feld Beschreibung
user_id Der Benutzer, dem die verifizierte E-Mail-Adresse gehört und der bereits unter einem anderen Subject mit dieser Verbindung verknüpft ist.
status open (wartet auf eine Entscheidung), resolved oder expired (30 Tage nach seiner Erstellung ohne Entscheidung geschlossen).
resolution same_person oder different_person; wird nur gesetzt, wenn status resolved ist.
last_seen_at Der letzte Anmeldeversuch mit dem neuen Subject.
closed_at Zeitpunkt, zu dem der Datensatz aufgelöst oder abgelaufen ist; null, solange er offen ist. Ein abgelaufener Datensatz kann ebenfalls null anzeigen.

Fehler

HTTP Code Wann
400 invalid_cursor Der Cursor ist fehlerhaft oder gehört zu einer anderen Verbindung oder Abfrage.
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder widerrufen.
403 insufficient_permissions Die Anmeldedaten haben nicht users:read.
404 not_found Die Verbindung existiert in dieser Umgebung nicht.
422 validation_failed Ein Abfrageparameter ist ungültig (zum Beispiel limit über 100).
429 rate_limited Das Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach der Zeit aus Retry-After.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach der Zeit aus Retry-After.

Beispiel

curl "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/subject-conflicts?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth connections subject-conflicts list conn_01j9xp6q0r1s5t7v9w1x3y5z7b --limit 20