Unirse a una organización sugerida

POST /fapi/v1/me/organization-suggestions/{domain_id}:join · llamado desde el host de inicio de sesión del entorno

Acepta una sugerencia de Listar mis sugerencias de organización: el usuario autenticado pasa a ser miembro de la organización sugerida con el rol de miembro predeterminado del entorno. El origen de la membresía es domain_capture y el usuario queda registrado como actor; se envía un evento organization_membership.created. De dos uniones simultáneas, solo una tiene éxito. Unirse no requiere una sesión verificada recientemente: solo concede el rol de miembro predeterminado, y únicamente para un dominio cuya dirección de correo electrónico el usuario haya verificado. 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 de primera parte en otro origen puede enviar en su lugar su token de acceso de la API frontal (Authorization: DPoP <token> con una prueba DPoP; consulte Token de acceso de la API frontal).

Con @keenauth/js: await keenauth.organizations.joinSuggestion(id).

Solicitud

Encabezados:

Encabezado Obligatorio Descripción
Idp-Client sí Identificador del SDK.
Origin sí Debe ser exactamente https://<host de inicio de sesión>.

domain_id: el id de la sugerencia (odm_…).

Sin cuerpo (se acepta un objeto JSON vacío).

Respuesta

200 OK con {"membership_id": "mem_…", "organization_id": "org_…"}.

Errores

Estado Código Cuándo
401 unauthenticated No hay una cookie de sesión válida ni un token de acceso de la API frontal.
403 origin_not_allowed Origin falta o es incorrecto.
403 role_not_assignable La captura por dominio no puede conceder el rol de miembro predeterminado.
403 user_not_active El usuario no está activo.
404 not_found El dominio no es una sugerencia para este usuario (desconocido, mal formado, no está en modo suggest, no hay una dirección verificada en él, o se descartó tres veces).
409 membership_already_exists El usuario ya tiene una membresía en la organización.
409 organization_disabled La organización está deshabilitada o en proceso de eliminación.
409 membership_limit_reached El usuario ha alcanzado su límite de membresías.
409 organization_membership_limit_reached La organización ha alcanzado su límite de membresías.
503 temporarily_unavailable El directorio de membresías no respondió; reintente más tarde.

Ejemplo

curl -X POST https://example.keenauth.app/fapi/v1/me/organization-suggestions/odm_01j9a5c4000000000000000001:join \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt
{
  "membership_id": "mem_01j9yyyyyyyyyyyyyyyyyyyyyy",
  "organization_id": "org_01j9xxxxxxxxxxxxxxxxxxxxxx"
}

Datos personales

Este endpoint contiene datos personales: membresías e invitaciones de organizaciones. Datos personales en las APIs 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.