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

PUT /api/spaces/:spaceId/specialties/:id — Изменить специальность спейса

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

ПолеЗначение
HTTPPUT /api/spaces/:spaceId/specialties/:id
Auth
Scope токенаread_write
PG-функцииapi.upsert_space_specialty
Таблицыspace_specialty_overlay
SRMSRM-049
RP (права)RP-053
Файл роутаserver/routes/spaces.js
Статусdone

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

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

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

Для человека

Как открыть: вкладка «Спейсы» → карточка спейса → «Настройки спейса»«Специализации» → откройте edit-форму существующей специальности и сохраните изменения.

Меняет поля уже существующей специальности в спейсе. По смыслу это та же запись, что и Переопределить специальность: для унаследованной из коллекции — создаёт/обновляет переопределение, для кастомной — правит её саму. Разница только в HTTP-глаголе: PUT интерфейс шлёт, когда специальность заведомо существует и вы её редактируете; POST — когда создаёте или переопределяете впервые. Хендлер и PG-функция (api.upsert_space_specialty) у них общие.

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

Кто может. Менеджер спейса (спейсмен) или администратор организации (RP-053). Остальные — 403.

Для агента

Запись — токен со scope read_write. Путь PUT /api/spaces/:spaceId/specialties/:id на write-allowlist’е (server/auth/agentGate.js, та же операция SPACE_SPECIALTY_UPSERT, вариант PUT). Под ролью владельца токена: спейсмен спейса или org_admin, иначе 403.

PUT и POST ведут к одному хендлеру upsertSpecialty, поэтому тело и поведение идентичны Переопределить специальность. Используйте PUT, когда специальность точно существует.

Путь:

ПараметрГдеНазначение
spaceIdpathUUID спейса (в коде — :id)
idpathКлюч существующей специальности (в коде — :specId)

Тело запроса (JSON, все поля необязательны): name, color, light, border, description, sort_order, is_custom, enabled — см. таблицу в Переопределить специальность.

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

Окно терминала
curl -X PUT https://specbuilder.vnimanie.ai/api/spaces/a1b2c3d4-5678-49ab-8cde-f0123456789a/specialties/ml-engineer \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"name":"ML-инженер (агро)","sort_order":2}'

Ответ 200:

{ "ok": true }

Только JSON. Чтобы увидеть результат — перечитайте список специальностей.

Связанные