POST /api/projects/:id/share — Создать share-ссылку
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/projects/:id/share |
| Auth | requireAuth, requireProjectAccess — только авторизованный, доступ к проекту (read/write) |
| Scope токена | read_write |
| PG-функции | api.create_share_link |
| Таблицы | project_share, project |
| SRM | SRM-310 |
| RP (права) | — |
| Файл роута | server/routes/projects.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
expires | body | подтвердить |
Коды ответов/ошибок (из хендлера): 403 (+ 200) — уточнить причины вручную
Для человека
Как открыть: в списке проектов на карточке проекта откройте меню «⋯» и выберите «Поделиться». Скопируйте полученную публичную ссылку и отправьте её.
Создаёт публичную ссылку на проект — любой, у кого она есть, увидит проект в режиме только для чтения, без входа в систему. Менять проект через ссылку нельзя.
При желании укажите срок жизни ссылки в днях: по его истечении ссылка перестанет работать. Если срок не указан — ссылка бессрочная (пока её не отозвали).
Кто может. Поделиться проектом вправе владелец, менеджер спейса или администратор организации. Остальным действие недоступно (403). Точные правила — RP-156.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). Вызывающий должен быть владельцем проекта, spaceman его спейса или org_admin организации спейса (RP-156).
Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
expires | number | нет | Срок жизни ссылки в днях (округляется вверх). Если опущено — ссылка бессрочная |
Пример запроса:
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: "<сообщение>" }.
Связанные
- Экраны: Список проектов
- Конвенции · Роли · Ошибки · Глоссарий