Skip to content
API console (try a request with your own key)Get early access

Lists and paging

Every list the API answers has one shape and pages one way, so one loop reads any of them.

{
"data": [ { "viewLinkId": "…", "status": "active", "createdAt": "2026-10-14T09:30:12.418Z" } ],
"hasMore": true,
"nextCursor": "MXx2aWV3LWxpbmtzfDYzODk…"
}
  • Newest first. data holds at most limit items, the newest first.
  • The next page: while hasMore is true, ask again with cursor set to nextCursor, exactly as it came. The list continues just after the last item you were given, so items made or removed while you read never make you see one twice or miss one. On the last page hasMore is false and nextCursor is null. A cursor is opaque: it works only on the list that gave it.
  • limit: 1 to 200, 50 when left out.
  • A time window: createdAfter and createdBefore keep only the items made strictly after and strictly before an ISO 8601 date and time - 2026-10-14T09:30:00Z; a time without an offset is UTC, and a date alone is its midnight. In a URL, write an offset’s + as %2B.
  • status: a list whose items have a status narrows to one with status.
  • Only your workspace’s own. Another workspace’s item, or an id nobody issued, is 404 not_found when read by its id, and is never listed.
  • Refusals: an input a list does not take - limit out of range, a cursor it did not give, a time it cannot read, createdAfter not before createdBefore, a status it does not know - is 400 invalid_request, its detail naming the input and what it takes.
List status Who
GET /v1/extractions queued, splitting, extracting, completed, failed; and fileName, part of the file name any live key
GET /v1/view-links active, expired, withdrawn a live key acting as the owner or an admin
GET /v1/api-keys active, stopping, revoked a key acting as the owner or an admin
GET /v1/credits/history type: grant, reservation, spend, refund, expiry, takenBack any key
GET /v1/workspace/invitations pending, expired a key acting as the owner or an admin
GET /v1/webhooks/{webhookId}/deliveries pending, delivered, dead any live key

The workspace’s people (GET /v1/workspace/members) and its webhook endpoints (GET /v1/webhooks, at most 10) come whole, in the same shape with hasMore false: they fit on one page, so those lists take no paging inputs. The templates list keeps its own shape (templates, defaultTemplateId): the standard template and at most 20 of the workspace’s own.