v5

latestOpenAPI 3.1.02026-07-262421791.5 MB
standard-transfer

Create a transfer

Create a transfer to a recipient account based on a quote.

Some fields are conditionally required depending on the currency route and transfer amount. Always call the transfer requirements endpoint to determine which fields are needed, and submit values accordingly. These requirements may change over time.

Avoiding duplicate transfers

The customerTransactionId field is used to avoid duplicate transfer requests. If your initial call to create a transfer fails (error or timeout), retry the call using the same customerTransactionId value. Subsequent retry messages are treated as repeat messages and will not create duplicate transfers. Use a sensible retry limit, ideally with a back-off approach.

Payment Approvals

{% admonition type="warning" %} Business Payment Approvals created on your wise.com settings page are not compatible with creating transfers over the API. {% /admonition %}

If you use personal tokens and do not use client credentials, and if your business account has payment approvals, your application will receive this error when attempting to create a transfer: Quote cannot be accepted with this request due to missing approval.

Consider removing the payment rule if you are going to use the API to create transfers.

post/v1/transfers

Headers

X-External-Correlation-Idstring uuid

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

Request body

sourceAccountinteger

Refund recipient account ID

targetAccountinteger required

Recipient account ID. You can create multiple transfers to same recipient account

quoteUuidstring uuid required

V2 quote ID. You can only create one transfer per one quote. You cannot use same quote ID to create multiple transfers

customerTransactionIdstring uuid required

Required to perform idempotency check to avoid duplicate transfers in case of network failures or timeouts

Response

Transfer successfully created.

idinteger

Transfer ID

userinteger

Your user ID

targetAccountinteger

Recipient account ID

sourceAccountinteger nullable

Refund recipient account ID

quoteinteger nullable

V1 quote ID

quoteUuidstring uuid

V2 quote ID

statusstring

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

referencestring

Deprecated, use details.reference instead

ratenumber

Exchange rate value

createdstring date-time

Timestamp when transfer was created

businessinteger nullable

Your business profile ID

transferRequestinteger nullable

Deprecated

hasActiveIssuesboolean

Are there any pending issues which stop executing the transfer?

sourceCurrencystring

Source currency code

sourceValuenumber

Transfer amount in source currency

targetCurrencystring

Target currency code

targetValuenumber

Transfer amount in target currency

customerTransactionIdstring uuid

Unique identifier randomly generated per transfer request by the calling client

payinSessionIdstring uuid

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

Example response

{
  "id": 16521632,
  "user": 4342275,
  "targetAccount": 8692237,
  "quoteUuid": "8fa9be20-ba43-4b15-abbb-9424e1481050",
  "status": "incoming_payment_waiting",
  "reference": "reference text",
  "rate": 0.89,
  "created": "2017-11-24 10:47:49",
  "details": {
    "reference": "Testing"
  },
  "sourceCurrency": "EUR",
  "targetCurrency": "GBP",
  "targetValue": 150,
  "customerTransactionId": "54a6bc09-cef9-49a8-9041-f1f0c654cd88",
  "payinSessionId": "23330542-8e9e-419f-95eb-312b880f92ad"
}