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

# Create Conversion

> Create a new currency conversion within your UQPAY account balances. This allows you to exchange one currency for another at the available rate.
##### Usage Guidelines
- If using a pre-generated quote, provide a valid `quote_id`. The key conversion parameters (`buy_currency`, `sell_currency`, `conversion_date`) must match the quote details.
- Specify both `buy_currency` and `sell_currency`, but define only one of either `buy_amount` or `sell_amount`. The defined amount represents the dealt (fixed) side, while the other amount will be automatically calculated based on UQPAY's exchange rate.




## OpenAPI

````yaml /global-account/v1.6/banking.yaml post /v1/conversion
openapi: 3.0.2
info:
  title: Banking API
  version: 0.0.1
  description: >
    UQPAY Banking API provides comprehensive banking and payment solutions for
    global money movement.


    ## Key Features

    - International payments and transfers

    - Multi-currency account management

    - Real-time currency conversion

    - Virtual account services

    - Fund deposit and withdrawal


    ## Authentication

    Use API keys to authenticate your client requests when utilizing UQPAY APIs.

    API keys are unique data strings used to authenticate users and enable
    access to privileged operations.

    Your API key should be kept confidential and secure at all times.


    ## Service Components

    - **Payout**: Create and manage international fund transfers to
    beneficiaries

    - **Payer**: Manage entities making payments and authorizing fund transfers

    - **Beneficiary**: Handle recipient information and bank details

    - **Balance**: View and manage multi-currency account balances

    - **Deposit**: Process incoming fund transfers

    - **Virtual Accounts**: Utilize local bank accounts in foreign currencies

    - **Conversion**: Execute currency exchange at competitive rates


    ## Getting Started

    1. Obtain API credentials

    2. Set up test environment using sandbox URL

    3. Implement authentication

    4. Start with basic operations


    ## Support

    For technical support and integration assistance, contact UQPAY support
    team.
  contact:
    name: UQPAY Support
    url: https://www.uqpay.com/support
    email: banking.tech@uqpay.com
  license:
    name: Proprietary
    url: https://www.uqpay.com/legal/api-terms
  termsOfService: https://www.uqpay.com/legal/terms
  x-api-id: banking-api-v1.6.0
  x-logo:
    url: https://uqpay.com/img/UQPAY_LogoAnimv2.gif
    backgroundColor: '#FFFFFF'
    altText: UQPAY Logo
  x-categories:
    - Banking
    - Payment Processing
    - Foreign Exchange
servers:
  - url: https://api-sandbox.uqpaytech.com/api
    description: Sandbox base URL.
  - url: https://api.uqpay.com/api
    description: Production base URL.
security: []
tags:
  - name: Balances
    description: >-
      View and manage available funds across different currencies in your
      account.
  - name: Transfers
    description: >-
      A wallet transfer resource is used for sending funds directly from your
      UQPAY account to a connected account.
  - name: Deposits
    description: >-
      Deposits are bank transfers made into your UQPAY Global Accounts for
      adding funds or collecting funds from third parties.
  - name: Virtual Accounts
    description: >-
      Virtual Accounts function as local bank accounts in foreign currencies.
      They enable worldwide fund collection with account details that allow you
      to receive funds from various platforms. Virtual Accounts can also be used
      to top up your UQPAY balance.
  - name: Payout
    description: >-
      A Payout resource is created when you send funds to a beneficiary. It
      details the beneficiary, bank details, the amount being paid, its status,
      and other relevant information. You can create the payout using either
      direct beneficiary details or a previously created beneficiary ID.
  - name: Payers
    description: >-
      The payer is the party making the payout and authorizing the transfer of
      funds from their account to the beneficiary's account.
  - name: Beneficiaries
    description: >-
      The beneficiary is the recipient of the funds and is typically the party
      who will ultimately benefit from the payout.
  - name: Conversion
    description: Manage currency conversions and exchange rates for your transactions.
  - name: Exchange Rates
    description: >-
      Retrieve real-time exchange rates for a specified currency pair or all
      available pairs.
  - name: Global Accounts
    description: >-
      ⚠️ WARNING This API version is deprecated. Eventually, a deprecated API
      version becomes unsupported. Global Accounts are foreign currency accounts
      that function as local bank accounts.
  - name: Simulator
    description: Simulate deposit transactions on the sandbox environment.
paths:
  /v1/conversion:
    post:
      tags:
        - Conversion
      summary: Create Conversion
      description: >
        Create a new currency conversion within your UQPAY account balances.
        This allows you to exchange one currency for another at the available
        rate.

        ##### Usage Guidelines

        - If using a pre-generated quote, provide a valid `quote_id`. The key
        conversion parameters (`buy_currency`, `sell_currency`,
        `conversion_date`) must match the quote details.

        - Specify both `buy_currency` and `sell_currency`, but define only one
        of either `buy_amount` or `sell_amount`. The defined amount represents
        the dealt (fixed) side, while the other amount will be automatically
        calculated based on UQPAY's exchange rate.
      operationId: create-conversion
      parameters:
        - $ref: '#/components/parameters/XOnBehalfOf'
        - $ref: '#/components/parameters/XIdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConversionRequest'
      responses:
        '200':
          description: OK - Successfully retrieved a payout.
          headers:
            x-response-id:
              $ref: '#/components/headers/XResponseId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateConversionResponse'
                title: PayoutDetailResponse
      security:
        - XAuthToken: []
components:
  parameters:
    XOnBehalfOf:
      in: header
      name: x-on-behalf-of
      schema:
        type: string
      required: false
      description: >
        Specifies the sub-account on whose behalf the request is made. This
        should be set to the `account_id`, which can be retrieved via the [List
        Connected
        Accounts](/account-center/v1.6/api-reference/list-connected-accounts-1).
        If omitted or empty, the request is executed using the master account.

        More information at [Connected
        Accounts](/account-center/v1.6/guide/connected-accounts).
      example: 18523f72-f4de-4f9c-bb8e-ec7d1c4f32be
    XIdempotencyKey:
      in: header
      name: x-idempotency-key
      schema:
        type: string
        format: uuid
      required: true
      description: >-
        A unique identifier (UUID) used to maintain operation idempotency,
        ensuring that repeated executions of the same operation do not result in
        unintended effects or duplication. It helps preserve data consistency in
        the face of network errors, retries, or failures.
      example: 2adesf8e-9d63-44bc-b975-9b6ae3440dde
  schemas:
    CreateConversionRequest:
      type: object
      required:
        - quote_id
        - buy_currency
        - sell_currency
        - conversion_date
      properties:
        quote_id:
          type: string
          example: 784832f7-1f8a-4b08-ac2a-8719b5b2a590
          description: A unique UUID identifier for the quote.
        sell_currency:
          type: string
          description: >-
            Currency code
            [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).
          example: USD
        sell_amount:
          type: string
          example: '1000.00'
          description: The amount of the currency that was sold in the conversion.
        buy_currency:
          type: string
          description: >-
            Currency code
            [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).
          example: SGD
        buy_amount:
          type: string
          example: '1000.00'
          description: The amount of the currency that was purchased in the conversion.
        conversion_date:
          type: string
          example: '2024-08-26'
          description: >
            The designated date on which the currency conversion will be
            executed. This must be a valid available date for conversion.


            Only the current calendar date is supported — past or future dates
            are not allowed.  

            Format: `YYYY-MM-DD`.
    CreateConversionResponse:
      type: object
      required:
        - conversion_id
        - short_reference_id
        - buy_amount
        - buy_currency
        - sell_amount
        - sell_currency
        - created_date
        - currency_pair
        - reference
        - status
      properties:
        conversion_id:
          type: string
          example: 784832f7-1f8a-4b08-ac2a-8719b5b2a590
          description: A unique UUID identifier for the conversion transaction.
        short_reference_id:
          $ref: '#/components/schemas/ShortReferenceId'
        sell_currency:
          type: string
          description: >-
            Currency code
            [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).
          example: USD
        sell_amount:
          type: string
          example: '10'
          description: The amount of the currency that was sold in the conversion.
        buy_currency:
          type: string
          description: >-
            Currency code
            [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).
          example: SGD
        buy_amount:
          type: string
          example: '7.36'
          description: The amount of the currency that was purchased in the conversion.
        created_date:
          type: string
          example: '2024-08-22T17:12:58+08:00'
          description: The timestamp when the conversion transaction was initiated.
        currency_pair:
          type: string
          example: USDSGD
          description: >-
            The currency pair that the quote is for. The direction of the
            currency pair is per market convention where possible.
        reference:
          type: string
          example: XC240822-TXCRW2EI
          description: The reference generated by the system to identify the entity.
        status:
          type: string
          example: AWAITING_FUNDS
          description: >
            The current status of the conversion transaction. Valid values are: 

            - `PROCESSING`: Currency conversion request is being processed by
            the system.

            - `AWAITING_FUNDS`: System is waiting for the source funds to be
            available.

            - `TRADE_SETTLED`: Currency exchange has been executed at the agreed
            rate.

            - `FUNDS_ARRIVED`: Converted funds have been received in the target
            currency.
    ShortReferenceId:
      type: string
      example: P220406-LLCVLRM
      description: The reference generated by the system to identify the entity.
  headers:
    XResponseId:
      description: >-
        Universally unique identifier (UUID v4) for the response. Helpful for
        identifying a request when communicating with UQPAY support.
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  securitySchemes:
    XAuthToken:
      type: apiKey
      in: header
      name: x-auth-token
      description: The API token for login provided by UQPay.

````