Aderisci a un'organizzazione suggerita
POST /fapi/v1/me/organization-suggestions/{domain_id}:join · chiamato dall'host di accesso dell'ambiente
Accetta un suggerimento da Elenca i miei suggerimenti di organizzazione: l'utente autenticato diventa membro dell'organizzazione suggerita con il ruolo di membro predefinito dell'ambiente. L'origine dell'appartenenza è domain_capture e l'utente viene registrato come autore; viene inviato un evento organization_membership.created. Tra due adesioni simultanee, ne riesce solo una. Aderire non richiede una sessione verificata di recente: concede solo il ruolo di membro predefinito, e solo per un dominio il cui indirizzo email l'utente ha verificato. Richiede il cookie __Host-idp_session dell'utente autenticato; se il cookie manca, è scaduto o è stato revocato, restituisce 401 unauthenticated. Un'app first-party su un'altra origine può invece inviare il proprio access token Front API (Authorization: DPoP <token> con una prova DPoP; vedi Token di accesso Front API).
Con @keenauth/js: await keenauth.organizations.joinSuggestion(id).
Richiesta
Intestazioni:
| Intestazione | Obbligatoria | Descrizione |
|---|---|---|
Idp-Client |
sì | Identificatore dell'SDK. |
Origin |
sì | Deve essere esattamente https://<host di accesso>. |
domain_id: l'id del suggerimento (odm_…).
Nessun corpo (è accettato un oggetto JSON vuoto).
Risposta
200 OK con {"membership_id": "mem_…", "organization_id": "org_…"}.
Errori
| Stato | Codice | Quando |
|---|---|---|
| 401 | unauthenticated |
Cookie di sessione o access token Front API assente o non valido. |
| 403 | origin_not_allowed |
Origin manca oppure è errato. |
| 403 | role_not_assignable |
Il ruolo di membro predefinito non può essere concesso tramite cattura del dominio. |
| 403 | user_not_active |
L'utente non è attivo. |
| 404 | not_found |
Il dominio non è un suggerimento per questo utente (sconosciuto, malformato, non in modalità suggest, senza indirizzo verificato al suo interno, oppure ignorato tre volte). |
| 409 | membership_already_exists |
L'utente ha già un'appartenenza nell'organizzazione. |
| 409 | organization_disabled |
L'organizzazione è disattivata oppure in fase di eliminazione. |
| 409 | membership_limit_reached |
L'utente ha raggiunto il proprio limite di appartenenze. |
| 409 | organization_membership_limit_reached |
L'organizzazione ha raggiunto il proprio limite di membri. |
| 503 | temporarily_unavailable |
La directory delle appartenenze non ha risposto; riprova più tardi. |
Esempio
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"
}
Dati personali
Questo endpoint contiene dati personali: appartenenze e inviti alle organizzazioni. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene cancellato. Non inviare categorie particolari di dati personali (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.