Eine Rolle aktualisieren
Jedes Feld optional, und `permissions` ersetzt die gesamte Liste.
Führt den echten Aufruf gegen Ihren Workspace aus, mit Ihrem eigenen Schlüssel.
PATCH /roles/{id}
Jedes Feld optional, und permissions ersetzt die gesamte Liste.
Beispiel
Benötigt roles:write. Ein weggelassenes Feld bleibt unverändert, genau das bedeutet 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 ERSETZT die gesamte Liste. Es gibt keinen Aufruf, der eine einzelne Berechtigung vergibt, und es wird keinen geben: Geprüft wird eine Liste, und ein über Indizes adressierter Patch ist ein Lost Update, sobald zwei Tabs offen sind. Lesen Sie die Rolle, ändern Sie den gemeinten Eintrag, senden Sie alle zurück. Eine einzelne Berechtigung zu senden fügt keine Berechtigung hinzu. Danach hält die Rolle genau diese eine, plus alles, was sie impliziert.
description ist nicht nur optional, sondern auch nullable, und der Unterschied ist der ganze Sinn eines Patch: Weglassen behält den gespeicherten Satz, null senden löscht ihn. Ohne nullable gäbe es keine Möglichkeit, eine Beschreibung zu entfernen, außer sie durch ein Leerzeichen zu ersetzen.
Der Owner ist die einzige Rolle, die ein PATCH ablehnt, und er lehnt jedes Feld davon ab: role_immutable, ein 409 mit param: "roleId". Alles andere nimmt einen neuen Namen ebenso bereitwillig an wie eine neue Berechtigungsliste, die vorbelegten Rollen eingeschlossen. builtin hält fest, woher eine Rolle stammt, nicht, was mit ihr geschehen darf. Ein Name, den bereits eine andere Rolle hält, ist stattdessen role_name_taken, ein 409 mit param: "name".
Die Änderung greift bei der NÄCHSTEN Anfrage von jedem, der die Rolle hält, API-Keys eingeschlossen, weil die Obergrenze pro Anfrage aufgelöst und nicht gecacht wird. Eine Rolle zu verengen ist daher ein sofortiger Entzug, der wirkt, ohne dass die darunter hängenden Keys rotiert werden. Eine Rolle zu erweitern wirkt genauso sofort, und das ist die Hälfte, die man sich merken sollte.