PUT /api/spaces/:spaceId — Обновить спейс
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | PUT /api/spaces/:spaceId |
| Auth | requireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin |
| Scope токена | read_write |
| PG-функции | api.update_space |
| Таблицы | space |
| SRM | SRM-170 |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
description | body | подтвердить | |
name | body | подтвердить | |
slug | body | подтвердить |
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: откройте спейс → «Настройки спейса» → измените название, slug или описание в шапке (inline-форма с галочкой/крестиком для сохранения).
Меняет «паспортные» поля спейса: название, slug и описание. Это не про содержимое спейса (слои/блоки/специальности) и не про участников — только про то, как спейс называется и адресуется. Передавать можно любое подмножество полей; что не передали — остаётся как было.
Кто может. Менеджер спейса (спейсмен) своего спейса или администратор организации (requireSpacemanOrOrgAdmin). Сотрудник и наблюдатель — нет.
Для агента
Запись — токен со scope read_write. В WRITE_ALLOW как SPACE_UPDATE; маршрут защищён requireSpacemanOrOrgAdmin, поэтому реально применить изменение может только токен владельца-спейсмена этого спейса или org_admin его организации — иначе 403 (downstream guard).
Путь:
| Параметр | Где | Назначение |
|---|---|---|
id | path | UUID спейса |
Тело запроса (JSON, все поля необязательные):
| Поле | Тип | Назначение |
|---|---|---|
name | string | Новое название |
slug | string | Новый короткий адрес |
description | string | Новое описание |
Пропущенное поле (или null) не трогается — это частичное обновление.
Пример запроса:
curl -X PUT https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-1234-4abc-9def-0123456789ab \ -H "Authorization: Bearer tak_..." \ -H "Content-Type: application/json" \ -d '{"name":"Маркетинг и PR","description":"Объединённый отдел"}'Ответ 200:
{ "ok": true }Ответ — подтверждение { "ok": true } (JSON, без Markdown-зеркала). Чтобы прочитать обновлённую карточку — Получить спейс: после правки у него сменится updated_at (и, значит, ETag).