API-пайплайн: собирать карточки в рабочие пространства

Индекс: API-пайплайны — индекс

Цель: собирать карточки любого типа в рабочие пространства: создать пространство, добавлять, удалять и переупорядочивать карточки, находить, в каких ваших пространствах лежит карточка.

Шаги

  1. Создание.
POST /v0/my/workspaces
Idempotency-Key: ws-trip-1
{"title": "Trip ideas", "language": "en"}
→ {"nonce": "470000000000000051", "card_type": "workspace", "visibility": "Private", …}

По желанию: content, handle, visibility + permissions + publicity, rubrics, location, workspaces (положить его внутрь других рабочих пространств, в которые вы можете писать). Без них пространство создаётся Private.

  1. Добавьте карточку.
POST /v0/my/workspaces/470000000000000051/470000000000000001
{}
→ 204

Карточка должна быть доступна вам для чтения; она встаёт в конец или на позицию {"seqnum": 0}. Повторное добавление той же карточки ничего не меняет.

  1. Порядок: PATCH /v0/my/workspaces/{ws}/{card} {"seqnum": 2} → 204.

  2. Удаление из пространства: DELETE /v0/my/workspaces/{ws}/{card} → 204.

  3. Чтение.

GET /v0/graph/workspaces/470000000000000051?contained_limit=50&contained_offset=0
→ {"nonce": "…", "i18n": […], "contained": [{tile}, …], "contained_next_offset": 50, …}

Листайте по contained_next_offset, пока он не пропадёт (contained_limit 1–200). GET /v0/my/workspaces/{nonce} возвращает то же для ваших собственных пространств.

  1. Поиск пространств: GET /v0/my/workspaces?q=trip&limit=20 (по заголовку); containing=<card nonce>[,<nonce>…] ставит первыми ваши пространства, где уже лежат эти карточки; scope=owned|granted|all.

  2. Правка или удаление пространства: PATCH /v0/my/workspaces/{nonce} (title, content, handle, visibility…), DELETE /v0/my/workspaces/{nonce}. Удаление рабочего пространства не удаляет карточки в нём.

Что происходит за кадром

Правила

Поверхность API

Эндпоинт Назначение FE ИИ / оракул
POST /v0/my/workspaces Создать да да
GET /v0/my/workspaces Ваши пространства (q, containing, scope) да да
GET /v0/graph/workspaces/{nonce} Чтение с содержимым, постранично да да
PATCH / DELETE /v0/my/workspaces/{nonce} Правка / удаление да да
POST / PATCH / DELETE /v0/my/workspaces/{nonce}/{card} Добавить / переставить / убрать карточку да да

Упомянуто