Pagination
Most list endpoints (documents, schemas, extractions, jobs, batches, sources, pipelines, runs, data products, record sets and more) use cursor pagination with limit, cursor and order. A few endpoints that page through large row sets use page or offset instead, and the event feed has its own resumable cursor.
Cursor pagination
| Parameter | Default | Notes |
|---|---|---|
| limit | 20 | Results per page, clamped to 1 to 100. |
| cursor | none | The next_cursor from the previous page. Opaque: pass it back unchanged. |
| order | desc | desc (newest first) or asc, by creation time. |
# Response shape
{
"data": [...],
"pagination": {
"total": 142,
"limit": 50,
"has_more": true,
"next_cursor": "ZG9jXzEyM3wyMDI2LTEwLTA2VDA5OjE0OjAzLjEyMFo"
}
}Keep requesting with cursor=<next_cursor> until has_more is false and next_cursor is null.
curl "https://api.talonic.com/v1/documents?limit=50" \
-H "Authorization: Bearer $TALONIC_API_KEY"
curl "https://api.talonic.com/v1/documents?limit=50&cursor=ZG9jXzEyM3wy..." \
-H "Authorization: Bearer $TALONIC_API_KEY"Page and offset exceptions
| Style | Endpoints |
|---|---|
| page + limit | Reference data rows (/v1/reference-data/:id/rows), record-set records (/v1/record-sets/:id/records), credit history and usage log (/v1/credits/history, /v1/credits/usage/log), matching run results (/v1/matching/runs/:id/results) |
| offset + limit | Delivery items and events (/v1/delivery/items, /v1/delivery/events), DB snapshot change rows (/v1/db-snapshots/deltas/:id/changes), and /v1/events |
Check each endpoint's reference page for its exact parameters and limits.
The /v1/events feed
GET /v1/events takes event_type (comma-separated), limit (default 50, max 200), offset, since (an ISO timestamp lower bound) and after (an event id). The response is { data, total, limit, offset, next_cursor }.
Without after, events come newest first and page by offset. To consume the feed reliably, pass after=<next_cursor>: you get events strictly newer than that id, oldest first, and a new next_cursor to resume from. next_cursor is null only when you have reached the end of the feed.