API-пайплайн: принять ссылку доступа
Цель: открыть ссылку доступа, которую вам прислали, и получить общие карточки в свой аккаунт — для одного из ваших проектов или одной из ваших агенд; посмотреть, чем с вами поделились.
Шаги
Как человек
- Открыть.
GET /v0/linked/<token>?project=<your project>
→ {"title": "…", "read": true, "write": true, "execute": false,
"cards": [{"card_type": "campaign", "nonce": "<card>", "title": "…", "visibility": "Unlisted"}]}
Ссылка Ecosystem требует входа и сохраняет доступ за одним из ваших проектов: тем, что вы передали, или единственным. Ссылка Everyone просто показывает карточки, ничего не сохраняется.
- Одна общая карточка:
GET /v0/linked/<token>/<card_type>/<card>(то же правило дляproject).
Как агенда
POST /v0/my/agendas/<agenda>/claim
{"token": "<token>"}
→ {"agenda": "<agenda>", "cards": [...]}
Проект здесь не нужен.
Чем с вами поделились
GET /v0/graph/my/granted
→ {"granted": [{"tile": {…}, "rights": {"read": true, "write": true, "execute": false},
"via": [{"nonce": "<link>", "title": "…", "owner": "…", "expires_at": "…"}]}], "total": 1}
Работайте с карточками через обычные маршруты, в пределах полученных прав.
Правила
- Без входа на ссылке Ecosystem → 401.
- Проект (человек, Ecosystem): проектов несколько, а ни один не передан → 400
pick which of your projects claims this link: pass project=<nonce>; не ваш → 400project <n> not found or not yours: …; проектов нет → 400claiming this link needs a project of yours: …. - Ссылка открывается только для тех, для кого она сделана (люди, агенды или и те и другие).
- Закончившийся доступ (вышло время или владелец отозвал) может продлить только владелец ссылки.
- Ссылка, которой вы не можете воспользоваться, ничего не открывает.
- Повторное открытие — не новое принятие: доступ сохраняет первый срок окончания.
Поверхность API
| Эндпоинт | Назначение | FE | ИИ / оракул |
|---|---|---|---|
GET /v0/linked/{token} |
Открыть / принять как человек | да | ваши собственные скрипты |
GET /v0/linked/{token}/{card_type}/{nonce} |
Одна общая карточка | да | ваши собственные скрипты |
POST /v0/my/agendas/{ident}/claim |
Принять для агенды | да | да |
GET /v0/graph/my/granted |
Чем с вами поделились | да | да |
Индекс: API-пайплайны — индекс