Skip to content

Cancel a transfer

Request

Transfers may be cancelled up until the transfer has been processed and funds converted. Cancellation is final — it cannot be undone.

When can a transfer be cancelled?

A transfer can only be cancelled programmatically via the API if it meets all of the following criteria:

  • The transfer is not in funds_converted or later state.
  • There are no processing problems with the transfer.

If the transfer does not meet these criteria, the API will return a 409 Conflict error with the code transfer.cancellation.not.allowed.

For more information about transfer states, see Tracking Transfers.

Security
UserToken or PersonalToken
Path
transferIdinteger, (int64)required

The transfer ID

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Example:f47ac10b-58cc-4372-a567-0e02b2c3d479
curl -i -X PUT \
  'https://api.wise.com/2026Q3/transfers/{transferId}/cancel' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479'

Responses

Returns the cancelled transfer object, with or without an originator block depending on the type of transfer.

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Echoed back when X-External-Correlation-Id was included in the request. Learn more.

Example:"f47ac10b-58cc-4372-a567-0e02b2c3d479"
x-trace-idstring

Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.

Example:"fba501b6d453b96789f52338f019341f"
Bodyapplication/json
One of:
idinteger, (int64)

Transfer ID

Example:16521632
userinteger, (int64)

Your user ID

Example:4342275
targetAccountinteger, (int64)

Recipient account ID

Example:8692237
sourceAccountinteger or null, (int64)

Refund recipient account ID

Example:null
quoteinteger or null, (int64)

V1 quote ID

Example:null
quoteUuidstring, (uuid)

V2 quote ID

Example:"8fa9be20-ba43-4b15-abbb-9424e1481050"
statusstring

Transfer current status. See Tracking Transfers for all possible statuses.

Example:"incoming_payment_waiting"
ratenumber

Exchange rate value

Example:0.89
createdstring, (date-time)

Timestamp when transfer was created

Example:"2017-11-24 10:47:49"
businessinteger or null, (int64)

Your business profile ID

Example:null
detailsobject
hasActiveIssuesboolean

Are there any pending issues which stop executing the transfer?

Example:false
sourceCurrencystring

Source currency code

Example:"EUR"
sourceValuenumber

Transfer amount in source currency

Example:0
targetCurrencystring

Target currency code

Example:"GBP"
targetValuenumber

Transfer amount in target currency

Example:150
customerTransactionIdstring, (uuid)

Unique identifier randomly generated per transfer request by the calling client

Example:"54a6bc09-cef9-49a8-9041-f1f0c654cd88"
payinSessionIdstring, (uuid)

ID of the Payin Session generated for the transfer, which can be used for certain payin methods when funding the transfer

Example:"23330542-8e9e-419f-95eb-312b880f92ad"
referencestringdeprecated

Deprecated, use details.reference instead

Example:"reference text"
transferRequestinteger or nulldeprecated

Deprecated

Example:null
Response
{ "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" }