Sostituisci le autorizzazioni di un ruolo dell'organizzazione

PUT /v1/organizations/{org_id}/roles/{role_id}/permissions · autorizzazione roles:write

Sostituisce l'insieme di autorizzazioni del ruolo dell'organizzazione (al massimo 100). Ogni autorizzazione deve essere presente nell'elenco dei ruoli personalizzati dell'organizzazione dell'ambiente (GET /v1/org-custom-role-permissions), altrimenti permission_not_allowed. I ruoli dell'organizzazione richiedono la funzione di piano org_custom_roles (Business) e l'impostazione dell'ambiente org_custom_roles_enabled. If-Match è facoltativo. La modifica viene registrata come role.updated con change=permissions.

Richiesta

Campo Tipo Obbligatorio Descrizione
org_id path sì ID dell'organizzazione (org_…).
role_id path sì ID del ruolo (rol_…) di un ruolo di questa organizzazione.
If-Match header no ETag corrente; 412 se non corrisponde.
permission_ids string[] sì L'insieme completo degli ID di autorizzazione (perm_…), al massimo 100.

Risposta

200 OK con il ruolo e il relativo ETag.

{
  "id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "key": "billing",
  "name": "Billing",
  "description": "",
  "is_privileged": false,
  "assignable_in_self_service": true,
  "permission_ids": [
    "perm_01j9xs0a2b4c6d8e0f2g4h6j8k",
    "perm_01j9xs0a2b4c6d8e0f2g4h6j8m"
  ],
  "created_at": "2026-10-12T09:31:00.123456Z",
  "updated_at": "2026-10-12T10:00:00Z",
  "version": 2
}

Errori

HTTP code Quando
403 org_custom_roles_disabled I ruoli dell'organizzazione sono disattivati per l'ambiente.
403 plan_feature_unavailable Il piano non include org_custom_roles.
404 not_found L'organizzazione o il ruolo non esiste, oppure il ruolo appartiene a un'altra organizzazione.
412 precondition_failed If-Match non corrisponde alla versione corrente.
422 permission_not_allowed Un'autorizzazione non è presente nell'elenco dei ruoli personalizzati dell'organizzazione.
422 validation_failed permission_ids manca, contiene un ID malformato o sconosciuto, un duplicato o più di 100 elementi.
401 unauthenticated La credenziale manca, non è valida o è stata revocata.
403 insufficient_permissions La credenziale non ha l'autorizzazione richiesta.
429 rate_limited È stato superato il limite di frequenza; riprova dopo il periodo indicato in Retry-After.
503 service_unavailable Una dipendenza non è temporaneamente disponibile; riprova dopo il periodo indicato in Retry-After.

Esempio

curl -i -X PUT "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/roles/rol_01j9xr7s1t2w6x8y0z2a4b6c8e/permissions" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"permission_ids":["perm_01j9xs0a2b4c6d8e0f2g4h6j8k"]}'