Pagination, sorting and filtering

Cursor pagination, sort and filter parameters on list operations.

Lists return:

{ "data": [], "page": { "nextCursor": "…", "prevCursor": null, "limit": 25, "total": 120 } }
  • Pass cursor=<page.nextCursor> until it is null.
  • limit 1–100 (default 25).
  • sort=-createdAt (prefix - for descending; the allowed fields are listed per operation).
  • filter[field]=a,b (comma = OR, different fields = AND). Unknown filters are 400 unknown-filter.
  • q for free text where supported.
  • Operations that support it take up to 5 filter[metadata.<key>]=<value> parameters (ANDed) on integrator-owned metadata.

Cursors are opaque and valid only with the same sort and filter; a cursor from another query is 400 invalid-cursor.

Long-running work

Exports, custom statements, reports and bulk submissions return 202 with a Job and Location: /v1/jobs/{jobId}. Poll getJob until it reports succeeded, then download from resultUrl (pre-signed, 15 minutes).

Markdown version: pagination.md