Revocare un invito
POST /fapi/v1/organizations/{org_id}/invitations/{invitation_id}:revoke · chiamato dall'host di accesso dell'ambiente
Revoca un invito in attesa. La risposta è l'invito revocato; il suo indirizzo è stato cancellato (email è null). Un invito non più in attesa (accettato, scaduto o già revocato) restituisce 422 invitation_invalid.
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ò revocare un invito che riporta un ruolo privilegiato (403 role_not_assignable).
Con @keenauth/js: await keenauth.organizations.revokeInvitation(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_…), cioè l'id di l'invito.
Nessun body.
Risposta
200 OK con l'invito e ETag: "<version>".
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. |
| 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: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
}
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.