List endpoints use cursor pagination. Cursor pagination remains stable when records are added while you are traversing a collection.
Paginated endpoints
GET /v1/workspaces
GET /v1/forms
GET /v1/forms/{formId}/submissions
Request a page
Use limit to control the page size. The default is 20 and the maximum is 100.
The response includes an items array and pagination metadata:
Request the next page
When page.has_more is true, pass page.next_cursor back unchanged:
Continue until has_more is false and next_cursor is null.
Cursors are opaque. Do not decode, edit, construct, or persist assumptions about their contents.
An invalid cursor returns 422 INVALID_CURSOR.
JavaScript example
Submission date filters
The submissions list also accepts since and until as ISO 8601 timestamps.