Pagination

Pagination is currently available only for Get a List of Rewards endpoint.

In Hub88 Operator API, pagination functionality is provided with cursors. Cursor pagination is a method of paginating through large result sets using encoded cursors rather than page numbers. It is more efficient than traditional offset-based pagination, particularly for datasets that are frequently updated or high in volume.

For example, instead of requesting page 2 or 3, you retrieve the next set of results by passing a cursor token returned to you in the previous response. Parameters used for pagination are: limit, cursor, next_cursor and previous_cursor.

In short,

  • cursors are encoded strings. You should not decode or alter them.

  • for pagination requests need to include a cursor and limit parameters.

  • if next_cursor is missing from the response, it indicates that there are no more results.

  • similarly, if previous_cursor is absent, you are at the start of the dataset.


Request Format

The following fields are supported in the request body:

Field
Type
Description

cursor

string (optional)

An encoded string that identifies the position of the last item in the previous page. If omitted, the first page of results is returned.

limit

integer (optional)

The number of results per page. Must be between 50 and 100. Defaults to 50 if lower, and to 100 if higher.

Example Request

{
  "cursor": "eyJvZmZzZXQiOjEwMH0=", 
  "limit": 75
}

Response Format

The response will include the following pagination metadata:

Field
Type
Description

next_cursor

string

The cursor to retrieve the next page of results.

previous_cursor

string

The cursor to retrieve the previous page of results (if applicable).

limit

integer

The applied limit for the current request.

Use next_cursor or previous_cursor in subsequent requests to navigate through the dataset.

Example response structure

"pagination": {
    "next_cursor": "eyJpZCI6OTAC0wNS0xMFQxMzozMDoyMVoifQ",
    "previous_cursor": "ey09876bhdGVkX2F0IjoiMjAyNC0wNS0xMFQxMzozMDoyMVoifQ",
    "limit": "50"
  }

Limit Rules

  • Minimum value: 50

  • Maximum value: 100

  • If limit is less than 50, it will be automatically set to 50.

  • If limit is greater than 100, it will be capped at 100.


Sample Pagination Flow

  1. Initial request (no cursor):

    "pagination": {
        "limit": "50"
      }
  2. Next page request structure: Use the value of next_cursor from the previous response:

    "pagination": {
      "cursor": "eyJvZmZzZXQiOjUwMH0=",
      "limit": 50
    }
  3. Previous page request structure: Use the value of previous_cursor from the previous response:

    "pagination": {
      "cursor": "eyJvZmZzZXQiOjB9",
      "limit": 50
    }

Troubleshooting

  • No results returned? You may have paged beyond the last item. Try using previous_cursor instead.

  • Invalid cursor? Ensure you are using the exact next_cursor or previous_cursor returned by the API. Do not modify it.

  • Unexpected limit behaviour? Remember that limits outside the 50–100 range will be automatically adjusted.

Last updated

Was this helpful?