Rejoindre une organisation suggérée

POST /fapi/v1/me/organization-suggestions/{domain_id}:join · appelé depuis l'hôte de connexion de l'environnement

Accepte une suggestion issue de Lister mes suggestions d'organisation : l'utilisateur authentifié devient membre de l'organisation suggérée avec le rôle de membre par défaut de l'environnement. La source de l'adhésion est domain_capture et l'utilisateur est enregistré comme auteur de l'action ; un événement organization_membership.created est envoyé. En cas de deux adhésions simultanées, une seule réussit. L'adhésion ne nécessite pas de session récemment vérifiée : elle n'accorde que le rôle de membre par défaut, et uniquement pour un domaine dont l'adresse e-mail a été vérifiée par l'utilisateur. Nécessite le cookie __Host-idp_session de l'utilisateur authentifié ; si le cookie est absent, expiré ou révoqué, renvoie 401 unauthenticated. Une application de première partie sur une autre origine peut à la place envoyer son jeton d'accès à l'API front (Authorization: DPoP <token> avec une preuve DPoP ; voir Jeton d'accès à l'API front).

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

Requête

En-têtes :

En-tête Obligatoire Description
Idp-Client oui Identifiant du SDK.
Origin oui Doit être exactement https://<hôte de connexion>.

domain_id : l'id de la suggestion (odm_…).

Aucun corps (un objet JSON vide est accepté).

Réponse

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

Erreurs

Statut Code Quand
401 unauthenticated Aucun cookie de session ni jeton d'accès à l'API front valide.
403 origin_not_allowed Origin est absent ou incorrect.
403 role_not_assignable Le rôle de membre par défaut ne peut pas être accordé par capture de domaine.
403 user_not_active L'utilisateur n'est pas actif.
404 not_found Le domaine n'est pas une suggestion pour cet utilisateur (inconnu, mal formé, pas en mode suggest, sans adresse e-mail vérifiée dans ce domaine, ou ignoré trois fois).
409 membership_already_exists L'utilisateur est déjà membre de l'organisation.
409 organization_disabled L'organisation est désactivée ou en cours de suppression.
409 membership_limit_reached L'utilisateur a atteint sa limite d'adhésions.
409 organization_membership_limit_reached L'organisation a atteint sa limite de membres.
503 temporarily_unavailable L'annuaire des adhésions n'a pas répondu ; réessayez plus tard.

Exemple

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"
}

Données personnelles

Cet point d'accès traite des données personnelles : adhésions et invitations aux organisations. Données personnelles dans les API KeenAuth décrit ce qui est stocké, la durée de conservation et la manière dont elles sont supprimées. N'envoyez pas de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.