In general there are three types of pagination that every API uses.
1. page and pageSize
2. limit and offset
At Cloud Elements, we try to create a standard means of paginating in each element, and in general page and pageSize is our preferred method because it is easy to use and flexible.
Limit and offset can easily be converted to page and page size (pageSize = limit; page = offset/limit). However, cursor based pagination can not be so easily converted. Cursor pagination is where you call GET /accounts and it returns a nextPageToken. This token is used on the next request to get the next page.
Even though we want to use page/page size pagination across the board, it is not always possible. For this reason, you will find support for cursor based pagination everywhere in our platform. Every element supports cursor based pagination no matter what. That way, you can maintain consistency in your integrations. So, if you have an element that must be cursor based, you can use cursor based for every element.
Every GET /<anyObject> returns the following header:
And on every one of these APIs, even if its not documented you can send the query parameter
nextPage=eyJwYWdlU2l6ZSI6MiwicGFnZSI6Mn0 and it will work the same as if you had sent page and pageSize.
So, a prudent developer would default all their integrations to use cursor based pagination. Lest you come across and element that does not support the beloved page and pageSize.