Platform
List endpoint pagination
List endpoints return collections of resources. Pagination behavior varies by surface.
On this page
01 REST API list endpoints
detailsKeyed array responses
Collection responses use a resource key such as {"messages": [...]} or {"eval_runs": [...]}. Workspace scoping still comes from authentication; pagination parameters never widen tenant scope.
02 Bounded limit/offset endpoints
reference| Endpoint | Parameters | Response metadata |
|---|---|---|
| GET /api/v1/messages | limit: 1-100 (default 50); offset: 0-100000 | messages and count |
| GET /api/v1/tasks | limit: 0-100 (default 50); offset: 0-10000 | tasks, count, and pagination |
| GET /api/v1/operator/eval_runs | limit: 0-100 (default 50); offset: 0-10000 | eval_runs and pagination |
| GET /api/v1/operator/agent_commands | limit: 1-100 (default 25) | agent_commands |
| GET /api/v1/operator/webhook_subscriptions/:id/deliveries | limit: default 30, max 100 | deliveries |
| GET /api/v1/operator/data_requests | limit: default 50, max 200 | data_requests |
| GET /api/v1/operator/scim_events | limit: default 50, max 200 | scim_sync_events |
| GET /api/v1/operator/observability/search | limit: default 20, max 50 | search hits |
| GET /api/v1/operator/cohorts and GET /api/v1/operator/cohorts/:id members | limit: default 100, max 500 | cohorts / members |
| GET /api/v1/operator/batch_operations | limit: default 25, max 100 | batch_operations |
| GET /api/v1/operator/batch_operations/:id targets | target_limit: default 100, max 500 | targets on the show payload |
03 Operator list filters
detailsFlat or nested, nested wins
Controllers that use FilterParams.extract accept both ?status=online and ?filter[status]=online. When both are present the nested filter value wins. Invalid values return HTTP 400 with detail such as invalid_status or invalid_kind — not a 422 extra.errors map. Some lists (eval runs, traces, approvals, security violations, OTA updates) only read the nested filter map; a top-level ?status= is ignored there. GET /api/v1/operator/ota-updates accepts filter[status], filter[update_type], and filter[robot_id] only.
04 SCIM 2.0 pagination
detailsParameters
startIndex (1-based, default 1) and count (max results per page, default 50, hard cap 100). Users accept filter only as userName eq, emails.value eq, or externalId eq; any other filter is ignored. Groups have no filter parameter.
Response envelope
Returns schemas, totalResults, startIndex, itemsPerPage, and Resources array following the SCIM 2.0 ListResponse standard. itemsPerPage is never more than 100 even if count is larger.
05 SCIM list response example
example{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 42,
"startIndex": 1,
"itemsPerPage": 50,
"Resources": [
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"userName": "[email protected]",
"active": true
}
]
}
Related docs
see also