Paginating through large work order lists via API

Pagination behavior on GET /v1/work_orders appears inconsistent when result sets exceed 10k records. Observed:
  • Using page + per_page parameters
  • Records 9,001–10,000: returns as expected
  • Records 10,001+: duplicates from previous pages, gaps, or empty data array
No Link headers present in response. Documentation mentions cursor-based pagination but does not specify parameter names. Questions:
  1. Is offset pagination deprecated for large result sets?
  2. What are the exact cursor parameter names (cursor, after, start_after)?
  3. Is cursor value the id field or a separate token?
  4. Maximum per_page limit?
Tested with:
  • Account: ~45k work orders
  • per_page=100 (also tried 50, 200)
  • Endpoint: /v1/work_orders?status=completed&created_after=2024-01-01
Response structure does not include cursor in body. Example truncated response:
{
  "data": [...],
  "meta": {
    "total": 45231,
    "page": 100,
    "per_page": 100
  }
}
Parents Reply Children