Перейти к содержимому

PUT /api/orgs/:orgId/members/:userId/role — Изменить роль участника

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPPUT /api/orgs/:orgId/members/:userId/role
Auth
Scope токенаread_write
PG-функцииapi.update_member_role
Таблицыorg_member
SRMSRM-126
RP (права)
Файл роутаserver/routes/orgs.js
Статусdone

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

АргументГдеОбяз.Заметка
rolebodyподтвердить

Коды ответов/ошибок (из хендлера): 200уточнить причины вручную

Для человека

Как открыть: на экране организации (вкладка «Организация») в карточке участника выберите роль в выпадающем списке.

Меняет роль участника на уровне организации. Менять роли может только администратор организации. Здесь назначается единственная роль — участник (member); повышение до администратора — операция администратора платформы, через этот эндпоинт оно недоступно.

Ограничения: роль администратора через этот метод не выдают и не снимают — если участник уже администратор, его роль не изменить (это сделает администратор платформы). Назначение ролей внутри спейса (менеджер спейса, специальности) — отдельная история на уровне спейса, не здесь.

Для агента

Запись — токен со scope read_write. Операция разрешена токену (agent-gate, ORG_MEMBER_SET_ROLE); PG-функция дополнительно требует, чтобы вызывающий был администратором организации — иначе 403.

Путь-параметры: :orgId — UUID организации, :userId — UUID участника. Тело — JSON.

ПолеТипОбяз.Назначение
rolestringдаЕдинственное допустимое значение — member. Любое другое → 400 (INVALID_ROLE)

Пример запроса:

Окно терминала
curl -X PUT https://specbuilder.vnimanie.ai/api/orgs/0c8f1e2a-.../members/3f2c.../role \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"role":"member"}'

Ответ 200 — пустой объект (функция ничего не возвращает):

{}

Отказы (тело { "error": "<КОД>" }):

  • 403 — вызывающий не администратор организации (ACCESS_DENIED);
  • 400INVALID_ROLE (роль не member), MEMBER_NOT_FOUND (нет такого участника) или CANNOT_CHANGE_ADMIN_ROLE (цель — администратор, его роль через этот метод не меняют).

Markdown-зеркала у мутации нет — ответ всегда JSON.

Связанные