Airtm Withdrawals API
# Withdrawals The withdrawals API provides the capability to withdraw your funds to a previously registered external account (Bank or Crypto)
# Withdrawals The withdrawals API provides the capability to withdraw your funds to a previously registered external account (Bank or Crypto)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/airtm-withdrawals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Airtm Enterprise API V2 Withdrawals API
version: 1.155.0
description: '# Introduction
The Airtm Enterprise API enables organizations to send and receive payments globally through a simple REST API.'
contact:
name: Airtm Enterprise
email: enterprise@airtm.com
url: https://www.airtm.com
servers:
- url: https://api.enterprise.airtm.com/v2
- url: https://api.stg.enterprise.airtm.com/v2
tags:
- name: Withdrawals
description: '# Withdrawals
The withdrawals API provides the capability to withdraw your funds to a previously registered external account (Bank or Crypto)'
paths:
/withdrawals:
post:
operationId: CreateWithdrawal
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/WithdrawalResponse'
default:
description: Error
content:
application/json:
schema:
properties:
code:
type: string
description: 'Machine-friendly error code
See the API error code catalog in the documentation for the endpoint surface you are using.'
example: '415096'
message:
type: string
description: Human-readable error message
example: Invalid email address
data:
$ref: '#/components/schemas/Record_string.unknown_'
description: Additional data related to the error
example:
email: invalid@address
required:
- code
- message
type: object
description: Creates a withdrawal for the enterprise.
summary: Create a withdrawal
tags:
- Withdrawals
security:
- basicAuth: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWithdrawalRequest'
get:
operationId: ListWithdrawals
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/Paginated_WithdrawalResponse_'
default:
description: Error
content:
application/json:
schema:
properties:
code:
type: string
description: 'Machine-friendly error code
See the API error code catalog in the documentation for the endpoint surface you are using.'
example: '415096'
message:
type: string
description: Human-readable error message
example: Invalid email address
data:
$ref: '#/components/schemas/Record_string.unknown_'
description: Additional data related to the error
example:
email: invalid@address
required:
- code
- message
type: object
summary: List withdrawals
tags:
- Withdrawals
security:
- basicAuth: []
parameters:
- description: Gets results before the specified cursor.
in: query
name: before
required: false
schema:
type: string
- description: Gets results after the specified cursor.
in: query
name: after
required: false
schema:
type: string
- description: The maximum number of items to fetch.
in: query
name: perPage
required: false
schema:
default: 100
format: int32
type: integer
minimum: 10
maximum: 1000
- in: query
name: status
required: false
schema:
$ref: '#/components/schemas/EnterpriseDirectWithdrawStatus'
/withdrawals/{id}:
get:
operationId: GetWithdrawalById
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/WithdrawalResponse'
default:
description: Error
content:
application/json:
schema:
properties:
code:
type: string
description: 'Machine-friendly error code
See the API error code catalog in the documentation for the endpoint surface you are using.'
example: '415096'
message:
type: string
description: Human-readable error message
example: Invalid email address
data:
$ref: '#/components/schemas/Record_string.unknown_'
description: Additional data related to the error
example:
email: invalid@address
required:
- code
- message
type: object
summary: Get a single withdrawal
tags:
- Withdrawals
security:
- basicAuth: []
parameters:
- description: The withdrawal id
in: path
name: id
required: true
schema:
type: string
components:
schemas:
WithdrawalResponse:
properties:
id:
type: string
description: The id of the withdrawal.
status:
$ref: '#/components/schemas/EnterpriseDirectWithdrawStatus'
description: The status of the withdrawal.
amount:
type: number
format: double
description: The amount of the withdrawal.
paymentRail:
$ref: '#/components/schemas/PaymentRail'
description: The payment rail of the withdrawal.
accountDetail:
$ref: '#/components/schemas/Record_string.unknown_'
description: The crypto or bank account detail of the withdrawal.
failureReason:
type: string
description: The failure reason of the withdrawal in case of failure.
createdAt:
type: string
updatedAt:
type: string
required:
- id
- status
- amount
- paymentRail
- accountDetail
- createdAt
- updatedAt
type: object
additionalProperties: false
Record_string.unknown_:
properties: {}
additionalProperties: {}
type: object
description: Construct a type with a set of properties K of type T
CryptoPaymentRail:
enum:
- stellar
- ethereum
type: string
x-enum-varnames:
- STELLAR
- ETHEREUM
PaymentRail:
anyOf:
- $ref: '#/components/schemas/BankPaymentRail'
- $ref: '#/components/schemas/CryptoPaymentRail'
EnterpriseDirectWithdrawStatus:
enum:
- COMPLETED
- CREATED
- FAILED
type: string
x-enum-varnames:
- COMPLETED
- CREATED
- FAILED
Paginated_WithdrawalResponse_:
description: Represents a paginated collection of items.
properties:
items:
items:
$ref: '#/components/schemas/WithdrawalResponse'
type: array
description: The items in the current page.
startCursor:
type: string
description: The cursor for the first item in the current page.
endCursor:
type: string
description: The cursor for the last item in the current page.
required:
- items
type: object
additionalProperties: false
BankPaymentRail:
enum:
- wire
- ach
- sepa
- swift
type: string
x-enum-varnames:
- WIRE
- ACH
- SEPA
- SWIFT
CreateWithdrawalRequest:
properties:
amount:
type: number
format: double
description: The amount to withdraw.
externalAccountId:
type: string
description: The id of the external (bank or crypto) account to withdraw to.
paymentRail:
$ref: '#/components/schemas/BankPaymentRail'
description: 'Optional for bank withdrawals: The payment rail to use for the withdrawal.
If not provided, the payment rail will be inferred from the external account.
e.g. if the external account is of type `us_ach`, the payment rail will be `ach`.
if the external account is of type `us_wire`, the payment rail will be `wire`.
if the external account is of type `iban`, the payment rail will be `sepa`.
But you can also use wire for an us_ach account or ach for a us_wire account.
And also you specify swift for an iban account if you wish.'
required:
- amount
- externalAccountId
type: object
additionalProperties: false
securitySchemes:
basicAuth:
type: http
scheme: basic
x-tagGroups:
- name: Payout Operations
tags:
- Payouts
- Bulk Payouts
- Users
- name: Payin Operations
tags:
- Payins
- name: Account
tags:
- Me
- Deposits
- Reports
- name: Direct Withdrawal
tags:
- External Bank Account
- External Crypto Account
- Withdrawals
- name: Webhooks
tags:
- Webhooks