Pagination
Walk through a long list by cursor, with no total and no skipped page.
Lists are walked through by cursor, never by page number: a crawl may hold hundreds of thousands of occurrences, and an offset would re-read everything it skips.
First page
limit sets the page size (25 by default, 100 at most):
curl "https://api.nessflow.com/v1/crawls/$CRAWL_ID/issues?limit=1" \
-H "Authorization: Bearer $NESSFLOW_TOKEN"
The response carries meta.has_more and meta.next_cursor.
Next pages
Pass next_cursor as is, with the SAME filters:
curl "https://api.nessflow.com/v1/crawls/$CRAWL_ID/issues?limit=1&cursor=$NEXT_CURSOR" \
-H "Authorization: Bearer $NESSFLOW_TOKEN"
Stop when has_more is false. The order is stable: a page read twice returns the same rows.
What the cursor refuses
The cursor is encrypted and bound to its request: reusing it on another list, or with other filters, answers 400 pagination.invalid_cursor rather than returning a page that would mix two lists.
curl "https://api.nessflow.com/v1/crawls/$CRAWL_ID/pages?cursor=$NEXT_CURSOR" \
-H "Authorization: Bearer $NESSFLOW_TOKEN"
There is no total: counting would cost a full read on every page. The issue summary gives the totals that matter.