Skip to content

Pagination

Every list endpoint returns the same envelope:

{
"results": [{ "id": "0192f3a1-7c2e-7b4d-9a61-400000000001", "title": "Bail - Lot 12" }],
"nextPageToken": "eyJrIjoiMDE5MmYzYTEtN2MyZS03YjRkLTlhNjEtNDAwMDAwMDAwMDAxIn0"
}

These lists are paginated with an opaque cursor:

Endpoint Order
GET /v1/signature-requests Newest first
GET /v1/registered-mails Newest first
GET /v1/contacts By name, or most recently updated (sort=updated)
Parameter Description
pageSize Items per page, 1 to 100, default 25.
pageToken The nextPageToken of the previous page. Omit it for the first page.

nextPageToken is absent on the last page. Tokens are opaque: do not parse or build them, and keep the same filters while paging (an invalid token answers 422 invalid_page_token).

Other lists (nodes, members, roles, tags, sender accounts, task occurrences of a date range, activity, grants) return every result in one response, without nextPageToken.

Terminal window
token=""
while :; do
page=$(curl -s -G "$MLT_API_URL/v1/contacts" -H "Authorization: Bearer $MLT_TOKEN" \
--data-urlencode "entityId=$ENTITY_ID" --data-urlencode "pageSize=100" \
${token:+--data-urlencode "pageToken=$token"})
echo "$page" | jq -c '.results[] | {id, displayName}'
token=$(echo "$page" | jq -r '.nextPageToken // empty')
[ -z "$token" ] && break
done