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

POST /api/orgs/:orgId/spaces — Создать спейс

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

ПолеЗначение
HTTPPOST /api/orgs/:orgId/spaces
Auth
Scope токенаread_write
PG-функцииapi.create_space
Таблицы
SRM— (вне SRM, документировано по коду)
RP (права)
Файл роутаserver/routes/spaces.js
Статуспо коду (вне SRM)

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

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

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

Для человека

Как открыть: вкладка «Спейсы» в шапке → кнопка «Создать спейс» → форма: выбрать коллекцию и задать slug.

Создаёт командный спейс внутри организации на основе выбранной коллекции. Коллекция — это шаблон: её слои, блоки, специальности и связи становятся базой нового спейса. Поверх этой базы спейс потом кладёт оверлей — переопределяет отдельные элементы, не трогая саму коллекцию. По спейсу сотрудники создают проекты.

Что задаёте при создании:

  • Коллекция — обязательна, задаёт исходный набор слоёв/блоков/специальностей.
  • Название и slug — как спейс будет называться и адресоваться внутри организации.
  • Описание — необязательно.

Личные и гостевые спейсы так не создаются — они системные и заводятся автоматически. Этот метод — только про командные спейсы.

Кто может. Только администратор организации (RP-050). Менеджер спейса (спейсмен) спейсы не создаёт — это per-space роль внутри уже существующего спейса; весь жизненный цикл спейса (создание, удаление) — у org_admin.

Для агента

Запись — нужен токен со scope read_write (см. Конвенции). На gate-уровне операция в WRITE_ALLOW как SPACE_CREATE; маршрут защищён requireOrgAdminParam('orgId'), так что фактически создать спейс может только токен владельца-org_admin этой организации — иначе 403 (downstream guard).

Путь:

ПараметрГдеНазначение
orgIdpathUUID организации, в которой создаётся спейс

Тело запроса (JSON):

ПолеТипОбяз.Назначение
collection_iduuidдаКоллекция-шаблон. Без неё PG вернёт INVALID_INPUT (400)
namestringдаНазвание спейса
slugstringдаКороткий адрес спейса внутри организации
descriptionstringнетОписание; по умолчанию пустая строка

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

Окно терминала
curl -X POST https://specbuilder.vnimanie.ai/api/orgs/0011aabb-2233-4455-6677-8899aabbccdd/spaces \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"collection_id":"0660b640-86b0-42c5-8e22-93973848bb56","name":"Маркетинг","slug":"marketing"}'

Ответ 201:

{ "id": "a1b2c3d4-5678-49ab-8cde-f0123456789a" }

Ответ — только id нового спейса (JSON). Детали с полным набором полей и блоком ## Actions потом читаются через Получить спейс. Типичный следующий шаг — добавить участников и назначить менеджера (назначить спейсмена).

Связанные