---
id: org-set-member-role
title: "PUT /api/orgs/:orgId/members/:userId/role — Изменить роль участника"
domain: org
kind: api-method
http: "PUT /api/orgs/:orgId/members/:userId/role"
---

# PUT /api/orgs/:orgId/members/:userId/role — Изменить роль участника {#org-set-member-role}

## Сводка

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

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

| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
| `role` | body | | _подтвердить_ |

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

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

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

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

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

```bash
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`** — пустой объект (функция ничего не возвращает):

```json
{}
```

**Отказы** (тело `{ "error": "<КОД>" }`):
- `403` — вызывающий не администратор организации (`ACCESS_DENIED`);
- `400` — `INVALID_ROLE` (роль не `member`), `MEMBER_NOT_FOUND` (нет такого участника) или `CANNOT_CHANGE_ADMIN_ROLE` (цель — администратор, его роль через этот метод не меняют).

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

<!-- gen:start:related -->
## Связанные
- Экраны: [Организация](../screens/organization.md#org-screen-organization)
- [Конвенции](../../../shared/conventions.md#conventions) · [Роли](../../../shared/roles.md#roles) · [Ошибки](../../../shared/errors.md#errors) · [Глоссарий](../../../shared/glossary.md#glossary)
<!-- gen:end:related -->

---

Human view: https://docs.vnimanie.ai/specbuilder/v1/domains/org/api/set-member-role/