Transactions

List Transactions

Retrieve a paginated list of transactions with optional filters for date range, currency, and status.

List Transactions

GET /v1/transactions

Returns a cursor-paginated list of transactions for your account, ordered newest first. Page size is fixed at 10 per page.


Request

# All transactions
curl "https://api.epayet.dev/v1/transactions" \
  -H "Authorization: Bearer sk_live_your_key_here"

# With filters
curl "https://api.epayet.dev/v1/transactions?status=completed&currency=ETB&from=2026-08-01&to=2026-08-31" \
  -H "Authorization: Bearer sk_live_your_key_here"

# Next page
curl "https://api.epayet.dev/v1/transactions?cursor=eyJjcmVhdGVkQXQi..." \
  -H "Authorization: Bearer sk_live_your_key_here"

Response

{
  "data": [
    {
      "reference": "PAB12CD3420260813",
      "merchantReference": "order_123",
      "status": "completed",
      "amount": "250.00",
      "currencyCode": "ETB",
      "paidAt": "2026-08-13T11:47:00.000Z",
      "createdAt": "2026-08-13T11:30:00.000Z"
    },
    {
      "reference": "PFF98AB1220260812",
      "merchantReference": null,
      "status": "pending",
      "amount": "1500.00",
      "currencyCode": "ETB",
      "paidAt": null,
      "createdAt": "2026-08-12T09:15:00.000Z"
    }
  ],
  "nextCursor": "eyJjcmVhdGVkQXQiOiIyMDI2LTA4LTEyVDA5OjE1OjAwLjAwMFoiLCJpZCI6ImZmOThhYjEyIn0",
  "hasMore": true
}

Query Parameters

Prop

Type


Response

Prop

Type

Transaction object

Prop

Type


Pagination

This endpoint uses cursor-based pagination with a fixed page size of 10.

First page

Make a request without a cursor. You'll receive up to 10 transactions and a nextCursor if more exist.

Subsequent pages

Pass the nextCursor from the previous response as the cursor query parameter. Filters persist across pages.

Last page

When hasMore is false and nextCursor is null, you've reached the end.

Cursors are opaque and time-bound. Do not parse or construct them manually — always use the value returned by the API.


Errors

StatusDescription
400from is after to.
400Date range exceeds 90 days.
400currency is not a valid 3-letter code.
400status is not a recognized value.
400cursor is malformed or expired.
401Missing or invalid API key.

Next: Retrieve a Transaction — fetch full details for a single transaction.

On this page