Listar las invitaciones de una organización
GET /fapi/v1/organizations/{org_id}/invitations · llamado desde el host de inicio de sesión del entorno
Lista las invitaciones de una organización en el orden en que se crearon, para una pantalla de perfil de la organización. Una invitación pendiente muestra la dirección invitada solo si también tiene idp_members:read; de lo contrario, email es null. Las invitaciones aceptadas, revocadas o caducadas nunca incluyen una dirección.
Requiere la cookie __Host-idp_session del usuario autenticado, o un token de acceso a la API frontal (Authorization: DPoP <token> con una prueba DPoP) de una aplicación de origen propio; consulte Token de acceso a la API frontal. El usuario debe ser un miembro activo de la organización con el permiso idp_members:invite. 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.invitations(orgId, { status: "pending" }).
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 | pending, accepted, revoked o expired; los cuatro cuando se omite. |
after |
no | El valor next_after de la página anterior. |
limit |
no | De 1 a 100, por defecto 20. |
Sin cuerpo.
Respuesta
200 OK con {"data": [...], "next_after": "..."}; next_after está ausente en la última página. Cada elemento tiene los campos de una invitación.
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 400 | invalid_cursor |
after está mal formado. |
| 401 | unauthenticated |
No hay una cookie de sesión o un token válido. |
| 403 | insufficient_permissions |
El usuario no tiene idp_members:invite en la organización. |
| 404 | not_found |
No existe tal organización para este usuario; un identificador desconocido, mal formado o ajeno produce la misma respuesta. |
| 422 | validation_failed |
status o limit no son válidos. |
| 503 | service_unavailable |
No disponible temporalmente; reintente después de Retry-After. |
Ejemplo
curl "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/invitations?status=pending&limit=1" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-b cookies.txt
{
"data": [
{
"id": "inv_01jbz6x8kq3m2n4p5r6s7t8v9d",
"email": "new.member@example.com",
"role_ids": ["rol_01jbz6x8kq3m2n4p5r6s7t8v9w"],
"delivery": "email",
"delivery_status": "sent",
"status": "pending",
"send_count": 1,
"last_sent_at": "2026-11-03T10:00:00Z",
"expires_at": "2026-11-10T10:00:00Z",
"accepted_user_id": null,
"accepted_at": null,
"revoked_at": null,
"created_at": "2026-11-03T10:00:00Z",
"updated_at": "2026-11-03T10:00:00Z",
"version": 1
}
],
"next_after": "inv_01jbz6x8kq3m2n4p5r6s7t8v9d"
}
Datos personales
Este endpoint contiene datos personales: membresías de organizaciones e invitaciones. Datos personales en las API de KeenAuth describe qué se almacena, 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.