Pagination
Les endpoints de liste sont paginés par page. L'export d'audit est paginé par curseur afin que vous puissiez reprendre un export long sans perdre l'ordre.
Listes paginées par page
Transmettez les paramètres de requête page (à base 1) et page_size. Les réponses incluent un objet pagination :
{
"data": [{ "id": "item_1" }],
"pagination": { "page": 1, "pageSize": 20, "total": 57, "totalPages": 3 }
}
Itérez jusqu'à ce 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);
Utilisez un page_size borné (l'API le plafonne) et préférez les filtres search au balayage de chaque page.
Export paginé par curseur (événements d'audit)
GET /v1/audit/events renvoie un curseur au lieu de compteurs de pages :
{
"data": [{ "id": "evt_1" }],
"pagination": { "hasMore": true, "nextCursor": { "createdAt": "2026-06-19T14:02:00Z", "id": "evt_1" } }
}
Reprenez en retransmettant le curseur sous la forme cursor_created_at et cursor_id (avec le 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);