WAPIsv2.0.0Withdrawals
Delete Withdrawal
Delete or reverse an eligible WAPI withdrawal
Delete a withdrawal identified by its public transaction_id.
This endpoint only succeeds when the withdrawal is still in a reversible state. The backend enforces the reversible-status rules before refunding the withdrawal back to the authenticated account.
Endpoint
DELETE /withdrawals/{transaction_id}| Access | Requirement |
|---|---|
| Authenticated | Yes |
| Required Scope | wapi-withdrawals-delete, 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.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
transaction_id | string | Yes | Public transaction ID associated with the withdrawal |
Reversible States
sub_unbankedwithdrawals can be deleted only when their status isNot On ACH File(0)normalandsub_bankedwithdrawals can be deleted only when their status isNot On ACH File(0) orReleased By Compliance(4)
Here, sub_banked and sub_unbanked remain the API mode values returned by the service. They do not change the fact that these withdrawals are created by an authenticated MMA on behalf of an external recipient.
Responses
200 OK
{
"message": "Withdrawal deleted successfully."
}400 Bad Request
{
"message": "Withdrawal not found or cannot be deleted."
}401 Unauthorized
{
"message": "Unauthorized"
}403 Forbidden
{
"message": "Invalid scope(s) provided."
}Example
curl -X DELETE "https://ttsb.wipayfinancial.com/wapi/withdrawals/SB-47-1-W12345-20250306010101" \
-H "Accept: application/json" \
-H "Authorization: Bearer <access_token>"