Skip to content

Pagination

Glomo's API endpoints that return collections of data (such as lists of payments, customers, or transactions) support pagination. This allows you to control the number of records returned in a single API response and navigate through large datasets efficiently.


Overview

  • Default Pagination: By default, API endpoints returns 20 records per request.
  • Pagination Parameters: Use query parameters to specify the page number and the number of records per page.
  • Response Metadata: Each paginated response includes metadata about the pagination state.

Parameters

When making a request to an endpoint that supports pagination, you can include the following query parameters:

  • page: integer page number to retrieve. Starts from 1.
    • Default: 1
  • per_page: integer number of records to return per page.
    • Default: 20
    • Maximum: 100
  • before: timestamp UTC Timestamp, in ISO-8601 format, before which the entities are created.
  • after: timestamp UTC Timestamp, in ISO-8601 format, after which the entities are created.

Use before or after timestamps to ensure consistent results and avoid Page drift. A page drift is a case which happens in case new records were added to the result set while you were traversing a series of pages. The new records will end up pushing some older results into your new pages hence resulting in duplicated values in 2 subsequent pages. Using the timestamps will restrict the search window and prevent new records from seeping into the current result set.


Example Request and Response

Retrieving a List of Payments with Pagination

Request

GET /v1/payments?page=2&per_page=20
Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/json

Response

{
  "data": [
    {
      "id": "payt_E602dMzgjpDC",
      "payin_id": "payin_E602dMzgjpDC",
      "status": "success",
      "currency": "USD",
      "amount": 1,
      "credit_account_number": "string",
      "debit_account_number": "string",
      "purpose_code": "S0001",
      "transaction_reference_number": "payin_E602dMzgjpDC",
      "sender_name": "John Doe",
      "metadata": {},
      "error_message": "string",
      "payment_date": "2024-12-06T11:38:37.130Z",
      "created_at": "2024-12-06T11:38:37.130Z",
      "updated_at": "2024-12-06T11:38:37.130Z",
      "customer_id": "cust_E602sMzgjpDC",
      "country": "Ind",
      "ordered_amount": 1000,
      "ordered_currency": "USD",
      "fx_fee": {
        "amount": 1000,
        "currency": "USD"
      },
      "txn_fee": {
        "amount": 1000,
        "currency": "USD"
      },
      "documents": [
        {
          "id": "doc_nYUqLpuYQ0M8",
          "type": "invoice",
          "status": "pending",
          "rfi_doc_id": "rfidoc_nYUqLpuYQ0M8"
        }
      ]
    }
  ],
  "page_meta": {
    "current": 2,
    "previous": 1,
    "next": 3,
    "per_page": 20,
    "pages": 10,
    "count": 200
  }
}