Revocar una invitación

POST /fapi/v1/organizations/{org_id}/invitations/{invitation_id}:revoke · llamado desde el host de inicio de sesión del entorno

Revoca una invitación pendiente. La respuesta es la invitación revocada; su dirección ha sido borrada (email es null). Una invitación que ya no está pendiente (aceptada, caducada o ya revocada) devuelve 422 invitation_invalid.

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 revocar una invitación que lleve un rol privilegiado (403 role_not_assignable).

Con @keenauth/js: await keenauth.organizations.revokeInvitation(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_…), el id de la invitación.

Sin cuerpo.

Respuesta

200 OK con la invitación y ETag: "<version>".

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.
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:revoke" \
  -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": null,
  "role_ids": ["rol_01jbz6x8kq3m2n4p5r6s7t8v9w"],
  "delivery": "email",
  "delivery_status": "sent",
  "status": "revoked",
  "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": "2026-11-03T11:00:00Z",
  "created_at": "2026-11-03T10:00:00Z",
  "updated_at": "2026-11-03T11:00: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.