Eliminar un miembro

DELETE /fapi/v1/organizations/{org_id}/memberships/{membership_id} · llamado desde el host de inicio de sesión del entorno

Elimina a un miembro de la organización. La membresía pasa a removed, y las sesiones y los tokens del usuario para esta organización quedan revocados; su cuenta y sus otras organizaciones no se modifican.

Requiere la cookie __Host-idp_session del usuario autenticado con un Origin exacto, o el token de acceso a la API frontal de una aplicación propia (Authorization: DPoP <token> con una prueba DPoP; consulte Token de acceso a la API frontal). El usuario debe ser miembro activo de la organización con el permiso idp_members:remove. Un usuario que no es miembro recibe 404 not_found; un miembro sin el permiso recibe 403 insufficient_permissions.

Eliminar a un miembro es una acción sensible: el usuario debe haber iniciado sesión en los últimos 5 minutos. De lo contrario, la respuesta es 401 step_up_required con WWW-Authenticate indicando max_age=300; vuelva a iniciar la sesión del usuario con maxAge: 300 y vuelva a intentarlo. Esta comprobación se realiza antes de leer cualquier dato de la organización.

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

Solicitud

Encabezados:

Encabezado Obligatorio Descripción
Idp-Client sí Identificador del SDK.
Origin sí, con la cookie https://<host de inicio de sesión>.
If-Match no Una versión, "<version>", de la lista de miembros. Una versión que no coincide, o más de una versión, devuelve 412 precondition_failed.

org_id: el identificador de la organización (org_…). membership_id: el identificador de la membresía (mem_…).

Sin cuerpo.

Respuesta

204 No Content.

Errores

Estado Código Cuándo
400 malformed_request If-Match está mal formado.
401 unauthenticated No hay una cookie de sesión o un token válido.
401 step_up_required El usuario inició sesión hace más de 5 minutos.
403 insufficient_permissions El usuario no tiene idp_members:remove, o la membresía es la del propio usuario.
403 role_not_assignable El miembro tiene un rol privilegiado y el usuario no tiene el rol de administrador.
403 origin_not_allowed El Origin no coincide.
404 not_found No existe tal organización o membresía para este usuario; un identificador desconocido, mal formado o ajeno recibe la misma respuesta.
409 last_org_admin El miembro es el último administrador activo de la organización.
409 organization_disabled La organización está deshabilitada o pendiente de eliminación (organization_pending_deletion).
412 precondition_failed If-Match no coincide con la versión actual de la membresía.
503 service_unavailable Servicio temporalmente no disponible; vuelva a intentarlo después de Retry-After.

Ejemplo

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

Datos personales

Este endpoint maneja datos personales: membresías e invitaciones de organizaciones. Datos personales en las API de KeenAuth describe qué se almacena, durante cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.