分页
列表端点采用基于页码的分页。审计导出采用基于游标的分页,因此你可以恢复一次长时间的导出而不丢失顺序。
基于页码的列表
传入 page(从 1 开始)和 page_size 查询参数。响应中包含一个 pagination 对象:
{
"data": [{ "id": "item_1" }],
"pagination": { "page": 1, "pageSize": 20, "total": 57, "totalPages": 3 }
}
迭代直到 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);
使用受限的 page_size(API 会对其设上限),并优先使用 search 过滤器,而非逐页扫描全部。
基于游标的导出(审计事件)
GET /v1/audit/events 返回游标而非页数:
{
"data": [{ "id": "evt_1" }],
"pagination": { "hasMore": true, "nextCursor": { "createdAt": "2026-06-19T14:02:00Z", "id": "evt_1" } }
}
通过将游标作为 cursor_created_at 和 cursor_id 回传以恢复(使用 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);