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

DELETE /api/orgs/:orgId/members/:userId — Удалить участника

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

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

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

аргументов не обнаружено (подтвердить вручную по server/routes/orgs.js)

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

Для человека

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

Удаляет участника из организации. Исключить может только администратор организации (FM-063). Защитные правила:

  • себя исключить нельзя — администратор не может убрать сам себя;
  • если у участника есть активные проекты в спейсах этой организации (он их владелец), исключение блокируется — сначала нужно передать проекты другому сотруднику. Кнопка при этом подсвечивает причину и показывает список блокирующих проектов (FM-180).

После исключения человек теряет доступ к спейсам и коллекциям организации. Действие деструктивное — поэтому спрятано под подтверждение и доступно только администратору.

Для агента

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

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

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

Окно терминала
curl -X DELETE https://specbuilder.vnimanie.ai/api/orgs/0c8f1e2a-.../members/3f2c... \
-H "Authorization: Bearer tak_..."

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

{}

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

  • 403 — вызывающий не администратор организации (ACCESS_DENIED);
  • 400CANNOT_REMOVE_SELF (себя удалять нельзя) или HAS_OWNED_PROJECTS (у участника есть активные проекты — сначала передайте владение через сменить владельца).

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

Связанные