Ves a la documentació
API

Canvia el rol d'un membre

El rol i res més. Les adreces són l'altre eix i tenen les seves pròpies crides.

PATCHapi.openemail.uk/members/{userId}

Executa la crida real contra el teu espai de treball, amb la teva pròpia clau.

PATCH /members/{userId}

El rol i res més. Les adreces són l'altre eix i tenen les seves pròpies crides.

Exemple

Necessita members:write. roleId és l'únic camp, i és obligatori. Aquesta crida anomena l'estat que vol i no un canvi que cal aplicar, de manera que enviar-la dues vegades deixa la mateixa persona amb el mateix rol.

curl
curl -X PATCH "$OE/members/7fQ2mN8vBz1aRd4tYwKx7fQ2mN8vBz1a" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "roleId": "role_2b81de079c1f0a4b7e05d386" }'
Resposta
{  "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"}

Les adreces NO es poden modificar des d'aquí, i l'omissió és deliberada: són un conjunt amb un nivell d'accés per element, i un PATCH que portés un array hauria de significar substitució completa, cosa que és una revocació massiva silenciosa cada vegada que un client envia una llista obsoleta. Les dues crides d'adreça n'afegeixen i n'eliminen una cada vegada, de manera que el que ha passat és sempre el que s'ha demanat.

Així és també com un titular de concessions heretades deixa de ser implied: no té cap fila de membre, això n'hi fa un upsert, i a partir d'aleshores els seus permisos són el que ha triat algú i no el que implicava el seu accés a adreces. Fixa't com implied passa a false i com apareix createdAt a la resposta de dalt. No canvia res de les seves adreces.

El rol de propietari no es pot repartir (role_immutable, un 409), tingui el que tingui qui fa la crida. Fer propietari algú és una transferència de l'espai de treball, que té conseqüències diferents i que no existeix en aquesta API.

El seu rol nou té efecte a la petició següent, i a la petició següent de cada clau d'API limitada per ell.