Skip to main content
Use this endpoint to pull a full statement for a specific wallet. Results are returned in reverse chronological order and paginated. You can narrow the results using query parameters for date range, currency, or transaction type. Method: GET
URL: https://app.kulmipay.com/api/v1/wallets/{wallet_id}/transactions/
Replace {wallet_id} with the wallet_id (alias ID) of the wallet you want to query.

Query parameters

currency
string
Filter transactions by currency code, for example KES or USD.
trans_type
string
Filter by transaction direction. Use DEBIT for outgoing transactions and CREDIT for incoming transactions.
start_date
string
Return only transactions on or after this date. Use YYYY-MM-DD format, for example 2024-01-01.
end_date
string
Return only transactions on or before this date. Use YYYY-MM-DD format, for example 2024-01-31.

Code example

cURL
curl --request GET \
  --url "https://app.kulmipay.com/api/v1/wallets/wlt_abc123/transactions/?start_date=2024-04-01&end_date=2024-04-30&trans_type=CREDIT" \
  --header "Authorization: Bearer YOUR_SECRET_KEY"

Transaction object

The endpoint returns a paginated list of transaction objects. Results appear under the results key, with count, next, and previous for pagination.
transaction_id
string
The transaction alias ID. Use this value to reference a specific transaction.
narrative
string
A human-readable description of the transaction, for example "Internal transfer - wlt_abc123 to wlt_def456".
value
string
The transaction amount as a decimal string, for example "1500.00".
running_balance
string
The wallet balance immediately after this transaction was applied.
trans_type
string
Transaction direction. Either DEBIT (funds left the wallet) or CREDIT (funds arrived).
status
string
Current processing status of the transaction.
currency
string
Currency of the wallet at the time of the transaction.
invoice
object
The invoice linked to this transaction, if one exists. Present for collection and disbursement transactions.
created_at
string
ISO 8601 timestamp of when the transaction was created.
updated_at
string
ISO 8601 timestamp of the last update to this transaction.

Example response

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "transaction_id": "txn_xyz789",
      "narrative": "M-Pesa collection from 254712345678",
      "value": "1500.00",
      "running_balance": "51500.00",
      "trans_type": "CREDIT",
      "status": "COMPLETE",
      "currency": "KES",
      "invoice": {
        "invoice_id": "GQ7KZ2XPNM",
        "state": "COMPLETE",
        "provider": "M-PESA",
        "value": "1500.00",
        "api_ref": "order_20240416_001"
      },
      "created_at": "2024-04-16T08:23:11Z",
      "updated_at": "2024-04-16T08:24:05Z"
    }
  ]
}
Use the next and previous URLs in the response to navigate between pages of results. Both fields are null when there are no further pages in that direction.