Skip to content

Pagination & Filtering

All list (GET) endpoints support a consistent set of query parameters for pagination, date filtering, and field-level search.


Pagination

Parameter Type Default Description
skip integer (≥ 0) 0 Number of records to skip before returning results
limit integer (0–1000) 50 Maximum number of records to return

Example — page 2 with 100 results per page

GET /api/{account}/v4.0.0/invoices?skip=100&limit=100
Authorization: Bearer <xa-token>

Maximum limit

The maximum value for limit is 1000. Requests with a higher value will be capped or rejected.

Iterating all records

skip = 0
limit = 1000
all_records = []

while True:
    response = requests.get(
        f"{BASE_URL}/invoices",
        params={"skip": skip, "limit": limit},
        headers={"Authorization": f"Bearer {token}"}
    )
    page = response.json()
    if not page:
        break
    all_records.extend(page)
    skip += limit

Date Filtering

Endpoints that support filterDate accept either a single date or a date range:

Format Example Description
YYYY-MM-DD 2024-11-15 Exact date match
YYYY-MM-DD:YYYY-MM-DD 2024-11-01:2024-11-30 Date range (inclusive)
GET /api/{account}/v4.0.0/invoices?filterDate=2024-11-01:2024-11-30
Authorization: Bearer <xa-token>

Parameter Description
searchString The value to search for
searchColumn The column/field to search in (defaults to the primary identifier, e.g., document number or entity code)
searchOperator Comparison operator (see below)

searchOperator values

Value Operator Meaning
(absent) = Exact match (default)
lt < Less than
lte <= Less than or equal
gt > Greater than
gte >= Greater than or equal
ne <> Not equal

Examples

Search invoices by document series:

GET /api/{account}/v4.0.0/invoices?searchColumn=document_set&searchString=FT

Search customers with a name greater than "M" (alphabetical):

GET /api/{account}/v4.0.0/customers?searchColumn=name&searchString=M&searchOperator=gt

Find articles with a unit price above 100:

GET /api/{account}/v4.0.0/articles?searchColumn=unit_price&searchString=100&searchOperator=gt

Combining Filters

Parameters can be combined freely:

GET /api/{account}/v4.0.0/invoices
  ?filterDate=2024-11-01:2024-11-30
  &searchColumn=document_set
  &searchString=FT
  &skip=0
  &limit=50
Authorization: Bearer <xa-token>