Ugrás a dokumentációra
API

Szerepkör frissítése

Minden mező opcionális, és a `permissions` a teljes listát lecseréli.

PATCHapi.openemail.uk/roles/{id}

A valódi hívást futtatja le a munkaterületén, a saját kulcsával.

PATCH /roles/{id}

Minden mező opcionális, és a permissions a teljes listát lecseréli.

Példa

roles:write szükséges. Egy mező elhagyása változatlanul hagyja, és ezt jelenti a PATCH.

curl
curl -X PATCH "$OE/roles/role_2b81de079c1f0a4b7e05d386" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "permissions": ["emails:read", "threads:read", "labels:read", "contacts:read"] }'
Válasz
{  "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"}

A permissions a teljes listát LECSERÉLI. Nincs egy jogosultságot megadó hívás, és nem is lesz: egy listát auditálnak, és egy index alapú patch elveszett frissítés abban a pillanatban, amikor két fül van nyitva. Olvasd be a szerepkört, módosítsd a kívánt bejegyzést, és küldd vissza mindet. Egy jogosultság elküldése nem ad hozzá egy jogosultságot. A szerepkör pontosan azzal az eggyel marad, plusz azzal, ami abból következik.

A description nemcsak opcionális, hanem nullable is, és a különbség adja a patch lényegét: elhagyva megmarad a tárolt mondat, null küldésével törlődik. A nullable nélkül egy leírást csak úgy lehetne eltávolítani, hogy szóközre cseréljük.

A tulajdonosi az egyetlen szerepkör, amelyet egy PATCH elutasít, és annak minden mezőjét elutasítja: role_immutable, 409, param: "roleId" értékkel. Minden más ugyanolyan készséggel fogad új nevet, mint új jogosultságlistát, a kezdeti szerepköröket is beleértve. A builtin azt rögzíti, honnan származik egy szerepkör, nem azt, mit lehet vele tenni. A más szerepkör által már viselt név helyette role_name_taken, 409, param: "name" értékkel.

A módosítás a szerepkörrel rendelkező bárki KÖVETKEZŐ kérésénél lép életbe, az API kulcsokat is beleértve, mert a plafon kérésenként kerül feloldásra, nem gyorsítótárból. Egy szerepkör szűkítése ezért élő visszavonás, amely az alatta lévő kulcsok rotálása nélkül is érvényesül. A bővítés is élő, és ezt a felét érdemes megjegyezni.