Перейти к документации
API

Изменить роль участника

Роль и ничего больше. Адреса — это другая ось, у них свои вызовы.

PATCHapi.openemail.uk/members/{userId}

Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.

PATCH /members/{userId}

Роль и ничего больше. Адреса — это другая ось, у них свои вызовы.

Пример

Требует members:write. roleId — единственное поле, и оно обязательно. Этот вызов называет желаемое состояние, а не изменение, которое нужно применить, поэтому его двукратная отправка оставляет того же человека с той же ролью.

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

Адреса отсюда НЕ патчатся, и это упущение намеренное: это множество с уровнем доступа у каждого элемента, а PATCH с массивом неизбежно означал бы замену целиком — то есть молчаливый массовый отзыв всякий раз, когда клиент присылает устаревший список. Два вызова для адресов добавляют и удаляют по одному, поэтому произошедшее всегда совпадает с запрошенным.

Это же способ, которым держатель старого доступа перестаёт быть implied: строки участника у него нет, этот вызов её создаёт, и с этого момента его разрешения — то, что кто-то выбрал, а не то, что случайно вытекало из его доступа к адресам. Обратите внимание, как в ответе выше implied переключается в false и появляется createdAt. С его адресами при этом ничего не происходит.

Роль владельца выдать нельзя (role_immutable, 409), какими бы правами ни обладала вызывающая сторона. Сделать кого-то владельцем — это передача рабочего пространства, у которой другие последствия и которой в этом API не существует.

Новая роль вступает в силу при следующем запросе этого человека и при следующем запросе каждого ключа API, ограниченного ею.