v14

latestOpenAPI 3.1.02026-08-083813925.4 MB
Withdrawals

Create withdrawal

Creates a withdrawal request for a ledger account

Required permissions:

  • payout:withdraw_funds
  • payout:destination:read
post/withdrawals

Request body

acknowledge_bank_warningboolean nullable

Set to true to continue when the bank could not confirm the account holder's name. The withdrawal is refused without it so the creator can fix the account or link their bank first.

amountnumber required

The amount to withdraw in the specified currency

company_idstring required

The ID of the company to withdraw from.

currency'usd' | 'sgd' | 'inr' | 'aud' | 'brl' | 'cad' | 'dkk' | 'eur' | 'nok' | 'gbp' | 'sek' | 'chf' | 'hkd' | 'huf' | 'jpy' | 'mxn' | 'myr' | 'pln' | 'czk' | 'nzd' | 'aed' | 'eth' | 'ape' | 'cop' | 'ron' | 'thb' | 'bgn' | 'idr' | 'dop' | 'php' | 'try' | 'krw' | 'twd' | 'vnd' | 'pkr' | 'clp' | 'uyu' | 'ars' | 'zar' | 'dzd' | 'tnd' | 'mad' | 'kes' | 'kwd' | 'jod' | 'all' | 'xcd' | 'amd' | 'bsd' | 'bhd' | 'bob' | 'bam' | 'khr' | 'crc' | 'xof' | 'egp' | 'etb' | 'gmd' | 'ghs' | 'gtq' | 'gyd' | 'ils' | 'jmd' | 'mop' | 'mga' | 'mur' | 'mdl' | 'mnt' | 'nad' | 'ngn' | 'mkd' | 'omr' | 'pyg' | 'pen' | 'qar' | 'rwf' | 'sar' | 'rsd' | 'lkr' | 'tzs' | 'ttd' | 'uzs' | 'rub' | 'btc' | 'cny' | 'usdt' | 'kzt' | 'awg' | 'whop_usd' | 'xau' required

The available currencies on the platform

idempotency_keystring nullable

A client-generated key that makes retries safe. Retrying with the same key returns the original withdrawal instead of creating a second one.

payout_method_idstring nullable

The ID of the payout method to use for the withdrawal.

platform_covers_feesboolean nullable

Whether the platform covers the payout fees.

speed'standard' | 'instant'

The different speeds of withdrawals

statement_descriptorstring nullable

Custom statement descriptor for the withdrawal. Must be between 5 and 22 characters and contain only alphanumeric characters.

Example request

{
  "amount": 6.9,
  "company_id": "biz_xxxxxxxxxxxxxx"
}

Response

A successful response

amountnumber required

The withdrawal amount as a decimal number in the specified currency (e.g., 100.00 for $100.00 USD).

created_atstring date-time required

The datetime the withdrawal was created.

currency'usd' | 'sgd' | 'inr' | 'aud' | 'brl' | 'cad' | 'dkk' | 'eur' | 'nok' | 'gbp' | 'sek' | 'chf' | 'hkd' | 'huf' | 'jpy' | 'mxn' | 'myr' | 'pln' | 'czk' | 'nzd' | 'aed' | 'eth' | 'ape' | 'cop' | 'ron' | 'thb' | 'bgn' | 'idr' | 'dop' | 'php' | 'try' | 'krw' | 'twd' | 'vnd' | 'pkr' | 'clp' | 'uyu' | 'ars' | 'zar' | 'dzd' | 'tnd' | 'mad' | 'kes' | 'kwd' | 'jod' | 'all' | 'xcd' | 'amd' | 'bsd' | 'bhd' | 'bob' | 'bam' | 'khr' | 'crc' | 'xof' | 'egp' | 'etb' | 'gmd' | 'ghs' | 'gtq' | 'gyd' | 'ils' | 'jmd' | 'mop' | 'mga' | 'mur' | 'mdl' | 'mnt' | 'nad' | 'ngn' | 'mkd' | 'omr' | 'pyg' | 'pen' | 'qar' | 'rwf' | 'sar' | 'rsd' | 'lkr' | 'tzs' | 'ttd' | 'uzs' | 'rub' | 'btc' | 'cny' | 'usdt' | 'kzt' | 'awg' | 'whop_usd' | 'xau' required

The available currencies on the platform

error_code'account_closed' | 'account_does_not_exist' | 'account_information_invalid' | 'account_number_invalid_region' | 'account_frozen' | 'account_lookup_failed' | 'account_not_found' | 'amount_out_of_bounds' | 'attributes_not_validated' | 'b2b_payments_prohibited' | 'bank_statement_required' | 'compliance_review' | 'currency_not_supported' | 'deposit_canceled' | 'deposit_failed' | 'deposit_rejected' | 'destination_unavailable' | 'exceeded_account_limit' | 'expired_quote' | 'generic_payout_error' | 'junk_failure_reason' | 'technical_problem' | 'provider_temporarily_unavailable' | 'identification_number_invalid' | 'invalid_account_number' | 'invalid_bank_code' | 'invalid_beneficiary' | 'invalid_mailing_address' | 'invalid_branch_number' | 'invalid_branch_code' | 'invalid_phone_number' | 'invalid_routing_number' | 'invalid_swift_code' | 'invalid_company_details' | 'manual_cancelation' | 'misc_error' | 'missing_city_and_country' | 'missing_phone_number' | 'missing_remittance_info' | 'payee_name_invalid' | 'beneficiary_name_mismatch' | 'receiving_account_locked' | 'rejected_by_compliance' | 'rtp_not_supported' | 'non_transaction_account' | 'source_token_insufficient_funds' | 'ssn_invalid' | 'wallet_screenshot_required' | 'unsupported_region' | 'payout_provider_timeout' required

The different error codes a payout can be in.

error_messagestring nullable required

A human-readable message describing why the payout failed. Null if no error occurred.

estimated_availabilitystring date-time nullable required

The estimated time at which the funds become available in the destination account. Null if no estimate is available. As a Unix timestamp.

fee_amountnumber required

The fee charged for processing this withdrawal, in the same currency as the withdrawal amount.

fee_type'exclusive' | 'inclusive' required

The different fee types for a withdrawal.

idstring required

The unique identifier for the withdrawal.

markup_feenumber required

An additional markup fee charged for the withdrawal, in the same currency as the withdrawal amount. Only applies to platform accounts using Whop Rails.

payout_request_idstring nullable required

The id of the payout request (returned by POST /payouts) that this withdrawal settles. Null unless the withdrawal originated from a stablecoin payout.

speed'standard' | 'instant' required

The different speeds of withdrawals

status'requested' | 'awaiting_payment' | 'in_transit' | 'completed' | 'failed' | 'canceled' | 'denied' required

The status of a withdrawal request

trace_codestring nullable required

The ACH trace number for tracking the payout through the banking network. Null if not available or not an ACH transaction.

Example response

{
  "amount": 6.9,
  "created_at": "2023-12-01T05:00:00.401Z",
  "error_message": "Destination bank account is invalid.",
  "estimated_availability": "2023-12-01T05:00:00.401Z",
  "fee_amount": 6.9,
  "id": "wdrl_xxxxxxxxxxxxx",
  "ledger_account": {
    "id": "ldgr_xxxxxxxxxxxxx"
  },
  "markup_fee": 6.9,
  "payout_request_id": "cofr_xxxxxxxxxxxxxx",
  "payout_token": {
    "created_at": "2023-12-01T05:00:00.401Z",
    "destination_currency_code": "USD",
    "id": "potk_xxxxxxxxxxxxx",
    "nickname": "My Business Account",
    "payer_name": "Acme Corp LLC"
  },
  "trace_code": "021000021234567"
}