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

# Convert currency

> Converts an amount from one currency to another. convertedAmount is rounded down to 2 decimal places.



## OpenAPI

````yaml /openapi.json post /v1/exchange-rates/convert
openapi: 3.0.0
info:
  title: Jupico - OpenAPI 3.0
  description: >-
    The Jupico API lets Service Providers onboard merchants, process card and
    eCheck (ACH) payments, run hosted payment pages, manage recurring billing,
    send payouts, and query every resource. All endpoints use HTTPS with Basic
    authentication and accept and return JSON. Endpoints are grouped by
    workflow: onboard merchants first, then accept payments, then move funds and
    report.
  termsOfService: https://help.jupico.com/references-and-resources/legal
  contact:
    email: support@jupico.com
  license:
    name: Jupico License
    url: https://jupico.com
  version: 1.0.5
servers:
  - url: https://sandbox-platform.jupico.com
security:
  - basicAuth: []
tags:
  - name: Status
    description: Health check for the Jupico API.
  - name: Onboarding Invites
    description: >-
      Create and send invites that onboard merchants through the Jupico-hosted
      flow, with optional pre-filled identity, fees, and payout bank account
      data.
  - name: Provisioning
    description: >-
      Onboard merchants from your own UI. Collect onboarding data and submit it
      through the provisioning chain: applicant → application → submerchant.
  - name: Session
    description: >-
      Create browser authorization sessions for the Jupico web components, so
      card and bank account data is tokenized client-side and never touches your
      servers.
  - name: Tokenization
    description: >-
      Convert one-time tokens from the web components into permanent Jupico
      tokens, or tokenize raw card data if your systems are PCI DSS compliant.
  - name: Customer
    description: >-
      Create and manage customer records that payments, subscriptions,
      installments, and invoices link to.
  - name: Card Transactions
    description: >-
      Process credit and debit card transactions using tokenized card data:
      sale, authorization, capture, void, refund, and rollback.
  - name: eCheck Transactions
    description: >-
      Debit customer bank accounts via eCheck (ACH): sale, void, refund,
      rollback, and bank account tokenization.
  - name: Checkouts
    description: >-
      Hosted checkout sessions where customers complete payment on a
      Jupico-hosted page.
  - name: Payment Links
    description: >-
      Shareable links that open a Jupico-hosted payment page — no integration
      code needed at the point of sharing.
  - name: Invoices
    description: Create and email invoices that customers pay online.
  - name: Subscriptions
    description: >-
      Recurring billing. Plans define billing schedules and pricing models;
      subscriptions enroll customers against a stored payment token.
  - name: Installments
    description: Split a fixed total into scheduled payments with an optional deposit.
  - name: Payouts
    description: >-
      Send funds from a submerchant's available balance to a tokenized bank
      account with on-demand payout instructions.
  - name: Query
    description: >-
      Search and report across every resource: transactions, merchants,
      settlements, balances, disputes, fees, and more. All query endpoints
      accept the same filter, sort, and pagination envelope — see the Query
      Capabilities guide.
  - name: Currency Exchange API
    description: >-
      Query live exchange rates, convert amounts between currencies, and
      retrieve the list of supported currency codes.
paths:
  /v1/exchange-rates/convert:
    post:
      tags:
        - Currency Exchange API
      summary: Convert currency
      description: >-
        Converts an amount from one currency to another. convertedAmount is
        rounded down to 2 decimal places.
      operationId: convertCurrency
      requestBody:
        $ref: '#/components/requestBodies/convertCurrency'
      responses:
        '200':
          $ref: '#/components/responses/convertCurrency'
      security:
        - basicAuth: []
components:
  requestBodies:
    convertCurrency:
      description: Converts an amount between two currencies.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/convertCurrency'
          examples:
            convertCurrency:
              $ref: '#/components/examples/convertCurrency'
  responses:
    convertCurrency:
      description: The converted amount and the rate used.
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: >-
                  Whether the request was processed successfully. Declines
                  return HTTP 200 with `success: false`.
              message:
                type: string
                description: Human-readable result message.
              code:
                type: string
                description: Machine-readable result code. See the Error Codes reference.
              data:
                type: object
                properties:
                  from:
                    type: string
                    description: Source currency the amount was converted from.
                  to:
                    type: string
                    description: Target currency the amount was converted to.
                  amount:
                    type: number
                    description: Original amount submitted, in the source currency.
                  convertedAmount:
                    type: number
                    description: >-
                      Converted amount in the target currency, rounded down to 2
                      decimal places.
                  rate:
                    type: number
                    description: Exchange rate applied to the conversion.
                  fetchedAt:
                    type: string
                    format: date-time
                    description: >-
                      UTC timestamp of when the rate was retrieved from the rate
                      provider.
                description: The response payload.
          examples:
            convertCurrencyResponse:
              $ref: '#/components/examples/convertCurrencyResponse'
  schemas:
    convertCurrency:
      type: object
      properties:
        from:
          type: string
          minLength: 3
          maxLength: 3
          description: Source currency to convert from. 3-letter ISO 4217 code, uppercase.
          example: USD
        to:
          type: string
          minLength: 3
          maxLength: 3
          description: Target currency to convert to. 3-letter ISO 4217 code, uppercase.
          example: GBP
        amount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: >-
            Amount to convert, expressed in the source currency. Must be greater
            than zero.
          example: 250
      required:
        - from
        - to
        - amount
  examples:
    convertCurrency:
      summary: Convert 250.00 USD to GBP
      value:
        from: USD
        to: GBP
        amount: 250
    convertCurrencyResponse:
      summary: Amount converted successfully
      value:
        success: true
        message: succeeded
        code: '0'
        data:
          from: USD
          to: GBP
          amount: 250
          convertedAmount: 196.12
          rate: 0.7845
          fetchedAt: '2026-08-14T16:20:45.331Z'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````