PUT /api/profile — Обновить профиль
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | PUT /api/profile |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.update_profile |
| Таблицы | user |
| SRM | SRM-082 |
| RP (права) | RP-092 |
| Файл роута | server/routes/profile.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
displayName | body | подтвердить |
Коды ответов/ошибок (из хендлера): 400, 500 (+ 200) — уточнить причины вручную
Для человека
Как открыть: кнопка со своим именем в правом верхнем углу → экран «Профиль» → раздел «Личные данные» → у строки «Имя» нажмите «Изменить», впишите новое и подтвердите галочкой.
Меняет отображаемое имя — то, под которым вас видят коллеги по спейсу и которое стоит на кнопке профиля в углу. Email и дата создания так не меняются. Имя — до 100 символов; длиннее — ошибка 400. Пустое значение допустимо: имя просто очистится, и в интерфейсе вместо него снова покажется email.
Кто может. Править своё имя может сотрудник, менеджер спейса, наблюдатель и администратор организации (RP-092). У гостя профиля нет. Каждый меняет только себя — чужой профиль через этот метод не редактируется.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). Меняется профиль владельца токена и только отображаемое имя.
Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
displayName | string | нет | Новое отображаемое имя, ≤ 100 символов. null или пустая строка — очистить имя |
Пример запроса:
curl -X PUT https://specbuilder.vnimanie.ai/api/profile \ -H "Authorization: Bearer tak_..." \ -H "Content-Type: application/json" \ -d '{"displayName":"Агент-сборщик"}'Ответ 200:
{ "id": "11111111-2222-3333-4444-555555555555", "display_name": "Агент-сборщик" }Имя длиннее 100 символов вернёт 400. Cookie-клиент всегда получает JSON; Markdown-зеркало отдаётся только токену с Accept: text/markdown (server/agent/negotiate.js).