563848e0ecc0
List roster rows with cursor pagination
Returns a page of individual data rows belonging to one roster job.
When to use: call this to stream through a large roster without needing to know how many rows there are; use GET /roster-records/{rosterId}/paged instead when you need totalCount and totalPages, for example to render a numbered page selector.
Preconditions: supply the tenant-id header and the rosterId of an existing roster job. Leave cursor unset on the first call, then pass the nextCursor from each response to retrieve the following page; nextCursor is absent once the last page has been reached. size controls how many rows come back and defaults to 50, with values above 1000 capped at 1000.
Filtering: pass statuses to restrict the page to particular row states, as a comma-separated list drawn from PENDING, IN_PROGRESS, VALIDATION_IN_PROGRESS, PRE_PROCESSING, VALIDATION_FAILED, VALIDATED, COMPLETED, FAILED, and CANCELLED; omit it to receive rows in every state.
What you get back: the rows for this page in data, the nextCursor to pass on the following call, the effective pageSize, and hasMore. Each row carries its rowId - the identifier used as recordKey when saving draft edits. Read-only; no state is mutated.
Path parameters
Identifier of the roster job to operate on, as returned by the roster listing endpoints.
Query parameters
Position to resume from, taken from the nextCursor value of the previous response. Omit on the first call.
Maximum number of rows to return. Defaults to 50; values above 1000 are capped at 1000.
Comma-separated list of row states to include. Meaningful values are PENDING, IN_PROGRESS, VALIDATION_IN_PROGRESS, PRE_PROCESSING, VALIDATION_FAILED, VALIDATED, COMPLETED, FAILED, and CANCELLED. Values are not validated - an unknown value is not rejected, it simply matches no rows. Omit to include rows in every state.
Headers
Unique identifier of the tenant whose roster data is being accessed. Obtained from your account configuration; it also scopes every filter applied to the request.
Response
One page of roster rows, with the cursor needed to request the next page.
Example response
{
"data": [
{
"rowId": "a1b2c3d4e5f60718",
"status": "VALIDATION_FAILED",
"createdAt": "2026-07-14T09:12:33Z",
"updatedAt": "2026-07-14T09:18:02Z"
}
],
"nextCursor": "a1b2c3d4e5f60718",
"pageSize": 50
}