---
title: List transactions
description: Your sales, newest first, with filters and pages.
group: api
order: 5
method: GET
path: /api/v1/transactions
---

Returns up to `limit` sales, newest first. When `data.page.has_more` is true, pass `data.page.next_cursor` as `cursor` to get the next page.

## Query

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `status` | string | no | `successful`, `failed`, `pending` or `refunded` (also `created`, `queued` and `processing` for a sale just accepted) |
| `network` | string | no | `mtn`, `airtel`, `glo` or `9mobile` |
| `service` | string | no | `airtime` or `data` |
| `destination` | string | no | An exact number, in `+234` form |
| `from`, `to` | string | no | RFC 3339 times, both inclusive |
| `search` | string | no | An exact reference, client reference or number |
| `limit` | number | no | Up to 100, default 25 |
| `cursor` | string | no | `next_cursor` from the previous page |

## Request

```bash
curl "https://api.simconnectng.com/api/v1/transactions?status=failed&limit=25" \
  -H "Authorization: Bearer $SIMCONNECT_KEY"
```

## Response

```json
{
  "success": true,
  "data": {
    "items": [
      {
        "reference": "txn_0192f3e8c4a17b2d9e5f3a6c8b0d2e47",
        "client_reference": "order_1038",
        "status": "failed",
        "product_code": "GLO-VTU",
        "network": "glo",
        "destination": "+234********21",
        "amount": 200.00,
        "price": 2.00,
        "failure_code": "PROVIDER_REJECTED",
        "created_at": "2026-10-06T11:58:12Z",
        "completed_at": "2026-10-06T11:58:14Z"
      }
    ],
    "page": { "next_cursor": "eyJ0IjoiMjAyNi0xMC0wNlQxMTo1ODoxMloifQ", "has_more": true }
  },
  "message": "OK",
  "code": "OK"
}
```

Each item carries the same fields as [Get a transaction](/docs/api/get-transaction), without the timeline. A failed sale's `price` is never charged: its hold is released. The figures shown here are placeholders.

## Error

```json
{
  "success": false,
  "data": { "errors": [{ "field": "status", "message": "must be one of created, queued, processing, pending, successful, failed, reversed, refunded" }] },
  "message": "must be one of created, queued, processing, pending, successful, failed, reversed, refunded",
  "code": "VALIDATION_FAILED"
}
```
