Reenviar una invitación
POST /fapi/v1/organizations/{org_id}/invitations/{invitation_id}:resend · llamado desde el host de inicio de sesión del entorno
Envía de nuevo una invitación pendiente por correo electrónico, con un enlace nuevo; el enlace anterior deja de funcionar. La fecha de caducidad no cambia. Una invitación puede enviarse como máximo cinco veces, con al menos diez minutos de diferencia entre envíos; un envío demasiado pronto o uno más allá del límite devuelve 429 invite_rate_limited con Retry-After. Una invitación que ya no está pendiente, o una creada sin entrega por correo electrónico, devuelve 422 invitation_invalid. El enlace en sí nunca se devuelve.
Requiere la cookie __Host-idp_session del usuario autenticado con un Origin exacto, 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. Solo un miembro que tenga el rol de administrador puede reenviar una invitación que lleve un rol privilegiado (403 role_not_assignable).
Con @keenauth/js: await keenauth.organizations.resendInvitation(orgId, invitationId).
Solicitud
Encabezados:
| Encabezado | Obligatorio | Descripción |
|---|---|---|
Idp-Client |
sí | Identificador del SDK. |
Origin |
sí, con la cookie | https://<host de inicio de sesión>. |
org_id: el identificador de la organización (org_…). invitation_id: el identificador de la invitación (inv_…).
Sin cuerpo.
Respuesta
200 OK con la invitación y ETag: "<version>"; send_count y last_sent_at reflejan este envío.
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 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. |
| 403 | role_not_assignable |
La invitación lleva 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 invitación para este usuario; un identificador desconocido, mal formado o ajeno produce la misma respuesta. |
| 409 | organization_disabled |
La organización está deshabilitada o pendiente de eliminación (organization_pending_deletion). |
| 422 | invitation_invalid |
La invitación no está pendiente, o no se creó para entrega por correo electrónico. |
| 429 | invite_rate_limited |
Ya se envió cinco veces, o han transcurrido menos de diez minutos desde el último envío; reintente después de Retry-After. |
| 501 | not_implemented |
La entrega por correo electrónico no está disponible en esta implementación. |
| 503 | service_unavailable |
No disponible temporalmente; reintente después de Retry-After. |
Ejemplo
curl -X POST "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/invitations/inv_01jbz6x8kq3m2n4p5r6s7t8v9d:resend" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-b cookies.txt
{
"id": "inv_01jbz6x8kq3m2n4p5r6s7t8v9d",
"email": "new.member@example.com",
"role_ids": ["rol_01jbz6x8kq3m2n4p5r6s7t8v9w"],
"delivery": "email",
"delivery_status": "queued",
"status": "pending",
"send_count": 2,
"last_sent_at": "2026-11-03T10:30: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:30:00Z",
"version": 2
}
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.