Aggiorna un ruolo di organizzazione

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

Aggiorna il ruolo con un JSON merge patch (RFC 7396, Content-Type: application/merge-patch+json). If-Match è obbligatorio. key non può cambiare. Un ruolo di organizzazione non può diventare privilegiato. Una patch che non modifica nulla mantiene la versione. La scrittura viene registrata come role.updated.

Richiesta

Campo Tipo Obbligatorio Descrizione
org_id path sì ID dell'organizzazione (org_…).
role_id path sì ID del ruolo (rol_…).
If-Match header sì ETag corrente del ruolo.
name string no Nome visualizzato, fino a 128 caratteri.
description string no Fino a 1024 caratteri.
is_privileged boolean no Flag di privilegio (deve restare false).
assignable_in_self_service boolean no Se il ruolo può essere assegnato in self-service.

Risposta

200 OK con il ruolo e il nuovo ETag.

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

Errori

HTTP code Quando
400 unknown_field La patch contiene un campo che non può essere scritto (ad esempio key).
404 not_found Il ruolo non esiste in questo ambito.
412 precondition_failed If-Match non corrisponde alla versione corrente.
422 validation_failed Un campo non è valido.
428 precondition_required If-Match è assente.
401 unauthenticated La credenziale è assente, non valida o revocata.
403 insufficient_permissions La credenziale non ha il permesso richiesto.
429 rate_limited È stato superato il limite di frequenza; riprova dopo il periodo indicato da Retry-After.
503 service_unavailable Una dipendenza è temporaneamente non disponibile; riprova dopo il periodo indicato da Retry-After.

Esempio

curl -i -X PATCH "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/roles/rol_01j9xr7s1t2w6x8y0z2a4b6c8e" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H 'If-Match: "1"' \
  -H "Content-Type: application/merge-patch+json" \
  -d '{"name":"Billing admin team"}'