Paginate through every transaction for the business tied to your API key, newest first. Results are automatically scoped to the key's mode (test or live).
Endpoint
/v1/transactionsQuery parameters
| Field | Type | Description |
|---|---|---|
limit | integer | Page size, 1–100. Defaults to 25. |
cursor | string · opaque | Pass back the next_cursor from the previous response verbatim. Do not construct or parse it. |
status | enum | Filter by status: approved · pending · failed. |
channel | enum | momo · card. |
type | enum | collection. |
from | string · ISO 8601 | Inclusive lower bound on created_at. |
to | string · ISO 8601 | Inclusive upper bound on created_at. |
Request
curl -G https://api.webrabbitmedia.com/v1/transactions \
-H "Authorization: Bearer wr_test_..." \
-d limit=25 \
-d status=approved \
-d channel=momoResponse
{
"items": [
{
"provider_transaction_id": "521888807466",
"mode": "test",
"type": "collection",
"channel": "momo",
"subscriber_number": "0240000000",
"account_number": null,
"r_switch": "MTN",
"description": "Invoice A104",
"customer_email": "customer@example.com",
"gross_amount": 10.5,
"gross_amount_minor": 1050,
"fee_amount": 1.58,
"fee_amount_minor": 158,
"net_amount": 8.92,
"net_amount_minor": 892,
"currency": "GHS",
"status": "approved",
"provider_code": "000",
"provider_reason": "Transaction Successful",
"created_at": "2026-07-28T12:04:22.117Z"
}
],
"next_cursor": "eyJ0IjoiMjAyNi0wNy0yOFQxMjowNDoyMi4xMTdaIiwiaSI6IjBmMmMtLi4uIn0",
"limit": 25
}Cursor semantics
next_cursor is an opaque string encoding both the created_at and the internal id of the last row, so pagination is stable even when several transactions share the same millisecond — no row is skipped or repeated at a page boundary. Pass it back verbatim as the cursor query param; null means you are on the last page. Treat the contents as private: the encoding can change without notice, and cursors are not portable between keys or modes.
Timestamp cursors issued before 2026-09-10 are still accepted for backwards compatibility, but they carry the tie-breaking bug this replaces — switch to the opaque cursor.
