To enhance the performance and reliability of our API, we are progressively migrating our List methods to cursor-based pagination. This upgrade is designed to provide a more stable and efficient experience, especially when dealing with large volumes of data.
Cursor-based pagination will replace the previous _links
and metadata
objects:
{
"_links": {
"first": "/{resource}?limit=20",
"last": "/{resource}?page=4&limit=20",
"next": "/{resource}?page=3&limit=20",
"previous": "/{resource}?page=2&limit=20"
},
"metadata": {
"totalItems": 100,
"itemCount": 10,
"itemsPerPage": 10,
"totalPages": 10,
"currentPage": 1
}
}
With the introduction of cursor-based pagination, the structure of our API responses for List methods will be updated. Here’s a look at the new format (see the pagination key):
{
"items": [
// Resource objects
],
"pagination": {
"nextCursorToken": "eyJpZCI6IjBkMWEzNzdiLWI0YzUtNGE5NC05ZTJlLTgzZTU5ZDFmNmE5YyIsImNyZWF0ZWREYXRlIjoiMjAyNS0wNy0wMlQxMjozNDo1NloifQ==",
"previousCursorToken": null,
}
}
To navigate through paginated results, you will use the nextCursorToken
(or previousCursorToken
) from one response as a parameter in your next request. For example:
- Initial Request: Your first request to a List endpoint will not include a
nextCursorToken
.Initial API Callcurl GET baseUrl/account_movements?limit=100
- Subsequent Requests: To retrieve the next set of results, take the
nextCursorToken
value from the pagination object in the response and use it as thenextCursorToken
query parameter in your next call. In the case that you want the previous set of results, take thepreviousCursorToken
value instead and pass it as thepreviousCursorToken
query parameter.Subsequent API Calls# Going Forward GET baseUrl/account_movements?limit=100&nextCursorToken={pagination.nextCursorToken} # Going Backwards GET baseUrl/account_movements?limit=100&previousCursorToken={pagination.previousCursorToken}
You can continue making requests with the new nextCursorToken
or previousCursorToken
from each response until value of the field is null
(indicating that there are no more results).
We are rolling out this improvement across our API. The following List methods currently support cursor-based pagination:
GET baseUrl/account_movements
(In Production August 5, 2025)GET baseUrl/payment_requests
(In Production August 5, 2025)GET baseUrl/payment_methods
(In Production August 8, 2025 )GET baseUrl/customers
(In Production August 22, 2025)GET baseUrl/consents
(In Production August 22, 2025)
We've designed the transition to be as smooth as possible.
- For New Clients: Cursor-based pagination is enabled by default for all new clients.
- For Existing Clients: Once you have updated your integration to handle the new pagination response and request format, please contact our support team. We will then activate this feature for your account.
- Update response parsing to use
pagination
object - Replace page-based logic with cursor token handling
- Test with your existing filters and sorting
- Contact support to enable cursor pagination