FinzBooksDevelopers

Pagination

Cursor-based, opaque tokens. Forward walking. has_more_page ends the walk.

Walking a list

Make an initial request to a list endpoint. The response's page_context tells you whether more pages exist and where to resume:

GET /api/public/v1/invoices?per_page=100

{
  "code": 0,
  "invoices": [ … 100 rows … ],
  "page_context": {
    "per_page": 100,
    "has_more_page": true,
    "next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNS0xMlQwODozMDoxNyIsImlkIjoiaW52XzkyOSJ9"
  }
}

To get the next page, pass that cursor back:

GET /api/public/v1/invoices?per_page=100&cursor=eyJjcmVhdGVkX2F0…

Keep walking until has_more_page is false.

Per-page limits

  • Default: 50
  • Maximum: 200

Cursor opacity

Cursors are base64-encoded keyset pointers (created_at + id). Do not parse or construct them on the client — only pass back what the server sent. Cursors are stable across the page they were issued for; if your data set changes mid-walk, rows added at the top of the order won't appear in subsequent pages of the current walk.