# Get FX rates

Retrieve an FX rate for a particular payment method.

Endpoint: GET /foreignExchange/rates
Version: 1
Security: basicAuth

## Query parameters:

  - `intent` (string)
    Transaction type (intention) for which rates should be retrieved.
    Enum: "PAYOUT", "FX DEAL", "MULTI-CURRENCY PRICING", "CONSUMER RATES", "PAYOUT LIVE RATE"

  - `entity` (string)
    For Multi-Currency Pricing customers, the entity is an MCP Account Identifier (PartyID- Merchant Company ID, Unique ID given to you during the onboarding process.) for which rates should be retrieved.  For Account Payout customers, the entity is a six-digit reference given to you by your Implementation Manager during the onboarding process.
    Example: "100001"

  - `sourceCurrency` (string)
    The transaction currency code. If not supplied, the response contains rates for all source currencies against the target currency.
    Example: "USD"

  - `targetCurrency` (string)
    Your funding (settlement) currency code. If not supplied, the response contains rates for all target currencies against the source currency.
    Example: "EUR"

## Header parameters:

  - `Accept` (string, required)
    Example: "application/vnd.worldpay.foreignexchange-v1+json"

  - `WP-CorrelationId` (string)
    Optional ID to trace requests, if not provided, it is generated.
    Example: "15cd16b2-7b82-41cb-9b11-21be9dacad88"

## Response 200 fields (application/vnd.worldpay.foreignexchange-v1+json):

  - `rates` (array)
    A collection of rates items.

  - `rates.rateId` (string)
    Unique reference for the rate.
    Example: "R12345678"

  - `rates.intent` (string)
    Transaction type (intention) for which rates should be retrieved.
    Example: "PAYOUT"

  - `rates.sourceCurrency` (string)
    The debit currency.
    Example: "EUR"

  - `rates.targetCurrency` (string)
    The credit currency.
    Example: "GBP"

  - `rates.bidRate` (number)
    The buy/refund rate for the currency pairing.
    Example: 1.23456789

  - `rates.askRate` (number)
    The sell/purchase rate for the currency pairing.
    Example: 1.23456789

  - `rates.entity` (number)
    6-digit reference given to you by your Implementation Manager during the onboarding process.
    Example: 100001

  - `rates.issuedDate` (string)
    The posting date of the specific statement item.
    Example: "2025-01-01T12:00:00.000Z"

  - `rates.validFrom` (string)
    Validation date from.
    Example: "2025-01-10T12:00:00.000Z"

  - `rates.validTo` (string)
    Validation date to.
    Example: "2025-01-10T12:00:00.000Z"

## Response 400 fields (application/vnd.worldpay.foreignexchange-v1+json):

  - `validationErrors` (array, required)
    Object containing details of validation errors occurred

  - `validationErrors.queryParameter` (string, required)
    Parameter for which the error occurred

  - `validationErrors.errorName` (string, required)
    Unique name of the validation error

  - `validationErrors.message` (string, required)
    Error description message

  - `errorName` (string, required)
    The unique error name

  - `message` (string, required)
    Error description message

## Response 401 fields (application/vnd.worldpay.foreignexchange-v1+json):

  - `errorName` (string, required)
    The unique error name

  - `message` (string, required)
    Error description message

## Response 403 fields (application/vnd.worldpay.foreignexchange-v1+json):

  - `errorName` (string, required)
    The unique error name

  - `message` (string, required)
    Error description message

## Response 404 fields (application/vnd.worldpay.foreignexchange-v1+json):

  - `errorName` (string, required)
    The unique error name

  - `message` (string, required)
    Error description message

## Response 500 fields (application/vnd.worldpay.foreignexchange-v1+json):

  - `errorName` (string, required)
    The unique error name

  - `message` (string, required)
    Error description message


