Reinviare un invito
POST /fapi/v1/organizations/{org_id}/invitations/{invitation_id}:resend · chiamato dall'host di accesso dell'ambiente
Invia di nuovo un invito e-mail in attesa, con un nuovo link; il link precedente smette di funzionare. La data di scadenza non cambia. Un invito può essere inviato al massimo cinque volte, con almeno dieci minuti di distanza tra un invio e l'altro; un invio troppo ravvicinato o uno in più restituisce 429 invite_rate_limited con Retry-After. Un invito non più in attesa, o uno creato senza consegna via e-mail, restituisce 422 invitation_invalid. Il link stesso non viene mai restituito.
Richiede il cookie __Host-idp_session dell'utente autenticato con un Origin esatto, oppure un access token della API frontend di un'applicazione first-party (Authorization: DPoP <token> con una prova DPoP; vedi Access token della API frontend). L'utente deve essere un membro attivo dell'organizzazione con l'autorizzazione idp_members:invite. Un utente che non è membro riceve 404 not_found; un membro senza l'autorizzazione riceve 403 insufficient_permissions. Solo un membro con il ruolo di amministratore può reinviare un invito che riporta un ruolo privilegiato (403 role_not_assignable).
Con @keenauth/js: await keenauth.organizations.resendInvitation(orgId, invitationId).
Richiesta
Header:
| Header | Obbligatorio | Descrizione |
|---|---|---|
Idp-Client |
sì | Identificatore dell'SDK. |
Origin |
sì, con il cookie | https://<host di accesso>. |
org_id: l'identificatore dell'organizzazione (org_…). invitation_id: l'identificatore dell'invito (inv_…).
Nessun body.
Risposta
200 OK con l'invito e ETag: "<version>"; send_count e last_sent_at riflettono questo invio.
Errori
| Stato | Codice | Quando |
|---|---|---|
| 401 | unauthenticated |
Nessun cookie di sessione o token valido. |
| 403 | insufficient_permissions |
L'utente non ha idp_members:invite nell'organizzazione. |
| 403 | role_not_assignable |
L'invito riporta un ruolo privilegiato e l'utente non ha il ruolo di amministratore. |
| 403 | origin_not_allowed |
L'Origin non corrisponde. |
| 404 | not_found |
Nessuna organizzazione o invito del genere per questo utente; un identificatore sconosciuto, malformato o di un altro utente riceve la stessa risposta. |
| 409 | organization_disabled |
L'organizzazione è disabilitata o in attesa di eliminazione (organization_pending_deletion). |
| 422 | invitation_invalid |
L'invito non è in attesa, oppure non è stato creato per la consegna via e-mail. |
| 429 | invite_rate_limited |
Inviato già cinque volte, oppure meno di dieci minuti dall'ultimo invio; riprova dopo Retry-After. |
| 501 | not_implemented |
La consegna via e-mail non è disponibile in questo deployment. |
| 503 | service_unavailable |
Temporaneamente non disponibile; riprova dopo Retry-After. |
Esempio
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
}
Dati personali
Questo endpoint contiene dati personali: appartenenze alle organizzazioni e inviti. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene cancellato. Non inviare dati personali particolari (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.