# Get rates

Gets a list of configured exchange rates.

Endpoint: GET /config/rates
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, required)
    Provides an array of rate objects.

  - `content.rate_id` (string, required)
    Unique identifier of the exchange rate.
    Example: "328b3e50-7983-46d5-94a0-ef004d78db1d"

  - `content.expiration_offset` (integer, required)
    (DEPRECATED) This property is deprecated. Refer to expires_at to determine rate expiration. Amount of time in milliseconds that the rate is valid for after the rate's created_date value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value. If set to 0, the rate does not expire.
    Example: 95000

  - `content.order_type` (string, required)
    Order type for the exchange rate.
    Enum: "buy", "sell"

  - `content.rate_scale` (integer, required)
    Number of decimal places to which the exchange rate is calculated. For example, if the rate_scale value is set to 9 and the rate value is set to 1.25, the scaled value of the rate is 1.250000000.
    Example: 9

  - `content.rate` (number, required)
    Exchange rate for the specified base and counter currency.
    Example: 0.89

  - `content.base_currency` (string, required)
    Base currency of the exchange rate.
    Example: "USD"

  - `content.counter_currency` (string, required)
    Counter currency of the exchange rate.
    Example: "GBP"

  - `content.source_currency` (string, required)
    If order_type is set to buy, this is set to the base currency. If order_type is set to sell, this is set to the counter currency.
    Example: "USD"

  - `content.destination_currency` (string, required)
    If order_type is set to buy, this is set to the counter currency. If order_type is set to sell, this is set to the base currency.
    Example: "GBP"

  - `content.source_ledger` (string, required)
    Source ledger associated with the exchange rate.
    Example: "rn.eur.uk.london"

  - `content.destination_ledger` (string, required)
    Destination ledger associated with the exchange rate.
    Example: "rn.eur.uk.london"

  - `content.source_ledger_account` (string, required)
    Account on the source ledger associated with rate.
    Example: "alias_usd_lon"

  - `content.destination_ledger_account` (string, required)
    Account on the destination ledger associated with rate.
    Example: "conct_gbp_lon"

  - `content.created_date` (string, required)
    Date and time at which the exchange rate was created, as an ISO-8601 timestamp in UTC. Fiat determines a rate's expiration date and time based on this value and expiration_offset value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value.

  - `content.expires_at` (string)
    The time in which this rate expires in system local timezone

  - `content.lower_limit` (number, required)
    For a slab-based exchange rate, indicates the lower limit of the slab.

  - `content.upper_limit` (number, required)
    For a slab-based exchange rate, indicates the upper limit of the slab.
    Example: 1000

  - `content.payout_method` (string)
    The payout method for the rate.
    Example: "LOCAL_RAILS"

  - `content.value_type` (string, required)
    Indicates whether the rate is a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If this value is MARGIN, then margin_type will show a value.
    Enum: "MARGIN", "RATE"

  - `content.margin_type` (string, required)
    Indicates the unit of margin applied in addition to the rate provided by Ripple. This field has a value only if value_type = MARGIN. If value_type is RATE, this field is null.
    Enum: "BPS"

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


