Paginación
Navega eficientemente por grandes volúmenes de datos usando cursores offset.
¿Por qué paginamos?
Endpoints que devuelven colecciones de objetos, como listar todos tus clientes o cotizaciones, pueden devolver cientos de miles de registros. Para asegurar que la API de Cord sea siempre rápida y estable, estos endpoints limitan la cantidad de objetos devueltos por defecto (generalmente 50 o 100) utilizando un modelo de paginación basado en limit y offset.
Parámetros de Consulta
Todas las rutas de lectura de listas (GET /api/v1/cotizaciones, GET /api/v1/clientes, GET /api/v1/productos) aceptan los siguientes parámetros en la URL:
limit: (Entero) Determina el número máximo de resultados a devolver.offset: (Entero) Especifica cuántos resultados saltar antes de comenzar a devolver los datos.
Ejemplo de Petición (Página 2):
curl -X GET "https://cordhq.app/api/v1/clientes?limit=50&offset=50" \
-H "Authorization: Bearer sk_live_tU..."
Estructura de Respuesta (Meta)
Todas las respuestas paginadas de Cord devuelven un objeto JSON con dos propiedades principales: data (el arreglo de objetos) y meta (información sobre la paginación para tu frontend o scripts).
{
"data": [
{ "id": "cus_123", "empresa": "ACME Corp" },
{ "id": "cus_124", "empresa": "Stark Ind" }
],
"meta": {
"limit": 50,
"offset": 50,
"total": 142
}
}
- Usa
meta.totalpara construir controles de paginación en tu interfaz de usuario o para saber exactamente cuándo detener un script de exportación de datos.
Excepciones: facturas y eventos usan cursor, no offset
Las facturas se listan con keyset pagination (cursor / next_cursor), no con limit/offset. Con offset, una factura nueva desplaza toda la página siguiente y puede esconder un registro sin que te enteres — algo inaceptable en un listado que alimenta cobranza o conciliación contable.
curl -X GET "https://cordhq.app/api/v1/facturas?limit=50" \
-H "Authorization: Bearer sk_live_tU..."
{
"data": [ { "id": "fac_...", "numero": "F-2026-104", "estado": "open" } ],
"meta": { "next_cursor": "2026-08-20T14:32:00.000Z" }
}
next_cursor es la fecha de creación (ISO 8601) de la última fila de la página, no un token opaco: repite la petición agregando ?cursor=<next_cursor> para traer la siguiente. Cuando ya no hay más páginas, next_cursor viene null.
GET /api/v1/events también pagina con cursor, pero su next_cursor es un token opaco: no intentes interpretarlo ni construirlo, solo reenvíalo tal cual en ?cursor=. Ver Historial de eventos por API.