Preview: the API is being built and these endpoints may change
GET/api/v1/transactions
List transactions
Your sales, newest first, with filters and pages.
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, 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"
}Give this to your coding agent
prompt
Read https://simconnectng.com/docs/api/list-transactions.md and implement "List transactions" (GET /api/v1/transactions) in this project.
Read the API key from the SIMCONNECT_KEY environment variable.
Every response is { success, data, message, code }; on an error data is null (or carries data.errors), so branch on code.