Изменить роль участника
Роль и ничего больше. Адреса — это другая ось, у них свои вызовы.
Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.
PATCH /members/{userId}
Роль и ничего больше. Адреса — это другая ось, у них свои вызовы.
Пример
Требует members:write. roleId — единственное поле, и оно обязательно. Этот вызов называет желаемое состояние, а не изменение, которое нужно применить, поэтому его двукратная отправка оставляет того же человека с той же ролью.
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, ограниченного ею.