Retirer un membre

DELETE /fapi/v1/organizations/{org_id}/memberships/{membership_id} · appelé depuis l'hôte de connexion de l'environnement

Retire un membre de l'organisation. L'adhésion passe à removed, et les sessions et jetons de l'utilisateur pour cette organisation sont révoqués ; son compte et ses autres organisations ne sont pas modifiés.

Nécessite le cookie __Host-idp_session de l'utilisateur authentifié avec un Origin exact, ou le jeton d'accès à l'API front d'une application de première partie (Authorization: DPoP <token> avec une preuve DPoP ; voir Jeton d'accès à l'API front). L'utilisateur doit être un membre actif de l'organisation disposant de l'autorisation idp_members:remove. Un utilisateur qui n'est pas membre reçoit 404 not_found ; un membre sans cette autorisation reçoit 403 insufficient_permissions.

Retirer un membre est une action sensible : l'utilisateur doit s'être connecté au cours des 5 dernières minutes. Sinon, la réponse est 401 step_up_required avec un WWW-Authenticate indiquant max_age=300 ; faites-le se connecter à nouveau avec maxAge: 300 puis renouvelez la requête. Cette vérification intervient avant toute lecture d'informations sur l'organisation.

Avec @keenauth/js : await keenauth.organizations.removeMember(orgId, membershipId).

Requête

En-têtes :

En-tête Obligatoire Description
Idp-Client oui Identifiant du SDK.
Origin oui, avec le cookie https://<hôte de connexion>.
If-Match non Une seule version, "<version>", issue de la liste des membres. Une version qui ne correspond pas, ou plusieurs versions, renvoient 412 precondition_failed.

org_id : l'identifiant de l'organisation (org_…). membership_id : l'identifiant de l'adhésion (mem_…).

Aucun corps.

Réponse

204 No Content.

Erreurs

Statut Code Cas
400 malformed_request If-Match est mal formé.
401 unauthenticated Aucun cookie de session ou jeton valide.
401 step_up_required L'utilisateur s'est connecté il y a plus de 5 minutes.
403 insufficient_permissions L'utilisateur ne dispose pas de idp_members:remove, ou l'adhésion est la sienne.
403 role_not_assignable Le membre détient un rôle privilégié et l'utilisateur ne détient pas le rôle d'administrateur.
403 origin_not_allowed L'Origin ne correspond pas.
404 not_found Aucune organisation ni adhésion de ce type pour cet utilisateur ; un identifiant inconnu, mal formé ou étranger reçoit la même réponse.
409 last_org_admin Le membre est le dernier administrateur actif de l'organisation.
409 organization_disabled L'organisation est désactivée ou en attente de suppression (organization_pending_deletion).
412 precondition_failed If-Match ne désigne pas la version actuelle de l'adhésion.
503 service_unavailable Temporairement indisponible ; réessayez après Retry-After.

Exemple

curl -X DELETE "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b" \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt

Données personnelles

Ce point de terminaison traite des données personnelles : adhésions aux organisations et invitations. Données personnelles dans les API KeenAuth décrit ce qui est stocké, pendant combien de temps et comment elles sont supprimées. Ne transmettez pas de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.