# Get exchange transfers

Gets all exchange transfers.

Endpoint: GET /exchange_transfers
Version: 4.0.0
Security: Bearer

## Query parameters:

  - `page` (integer)
    The page number for paginated results. The value is zero-based, where 0 represents the first page.
Set it to 0 to get the first page of results.

  - `size` (integer)
    Number of objects to return per page.

## Response 200 fields (application/json):

  - `first` (boolean)
    true if  this is the first page.

  - `last` (boolean)
    true if  this is the last page.

  - `number` (integer)
    page number

  - `numberOfElements` (integer)
    Number Of elements in this request

  - `size` (integer)
    page size

  - `totalElements` (integer)
    Total number of elements for the given request

  - `totalPages` (integer)
    Total number of pages for the given request

  - `sort` (array)
    Sort details of this page

  - `sort.direction` (string)
    Direction of the sort
    Example: "ASC"

  - `sort.property` (string)

  - `sort.ignoreCase` (boolean)

  - `sort.nullHandling` (string)
    Example: "NULLS_FIRST"

  - `sort.ascending` (boolean)
    Example: true

  - `sort.descending` (boolean)

  - `content` (array)
    Provides an array of exchange transfer objects.

  - `content.exchange_transfer_id` (string, required)
    Unique identifier of the exchange transfer.
    Example: "e3b20ba4-28ed-4752-990d-e67887bb331e"

  - `content.state` (string, required)
    State of the exchange transfer.
    Enum: "EXECUTED", "COMPLETED", "FAILED"

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

  - `content.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"

  - `content.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"

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

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

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

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

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

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

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

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

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

  - `content.end_to_end_id` (string, required)
    ID set by the sender that is persisted on all fiat node instances that participated in the transfer.

  - `content.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.

  - `content.user_info` (array, required)
    Custom information set by a RippleNet address involved in the exchange transfer.

  - `content.user_info.node_address` (string, required)
    RippleNet address of the fiat node instance that set the user information.
    Example: "rn.us.ny.new_york"

  - `content.user_info.state` (string, required)
    State of the exchange transfer set when the RippleNet address set the user information.
    Enum: "EXECUTED", "COMPLETED", "FAILED"

  - `content.user_info.json` (object, required)
    One or more arbitrary key/value pairs.

  - `content.user_info.created_at` (string)
    timestamp of when this user info was created

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


