WAPIsv2.0.0Withdrawals
Withdrawal History
Retrieve paginated WAPI withdrawal history
Retrieve a paginated list of withdrawal requests for the authenticated account.
Endpoint
GET /withdrawals| Access | Requirement |
|---|---|
| Authenticated | Yes |
| Required Scope | wapi-withdrawals-retrieve, or wapi-withdrawals-all |
| Rate Limit | 15 requests per minute |
Request
Headers
| Header | Value |
|---|---|
Accept | application/json |
Authorization | Bearer <access_token> |
X-WAPI-Key | wapi_live_<kid>_<secret> or wapi_test_<kid>_<secret> |
Send exactly one of Authorization or X-WAPI-Key.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page_size | integer | No | 15 | Number of results per page. Maximum 100 |
page | integer | No | 1 | Page number |
amount_min | numeric | No | — | Minimum withdrawal amount |
amount_max | numeric | No | — | Maximum withdrawal amount |
currency | string | No | — | A supported platform currency |
reference | string (UUID) | No | — | Exact match for the withdrawal reference UUID |
status[] | integer | No | — | One or more withdrawal status codes from Withdrawal Meta |
transaction_id | string | No | — | Public transaction ID associated with the withdrawal |
with_deleted | boolean | No | false | Include soft-deleted withdrawals |
withdrawal_type[] | string | No | — | One or more API mode values from normal, sub_banked, sub_unbanked |
start_date | date | No | — | Filter by creation date on or after this date |
end_date | date | No | — | Filter by creation date on or before this date |
Responses
200 OK
{
"message": "OK",
"data": {
"data": [
{
"amount": "100.00",
"bank_account_type": null,
"bank_account": "1234567890",
"bank_branch": null,
"bank_name": "First Citizens",
"created_at": "2025-03-06T13:00:00Z",
"currency": "USD",
"deleted_at": null,
"email": "recipient@example.com",
"fee_amount": "5.00",
"id_number": "TB963809",
"id_type": "passport",
"name_in_bank": "TEST RECIPIENT",
"phone": "+18687778899",
"reference": null,
"status_description": "Not On ACH File",
"status": 0,
"transaction_id": "SB-47-1-W12345-20250306010101",
"updated_at": "2025-03-06T13:00:00Z",
"withdrawal_type": "sub_banked"
}
],
"links": {
"first": "https://...",
"last": "https://...",
"prev": null,
"next": "https://..."
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://...",
"per_page": 15,
"to": 1,
"total": 1
}
}
}Withdrawal Object
| Field | Type | Description |
|---|---|---|
amount | string | Normalized withdrawal amount |
fee_amount | string | Normalized withdrawal fee |
currency | string | Withdrawal currency |
withdrawal_type | string | API mode value: normal, sub_banked, or sub_unbanked |
transaction_id | string | null | Public transaction ID tied to the withdrawal |
reference | string | null | UUID reference used by sub_unbanked withdrawals |
status | integer | Withdrawal status code |
status_description | string | Human-readable description of status |
bank_name | string | null | Destination bank |
bank_branch | string | null | Destination bank branch |
bank_account_type | string | null | chequing or savings when captured |
bank_account | string | null | Destination bank account |
name_in_bank | string | null | Destination account holder name |
email | string | null | Recipient email |
phone | string | null | Recipient phone |
id_type | string | null | ID type submitted with the withdrawal |
id_number | string | null | ID number submitted with the withdrawal |
created_at | string | null | ISO 8601 timestamp |
updated_at | string | null | ISO 8601 timestamp |
deleted_at | string | null | Soft-delete timestamp when the withdrawal has been deleted |
sub_banked and sub_unbanked should be read as API processing modes for MMA-authorized external-recipient withdrawals, not as definitive real-world labels for the recipient.
400 Bad Request
{
"message": "The page_size must not be greater than 100."
}401 Unauthorized
{
"message": "Unauthorized"
}403 Forbidden
{
"message": "Invalid scope(s) provided."
}Example
curl -X GET "https://ttsb.wipayfinancial.com/wapi/withdrawals?page_size=10&withdrawal_type[]=sub_banked&with_deleted=false" \
-H "Accept: application/json" \
-H "Authorization: Bearer <access_token>"