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

POST /api/invites/:id/decline — Отклонить приглашение

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

ПолеЗначение
HTTPPOST /api/invites/:id/decline
AuthrequireAuth — только авторизованный
Scope токенаread_write
PG-функцииapi.decline_invite
Таблицыinvite
SRMSRM-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 у метода нет.

Связанные