Pagination
Collections
Paginated /v1 collections accept an opaque cursor and a limit. The
response names its resources and includes next_cursor when more remain:
{ "sessions": [], "next_cursor": "opaque-value" }
Pass next_cursor unchanged as cursor in the next request. A response without
next_cursor ends the traversal. Do not construct cursors or use them as IDs.
| Collection | Envelope field | limit |
|---|---|---|
GET /v1/sessions |
sessions |
1–100, default 50 |
GET /v1/sessions/{sessionID}/turns |
turns |
1–100, default 50 |
GET /v1/sessions/{sessionID}/turns/{turnID}/asks |
asks |
1–100, default 50 |
GET /v1/agents |
agents |
1–100, default 50 |
GET /v1/templates |
templates |
1–100, default 50 |
GET /v1/computers |
computers |
1–100, default 50 |
GET /v1/computers/{computerID}/sessions |
sessions |
1–100, default 50 |
GET /v1/computers/{computerID}/commands |
commands |
1–100, default 50 |
GET /v1/triggers |
triggers |
1–100, default 50 |
GET /v1/secrets |
secrets |
1–100, default 50 |
GET /v1/deployments |
deployments |
1–100, default 50 |
Agent and Template pages also return deployment_id. A resource cursor keeps the
Deployment its first page selected, even if a newer Deployment is promoted.
Exact lookups are not paged: key on /v1/computers and agent with key
on /v1/sessions. Do not send
cursor or limit with them; the SDK rejects the combination.
In the SDK, list methods return { items, nextCursor? }; Agent/Template pages also
include deploymentId. See Client.
Session events
GET /v1/sessions/{sessionID}/events uses durable integer sequences instead of
cursors.
| Parameter | Description |
|---|---|
after |
Nonnegative integer. Returns records with a higher sequence. Default 0. |
limit |
1–1000. Default 100. |
The response contains records, next_after, has_more and
retained_after. Store a record’s sequence after processing it and pass it as
after to resume. An empty page or has_more: false does not mean the Turn
has finished; new events can arrive later. Event kinds are listed in
Session events.
Command logs
GET /v1/commands/{commandID}/logs uses its own opaque cursor and returns an
output_state of open, closed or unavailable. A page can be empty while
the Command is running or output delivery is pending; check the Command outcome
and output_state separately.
Session and Trigger cursors are bound to their scope and filters. Computer Sessions and Commands cursors are also bound to their collection kind. These Computer collections show current usage and pending cleanup, not historical work.