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

POST /api/projects/:id/share — Создать share-ссылку

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

ПолеЗначение
HTTPPOST /api/projects/:id/share
AuthrequireAuth, requireProjectAccess — только авторизованный, доступ к проекту (read/write)
Scope токенаread_write
PG-функцииapi.create_share_link
Таблицыproject_share, project
SRMSRM-310
RP (права)
Файл роутаserver/routes/projects.js
Статусdone

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

АргументГдеОбяз.Заметка
expiresbodyподтвердить

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

Для человека

Как открыть: в списке проектов на карточке проекта откройте меню «⋯» и выберите «Поделиться». Скопируйте полученную публичную ссылку и отправьте её.

Создаёт публичную ссылку на проект — любой, у кого она есть, увидит проект в режиме только для чтения, без входа в систему. Менять проект через ссылку нельзя.

При желании укажите срок жизни ссылки в днях: по его истечении ссылка перестанет работать. Если срок не указан — ссылка бессрочная (пока её не отозвали).

Кто может. Поделиться проектом вправе владелец, менеджер спейса или администратор организации. Остальным действие недоступно (403). Точные правила — RP-156.

Для агента

Запись — нужен токен со scope read_write (см. Конвенции). Вызывающий должен быть владельцем проекта, spaceman его спейса или org_admin организации спейса (RP-156).

Тело запроса (JSON):

ПолеТипОбяз.Назначение
expiresnumberнетСрок жизни ссылки в днях (округляется вверх). Если опущено — ссылка бессрочная

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

Окно терминала
curl -X POST https://specbuilder.vnimanie.ai/api/projects/a1b2c3d4-.../share \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"expires":7}'

Ответ 200:

{ "token": "shr_7Kp9...", "url": "https://specbuilder.vnimanie.ai/share/shr_7Kp9..." }

Ответ всегда JSON. url — публичная read-only ссылка (share-ссылка); открывается без авторизации.

Коды ошибок — см. Ошибки. При недостатке прав (не owner/spaceman/org_admin) — 403 с телом { error: "<сообщение>" }.

Связанные