Cursor pages
list methods return { items, next_cursor }. Pass ?cursor= (or the SDK
cursor= argument) to fetch the next page. next_cursor is null on the
last page.
The Python and TypeScript SDKs expose iter_all / iterAll for:
- workspaces
- files
- jobs
- domains
iter_access_labels / iterAccessLabels.
- Python
- TypeScript
- cURL
Offset pages
This listing usesoffset / limit:
GET /v1/workspaces/{id}/files/{file_id}/outputs/{output_id}/members
Catalog tables
A catalog table from automatic search’s agent or a QA turn carries up to 200 rows; itsnext_cursor pages the rest through
POST /v1/workspaces/{id}/filtered-search with
{ "type": "page", "cursor": "..." }. The Python SDK wraps that as
client.search.filtered_page; the TypeScript SDK does not wrap it yet — call
the HTTP route. A new filtered search ({ "type": "query", ... },
client.search.filtered) is deprecated; paging is not.
Tables page through catalog entries. Each entry’s supporting sections stay
together, and native register entries remain separate. Query wording does not
change the result unit. total_matches counts entries and total_files counts
distinct source files across all confirmed matches before top-N and paging.
Pages of legacy results retain their stored grouping. Pages are live
re-executions, so concurrent source changes may still move results between pages;
catalog_drifted reports this. Content-verified selections do not issue
catalog-only page cursors.