This new version replaces the existing pagination for the .all()
endpoints that used a combination of page
and per_page
parameters, and instead uses a cursor
based pagination. So to list (as an example) Plans you now can:
config = Config("your-token")
# Getting the first page
plans = Plan.all(config, per_page=12)
"""
This will return an array of plans (if available), and a cursor + has_more fields
"""
{
"plans": [
{
"uuid": "some_uuid",
"data_source_uuid": "some_uuid",
"name": "Master Plan"
}
],
"has_more": True,
"cursor": "MjAyMy0wNy0yOFQwODowOToyMi4xNTQyMDMwMDBaJjk0NDQ0Mg=="
}
if plans.has_more:
more_plans = Plan.all(config, per_page=12, cursor=plans.cursor)
If you have existing code that relies on the page
parameter, those requests will throw an error now alerting you of their deprecation.