Listar los miembros de una organización

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

Lista las membresías de una organización, ordenadas por último cambio, para una pantalla de perfil de organización. Las invitaciones pendientes nunca aparecen aquí. Cada fila identifica al usuario solo mediante su identificador usr_…; este endpoint no devuelve nombres ni direcciones de correo electrónico. Requiere la cookie __Host-idp_session del usuario autenticado; si la cookie falta, ha caducado o ha sido revocada, devuelve 401 unauthenticated. Una aplicación propia en otro origen puede enviar, en su lugar, su token de acceso a la API frontal (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:read. Un usuario que no es miembro recibe 404 not_found; un miembro sin el permiso recibe 403 insufficient_permissions.

Con @keenauth/js: await keenauth.organizations.members(orgId, { status: "active" }).

Solicitud

Encabezados:

Encabezado Obligatorio Descripción
Idp-Client sí Identificador del SDK.

org_id: el identificador de la organización (org_…).

Parámetros de consulta:

Parámetro Obligatorio Descripción
status no active, suspended o removed; los tres cuando se omite.
role_id no Solo las membresías que tienen este rol (rol_…).
after no El valor next_after de la página anterior (opaco).
limit no De 1 a 100, por defecto 20.

Sin cuerpo.

Respuesta

200 OK con {"data": [...], "next_after": "..."}; next_after no aparece en la última página.

Cada elemento: id (mem_…), user_id (usr_…), status, roles (cada uno con role_id y source, es decir, el origen de la asignación, como admin_api o default), created_at, activated_at (o null), expires_at (o null), updated_at, version.

Errores

Estado Código Cuándo
400 invalid_cursor after está mal formado.
401 unauthenticated No hay una cookie de sesión válida.
403 insufficient_permissions El usuario no tiene idp_members:read en la organización.
404 not_found No existe tal organización para este usuario; un identificador desconocido, mal formado o ajeno recibe la misma respuesta.
422 validation_failed status, role_id o limit no es válido.
503 service_unavailable Servicio temporalmente no disponible; vuelva a intentarlo después de Retry-After.

Ejemplo

curl "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships?status=active&limit=2" \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt
{
  "data": [
    {
      "id": "mem_01jbz6x8kq3m2n4p5r6s7t8v9b",
      "user_id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9c",
      "status": "active",
      "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-03T09:00:00Z",
      "version": 1
    }
  ],
  "next_after": "AAAYQ3dAgGUBmgAAAABwAIAAAAAAAADh"
}

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.