Guides
Lists and paging
Every endpoint that returns several records answers with the same shape:
{ "data": [ ... ], "nextCursor": "eyJpZCI6IjEyMyJ9"}datais the records, nevernull; an empty list is[].nextCursoris present when there are more. Pass it back ascursorto get the next page, with the same filters. It is absent on the last page.
Treat a cursor as opaque: its contents are not part of the API and change without notice.
Some lists, such as your sites, are short enough to return whole and never carry a cursor. They keep the same shape so one piece of your code reads every list.