Pagination
Follow opaque cursors and bound the amount of data you collect.
List endpoints declare limit and cursor when pagination is supported. Page-size ceilings vary by operation: trace lists accept 1–50, while other lists may have different limits. Check the endpoint reference.
A paginated response includes a page object under data:
{
"hasMore": true,
"limit": 5,
"nextCursor": "<opaque-cursor>"
}Read the next page
Copy data.page.nextCursor unchanged into the next request's cursor query parameter. The example passes credentials through curl's stdin configuration; keep shell tracing off and do not log the configuration. Keep the credential, selected project, endpoint, filters, and sort consistent with the original request. Changing the page size is allowed.
curl --fail-with-body --silent --show-error --config - <<CURL_CONFIG
get
header = "Authorization: Bearer ${NEATLOGS_TOKEN}"
header = "x-project-id: ${NEATLOGS_PROJECT_ID}"
data-urlencode = "limit=5"
data-urlencode = "cursor=${NEXT_CURSOR}"
url = "https://app.neatlogs.com/api/v1/public/traces"
CURL_CONFIGStop when hasMore is false or nextCursor is null. Do not decode, edit, or construct cursors. Offset pagination is unsupported.
Cursors expire 15 minutes after the first cursor in a chain is issued. Following another page does not renew that lifetime. An invalid, expired, or mismatched cursor returns 400 PUBLIC_API_INVALID_CURSOR; restart the list with the intended filters.
Bound CLI collection
Cursor-list CLI commands can collect several pages with an explicit ceiling:
neatlogs traces list --all --max-items 500 --json--all and --max-items must be supplied together. The ceiling is 1–1,000 items. When collection stops at the ceiling, the result retains a continuation cursor so you can resume. The command reference identifies which commands support these options.
