POST /api/site-admin/organizations — Создать организацию
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/site-admin/organizations |
| Auth | requireSiteAdmin — только site-admin |
| Scope токена | read_write |
| PG-функции | api.admin_create_org |
| Таблицы | organization |
| SRM | SRM-072 |
| RP (права) | RP-060, RP-061, RP-062 |
| Файл роута | server/routes/site-admin.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
name | body | подтвердить | |
slug | body | подтвердить |
Коды ответов/ошибок (из хендлера): 201, 400 (+ 200) — уточнить причины вручную
Для человека
Как открыть: Admin Panel (пароль → код TOTP) → раздел «Организации» → кнопка «Создать» (или «Добавить»). Заполните название и короткий код, подтвердите.
Заводит новую организацию на платформе. Нужны два поля:
- Название — как организация будет называться (можно по-человечески, с пробелами).
- Код (slug) — короткий адресный идентификатор: только строчные латинские буквы, цифры и дефис. Иначе — ошибка
400с подсказкой про допустимые символы.
Код должен быть уникальным: если такой уже занят другой организацией, создание не пройдёт (409). Оба поля обязательны — без любого из них вернётся 400. Создателем записи отмечается тот администратор платформы, который её завёл. Сразу после создания организация попадает в общий список; дальше ей обычно назначают администратора.
Кто может. Только администратор платформы. Создание новых организаций — операция уровня платформы, у администратора организации её нет.
Для агента
Это операция site-admin, и она недоступна API-токену ни на каком scope (даже read_write). Создание организаций — администраторская операция платформы, доступная только под человеческой cookie-сессией.
Путь /api/site-admin/* закрыт для Bearer-токенов в agent-gate (server/auth/agentGate.js): он не в write-allowlist (закрыто по умолчанию), поэтому POST с Authorization: Bearer tak_... возвращает 403 (Forbidden for token). Markdown-зеркала нет.
Под защитой requireSiteAdmin. Браузер шлёт его с cookie-сессией:
curl -X POST https://specbuilder.vnimanie.ai/api/site-admin/organizations \ -b admin-cookies.txt \ -H "Content-Type: application/json" \ -d '{"name":"Будущее","slug":"buduschee"}'Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
name | string | да | Отображаемое название организации |
slug | string | да | Короткий код; шаблон ^[a-z0-9-]+$, должен быть уникальным |
Ответ 201 — возвращается id созданной организации:
"a1b2c3d4-..."Ошибки: 400 — пустое поле или недопустимый slug; 409 — slug уже занят.
Связанные
- Экраны: Admin Panel
- Конвенции · Роли · Ошибки · Глоссарий