Skip to main content

List roster records with bounded cursor pagination

GET 

/roster-records

Returns a page of roster records belonging to the tenant named in the tenant-id header.

When to use: call this to page through roster records when you need an upper bound on the range; use GET /roster-records/find-many when you only need to move forward. Both endpoints read the same underlying records and differ only in the cursors they accept.

Preconditions: supply the tenant-id header. Pagination is controlled either by page and size (offset-based) or by the startAfterId / endAtId cursors; omit all four to receive the first default-sized page.

Filtering: the optional filter parameter takes a JSON object encoded as a string, for example {"data.status":{"eq":"COMPLETED"}}, and is applied before pagination. Supported comparison operators are eq, neq, gt, gte, lt, lte, in, nin, and contains. Do not include tenantId in the filter - it is injected automatically from the header and any value you supply is overridden.

What you get back: an envelope carrying the matching roster records in data, navigation links, and totalCount when the underlying store reports one. Read-only; no state is mutated. Note: when the upstream data layer fails (including an unparseable filter), this endpoint currently returns 200 with an empty body rather than an error status - treat an empty (non-envelope) body as a retryable failure, not as an empty result set.

Request​

Responses​

A page of roster records for the tenant, with pagination links and a total count when available.