# Get exchange transfer quote

Requests a quote for an exchange transfer.

Endpoint: POST /exchange_transfers/quote
Version: 4.0.0
Security: Bearer

## Request fields (application/json):

  - `sender_address` (string, required)
    RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
    Example: "alias_usd_lon@rn.eur.uk.london"

  - `receiver_address` (string, required)
    RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
    Example: "conct_gbp_lon@rn.eur.uk.london"

  - `amount` (number, required)
    Amount transferred, expressed in the curency of the account indicated by the amount_type value.
    Example: 100

  - `amount_type` (string, required)
    Amount type of the exchange transfer.To indicate that the amount is expressed in the currency of the account provided by the sender_address value, set to SENDER_AMOUNT. To indicate that the amount is expressed in the currency of the account provided by the receiver_address value, set to RECEIVER_AMOUNT.
    Enum: "SENDER_AMOUNT", "RECEIVER_AMOUNT"

## Response 200 fields (application/json):

  - `type` (string, required)
    Indicates the exchange transfer's quoted FX rate type.
    Enum: "FIRM", "INDICATIVE"

  - `sender_address` (string, required)
    RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
    Example: "alias_usd_lon@rn.eur.uk.london"

  - `receiver_address` (string, required)
    RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
    Example: "conct_gbp_lon@rn.eur.uk.london"

  - `source_amount` (number, required)
    Sending amount of the exchange transfer.
    Example: 100

  - `destination_amount` (number, required)
    Receiving amount of the exchange transfer.
    Example: 89

  - `source_currency` (string, required)
    Sending currency of the exchange transfer.
    Example: "USD"

  - `destination_currency` (string, required)
    Receiving currency of the exchange transfer.
    Example: "GBP"

  - `fx_transfer_rate` (object, required)
    Describes an exchange rate used in an exchange transfer.

  - `fx_transfer_rate.rate` (number, required)
    Exchange rate used to make the exchange transfer.
    Example: 0.89

  - `fx_transfer_rate.base_currency` (string, required)
    Base currency for custom rate for the sending account.
    Example: "USD"

  - `fx_transfer_rate.counter_currency` (string, required)
    Counter currency for custom rate for the sending account.
    Example: "GBP"

  - `fx_transfer_rate.rate_type` (string, required)
    Rate type used to make the exchange transfer. Valid values are BUY or SELL.
    Example: "BUY"

## Response 400 fields (application/json):

  - `type` (string)
    URL to the error documentation.
    Example: "https://errors.ripplenet.ripple.com/error/json-processing-error"

  - `title` (string)
    Summary of the returned problem.
    Example: "Invalid Request Object"

  - `detail` (string)
    Description of the returned problem.
    Example: "The request parameter [account_id] is not in the correct format."

  - `status` (number)
    HTTP error code.
    Example: 400

  - `ripplenet_error_code` (string)
    RippleNet specific error code.
    Example: "E0104"

  - `finality` (string)
    Specifies if the request can be retried for a successful response.
    Example: "PERMANENT"


