---
title: "Create a withdrawal"
method: POST
path: "/withdrawals"
tags: ["Withdrawals"]
---

# Create a withdrawal

`POST /withdrawals`

## Request

- Base URL: `https://api.enterprise.airtm.com/v2`
- URL: `https://api.enterprise.airtm.com/v2/withdrawals`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2/docs/withdrawals/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a withdrawal for the enterprise.

## Request body

- CreateWithdrawalRequest
  - `amount` number, double, required: The amount to withdraw.
  - `externalAccountId` string, required: The id of the external (bank or crypto) account to withdraw to.
  - `paymentRail` 'wire' | 'ach' | 'sepa' | 'swift'

## Response `200`

Ok

- WithdrawalResponse
  - `id` string, required: The id of the withdrawal.
  - `status` 'COMPLETED' | 'CREATED' | 'FAILED', required
  - `amount` number, double, required: The amount of the withdrawal.
  - `paymentRail` union, required
    - 'wire' | 'ach' | 'sepa' | 'swift'
    - 'stellar' | 'ethereum'
  - `accountDetail` RecordStringUnknown, required: Construct a type with a set of properties K of type T
  - `failureReason` string: The failure reason of the withdrawal in case of failure.
  - `createdAt` string, required
  - `updatedAt` string, required

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2.md) - [All operations](https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2/revisions/c9ed13d4c5c0?raw)
