Skip to content

Create a quote (authenticated)

Request

Create an authenticated quote when the quote is to be used for a transfer.

Authenticated quotes require a user access token to authenticate. You must also include the profile the quote should be associated with.

If you are funding the transfer from a multi-currency balance, set the payIn field to BALANCE. Otherwise this field defaults to BANK_TRANSFER, causing the fees to be inconsistent between quote and transfer.

When payOut value is set to SWIFT_OUR, it enables payment protection for SWIFT recipients of global currency transfers.

By using this payOut method, you can guarantee to your customers that the fee will be charged to the sender, ensuring the recipient receives the full target amount.

paymentOptions in the response

A few things to note about the data in the paymentOptions object:

  • The payOut field is used to select the correct entry in the paymentOptions array so you know which fees to display to your customer.
  • Find the paymentOption that matches the payOut field shown at the top level of the quote resource and payIn based on the settlement model the bank is using. By default, this is BANK_TRANSFER, unless you are using a prefunded or bulk settlement model.
  • The payOut field changes based on the type of recipient you add to the quote in the update quote request. For example, to-USD swift_code or to-CAD interac have different fees.
  • Each paymentOption includes a price field, which gives a full breakdown of all the taxes, fees, and discounts. Refer to this structure for breakdowns and totals, rather than the fee structure as that only gives a summary and does not surface important specifics such as taxes.
  • When showing the price of a transfer always show the 'price.total.value.amount' of a payment option.
  • Each payment option is either enabled or disabled based on the disabled value.
    • Disabled payment options should be shown to the user in a disabled state in most cases. This ensures users are given the options they are familiar with regardless of their availability, as well as options that can be beneficial to their accounts.
    • The option.disabledReason contains both a code and a message. The message is the user-friendly text to surface to the user, if necessary.

Transfer nature for BRL

transferNature is a required field for transfers to or from BRL. It also impacts the fees charged on the quote, specifically the IOF.

IOF is determined based on the transfer nature, sender information, and recipient information. The default IOF is included in a quote until all relevant information has been included.

Omitting transferNature will not prevent the transfer from being created or even funded. However, when attempting to process the transfer, it will be blocked and the money will be refunded to the sender.

Pricing configuration

When creating or updating a quote, partners with flexible partner pricing enabled can override the pricing configuration dynamically.

Security
UserToken
Path
profileIdinteger, (int64)required

Personal or business profile ID of the sender.

Example:101
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
Bodyapplication/jsonrequired
sourceCurrencystringrequired

Source (sending) currency code.

Example:"GBP"
targetCurrencystringrequired

Target (receiving) currency code.

Example:"USD"
sourceAmountnumber or null

Amount in source currency. Either sourceAmount or targetAmount is required, never both.

Example:100
targetAmountnumber or null

Amount in target currency.

Example:null
targetAccountinteger, (int64)

Optional. This is the ID of transfer recipient, found in the create recipient response. If provided, can be used as an alternative to updating the quote.

Example:12345
payOutstring or null

Optional. Preferred payout method.

Default value is BANK_TRANSFER.

Examples of other accepted values include BALANCE, SWIFT, SWIFT_OUR, ALIPAY, and INTERAC.

Example:null
preferredPayInstring or null

Optional. Preferred payin method. Use BANK_TRANSFER to return this method at the top of the response's results.

Example:null
paymentMetadataobject

Optional. Used to pass additional metadata about the intended transfer.

pricingConfigurationobject

Required when configured for your client ID. Includes a pricingConfiguration to be used for pricing calculations with the quote.

curl -i -X POST \
  https://api.wise.com/2026Q3/profiles/101/quotes \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
  -d '{
    "sourceCurrency": "GBP",
    "targetCurrency": "USD",
    "sourceAmount": 100,
    "targetAmount": null,
    "targetAccount": 12345,
    "payOut": null,
    "preferredPayIn": null,
    "paymentMetadata": {
      "transferNature": "MOVING_MONEY_BETWEEN_OWN_ACCOUNTS"
    },
    "pricingConfiguration": {
      "fee": {
        "type": "OVERRIDE",
        "variable": 0.011,
        "fixed": 15.42
      }
    }
  }'

Responses

Returns a quote object.

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
idstring, (uuid)

ID of this quote (GUID format).

Example:"11144c35-9fe8-4c32-b7fd-d05c2a7734bf"
sourceCurrencystring

Source (sending) currency code.

Example:"GBP"
targetCurrencystring

Target (receive) currency code.

Example:"USD"
sourceAmountnumber

Amount in source currency to send.

Example:100
targetAmountnumber

Amount in target currency to be received by the recipient.

Example:129.24
payOutstring

Mechanism Wise uses to deliver the transfer. Provided for information purposes.

Example:"BANK_TRANSFER"
preferredPayInstring

Preferred pay-in method.

Example:"BANK_TRANSFER"
ratenumber

Exchange rate value used for the conversion.

Example:1.30445
createdTimestring, (date-time)

Quote created timestamp.

Example:"2019-04-05T13:18:58Z"
userinteger, (int64)

User ID that created the quote.

Example:55
profileinteger, (int64)

Personal or business profile ID.

Example:101
rateTypestring

Whether the rate is fixed or floating.

Enum:"FIXED""FLOATING"
Example:"FIXED"
rateExpirationTimestring, (date-time)

Date and time the locked rate expires.

Example:"2019-04-08T13:18:57Z"
guaranteedTargetAmountAllowedboolean

Indicates whether guaranteed target amount is allowed.

Example:true
targetAmountAllowedboolean

Indicates whether target amount is allowed.

Example:true
guaranteedTargetAmountboolean

Indicates whether the target amount is guaranteed.

Example:false
providedAmountTypestring

Indicates whether the quote was created as source or target.

Enum:"SOURCE""TARGET"
Example:"SOURCE"
pricingConfigurationobject

Allows partners to override pricing configurations on a transfer level.

paymentOptionsArray of objects

List of the methods available to pay for the transfer.

statusstring

Current status of the quote.

Enum:"PENDING""ACCEPTED""FUNDED""EXPIRED"
Example:"PENDING"
expirationTimestring, (date-time)

The date and time the quote expires.

Example:"2019-04-05T13:48:58Z"
noticesArray of objects

Messages to display to the user. May be empty ([]) if there are no messages.

Response
{ "id": "11144c35-9fe8-4c32-b7fd-d05c2a7734bf", "sourceCurrency": "GBP", "targetCurrency": "USD", "sourceAmount": 100, "targetAmount": 129.24, "payOut": "BANK_TRANSFER", "preferredPayIn": "BANK_TRANSFER", "rate": 1.30445, "createdTime": "2019-04-05T13:18:58Z", "user": 55, "profile": 101, "rateType": "FIXED", "rateExpirationTime": "2019-04-08T13:18:57Z", "guaranteedTargetAmountAllowed": true, "targetAmountAllowed": true, "guaranteedTargetAmount": false, "providedAmountType": "SOURCE", "pricingConfiguration": { "fee": { "type": "OVERRIDE", "variable": 0.011, "fixed": 15.42 } }, "paymentOptions": [ { "disabled": false, "estimatedDelivery": "2019-04-08T12:30:00Z", "formattedEstimatedDelivery": "by Apr 8", "estimatedDeliveryDelays": [], "fee": {}, "price": {}, "sourceAmount": 100, "targetAmount": 129.24, "sourceCurrency": "GBP", "targetCurrency": "USD", "payIn": "BANK_TRANSFER", "payOut": "BANK_TRANSFER", "allowedProfileTypes": [], "payInProduct": "CHEAP", "feePercentage": 0.0092, "disabledReason": {} } ], "status": "PENDING", "expirationTime": "2019-04-05T13:48:58Z", "notices": [ { "text": "You can have a maximum of 3 open transfers with a guaranteed rate. After that, they'll be transferred using the live rate. Complete or cancel your other transfers to regain the use of guaranteed rate.", "link": null, "type": "WARNING" } ] }