Przejdź do dokumentacji
API

Zmień rolę członka

Rola i nic poza tym. Adresy są drugą osią i mają własne wywołania.

PATCHapi.openemail.uk/members/{userId}

Uruchamia prawdziwe wywołanie na twojej przestrzeni roboczej, twoim własnym kluczem.

PATCH /members/{userId}

Rola i nic poza tym. Adresy są drugą osią i mają własne wywołania.

Przykład

Wymaga members:write. roleId jest jedynym polem i jest wymagane. To wywołanie nazywa stan, którego chce, a nie zmianę do zastosowania, więc wysłanie go dwa razy kończy się tą samą osobą w tej samej roli.

curl
curl -X PATCH "$OE/members/7fQ2mN8vBz1aRd4tYwKx7fQ2mN8vBz1a" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "roleId": "role_2b81de079c1f0a4b7e05d386" }'
Odpowiedź
{  "object": "member",  "userId": "7fQ2mN8vBz1aRd4tYwKx7fQ2mN8vBz1a",  "email": "[email protected]",  "name": null,  "image": null,  "role": {    "id": "role_2b81de079c1f0a4b7e05d386",    "name": "Support",    "builtin": null  },  "implied": false,  "permissions": [    "emails:send",    "emails:read",    "threads:read",    "threads:write",    "labels:read",    "labels:write",    "contacts:read"  ],  "addresses": [    {      "addressId": "c40a95f2-1cc6-4d31-82a8-9e075d31c2a8",      "address": "[email protected]",      "access": "viewer"    }  ],  "createdAt": "2026-08-30T15:44:02.000Z"}

Adresów NIE da się stąd patchować i to pominięcie jest celowe: są zbiorem z poziomem dostępu na element, a PATCH niosący tablicę musiałby oznaczać zastąpienie całości, co jest cichym masowym odebraniem uprawnień za każdym razem, gdy klient wyśle nieaktualną listę. Dwa wywołania adresowe dodają i usuwają po jednym, więc to, co się stało, jest zawsze tym, o co poproszono.

To także sposób, w jaki posiadacz starszych uprawnień przestaje być implied: nie ma wiersza członka, to wywołanie go tworzy, a od tej pory jego uprawnienia są tym, co ktoś wybrał, a nie tym, co przypadkiem wynikało z jego dostępu do adresów. Zwróć uwagę na implied przestawiające się na false i na createdAt pojawiające się w odpowiedzi powyżej. W jego adresach nic się nie zmienia.

Roli właściciela nie da się nikomu nadać (role_immutable, 409), niezależnie od tego, co ma wywołujący. Uczynienie kogoś właścicielem to przeniesienie przestrzeni roboczej, które ma inne konsekwencje i nie istnieje w tym API.

Nowa rola zaczyna obowiązywać przy ich następnym żądaniu oraz przy następnym żądaniu każdego klucza API, który ta rola ogranicza.