Skip to main content

Pagination

All list endpoints use cursor-based pagination for consistent, efficient traversal of large datasets.

Query Parameters

Pagination Parameters

ParameterTypeRequiredDescription
cursoruuidOptionalThe ID of the last resource from the previous page. Omit for the first page.
limitintegerOptionalNumber of results per page. Min 1, max 100, default 25.

Response Format

List responses include a pagination object alongside the data array.

200Paginated list response
json
{
  "data": [
    { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "License 1" },
    { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "name": "License 2" }
  ],
  "pagination": {
    "nextCursor": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "hasMore": true
  }
}

Example: Fetching All Pages

Start without a cursor, then pass the nextCursor value from each response to fetch the next page.

First Page

Request
GET /api/v1/licenses?limit=25
Authorization: Bearer lk_live_your_api_key

Next Page

Request
GET /api/v1/licenses?cursor=b2c3d4e5-f6a7-8901-bcde-f12345678901&limit=25
Authorization: Bearer lk_live_your_api_key

Last Page

When there are no more results, nextCursor is null and hasMore is false.

200Last page
json
{
  "data": [
    { "id": "f6a7b8c9-d0e1-2345-6789-abcdef012345", "name": "License 50" }
  ],
  "pagination": {
    "nextCursor": null,
    "hasMore": false
  }
}
Why Cursor-Based?
Cursor-based pagination is more efficient than offset-based pagination for large datasets. It avoids skipped or duplicate results when data changes between page requests.