POST /api/invites/:id/decline — Отклонить приглашение
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/invites/:id/decline |
| Auth | requireAuth — только авторизованный |
| Scope токена | read_write |
| PG-функции | api.decline_invite |
| Таблицы | invite |
| SRM | SRM-129 |
| RP (права) | — |
| Файл роута | server/routes/invites.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/invites.js)
Коды ответов/ошибок (из хендлера): 404 (+ 200) — уточнить причины вручную
Для человека
Как открыть: перейдите по ссылке-приглашению из письма → на экране принятия нажмите «Отклонить». Кнопка доступна вошедшему пользователю рядом с «Принять».
Отказ от приглашения: приглашение помечается отклонённым и больше не действует — повторно открыть и принять его по той же ссылке уже нельзя. В организацию вы при этом не вступаете, никаких изменений в составе участников не происходит.
Ограничения видны из ответа: отклонить можно только активное (ожидающее) приглашение. Если его нет — 404; если оно уже принято или отклонено — отказ не пройдёт.
Кто может. Любой вошедший пользователь, открывший ссылку-приглашение. Отдельного права в RP под отказ нет — это парная операция к принятию.
Для агента
Запись — нужен токен со scope read_write. Операция включена в write-allowlist agent-gate (server/auth/agentGate.js, INVITE_DECLINE), поэтому токен сюда проходит и отклоняет приглашение от имени владельца токена. Токен со scope read получит 403 (method-gate).
Путь-параметр :id — UUID приглашения (поле id из приглашения по ссылке). Тело запроса не требуется.
Пример запроса:
curl -X POST https://specbuilder.vnimanie.ai/api/invites/c3d4e5f6-.../decline \ -H "Authorization: Bearer tak_..."Ответ 200:
{ "ok": true }PG-функция api.decline_invite ничего не возвращает (void): успешный непустой ответ означает, что приглашение нашлось, было активным и теперь отклонено. Ошибки приходят чистым JSON: приглашения нет — INVITE_NOT_FOUND с 404; уже не активно — INVITE_NOT_PENDING с 400. Markdown-зеркала и ETag у метода нет.
Связанные
- Экраны: Принятие инвайта
- Конвенции · Роли · Ошибки · Глоссарий