Read every page, respect rate limits and recover safely from errors.
Rate limits
Limits are configurable. GET /v1/operations/capabilities reports requestsPerMinute and authenticationRequestsPerMinutePerIp. After a 429, honour Retry-After and wait longer if throttling continues. Batch reads accept up to 100 IDs; individual endpoints may have smaller page or payload limits.
Read every page
Use the continuation rule for the endpoint you called, keeping the same filters. Lists can change while you read them; use snapshots when you need a consistent copy.
Pagination Continue with Stop when Cursor Pass next as after. next is null. Offset with nextOffset Pass nextOffset as offset. nextOffset is null. Offset with hasMore Increase offset by the number of returned items. hasMore is false. Software Pass the numeric next value as after; restart if updatedAtUtc changes. next is null. Event feed Pass next as after. hasMore is false. Handle errors
Read the error code as well as the HTTP status. If the response includes requestId, quote it when contacting support.
HTTP status What to do 400 Fix the request. 401 Check credentials or obtain a new access token. 403 Check scope, permissions and whether access is enabled. 404 The resource may be missing or outside your scope. 409 Read the error code and current state before deciding. 410 The snapshot or event cursor expired. Start a new baseline. If a write times out
A timeout or 503 does not prove the action failed. For writes that return operation receipts, look up GET /v1/operations/by-key?idempotencyKey={key} before retrying. For maintenance creation, reuse the original Idempotency-Key and body.