Mitglied sperren
POST /fapi/v1/organizations/{org_id}/memberships/{membership_id}:suspend · aufgerufen vom Anmeldehost der Umgebung
Sperrt eine Mitgliedschaft. Das Mitglied behält seine Rollen, kann in der Organisation aber nicht mehr handeln: Seine Sitzungen und Token im Kontext dieser Organisation werden widerrufen, und es kann die Organisation nicht auswählen, bis ein Mitglied es reaktiviert. Ein bereits gesperrtes Mitglied zu sperren, liefert die unveränderte Mitgliedschaft. Der letzte aktive Admin kann nicht gesperrt werden (409 last_org_admin).
Erfordert das Cookie __Host-idp_session des authentifizierten Benutzers mit exaktem Origin oder ein Front-API-Zugriffstoken einer Erstanbieter-Anwendung (Authorization: DPoP <token> mit einem DPoP-Nachweis; siehe Front-API-Zugriffstoken). Der Benutzer muss aktives Mitglied der Organisation mit sowohl der Berechtigung idp_members:update_roles als auch idp_members:remove sein. Ein Benutzer, der kein Mitglied ist, erhält 404 not_found; ein Mitglied ohne beide Berechtigungen erhält 403 insufficient_permissions. Sie können hier Ihre eigene Mitgliedschaft nicht ändern (403 insufficient_permissions), und nur ein Mitglied mit der Admin-Rolle kann ein Mitglied mit einer privilegierten Rolle ändern (403 role_not_assignable).
Mit @keenauth/js: await keenauth.organizations.suspendMember(orgId, membershipId, { expectedVersion: 3 }).
Anfrage
Header:
| Header | Pflicht | Beschreibung |
|---|---|---|
Idp-Client |
ja | SDK-Kennung. |
Origin |
ja, mit dem Cookie | https://<Anmeldehost>. |
If-Match |
nein | Eine Version, "<version>", aus der Mitgliederliste. Eine nicht passende Version oder mehr als eine Version liefert 412 precondition_failed. |
org_id: Kennung der Organisation (org_…). membership_id: Kennung der Mitgliedschaft (mem_…).
Kein Body.
Antwort
200 OK mit der Mitgliedschaft (dieselben Felder wie ein Eintrag in der Mitgliederliste) und ETag: "<version>".
Fehler
| Status | Code | Wann |
|---|---|---|
| 400 | malformed_request |
If-Match ist fehlerhaft. |
| 401 | unauthenticated |
Kein gültiges Sitzungs-Cookie oder Token. |
| 403 | insufficient_permissions |
Dem Benutzer fehlt idp_members:update_roles oder idp_members:remove, oder die Mitgliedschaft ist die eigene des Benutzers. |
| 403 | role_not_assignable |
Das Mitglied hat eine privilegierte Rolle, und der Benutzer hat nicht die Admin-Rolle. |
| 403 | origin_not_allowed |
Das Origin stimmt nicht überein. |
| 404 | not_found |
Keine solche Organisation oder Mitgliedschaft für diesen Benutzer; eine unbekannte, fehlerhafte oder fremde Kennung führt zur gleichen Antwort. |
| 409 | last_org_admin |
Das Mitglied ist der letzte aktive Admin der Organisation. |
| 409 | organization_disabled |
Die Organisation ist deaktiviert oder zur Löschung vorgemerkt (organization_pending_deletion). |
| 412 | precondition_failed |
If-Match nennt nicht die aktuelle Version der Mitgliedschaft. |
| 422 | validation_failed |
Die Mitgliedschaft wurde entfernt. |
| 503 | service_unavailable |
Vorübergehend nicht verfügbar; nach Retry-After erneut versuchen. |
Beispiel
curl -X POST "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b:suspend" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H 'If-Match: "3"' \
-b cookies.txt
{
"id": "mem_01jbz6x8kq3m2n4p5r6s7t8v9b",
"user_id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9c",
"status": "suspended",
"roles": [{ "role_id": "rol_01jbz6x8kq3m2n4p5r6s7t8v9w", "source": "admin_api" }],
"created_at": "2026-11-03T09:00:00Z",
"activated_at": "2026-11-03T09:00:00Z",
"expires_at": null,
"updated_at": "2026-11-03T11:00:00Z",
"version": 4
}
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).