Transfers can be cancelled via API when they are in the incoming_payment_waiting state.
If the transfer is being held for compliance-related reasons or has moved into the funds_converted state, the API will return a 409 Conflict error with the code transfer.cancellation.not.allowed.
Some special conditions can apply for Embedded Solutions partners. Discuss with your implementation team for details.
Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.
- Production Environmenthttps://api.wise.com/2026Q4/transfers/{transferId}/cancel
- Sandbox Environmenthttps://api.wise-sandbox.com/2026Q4/transfers/{transferId}/cancel
curl -i -X PUT \
'https://api.wise.com/2026Q4/transfers/{transferId}/cancel' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479'Returns the cancelled transfer object, with or without an originator block depending on the type of transfer.
Echoed back when X-External-Correlation-Id was included in the request. Learn more.
Transfer current status. See Transfer statuses for all possible statuses.
Unique identifier randomly generated per transfer request by the calling client
ID of the Payin Session generated for the transfer, which can be used for certain payin methods when funding the transfer
{ "id": 16521632, "user": 4342275, "targetAccount": 8692237, "sourceAccount": null, "quote": null, "quoteUuid": "8fa9be20-ba43-4b15-abbb-9424e1481050", "status": "incoming_payment_waiting", "reference": "reference text", "rate": 0.89, "created": "2017-11-24 10:47:49", "business": null, "transferRequest": null, "details": { "reference": "Testing" }, "hasActiveIssues": false, "sourceCurrency": "EUR", "sourceValue": 0, "targetCurrency": "GBP", "targetValue": 150, "customerTransactionId": "54a6bc09-cef9-49a8-9041-f1f0c654cd88", "payinSessionId": "23330542-8e9e-419f-95eb-312b880f92ad" }