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

GET /api/spaces/:spaceId — Получить спейс

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

ПолеЗначение
HTTPGET /api/spaces/:spaceId
AuthrequireSpaceAccess — requireSpaceAccess
Scope токенаread
PG-функцииapi.get_space
Таблицыspace
SRMSRM-169
RP (права)
Файл роутаserver/routes/spaces.js
Статусdone

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

аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)

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

Для человека

Как открыть: выберите спейс в списке (вкладка «Спейсы» или переключатель спейсов слева) → откроется его карточка/настройки. Этот метод и наполняет шапку настроек данными о спейсе.

Возвращает карточку одного спейса: тип (личный / командный / гостевой), организация, коллекция-основа, владелец, описание и счётчики — сколько в спейсе специальностей, блоков, слоёв, участников и живых проектов. Это сводка по спейсу, а не его содержимое: сами слои/блоки/специальности читаются отдельными методами.

Кто может. Любой, у кого есть доступ к спейсу: участник, наблюдатель, администратор организации, владелец личного спейса. Гостевой спейс открыт всем (включая аноним). Если доступа нет — 403; если спейса нет — 404.

Для агента

Чтение — токен со scope read. Маршрут защищён requireSpaceAccess: токен увидит спейс, только если его владелец имеет доступ (участник / наблюдатель / org_admin / владелец личного), иначе 403. Гостевой спейс доступен и без привязки.

Путь:

ПараметрГдеНазначение
idpathUUID спейса

Это единственный метод домена с Markdown-зеркалом: хендлер отдаёт ресурс через sendResource (server/agent/negotiate.js), поэтому работает согласование формата, ETag и блок ## Actions.

Запрос JSON (по умолчанию):

Окно терминала
curl https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-1234-4abc-9def-0123456789ab \
-H "Authorization: Bearer tak_..."

Ответ 200 (JSON):

{
"id": "f9e8d7c6-1234-4abc-9def-0123456789ab",
"type": "team",
"org_id": "0011aabb-...",
"org_name": "ООО «Будущее»",
"org_slug": "buduschee",
"collection_id": "0660b640-86b0-42c5-8e22-93973848bb56",
"collection_name": "ML/AI Development",
"collection_code": "ml-ai-dev",
"owner_id": null,
"name": "Маркетинг",
"slug": "marketing",
"description": "Спейс отдела маркетинга",
"created_at": "2026-05-01T10:00:00.000Z",
"updated_at": "2026-06-12T08:30:00.000Z",
"specialty_count": 9,
"block_count": 26,
"layer_count": 6,
"member_count": 5,
"project_count": 7
}

Запрос Markdown-зеркала (Accept: text/markdown или ?format=md):

Окно терминала
curl https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-1234-4abc-9def-0123456789ab \
-H "Authorization: Bearer tak_..." \
-H "Accept: text/markdown"
# space f9e8d7c6-1234-4abc-9def-0123456789ab
version: 2026-06-12T08:30:00.000Z
updated: 2026-06-12T08:30:00.000Z
name: Маркетинг
type: team
collection: ML/AI Development
## Actions
- GET /api/spaces/f9e8d7c6-1234-4abc-9def-0123456789ab — read-space — returns this space overlay

Зеркало выводит ровно три поля (name, type, collection) — поле-билдер в хендлере (fields: (j) => …) берёт их из того же JSON, что и UI. Блок ## Actions для read-токена содержит только навигацию: один read-аффорданс read-space (server/agent/affordances.js).

ETag/304. В ответе есть ETag (на базе updated_at). Повтор с If-None-Match: "<etag>"304 Not Modified без тела — спейс не менялся, токены экономятся.

Связанные