Documentation Index

Fetch the complete documentation index at: https://docs.xendit.co/llms.txt

Use this file to discover all available pages before exploring further.

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

Secret API Key authentication. Required permission: MONEY-OUT

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" ]