Pagination
Deprecation Notice. Since October 2023, all List API endpoints support new cursor-based pagination.
Offset-based pagination with page query parameter is getting deprecated. In the transition period, endpoints that supported the old offset-based pagination will support both offset-based and cursor-based pagination.
Client libraries after a specific version noted below will support only cursor-based pagination.
Cursor-based Query Parameters
| Query parameter | Description |
|---|---|
| cursor | Represents a value that fetches the next page of objects. To fetch the next page of objects, set cursor to the value received in the previous page response. |
| per_page | Represents the maximum number of objects returned in a single page. Defaults to 200 if per_page is not passed or if per_page is set higher than 200. |
Cursor-based Response Parameters
| Response parameter | Description |
|---|---|
| cursor | Use this value with the next API query to fetch the next page of objects. |
| has_more | Set to true if there are more objects to list in the next page or false if there are no more objects to list. |
Example
Listing the first page of Customers:
curl -X GET "https://api.chartmogul.com/v1/customers?per_page=50" \ -u YOUR_API_KEY: ChartMogul::Customer.all(per_page: 50) ChartMogul.Customer.all(config, { per_page: 50, }); ChartMogul\Customer::all([ "per_page" => 50 ]); api.ListCustomers(&cm.ListCustomersParams{ Cursor: cm.Cursor{PerPage: 50}, }) chartmogul.Customer.all(config, per_page=50) { "entries": [ ... ], "cursor": "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", "has_more": true } #<ChartMogul::Customers:0x007fe7e09ca7c8 @entries=[ ... ], @cursor="AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", @has_more=true > { entries: [ ... ], cursor: "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", has_more: true } ChartMogul\Customers::__set_state(array( "entries" => Doctrine\Common\Collections\ArrayCollection::__set_state(array( "elements" => array( ... ) )), "cursor" => "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", "has_more" => true )); (*chartmogul.Customers)(0xc042088b40)({ Entries: ([]*chartmogul.Customer)( ... ), Cursor: (string) (len=44) "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", HasMore: (bool) true }) Customers( entries=[...], cursor="AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", has_more=True ) Listing the next page of Customers:
curl -X GET "https://api.chartmogul.com/v1/customers?per_page=50&cursor=AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k" \ -u YOUR_API_KEY: ChartMogul::Customer.all( per_page: 50, cursor: "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", ) ChartMogul.Customer.all(config, { per_page: 50, cursor: "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", }); ChartMogul\Customer::all([ "per_page" => 50, "cursor" => "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k" ]); api.ListCustomers(&cm.ListCustomersParams{ Cursor: cm.Cursor{ PerPage: 50, Cursor: "AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k", }, }) chartmogul.Customer.all( config, per_page=50, cursor="AjMx90kC0yMVQwNNwoYToyNC4wMDAwMDAwMDBgks68k" ) Client Libraries
Our client libraries will stop supporting old the offset-based pagination. Here's the list of client library versions after which only cursor-based pagination is supported.