Crea un ruolo dell'organizzazione

POST /fapi/v1/organizations/{org_id}/roles · chiamato dall'host di accesso dell'ambiente

Crea un ruolo nell'organizzazione, senza autorizzazioni; aggiungile con Imposta le autorizzazioni del ruolo. Un'organizzazione può avere al massimo 50 ruoli. Richiede il cookie __Host-idp_session dell'utente autenticato; se il cookie manca, è scaduto o è stato revocato, restituisce 401 unauthenticated. Un'applicazione first-party su un altro origin può invece inviare il proprio token di accesso alla front API (Authorization: DPoP <token> con una prova DPoP; vedi Token di accesso alla front API). L'utente deve essere un membro attivo dell'organizzazione con l'autorizzazione idp_roles:manage. Un utente che non è membro riceve 404 not_found, così l'esistenza dell'organizzazione non viene rivelata; un membro senza l'autorizzazione riceve 403 insufficient_permissions. I ruoli dell'organizzazione devono essere abilitati per l'ambiente e inclusi nel suo piano.

Richiesta

Header:

Header Obbligatorio Descrizione
Idp-Client sì Identificatore dell'SDK.
Origin sì Deve essere esattamente https://<host di accesso>.
Content-Type sì application/json.

org_id: l'identificatore dell'organizzazione (org_…).

Corpo:

Campo Obbligatorio Descrizione
key sì Chiave del ruolo; unica nell'organizzazione e tra i ruoli dell'ambiente; non può essere modificata in seguito.
name sì Nome visualizzato.
description no Descrizione.

Risposta

201 Created con gli header Location e ETag; il corpo è il ruolo (vedi Ottieni un ruolo dell'organizzazione).

Errori

Stato Codice Quando
401 unauthenticated Nessun cookie di sessione valido.
403 origin_not_allowed Origin manca o è errato.
403 insufficient_permissions L'utente non ha idp_roles:manage nell'organizzazione.
403 plan_feature_unavailable Il piano dell'ambiente non include i ruoli dell'organizzazione (feature, required_plan).
403 org_custom_roles_disabled I ruoli dell'organizzazione sono disattivati per l'ambiente.
404 not_found Nessuna organizzazione o ruolo di questo utente (un identificatore sconosciuto, non valido o non suo ottiene la stessa risposta).
409 role_key_conflict La chiave è già usata nell'organizzazione o da un ruolo dell'ambiente.
409 role_limit_reached L'organizzazione ha già 50 ruoli.
409 organization_pending_deletion L'organizzazione è programmata per l'eliminazione.
422 validation_failed Un campo manca o non è valido; errors[] lo indica.
503 service_unavailable Temporaneamente non disponibile; riprova dopo Retry-After.

Esempio

curl -X POST https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"key":"auditor","name":"Auditor"}'