PUT /api/profile/password — Сменить пароль
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | PUT /api/profile/password |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.change_password |
| Таблицы | user |
| SRM | SRM-122 |
| RP (права) | — |
| Файл роута | server/routes/profile.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
current | body | подтвердить | |
newPassword | body | подтвердить |
Коды ответов/ошибок (из хендлера): 400, 500 (+ 200) — уточнить причины вручную
Для человека
Как открыть: кнопка со своим именем в правом верхнем углу → экран «Профиль» → раздел «Смена пароля» → введите текущий пароль, дважды новый и нажмите «Сменить пароль».
Меняет пароль входа. Нужно знать текущий — это защита на случай, если до вашего сеанса кто-то добрался. Новый пароль — минимум 8 символов; короче или с неверным текущим — ошибка 400. После успешной смены под полями появляется «Пароль изменён».
Кто может. Сменить свой пароль может любой вошедший пользователь. Операция всегда касается только вашей учётной записи — сбросить пароль другому человеку отсюда нельзя.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). Меняется пароль владельца токена; обязательно знать действующий пароль.
Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
current | string | да | Текущий пароль (проверяется PG-функцией) |
newPassword | string | да | Новый пароль, минимум 8 символов |
Пример запроса:
curl -X PUT https://specbuilder.vnimanie.ai/api/profile/password \ -H "Authorization: Bearer tak_..." \ -H "Content-Type: application/json" \ -d '{"current":"oldpass123","newPassword":"newpass4567"}'Ответ 200:
{ "ok": true }Пропущенное поле, короткий (< 8) новый пароль или неверный текущий вернут 400. Cookie-клиент всегда получает JSON; Markdown-зеркало отдаётся только токену с Accept: text/markdown (server/agent/negotiate.js). Смена пароля не отзывает уже выпущенные API-токены — они продолжают работать; чтобы перекрыть доступ агенту, токен нужно отозвать отдельно.