Benutzer einer Organisation hinzufügen

POST /v1/organizations/{org_id}/memberships · Berechtigung organizations:write

Fügt einen bestehenden Benutzer direkt der Organisation hinzu (Quelle admin_api, Status active). Ohne role_ids wird die Standard-Mitgliedsrolle der Organisation zugewiesen; jede Rolle muss eine Rolle der Umgebung oder eine Rolle dieser Organisation sein. Die Antwort enthält einen ETag; der Schreibvorgang wird als organization_membership.created protokolliert. Idempotency-Key ist optional.

Anfrage

Feld Typ Pflicht Beschreibung
org_id Pfad ja ID der Organisation (org_…).
user_id string ja ID des Benutzers (usr_…).
role_ids string[] nein Rollen-IDs (rol_…), höchstens 50.
expires_at string nein RFC-3339-Zeitpunkt in der Zukunft, zu dem die Mitgliedschaft endet.

Antwort

201 Created mit der Mitgliedschaft.

{
  "id": "mem_01j9xn5p9s0t4v6w8x0y2z4a6c",
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "user_id": "usr_01j9xh2k6p7q1r3s5t7v9w1x3y",
  "status": "active",
  "source": "admin_api",
  "reason": null,
  "roles": [
    {
      "role_id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
      "source": "admin_api",
      "assigned_at": "2026-10-12T09:31:00.123456Z"
    }
  ],
  "expires_at": null,
  "created_at": "2026-10-12T09:31:00.123456Z",
  "activated_at": "2026-10-12T09:31:00.123456Z",
  "suspended_at": null,
  "removed_at": null,
  "updated_at": "2026-10-12T09:31:00.123456Z",
  "version": 1
}

Fehler

HTTP Code Wann
404 not_found Die Organisation oder der Benutzer existiert in dieser Umgebung nicht.
403 role_not_assignable Eine Rolle ist weder eine Rolle der Umgebung noch eine Rolle dieser Organisation.
403 user_not_active Der Benutzer ist nicht aktiv.
409 membership_already_exists Der Benutzer ist bereits Mitglied der Organisation.
409 organization_disabled Die Organisation ist deaktiviert.
409 organization_membership_limit_reached Das Mitgliederlimit der Organisation ist erreicht.
409 membership_limit_reached Das Limit der Mitgliedschaften des Benutzers ist erreicht.
422 anonymous_user_not_allowed Der Benutzer ist anonym.
422 validation_failed Ein Feld fehlt oder ist ungültig.
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder widerrufen.
403 insufficient_permissions Die Anmeldedaten haben nicht die erforderliche Berechtigung. Die Zuweisung einer privilegierten Rolle (is_privileged) erfordert zusätzlich roles:write; ohne diese Berechtigung wird nichts geschrieben, und required_permissions nennt beide Berechtigungen.
429 rate_limited Das Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach der Wartezeit aus Retry-After.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach der Wartezeit aus Retry-After.

Beispiel

curl -i -X POST "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/memberships" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"usr_01j9xh2k6p7q1r3s5t7v9w1x3y","role_ids":["rol_01j9xr7s1t2w6x8y0z2a4b6c8e"]}'

Personenbezogene Daten

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