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
- Default:
- per_page:
integer
number of records to return per page.- Default:
20
- Maximum:
100
- Default:
- 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
}
}