Paginación

Las listas paginables usan cursor, no offset: recorrer páginas es estable aunque se creen o borren elementos entre medias.

Cómo funciona

Pide hasta limit elementos (1–100, por defecto 50). Si hay más, la respuesta incluye nextCursor: repite la misma petición añadiendo ?cursor= hasta que sea null. El cursor es opaco y codifica una posición — borrar elementos entre páginas nunca te salta resultados. total siempre es el total que cumple los filtros, no el tamaño de la página.

Ejemplo completo

Flujo completo
# Página 1
curl "https://planely.dev/api/v1/tasks?limit=100" \
  -H "Authorization: Bearer $PLANELY_API_KEY"
# → { "tasks": […], "nextCursor": "MTc1MzQ0…", "total": 137 }

# Página siguiente
curl "https://planely.dev/api/v1/tasks?limit=100&cursor=MTc1MzQ0…" \
  -H "Authorization: Bearer $PLANELY_API_KEY"
# → { "tasks": […], "nextCursor": null, "total": 137 }

Sincronización incremental

Si mantienes una copia externa (una hoja de cálculo, un almacén de datos), no recorras todo cada vez: guarda el instante de tu última sincronización y pide solo lo que cambió con ?updatedSince=. Combinado con el cursor, una sincronización típica son una o dos peticiones.