---
title: "Make Internal Transfer"
method: POST
path: "/internal-transfer/"
tags: ["Internal Transfers"]
---

# Make Internal Transfer

`POST /internal-transfer/`

Make an internal transfer between accounts of the same family of companies. An internal transfer can have the following statuses:

* PENDING: The transfer has been created.
* PROCESSING: The transfer has started to be processed and funds have been debited.
* SETTLING: The transfer is being settled.
* COMPLETED: The funds have been sent to the destination account (but not necessarily received yet).
* FAILED: The transfer failed.

## Headers

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

## Request body

- InternalTransferRequest
  - `idempotency_key` string — A unique key that ensures a request is processed only once. If the same key is sent with multiple requests, the server returns the original response instead of performing the action again.
  - `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
  - `quote_id` string — Quote request ID to use a previously obtained quote. If not provided, the current rate will be used and accepted
  - `callback_url` string — URL to send a POST request with the result of the transfer. The schema of the POST request is the same as the response of this endpoint

## Response `200`

Successful Response

- InternalTransferResponse
  - `status` 'success'
  - `data` InternalTransferResultInput, required
    - `id` string, required — Transfer ID
    - `idempotency_key` string — A unique key that ensures a request is processed only once. If the same key is sent with multiple requests, the server returns the original response instead of performing the action again.
    - `company_id` string, required — Company ID
    - `created_at` string, date-time, required — Creation date of the transfer
    - `updated_at` string, date-time, required — Last update date of the transfer
    - `quote_id` string — Quote request ID used in the transfer, if applicable
    - `rate` number — FX rate used in the transfer, if applicable
    - `source_amount` number — Amount of the transfer
    - `destination_amount` number — Amount received in the target account currency
    - `source_account_id` string, required — Source account ID
    - `target_account_id` string, required — Target account ID
    - `status` 'PENDING' | 'PROCESSING' | 'SETTLING' | 'COMPLETED' | 'FAILED', required
    - `failure_reason` string — Reason of the failure, if the transfer failed
    - `callback_url` string — URL to send a POST request with the result of the transfer, if applicable
    - `voucher_ids` string[] — Voucher IDs associated with the transfer of funds to the final destination.
    - `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
      - `id` string, required
      - `account_number` string, required
      - `currency` string, required
      - `country` string, required
      - `company` CompanyToIncludeInResponses, required
        - `id` string, required
        - `name` 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)
