GET /api/spaces/:id/specialties/public — Публичные специальности спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/spaces/:id/specialties/public |
| Auth | — |
| Scope токена | read |
| PG-функции | — |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: отдельного экрана у этого метода нет — он работает «под капотом». Когда гость без входа открывает /new, выбирает публичную (не дефолтную) коллекцию и запускает генерацию, фронтенд подтягивает специальности гостевого спейса именно этим публичным срезом, чтобы прорисовать роли облаков правильной коллекции.
Возвращает тот же набор специальностей спейса, что и обычный список, но без проверки учётной записи — поэтому работает только для гостевых спейсов. На спейс любого другого типа (личный, командный) метод отвечает 403 «Только гостевые спейсы».
Кто может. Кто угодно, включая анонимного гостя без входа — но исключительно по гостевому спейсу. Это сознательно узкая «публичная витрина»: командные и личные специальности через неё не достать.
Для агента
Чтение — токен со scope read (см. Конвенции). Путь под /api/spaces/..., на read-allowlist’е (server/auth/agentGate.js), так что токен до него доходит — но содержательный ответ будет только по гостевому спейсу.
Важно: сам обработчик (publicGuestSpaceRead в server/routes/spaces.js) сначала проверяет space.type. Если спейс не гостевой — 403 «Только гостевые спейсы», ещё до чтения данных. Для не-гостевых спейсов агенту нужен обычный список специальностей под токеном владельца.
Путь:
| Параметр | Где | Назначение |
|---|---|---|
id | path | UUID гостевого спейса |
Пример запроса (токен не обязателен — путь публичный):
curl https://specbuilder.vnimanie.ai/api/spaces/c0ffee00-0000-4abc-9def-000000000000/specialties/publicОтвет 200 — массив той же формы, что у списка специальностей. Только JSON; Markdown-зеркала, ETag/304 здесь нет.
Ответ 403 (спейс не гостевой):
{ "error": "Только гостевые спейсы" }