Paginación
Los endpoints de listado se paginan por página. La exportación de auditoría se pagina por cursor para que puedas reanudar una exportación larga sin perder el orden.
Listados por página
Pasa los parámetros de consulta page (base 1) y page_size. Las respuestas incluyen un objeto pagination:
{
"data": [{ "id": "item_1" }],
"pagination": { "page": 1, "pageSize": 20, "total": 57, "totalPages": 3 }
}
Itera hasta que page >= totalPages:
let page = 1;
let totalPages = 1;
do {
const result = await fabhub.listItems({ page, pageSize: 100 });
// handle result.data
totalPages = result.pagination.totalPages;
page += 1;
} while (page <= totalPages);
Usa un page_size acotado (la API lo limita) y prefiere los filtros search antes que recorrer todas las páginas.
Exportación por cursor (eventos de auditoría)
GET /v1/audit/events devuelve un cursor en lugar de recuentos de páginas:
{
"data": [{ "id": "evt_1" }],
"pagination": { "hasMore": true, "nextCursor": { "createdAt": "2026-06-19T14:02:00Z", "id": "evt_1" } }
}
Reanuda pasando el cursor de vuelta como cursor_created_at y cursor_id (con el SDK, listAuditEvents):
let cursor = undefined;
do {
const page = await fabhub.listAuditEvents({
limit: 200,
cursorCreatedAt: cursor?.createdAt,
cursorId: cursor?.id,
});
// handle page.data
cursor = page.pagination.nextCursor ?? undefined;
} while (cursor);