Skip to main content

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

ParameterDefaultNotes
limit20Results per page, clamped to 1 to 100.
cursornoneThe next_cursor from the previous page. Opaque: pass it back unchanged.
orderdescdesc (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

StyleEndpoints
page + limitReference 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 + limitDelivery 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.