Pagination
Traverse Eigenn customer, invoice, and transaction collections with opaque cursors and stable filters.
Core public list operations return a data array and meta object:
{
"data": [],
"meta": {
"cursor": "eyJ0eXBlIjoib2Zmc2V0Iiwib2Zmc2V0IjoyNX0",
"hasPreviousPage": false,
"hasNextPage": true
}
}Request the Next Page
- Send the first request without a cursor.
- Process the returned data.
- If meta.hasNextPage is true, send meta.cursor as the next request's cursor.
- Preserve every filter and sort setting.
- Stop when meta.hasNextPage is false or the cursor is null.
Treat the cursor as opaque. Do not decode, change, increment, or persist assumptions about its format.
Resource Limits
| Resource | Page-size parameter | Public maximum |
|---|---|---|
| Customers | pageSize | 100 |
| Invoices | pageSize | 100 |
| Transactions | pageSize | 10,000 |
The public OpenAPI schema does not promise a default page size for these three operations. Set pageSize explicitly when you need a stable batch size.
No Total Count
Customer, invoice, and transaction page metadata does not include a total count or maximum page number. Design progress reporting around processed records and the next cursor, not a precomputed total.
Keep a Stable Query
If you change the filters but reuse a cursor, the API can skip or repeat records. Keep these values stable across a pagination run:
- search query
- date range
- statuses
- categories and tags
- customer or account filters
- sort field and direction
- page size
For a large export, choose a bounded date range and a stable sort. Records can still change during the export. Make the destination upsert by Eigenn resource ID.
Array Parameters
Some list operations accept arrays, such as customer IDs, statuses, tags, categories, or accounts. Use the serialization generated by the SDK or the current OpenAPI explorer. Do not invent a comma-separated format when your HTTP client can follow the contract.
Retry a Page
A page request is a read. You can send it again after a transient failure. Reuse the same cursor and the same filters. Do not advance the saved cursor until you store the page successfully.