Skip to main content
GET
/
wallet
/
transactions
List wallet transactions
curl --request GET \
  --url https://api.cartevo.co/api/v1/wallet/transactions \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "statusCode": 200,
  "message": "Data retrieved successfully",
  "data": [
    {
      "id": "7d1cdfa3-9904-4a17-bce5-092554170c0e",
      "amount": 5000,
      "amount_with_fee": 5100,
      "fee_amount": 100,
      "net_amount": 5000,
      "currency": "XAF",
      "status": "PENDING",
      "type": "FUND",
      "category": "WALLET",
      "operator": "mtn",
      "phone_number": "650695112",
      "reference": "<string>",
      "order_id": "<string>",
      "wallet_balance_before": 10000,
      "wallet_balance_after": 15000,
      "created_at": "2023-11-07T05:31:56Z",
      "completed_at": "2023-11-07T05:31:56Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 15,
    "totalPages": 1
  }
}

Overview

GET /wallet/transactions returns wallet transactions across every wallet your company owns, with optional filtering. For a per-wallet view, use GET /wallet/transactions/wallet/{walletId} instead.

When to use it

  • Render a global activity feed in your dashboard.
  • Find a transaction by its ID without knowing which wallet it belongs to.
  • Reconcile total wallet activity over a date range.

Prerequisites

  • Authenticated as a company user.

Request

Headers

NameRequiredDescription
AuthorizationYesBearer <access_token>

Query parameters

NameTypeDefaultDescription
transactionIdstringFilter to a single transaction by its UUID. Useful for support lookups.
walletIdstringFilter to one wallet’s transactions.
customerIdstringFilter to transactions tied to a specific customer (where applicable).
statusstringOne of PENDING, PROCESSING, SUCCESS, FAILED.
limitinteger50Items per page.
offsetinteger00-indexed offset (number of items to skip). This endpoint uses offset-based pagination, not page.
Pagination quirk: unlike most other list endpoints, this one uses limit / offset (not page / limit). We are aligning this in a future release; meanwhile, compute offset = (page - 1) * limit to translate.

Response

200 — Success

{
  "success": true,
  "statusCode": 200,
  "message": "50 items retrieved successfully",
  "data": [
    {
      "id": "txn_5b7c9d2e4f6a8b1c3d5e7f9a",
      "wallet_id": "w1a2b3c4-d5e6-7890-abcd-ef1234567890",
      "amount": 5000,
      "currency": "XAF",
      "category": "WALLET",
      "type": "FUND",
      "status": "SUCCESS",
      "operator": "mtn",
      "phone_number": "237670000000",
      "wallet_balance_before": 120000,
      "wallet_balance_after": 125000,
      "created_at": "2026-05-09T10:15:00.000Z",
      "completed_at": "2026-05-09T10:15:42.000Z"
    }
  ],
  "meta": {
    "limit": 50,
    "offset": 0,
    "total": 1247
  }
}
The per-transaction shape matches GET /wallet/transactions/wallet/{walletId} — see that page for the full field reference.

Error responses

StatusTrigger
400Invalid status or customerId value.

Code examples

cURL
# Page 2 with limit 50: offset = (2 - 1) * 50 = 50
curl -G https://api.cartevo.co/api/v1/wallet/transactions \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "limit=50" \
  --data-urlencode "offset=50" \
  --data-urlencode "status=SUCCESS"

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

transactionId
string

Filter by a specific transaction ID.

walletId
string<uuid>

Filter by wallet ID.

customerId
string<uuid>

Filter by customer ID.

status
string

Filter by transaction status (e.g. SUCCESS, PENDING, FAILED).

limit
integer

Maximum number of records to return.

offset
integer

Number of records to skip.

Response

200 - application/json

A list of wallet transactions for the company.

success
boolean
Example:

true

statusCode
integer
Example:

200

message
string
Example:

"Data retrieved successfully"

data
object[]
pagination
object