---
title: "Request FX Quote for Internal Transfer"
method: POST
path: "/internal-transfer/quote/"
tags: ["FX Quotes"]
---

# Request FX Quote for Internal Transfer

`POST /internal-transfer/quote/`

Create a quote for an internal transfer between different currencies. 

The quote will be valid for a limited time. 

You can then use the quote ID to execute the internal transfer.

## Headers

- `x-company-id` integer — ID of a child company for authentication. If not provided, the parent company will be authenticated.

## Request body

- PostFxQuoteRequest
  - `external_id` string — External ID of the quote
  - `source_account_id` string, required — Source account ID
  - `target_account_id` string, required — Target account ID
  - `source_amount` number — Amount to transfer from source to target account (in source account currency). If not provided, the target_amount must be provided
  - `target_amount` number — Amount to receive in the target account currency (in target account currency). If not provided, the source_amount must be provided
  - `requested_lock_time` integer — The requested duration (in seconds) for which the quote should be held. Note that this feature is not supported in all markets. The actual expiration time will always be provided in the 'expire_at' field. Please note that a longer lock time may result in a wider spread, making the quote more expensive.
  - `callback_url` string — URL to send a POST request with the result of the quote. The schema of the POST request is the same as the response of this endpoint. Callbacks for quotes are usually not necessary, if already listening to callbacks of internal transfers.

## Response `200`

Successful Response

- PostFxQuoteResponse
  - `status` 'success'
  - `data` GetFxQuoteResult, required
    - `id` string, required — Quote ID
    - `company_id` string, required — Company ID
    - `external_id` string — External ID of the quote
    - `source_amount` number, required — Amount to transfer from source to target account (in source account currency)
    - `target_amount` number — Amount to receive in the target account currency (in target account currency)
    - `status` string, required — Status of the quote
    - `failure_reason` string — Reason of the failure, if applicable
    - `source_account_id` string, required — Source account ID
    - `target_account_id` string, required — Target account ID
    - `rate` number — FX rate
    - `expire_at` string, date-time — Expiration date of the rate
    - `created_at` string, date-time — Creation date of the quote
    - `updated_at` string, date-time — Last update date of the quote
    - `callback_url` string — URL to send a POST request with the result of the quote. The schema of the POST request is the same as the response of this endpoint
    - `company` CompanyToIncludeInResponses, required
      - `id` string, required
      - `name` string, required
    - `source_account` AccountToIncludeInResponses, required
      - `id` string, required
      - `account_number` string, required
      - `currency` string, required
      - `country` string, required
      - `company` CompanyToIncludeInResponses, required
        - `id` string, required
        - `name` string, required
    - `target_account` AccountToIncludeInResponses, required
      - `id` string, required
      - `account_number` string, required
      - `currency` string, required
      - `country` string, required
      - `company` CompanyToIncludeInResponses, required
        - `id` string, required
        - `name` string, required

## Other responses

- `403` — Forbidden
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/infiniaweb/apis/payins.md) · [All operations](https://skmtc.net/infiniaweb/apis/payins/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/infiniaweb/payins/revisions/3f453785c478/schema)
