Pipeline de API: reunir tarjetas en espacios de trabajo
Índice: Pipelines de API — índice
Objetivo: reunir tarjetas de cualquier tipo en espacios de trabajo: crear uno, añadir, quitar y reordenar tarjetas, encontrar cuáles de tus espacios contienen una tarjeta.
Pasos
- Crear.
POST /v0/my/workspaces
Idempotency-Key: ws-trip-1
{"title": "Trip ideas", "language": "en"}
→ {"nonce": "470000000000000051", "card_type": "workspace", "visibility": "Private", …}
Opcional: content, handle, visibility + permissions + publicity, rubrics, location, workspaces (colocarlo dentro de otros espacios de trabajo en los que puedas escribir). Sin ellos empieza como Private.
- Añadir una tarjeta.
POST /v0/my/workspaces/470000000000000051/470000000000000001
{}
→ 204
La tarjeta debe ser una que puedas leer; va al final, o a la posición {"seqnum": 0}. Añadir otra vez la misma tarjeta no cambia nada.
Reordenar:
PATCH /v0/my/workspaces/{ws}/{card}{"seqnum": 2}→ 204.Quitar:
DELETE /v0/my/workspaces/{ws}/{card}→ 204.Leerlo.
GET /v0/graph/workspaces/470000000000000051?contained_limit=50&contained_offset=0
→ {"nonce": "…", "i18n": […], "contained": [{tile}, …], "contained_next_offset": 50, …}
Pagina con contained_next_offset hasta que desaparezca (contained_limit 1–200). GET /v0/my/workspaces/{nonce} devuelve lo mismo para tus propios espacios de trabajo.
Encontrar espacios de trabajo:
GET /v0/my/workspaces?q=trip&limit=20(coincidencia por título);containing=<card nonce>[,<nonce>…]pone primero tus espacios que ya contienen esas tarjetas;scope=owned|granted|all.Editar o eliminar el espacio de trabajo:
PATCH /v0/my/workspaces/{nonce}(title, content, handle, visibility…),DELETE /v0/my/workspaces/{nonce}. Eliminar un espacio de trabajo no elimina las tarjetas que contiene.
Detrás
- Un espacio de trabajo puede contener tarjetas de todos los tipos, incluidos otros espacios de trabajo; no puede contenerse a sí mismo ni a uno de sus antecesores.
- Compartir: poner la tarjeta de otra persona en tu espacio de trabajo no comparte nada de ella; las personas con las que compartes el espacio solo acceden a las tarjetas que sus propietarios compartieron. Grafo de Cabi.Chat — Políticas de tarjetas
- Una tarjeta que está en cualquiera de tus espacios de trabajo cuenta como guardada por ti (la estrella;
saved_by_vieweren la tarjeta).
Reglas
- 400
a workspace cannot contain itself,would create a cycle,card must be a numeric nonce. - 404: no puedes escribir en el espacio de trabajo, o la tarjeta es desconocida o no puedes leerla.
- 400 en un espacio de historial: los espacios de versiones solo los escribe el historial de versiones.
Superficie de la API
| Endpoint | Para qué | FE | IA / oráculo |
|---|---|---|---|
POST /v0/my/workspaces |
Crear | sí | sí |
GET /v0/my/workspaces |
Tus espacios de trabajo (q, containing, scope) |
sí | sí |
GET /v0/graph/workspaces/{nonce} |
Leer con su contenido, paginado | sí | sí |
PATCH / DELETE /v0/my/workspaces/{nonce} |
Editar / eliminar | sí | sí |
POST / PATCH / DELETE /v0/my/workspaces/{nonce}/{card} |
Añadir / reordenar / quitar una tarjeta | sí | sí |