Wallet Transactions

Wallet Transactions

Retrieve wallet journal transactions for a specific wallet. This endpoint returns wallet balance movement details for deposits into the wallet and payments out of the wallet.

Use this endpoint when you need to reconcile wallet activity, report on wallet movements, or display transaction history.

📘

Headers

Three headers are required to use this endpoint.

Required Headers
     <th style={{ textAlign: "left" }}>
       Type
     </th>

     <th style={{ textAlign: "left" }}>
       Required
     </th>

     <th style={{ textAlign: "left" }}>
       Description
     </th>
   </tr>
 </thead>

 <tbody>
   <tr>
     <td style={{ textAlign: "left" }}>
       `Authorization`
     </td>

     <td style={{ textAlign: "left" }}>
       `string`
     </td>

     <td style={{ textAlign: "left" }}>
       Yes
     </td>

     <td style={{ textAlign: "left" }}>
       Bearer token (OAuth 2.0)
       This header holds the bearer token required to use Veem's public API, and **belongs to the owner account**. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
       `Bearer c047594b-082c-4da1-be89-08fe3770f4b3`

       See [Get Access Token section](https://developer.veem.com/docs/oauth#1---get-access-token)  to generate your Bearer token
     </td>
   </tr>

   <tr>
     <td style={{ textAlign: "left" }}>
       `X-Request-Id`
     </td>

     <td style={{ textAlign: "left" }}>
       `string`
     </td>

     <td style={{ textAlign: "left" }}>
       Yes
     </td>

     <td style={{ textAlign: "left" }}>
       This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:\
       `48855846-628d-4177-b071-80332a116f0a`
     </td>
   </tr>

   <tr>
     <td style={{ textAlign: "left" }}>
       `Content-Type`
     </td>

     <td style={{ textAlign: "left" }}>
       `string`
     </td>

     <td style={{ textAlign: "left" }}>
       Yes
     </td>

     <td style={{ textAlign: "left" }}>
       The content type of the request. Must be `application/json`
     </td>
   </tr>
 </tbody>
GET /v1.2/wallets/{{walletId}}/transactions

Example Request

GET /veem/v1.2/wallets/78982/transactions?fromDate=2026-03-01&toDate=2026-04-30&pageNumber=0&pageSize=10&sortByDate=asc&walletJournalType=Deposit,Payment

Path Parameters

NameTypeRequiredDescription
walletIdintegerYesThe wallet ID used to retrieve journal transactions.

Query Parameters

NameTypeRequiredDefaultDescription
fromDatedateYesNoneStart date for the transaction search. Format: YYYY-MM-DD. fromDate and toDate can be up to 90 days apart.
toDatedateYesNoneEnd date for the transaction search. Format: YYYY-MM-DD. fromDate and toDate can be up to 90 days apart.
pageNumberintegerNo0Page number to retrieve. The first page is 0.
pageSizeintegerNo10Number of records to return per page. Maximum value is 100.
sortByDatestringNoascSort order for balanceRecordTime. Supported values: asc, desc.
walletJournalTypestringNoDeposit,PaymentComma-separated journal types to include. Supported values: Deposit, Payment.

Date Range Limit

Requests must include both fromDate and toDate. The date range cannot exceed 90 days. If either value is omitted, the API returns a 400 level error: invalid request, please include fromDate, toDate.

Journal Type Rules

Wallet Journal TypeIncluded Journal StatusesNotes
DepositCompletedDeposit is a transaction into wallet, increasing the wallet balance. Deposit journals are returned only after the money has landed in the wallet available balance.
PaymentIn progress, CompletedPayment denotes a transaction from wallet, decreasing the wallet balance. Payment journals are returned during payment processing as well as after the payment has completed.

Filtering Examples

Return both deposits and payments:

GET /v1.2/wallets/{{walletId}}/transactions?fromDate=2026-03-01&toDate=2026-04-30&walletJournalType=Deposit,Payment

Return deposits only:

GET /v1.2/wallets/{{walletId}}/transactions?fromDate=2026-03-01&toDate=2026-04-30&walletJournalType=Deposit

Return payments only:

GET /v1.2/wallets/{{walletId}}/transactions?fromDate=2026-03-01&toDate=2026-04-30&walletJournalType=Payment

Sort newest transactions first:

GET /v1.2/wallets/{{walletId}}/transactions?fromDate=2026-03-01&toDate=2026-04-30&sortByDate=desc

Response

[
  {
    "balanceRecordTime": "2025-10-27T19:25:01.880Z",
    "paymentId": 468518,
    "walletId": 943600,
    "transactionId": 12345,
    "accountId": 943747,
    "balance": {
      "amount": 1000.00,
      "currency": "USD"
    },
    "transactionAmount": {
      "amount": 100.00,
      "currency": "USD"
    },
    "walletJournalType": "Deposit",
    "payerFundingMethodType": "card",
    "payerFundingLast4": null,
    "payeeFundingMethodType": "wallet",
    "payeeFundingLast4": null,
    "payerAccountId": 943600,
    "payerAccountPrimaryEmail": "[email protected]",
    "payeeAccountId": 943747,
    "payeeAccountPrimaryEmail": "[email protected]"
  }
]

Response Parameters

ParameterTypeDescription
balanceRecordTimedatetimeDate and time when the wallet balance record was created.
paymentIdintegerVeem payment ID associated with the wallet journal transaction.
walletIdintegerWallet ID for the journal transaction.
transactionIdintegerTransaction ID associated with the journal transaction.
accountIdintegerAccount ID associated with the wallet transaction.
balanceobjectResulting wallet balance after the transaction.
balance.amountnumberResulting wallet balance amount after the transaction.
balance.currencystringCurrency of the resulting wallet balance.
transactionAmountobjectAmount of the wallet journal transaction.
transactionAmount.amountnumberTransaction amount.
transactionAmount.currencystringCurrency of the transaction amount.
walletJournalTypestringType of wallet journal transaction. Supported values: Deposit, Payment.
payerFundingMethodTypestringFunding method type used by the payer, when available.
payerFundingLast4stringLast four digits of the payer funding method, when available.
payeeFundingMethodTypestringFunding method type used by the payee, when available.
payeeFundingLast4stringLast four digits of the payee funding method, when available.
payerAccountIdintegerAccount ID of the payer.
payerAccountPrimaryEmailstringPrimary email address of the payer account.
payeeAccountIdintegerAccount ID of the payee. When payerAccountId matches payeeAccountId, this indicates wallet top-up/withdrawal.
payeeAccountPrimaryEmailstringPrimary email address of the payee account.

Error Responses

HTTP StatusError MessageDescription
400invalid request, please include fromDate, toDateReturned when fromDate or toDate is omitted.
400invalid request, date range cannot exceed 90 daysReturned when the requested date range is greater than 90 days.
400invalid request, pageSize cannot exceed 100Returned when pageSize is greater than 100.
400invalid request, unsupported walletJournalTypeReturned when walletJournalType contains a value other than Deposit or Payment.
400invalid request, unsupported sortByDateReturned when sortByDate contains a value other than asc or desc.