---
title: "Initiate a transfer of funds"
method: POST
path: "/transfers"
tags: ["Transfers"]
---

# Initiate a transfer of funds

`POST /transfers`

## Request

- Base URL: `https://transfers.checkout.com`
- URL: `https://transfers.checkout.com/transfers`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `string` scopes: `transfers:create`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/checkout/apis/checkout-com-api-reference/docs/transfers/post.ts> (a function with typed inputs; its response is checked against the schema)

Initiate a transfer of funds from source entity to destination entity.

## Headers

- `Cko-Idempotency-Key` string, required

## Request body

- CreateTransferRequest
  - `reference` string: A reference you can use later to identify this transfer
  - `transfer_type` 'commission' | 'promotion' | 'refund', required: The type of transfer
  - `source` TransferSource, required: The object representing the source of the funds involved in the transfer.
    - `id` string: The identifier representing the source of the funds. Currently this should be an entity ID.
    - `amount` integer: The amount to be transferred, in the minor unit of the currency (which is represented by the `id` and, optionally, the `currency` property)
    - `currency` string, ISO 4217: The currency that the transfer should be made in. This should be a currency supported by both the source and destination of the transfer.
  - `destination` TransferDestination, required: The object representing the destination of the funds involved in the transfer.
    - `id` string: The identifier representing the destination of the funds. Currently this should be an entity ID.

## Response `201`

Transfer successfully created.

- CreateTransferResponse
  - `id` string: The `id` representing the initiated transfer.
  - `status` 'pending' | 'completed' | 'rejected': The current state of the initiated transfer.
  - `_links` object
    - `self` TransferLink
      - `href` string: The link URL.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `422`: Invalid data was sent

---

[API](https://skmtc.dev/checkout/apis/checkout-com-api-reference.md) - [All operations](https://skmtc.dev/checkout/apis/checkout-com-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/checkout/apis/checkout-com-api-reference/revisions/0f1abdb1c3e9?raw)
