> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enfuce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FX Exchange Rates for supported payment schemas (Visa, Mastercard)

> This operation is to get the Visa/Mastercard treasury FX rates for a given “from” and “to” currency pair.



## OpenAPI

````yaml exchange-rate post /v2/{paymentScheme}/fx
openapi: 3.0.3
info:
  description: >
    Endpoint for querying FX rates of payment scheme (including benchmark to ECB
    FX rates).

    API enables the issuer to comply with regulation (EU) 2019/518) and provide
    the cardholder with a better user experience by providing real-time
    visibility to scheme FX rates that are used for card transactions.
  version: '1'
  title: Exchange Rates API
  contact:
    name: Enfuce Financial Services
    url: https://enfuce.com
    email: info@enfuce.com
  x-logo:
    url: https://developer.enfuce.com/images/enfuce.svg
    altText: Enfuce logo
servers:
  - url: >-
      https://integration-api-cat2.{{environment}}.ext.{{realm}}.cia.enfuce.com/exchange-rate
  - url: https://integration-api-cat2.live.ext.prod.cia.enfuce.com/exchange-rate
    description: Live environment
security: []
tags:
  - name: Get FX exchange rates
  - name: Get ECB supported currencies
  - name: Get ECB exchange rate
paths:
  /v2/{paymentScheme}/fx:
    post:
      tags:
        - Get FX exchange rates
      summary: FX Exchange Rates for supported payment schemas (Visa, Mastercard)
      description: >-
        This operation is to get the Visa/Mastercard treasury FX rates for a
        given “from” and “to” currency pair.
      operationId: getSchemeFxRatesV2
      parameters:
        - name: paymentScheme
          in: path
          required: true
          description: Payment scheme
          schema:
            $ref: '#/components/schemas/paymentScheme'
        - name: auditUser
          in: query
          description: The audit user to log the request
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/getFxRatesV2RequestBody'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getFxRatesV2Response'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '503':
          description: VISA API Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      deprecated: false
components:
  schemas:
    paymentScheme:
      type: string
      enum:
        - VISA
        - MC
      description: Indicates the applicable payment scheme
    getFxRatesV2Response:
      type: object
      properties:
        fromAmount:
          type: number
          description: >-
            The transaction amount in the foreign currency that the end user
            requests to convert
        fromCurrency:
          $ref: '#/components/schemas/fromCurrencyFxRateV2'
        toCurrency:
          $ref: '#/components/schemas/toCurrencyFxRateV2'
        toAmountWithSchemeRate:
          type: number
          description: >-
            The transaction amount in the card's settlement currency converted
            with the payment scheme's rate but not considering the issuer
            mark-up. Derived by converting the fromAmount using payment scheme
            rates between from and to currency pairs. Mark-up rate is not
            included in the calculations. Exchange rates used for conversion
            will be the latest rates available. The value is always rounded to
            two (2) decimal places.
        toAmountWithMarkup:
          type: number
          description: >-
            The transaction amount in the card's settlement currency converted
            with payment scheme's rate considering the issuer mark-up. Derived
            by converting the fromAmount using ECB rates between from and to
            currency pairs. Additional rate is not included in the calculations.
            Exchange rates used for conversion will be the latest rates
            available. The value is always rounded to two (2) decimal places.
        toAmountWithEcbRate:
          type: number
          description: >-
            The transaction amount in the card's settlement currency converted
            with the ECB's rate but not considering the issuer mark-up. Derived
            by converting the fromAmount using ECB rates between from and to
            currency pairs. Mark-up rate is not included in the calculations.
            Exchange rates used for conversion will be the latest rates
            available. The value is always rounded to two (2) decimal places.
        fxRatePaymentScheme:
          type: number
          description: >-
            Payment scheme exchange rate for the fromCurrency and toCurrency
            currency pair. This rate will not include any issuer mark-up. The
            value is always rounded to four (4) decimal places. As of 12/2022,
            Visa and Mastercard update their exchange rates on business days at
            1 AM (GMT) and at 6 PM (GMT) respectively. Please note that the
            times at which payment schemes update their rates is subject to
            change without advance notice. However, the exchange rate applied
            and provided by Enfuce is always the latest one at any given time.
        fxRatePaymentSchemeRaw:
          type: number
          description: >-
            Payment scheme exchange rate for the fromCurrency and toCurrency
            currency pair. This rate will not include any issuer mark-up. The
            value is always rounded to eight (8) decimal places. As of 12/2022,
            Visa and Mastercard update their exchange rates on business days at
            1 AM (GMT) and at 6 PM (GMT) respectively. Please note that the
            times at which payment schemes update their rates is subject to
            change without advance notice. However, the exchange rate applied
            and provided by Enfuce is always the latest one at any given time.
        fxRateWithMarkup:
          type: number
          description: >-
            Applicable exchange rate for the customer, i.e. payment scheme
            exchange rate between the fromCurrency and toCurrency currency pair
            including issuer mark-up. The value is always rounded to four (4)
            decimal places.
        fxRateWithMarkupRaw:
          type: number
          description: >-
            Applicable exchange rate for the customer, i.e. payment scheme
            exchange rate between the fromCurrency and toCurrency currency pair
            including issuer mark-up. The value is always rounded to eight (8)
            decimal places.
        fxRateEcb:
          type: number
          description: >-
            ECB exchange rate between the fromCurrency and toCurrency currency
            pair including issuer mark-up. The value is always rounded to four
            (4) decimal places. As of 12/2022, the ECB updates exchange rates
            once per business day around 2 PM (GMT). Please note that the times
            at which the ECB updates its rates is subject to change without
            advance notice. However, the exchange rate applied and provided by
            Enfuce is always the latest one at any given time.
        fxRateEcbRaw:
          type: number
          description: >-
            ECB exchange rate between the fromCurrency and toCurrency currency
            pair including issuer mark-up. The value is always rounded to
            decimal (8) decimal places. As of 12/2022, the ECB updates exchange
            rates once per business day around 2 PM (GMT). Please note that the
            times at which the ECB updates its rates is subject to change
            without advance notice. However, the exchange rate applied and
            provided by Enfuce is always the latest one at any given time.
        markupPercentageOverEcb:
          type: number
          minimum: 0
          exclusiveMinimum: false
          maximum: 100
          exclusiveMaximum: false
          description: >-
            Comparison of the customer applicable rate (payment scheme rate plus
            issuer mark-up) versus the ECB rate expressed as a percentage. A
            positive value represents in percentages how much higher the
            customer applicable rate is compared to the ECB rate.
      title: getFxRatesV2Response
    errorResponse:
      type: object
      properties:
        code:
          type: string
          description: An error code indicating what kind of error. I.e. HTTP error code
        message:
          type: string
          description: Error message in human-readable format
        id:
          type: string
          format: uuid
          description: Unique error identifier
        errorCode:
          type: string
          description: Enfuce code for a specific error type
        errorType:
          type: string
          description: Error type
          enum:
            - STATIC_VALIDATION_ERROR
            - DYNAMIC_VALIDATION_ERROR
            - INTEGRATION_ERROR
            - SECURITY_ERROR
            - UNEXPECTED_ERROR
        errorReason:
          type: string
          description: Free-form text explaining the error reason
        timestamp:
          type: string
          format: date-time
          description: Datetime when error occurred
    getFxRatesV2Request:
      type: object
      required:
        - fromAmount
        - fromCurrency
        - toCurrency
        - issuerMarkupPercentage
      properties:
        fromAmount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: >-
            The transaction amount in the foreign currency that the end user
            requests to convert
        fromCurrency:
          $ref: '#/components/schemas/fromCurrencyFxRateV2'
        toCurrency:
          $ref: '#/components/schemas/toCurrencyFxRateV2'
        issuerMarkupPercentage:
          type: number
          format: double
          minimum: 0
          exclusiveMinimum: false
          maximum: 100
          exclusiveMaximum: false
          example: 10
          description: >-
            The issuer's mark-up percentage that is applied to foreign currency
            purchases
      title: getFxRatesV2Request
    fromCurrencyFxRateV2:
      type: string
      pattern: '[A-Z]{3}'
      example: EUR
      description: >-
        The foreign currency that the end user requests to convert. Currency is
        given with a ISO 4217 currency code and needs to be a European Central
        Bank ("ECB") supported currency.
    toCurrencyFxRateV2:
      type: string
      pattern: '[A-Z]{3}'
      example: EUR
      description: >-
        The card's settlement currency. Currency is given with a ISO 4217
        currency code and needs to be a ECB supported currency.
  requestBodies:
    getFxRatesV2RequestBody:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getFxRatesV2Request'
      description: ''
      required: true

````