---
api: 'Merchant API'
---

# Create a payout

Create an internal payout from your Merchant account to a business account.

Payout amount cannot be specified: the full available balance from your merchant account for the specified `source_currency` is paid out to the destination account. The payout amount is calculated during processing, which is why the `amount` and `currency` fields are absent from the response while the payout is in the `processing` state.

Use the [Retrieve a payout endpoint](https://developer.revolut.com/docs/api/merchant#retrieve-payout) to track its status.

## Endpoint

POST `/api/payouts`

## Parameters

### header parameters

- `Idempotency-Key` (string, optional)
  The `Idempotency-Key` ensures that requests are processed only once, preventing multiple executions of the same operation due to retries or duplicate requests.
  
  This header is optional and can accept any unique string value the merchant uses.
  
  A recommended practice is to use a unique identifier from your system (such as the entity's ID or a request UUID) as the idempotency key. This facilitates tracking and managing requests effectively.

## Request body

### Attributes

- `source_currency` (string)
    [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case.
    
    :::info
    For more information about the supported currencies, see: [Help Center](https://help.revolut.com/business/help/merchant-accounts/payments/in-which-currencies-can-i-accept-payments/).
    :::
- `destination_type` (enum)
    The type of account that receives the payout. 
    
    :::note
    Only internal payouts to business accounts are supported.
    :::
    Possible enum values:

    - `business_account`
- `destination_account_id` (string)
    The ID of the business account that receives the payout.

## Returns

### 201

Payout created

#### Response attributes

- `id` (string)
    Permanent payout ID used for payouts operations.
- `state` (enum)
    The state of the payout.
    Possible enum values:

    - `processing`
    - `completed`
    - `failed`
- `created_at` (string)
    The date and time the payout was created.
- `destination_type` (enum)
    The destination of the payout funds when a merchant initiates a withdrawal from their merchant account.
    
    | Destination type | Description |
    | ---------------- | ----------- |
    | `business_account` | The funds were moved from the merchant account to the merchant's business account within the platform. This indicates an **internal transfer**, allowing the merchant to access the funds within their own business account. |
    | `external_account` | The funds were transferred to an external bank account or beneficiary outside the platform. This indicates a **transfer to an external account**, enabling the merchant to withdraw funds to external financial institutions. |
    | `settlement_account` | The funds were moved to the merchant's settlement account within the platform. |
    Possible enum values:

    - `business_account`
    - `external_account`
    - `settlement_account`
- `amount` (integer, optional)
    The total amount of the payout in minor currency units. For example, `7034` represents €70.34.
- `currency` (string, optional)
    [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case.
    
    :::info
    For more information about the supported currencies, see: [Help Center](https://help.revolut.com/business/help/merchant-accounts/payments/in-which-currencies-can-i-accept-payments/).
    :::

## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 422 | Unprocessable Entity |
| 500 | Internal Server Error |
