Actualitza un rol
Tots els camps opcionals, i `permissions` substitueix tota la llista.
Executa la crida real contra el teu espai de treball, amb la teva pròpia clau.
PATCH /roles/{id}
Tots els camps opcionals, i permissions substitueix tota la llista.
Exemple
Necessita roles:write. Ometre un camp el deixa tal com està, que és el que vol dir PATCH.
curl -X PATCH "$OE/roles/role_2b81de079c1f0a4b7e05d386" -H "$AUTH" \ -H "Content-Type: application/json" \ -d '{ "permissions": ["emails:read", "threads:read", "labels:read", "contacts:read"] }'{ "object": "role", "id": "role_2b81de079c1f0a4b7e05d386", "name": "Support", "description": "Answers the shared inboxes and nothing else.", "permissions": ["emails:read", "threads:read", "labels:read", "contacts:read"], "builtin": null, "editable": true, "deletable": true, "members": 3, "apiKeys": 1, "createdAt": "2026-08-30T10:41:02.000Z", "updatedAt": "2026-08-30T13:02:19.000Z"}permissions SUBSTITUEIX tota la llista. No hi ha cap crida per concedir-ne un de sol i no n'hi haurà: el que s'audita és una llista, i un patch adreçat per índex és una actualització perduda en el moment que hi ha dues pestanyes obertes. Llegeix el rol, canvia l'entrada que volies i torna-les a enviar totes. Enviar un permís no afegeix un permís. Deixa el rol amb exactament aquell, més el que impliqui.
description és nullable a més d'opcional, i la diferència és tot el sentit d'un patch: ometre'l manté la frase emmagatzemada, enviar null l'esborra. Sense el nullable no hi hauria cap manera d'eliminar una descripció si no era substituint-la per un espai.
El propietari és l'únic rol que un PATCH rebutja, i en rebutja tots els camps: role_immutable, un 409 amb param: "roleId". Tota la resta accepta un nom nou amb la mateixa facilitat que una llista de permisos nova, rols sembrats inclosos. builtin registra d'on ve un rol, no el que se li pot fer. Un nom que ja té un altre rol dona role_name_taken, un 409 amb param: "name".
L'edició arriba a la petició SEGÜENT que faci qualsevol que tingui el rol, claus d'API incloses, perquè el sostre es resol per petició en comptes de guardar-se en memòria cau. Estrènyer un rol és, doncs, una revocació en viu que té efecte sense que calgui rotar les claus que hi ha a sota. Ampliar-lo també és en viu, i aquesta és la meitat que val la pena recordar.