# Get exchange transfer by ID Gets an exchange transfer by ID. Endpoint: GET /exchange_transfers/{id} Version: 4.0.0 Security: Bearer ## Path parameters: - `id` (string, required) Unique identifier of the exchange transfer you want to retrieve. ## Response 200 fields (application/json): - `exchange_transfer_id` (string, required) Unique identifier of the exchange transfer. Example: "e3b20ba4-28ed-4752-990d-e67887bb331e" - `state` (string, required) State of the exchange transfer. Enum: "EXECUTED", "COMPLETED", "FAILED" - `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: "sf@rn.us.ca.san_francisco" - `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: "sf_gbp@rn.us.ca.san_francisco" - `source_amount` (number, required) Sending amount of the exchange transfer. Example: 1 - `destination_amount` (number, required) Receiving amount of the exchange transfer. Example: 355 - `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" - `end_to_end_id` (string, required) ID set by the sender that is persisted on all fiat node instances that participated in the transfer. - `internal_id` (string, required) Internal ID that the sender can optionally specify. Only visible to the sender. Only the sending fiat node instance stores this ID. - `user_info` (array, required) Custom information set by a RippleNet address involved in the exchange transfer. - `user_info.node_address` (string, required) RippleNet address of the fiat node instance that set the user information. Example: "rn.us.ny.new_york" - `user_info.state` (string, required) State of the exchange transfer set when the RippleNet address set the user information. Enum: "EXECUTED", "COMPLETED", "FAILED" - `user_info.json` (object, required) One or more arbitrary key/value pairs. - `user_info.created_at` (string) timestamp of when this user info was created ## Response 404 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"