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.