POST /api/users/me/active-org — Сменить активную организацию
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/users/me/active-org |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.set_user_active_org |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/users.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
org_id | body | подтвердить |
Коды ответов/ошибок (из хендлера): 400 (+ 200) — уточнить причины вручную
Для человека
Как открыть: в шапке выберите нужную организацию из своих — за этим выбором и стоит этот метод.
Меняет вашу активную организацию — текущую, «в которой вы сейчас». Это глобальная настройка учётной записи, а не свойство отдельного проекта: после переключения новые сущности по умолчанию создаются в выбранной организации, и в интерфейсе показываются её спейсы и коллекции. Переключиться можно только на организацию, в которой вы состоите.
Кто может. Любой вошедший участник — в пределах организаций, где он числится. Перейти в чужую организацию, где вас нет, нельзя: ответ 403.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). Меняет активную организацию владельца токена — это глобальный scope пользователя, поэтому переключение влияет на то, в какой организации будут создаваться новые сущности (проекты, спейсы и т.д.). Перед операциями записи агенту стоит убедиться, что активна нужная организация — проверить через whoami.
Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
org_id | uuid | да | Организация, в которую переключиться. Должна быть среди организаций владельца |
Пример запроса:
curl -X POST https://specbuilder.vnimanie.ai/api/users/me/active-org \ -H "Authorization: Bearer tak_..." \ -H "Content-Type: application/json" \ -d '{"org_id":"9999aaaa-bbbb-cccc-dddd-eeeeeeeeeeee"}'Ответ 200:
{ "ok": true, "active_org_id": "9999aaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }Пропущенный org_id вернёт 400; организация, в которой владелец не состоит, — 403 (NOT_ORG_MEMBER); несуществующая — 404. Cookie-клиент всегда получает JSON; Markdown-зеркало отдаётся только токену с Accept: text/markdown (server/agent/negotiate.js).