# Get rates

Gets a list of configured exchange rates.

Endpoint: GET /config/rates
Version: 4.0.0
Security: Bearer

## Security:

  - `Bearer` (unknown)
    apiKey in header Authorization

## Query parameters:

  - `page` (integer)
    The page number for [paginated results](/products/payments-odl/api-docs/ripplenet/best-practices/pagination/). The value is zero-based, where `0` represents the first page.<br/>
Set it to `0` to get the first page of results.

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

## Response 200:

  - `200` (unknown)
    Successfully returned list of rates.

## 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)
    Example: false

  - `content` (array)
    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.
    Example: 0

  - `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:

  - `400` (unknown)
    Bad request.

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

