For archived content, access the previous documentation here or the previous API reference here.

Create Quote

Prev Next
Post
/quotes

Create a Quote for FX conversion or payout

Security
HTTP
Type basic
Header parameters
api-version
stringRequired

The version of the API. Value: "2025-06-06"

Body parameters
Create Quote PHP to THB

Create Quote PHP to THB

{
  "reference_id": "a3f7c912-4e8b-4d1a-bc56-9f2e1a3d7b4c",
  "type": "PAYOUT",
  "source_currency": "PHP",
  "destination_currency": "THB",
  "destination_amount": 500000
}
Create Quote for Payout

Create Quote for Payout

{
  "reference_id": "51d9b583-717f-462b-834e-0fc523ae2894",
  "type": "PAYOUT",
  "source_currency": "IDR",
  "destination_currency": "USD",
  "source_amount": 100000
}
object
reference_id
string Required

ID provided by merchant to identify the request

type
string Required

Type of transaction which the Quote will be used for

Valid values[ "CONVERSION", "PAYOUT" ]
source_currency
string Required

Source currency

Valid values[ "USD", "SGD", "IDR", "PHP", "MYR", "THB", "HKD" ]
destination_currency
string Required

Destination currency

Valid values[ "USD", "SGD", "IDR", "PHP", "MYR", "THB", "VND", "HKD", "CNY", "KRW", "AUD", "EUR" ]
source_amount
integer

Source amount in minor units. Must be empty if destination_amount is filled.

A minor unit is the smallest unit of a currency. Most currencies have 2 decimals, others have 0. Examples: PHP 10.00 → 1000, IDR 10 → 10.

destination_amount
integer

Destination amount in minor units. Must be empty if source_amount is filled.

A minor unit is the smallest unit of a currency. Most currencies have 2 decimals, others have 0. Examples: PHP 10.00 → 1000, IDR 10 → 10.

Responses
200

The request has succeeded.

Create Quote PHP to THB

Create Quote PHP to THB

{
  "quote_id": "qo-7c4d2e1f-a8b9-4f3e-9d6c-5a1b2c3d4e5f",
  "reference_id": "a3f7c912-4e8b-4d1a-bc56-9f2e1a3d7b4c",
  "source_amount": 78500,
  "source_currency": "PHP",
  "destination_amount": 500000,
  "destination_currency": "THB",
  "fx_rate": 0.637,
  "type": "PAYOUT",
  "created": "2025-06-03T09:15:00Z",
  "updated": "2025-06-03T09:15:00Z",
  "expires": "2025-06-03T09:15:30Z"
}
Create Quote for Payout

Create Quote for Payout

{
  "quote_id": "qo-68b6ec19-4b83-46f0-aea5-e1f4a57966b1",
  "reference_id": "51d9b583-717f-462b-834e-0fc523ae2894",
  "source_amount": 100000,
  "source_currency": "IDR",
  "destination_amount": 627,
  "destination_currency": "USD",
  "fx_rate": 6.3E-05,
  "type": "PAYOUT",
  "created": "2025-06-02T15:58:16.970Z",
  "updated": "2025-06-02T15:58:16.970Z",
  "expires": "2025-06-02T15:58:46.952Z"
}
object

Quote Object

quote_id
string

Unique Quote ID in UUID format, prefixed with qo-

reference_id
string

ID provided by merchant to identify the request

source_currency
string

Source currency

Valid values[ "USD", "SGD", "IDR", "PHP", "MYR", "THB", "VND", "HKD", "CNY", "KRW", "AUD", "EUR", "MXN" ]
source_amount
integer

Source amount in minor units.

A minor unit is the smallest unit of a currency. Most currencies have 2 decimals, others have 0. Examples: PHP 10.00 → 1000, IDR 10 → 10.

destination_currency
string

Destination currency

Valid values[ "USD", "SGD", "IDR", "PHP", "MYR", "THB", "VND", "HKD", "CNY", "KRW", "AUD", "EUR", "MXN" ]
destination_amount
integer

Destination amount in minor units.

A minor unit is the smallest unit of a currency. Most currencies have 2 decimals, others have 0. Examples: PHP 10.00 → 1000, IDR 10 → 10.

fx_rate
number (double)

Exchange rate

type
string

Type of transaction which the Quote will be used for

Valid values[ "CONVERSION", "PAYOUT" ]
created
string (date-time)

Timestamp when the quote was made. Format: ISO 8601, UTC+0

updated
string (date-time)

Timestamp when the quote was last updated. Format: ISO 8601, UTC+0

expires
string (date-time)

Timestamp when the quote will expire. Format: ISO 8601, UTC+0

400

Bad request

OneOf
Payouts_v3_Http400ApiValidationError
object (Payouts_v3_Http400ApiValidationError)
error_code
string
Valid values[ "API_VALIDATION_ERROR" ]
message
string
Valid values[ "Inputs are failing validation. The errors field contains details about which fields are violating validation." ]
Payouts_v3_Http400ApiValidationError_UnsupportedSourceCurrency
object (Payouts_v3_Http400ApiValidationError_UnsupportedSourceCurrency)
error_code
string
Valid values[ "API_VALIDATION_ERROR" ]
message
string
Valid values[ "The source currency specified in the request is not supported. Please check our documentation for currencies available." ]
Payouts_v3_Http400ApiValidationError_UnsupportedDestinationCurrency
object (Payouts_v3_Http400ApiValidationError_UnsupportedDestinationCurrency)
error_code
string
Valid values[ "API_VALIDATION_ERROR" ]
message
string
Valid values[ "The destination currency specified in the request is not supported. Please check our documentation for currencies available." ]
Payouts_v3_Http400ApiValidationError_BothAmounts
object (Payouts_v3_Http400ApiValidationError_BothAmounts)
error_code
string
Valid values[ "API_VALIDATION_ERROR" ]
message
string
Valid values[ "Both source and destination amounts were specified. Please input only one of these amounts." ]
Payouts_v3_Http400ApiValidationError_UnsupportedType
object (Payouts_v3_Http400ApiValidationError_UnsupportedType)
error_code
string
Valid values[ "API_VALIDATION_ERROR" ]
message
string
Valid values[ "The transaction type specified is not supported. Please check our documentation for supported transactions." ]
Payouts_v3_Http400InvalidValueError_QuoteTooLow
object (Payouts_v3_Http400InvalidValueError_QuoteTooLow)
error_code
string
Valid values[ "INVALID_VALUE_ERROR" ]
message
string
Valid values[ "Quotes need to be at least US$1.00 or equivalent. Please retry the request with a higher source or destination quote amount." ]
Payouts_v3_Http400InvalidValueError_QuoteTooHigh
object (Payouts_v3_Http400InvalidValueError_QuoteTooHigh)
error_code
string
Valid values[ "INVALID_VALUE_ERROR" ]
message
string
Valid values[ "The value of the quote exceeds our limit of US$1,000,000. Please retry the request with a lower source or destination quote amount." ]
401

Unauthorized

object
error_code
string
Valid values[ "INVALID_API_KEY" ]
message
string
Valid values[ "API key format is invalid" ]
403

Forbidden

OneOf
Payouts_v3_Http403RequestForbiddenError
object (Payouts_v3_Http403RequestForbiddenError)
error_code
string
Valid values[ "REQUEST_FORBIDDEN_ERROR" ]
message
string
Valid values[ "The API key is forbidden to perform this request" ]
Payouts_v3_Http403InvalidMerchantSettings
object (Payouts_v3_Http403InvalidMerchantSettings)
error_code
string
Valid values[ "INVALID_MERCHANT_SETTINGS" ]
message
string
Valid values[ "Quote failed because the source / destination currency has not been activated. Please reach out to Xendit to activate this currency before retrying." ]
500

Internal server error

object
error_code
string
Valid values[ "SERVER_ERROR" ]
message
string
Valid values[ "An unexpected error occurred" ]