Appearance
List fiat withdrawals​
GET
/v1/wallet/fiat/{currency}/withdrawals
Requires WITHDRAWALS_READ, granted by TREASURY_READ or TREASURY_WRITE or WITHDRAWALS_WRITE or BANK_ACCOUNTS_WRITE (bundles)
Lists fiat withdrawals in this currency, newest first, for the account (the primary, or the sub-account selected with X-VALR-SUB-ACCOUNT-ID). total counts every match across pages; use it with limit and offset to page.
Parameters​
Path Parameters
currency*
Fiat currency of the withdrawals, e.g. ZAR.
Type
Requiredstring
Example
"ZAR"Query Parameters
status
Only return withdrawals with this status: NEW (created, nothing done yet), PENDING_APPROVAL (waiting for an approver), PROCESSING (debited and on its way to the bank), PAID, REVERSED (paid, then returned), FAILED (didn't complete and wasn't reversed) or DECLINED (declined in review or approval). A reversed withdrawal shows FAILED until the reversal completes. Leave it out for every status.
Type
string
Example
"PAID"limit
Maximum number of withdrawals to return, from 1 to 200; values outside that range are adjusted.
Type
integer
Example
50Default
50offset
Number of withdrawals to skip, for paging. Negative values count as 0.
Type
integer
Example
0Default
0includeAllSubAccounts
true to include withdrawals from the primary and every sub-account apart from hidden ones. Only applies when you don't send X-VALR-SUB-ACCOUNT-ID and the key isn't restricted to sub-accounts; otherwise it's ignored.
Type
boolean
Example
trueDefault
falseResponses​
OK
application/json
JSON
{
"items": [
{
"id": "d4a7c2e9-61f3-4b8d-9e05-7c1b3f6a2d84",
"subAccountId": "0",
"currency": "ZAR",
"amount": "1500.00",
"status": "PAID",
"linkedBankAccountId": "3c9e1f42-7d5b-4a8e-9f21-6b0d8c4e7a15",
"isFast": false,
"createdAt": "2026-10-23T08:30:05.272523Z",
"updatedAt": "2026-10-23T11:02:41.167902Z",
"feeAmount": "8.50"
},
{
"id": "5e9b3f17-a2c4-4d6e-8b91-0f4d7a2c6e33",
"subAccountId": "0",
"currency": "ZAR",
"amount": "420.00",
"status": "FAILED",
"linkedBankAccountId": "8f2a6d10-c3e4-4b7f-a915-2e7c0b9d4f68",
"isFast": true,
"createdAt": "2026-10-20T14:12:44.091355Z",
"updatedAt": "2026-10-20T14:40:18.630117Z",
"feeAmount": "25.00",
"failureReason": "INVALID_ACCOUNT_DETAILS",
"failureReasonDescription": "The bank could not find an account with these details.",
"failureReasonAction": "Check the account number, branch code and account type, update your bank account and try again.",
"failureRetryable": false
}
],
"total": 2,
"limit": 50,
"offset": 0
}
Samples​
Errors
| HTTP | Error | When |
|---|---|---|
| 400 | -11INVALID_REQUEST | status is empty or isn't one of the listed values, limit or offset isn't a whole number, includeAllSubAccounts isn't true or false, or the currency isn't recognised. |
Plus the errors common to all signed endpoints.