Listing and pagination

API endpoints that return lists use pagination to split the results across different requests.

Use limit and offset in the request and hasMore in the response to go through all records.

Pagination parameters

FieldWhere it appearsDescription
limitRequestMaximum number of items returned per page. Accepts values from 1 to 100. The default is 10.
offsetRequestPosition of the first item to be returned. The listing starts at 0.
totalCountResponseTotal number of items found for the filters provided.
hasMoreResponseIndicates whether there are still records to retrieve.

How to go through the results

With limit=10, start by querying with offset=0. While hasMore is true, increment offset by the same value used in limit.

%%{init: {"flowchart": {"nodeSpacing": 18,"rankSpacing": 24,"diagramPadding": 4,"padding": 7}}}%%
flowchart TD
    A["Query with offset=0"] --> B["Process the records"]
    B --> C{"Is hasMore true?"}

    C --> CSim(("Yes"))
    C --> CNao(("No"))

    CSim --> D["Increment offset"]
    D --> E["Query next page"]
    E --> B

    CNao --> F["Finish pagination"]

    classDef inicio fill:#DBEAFE,stroke:#2563EB,color:#1E3A8A,stroke-width:3px
    classDef decisao fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:3px
    classDef validacao fill:#E0F2FE,stroke:#0284C7,color:#0C4A6E,stroke-width:2px
    classDef sucesso fill:#DCFCE7,stroke:#16A34A,color:#14532D,stroke-width:3px

    classDef respostaSim fill:#22C55E,stroke:#15803D,color:#FFFFFF,stroke-width:3px
    classDef respostaNao fill:#EF4444,stroke:#B91C1C,color:#FFFFFF,stroke-width:3px

    class A inicio
    class C decisao
    class B,D,E validacao
    class F sucesso

    class CSim respostaSim
    class CNao respostaNao

    linkStyle default stroke:#94A3B8,stroke-width:2px
    linkStyle 2 stroke:#22C55E,stroke-width:4px
    linkStyle 3 stroke:#EF4444,stroke-width:4px

For example, with limit=10:

Pagelimitoffset
First100
Second1010
Third1020

Use hasMore as the condition to continue paginating. When it returns false, there is no other page for the filters used.

👍

Recommended

Use paginated listings for queries, initial loads and data reconciliation.

If your integration needs to track status changes, use Webhooks instead of repeatedly querying the listing endpoints.

Next steps