---
title: "Request withdrawal."
method: POST
path: "/v1/withdrawals"
tags: ["Transactions"]
---

# Request withdrawal.

`POST /v1/withdrawals`

Initiate a withdrawal.

## Headers

- `X-Request-Id` string

## Request body

- object
  - `accountId` string, uuid, required
  - `currency` string, required
  - `quantity` string, required — The quantity to withdraw
  - `bankAccount` StoredBankAccountInformation
    - `bankAccountId` string, uuid, required
    - `bankAccountInformation` ClientBankingInstruction, required
      - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS', required
      - `currency` string, required — ISO 3-letter currency code
      - `beneficiaryAddress` AddressInput, required
        - `addressLine1` string, required — Street address
        - `addressLine2` string, nullable — Apartment, suite, unit, building, floor, etc.
        - `city` string, required — City, town or village
        - `region` string, required — State or province
        - `postalCode` string, nullable — ZIP or postal code
        - `country` string, required — ISO 3166-1 alpha-2 country code
      - `beneficiaryBankName` string, required — The name of the financial institution holding the beneficiary account.
      - `beneficiaryBankAddress` AddressInput, required
        - `addressLine1` string, required — Street address
        - `addressLine2` string, nullable — Apartment, suite, unit, building, floor, etc.
        - `city` string, required — City, town or village
        - `region` string, required — State or province
        - `postalCode` string, nullable — ZIP or postal code
        - `country` string, required — ISO 3166-1 alpha-2 country code
      - `beneficiaryBankBic` string, nullable — The unique identifier code for the beneficiary institution, such as a BIC (Bank Identifier Code) or SWIFT code. Typically 8-11 characters.
      - `routingCode` string, nullable — The clearing code or routing number for the beneficiary institution. Used for domestic transfers.
      - `beneficiaryAccountNumber` string, required — The account number or IBAN of the beneficiary. Supports various formats (e.g., IBAN up to 34 characters).
      - `beneficiaryBankMemo` string, nullable — Payment reference sent with the transfer. If provided, ensures the funds are processed without unnecessary delays and helps the beneficiary identify the payment purpose.
      - `intermediaryBankName` string, nullable — The name of the intermediary financial institution facilitating the payment (e.g., for cross-border transfers). Required only if an intermediary is involved.
      - `intermediaryBankAddress` AddressInput
        - `addressLine1` string, required — Street address
        - `addressLine2` string, nullable — Apartment, suite, unit, building, floor, etc.
        - `city` string, required — City, town or village
        - `region` string, required — State or province
        - `postalCode` string, nullable — ZIP or postal code
        - `country` string, required — ISO 3166-1 alpha-2 country code
      - `intermediaryBankBic` string, nullable — BIC/SWIFT code of the intermediary bank. If required for the payment route, ensures proper routing and prevents delays or rejections.
      - `intermediaryAccountNumber` string, nullable — Account number held at the intermediary bank for correspondent banking. If required, ensures funds are properly credited and forwarded without delays.
      - `beneficiaryGivenNames` string — Required for INDIVIDUAL beneficiary type
      - `beneficiarySurnames` string — Required for INDIVIDUAL beneficiary type
      - `beneficiaryLegalName` string, nullable — Required for BUSINESS beneficiary type
    - `status` 'PENDING' | 'ACTIVE' | 'FAILED' | 'REMOVED' | 'COOLING_OFF' | 'COOLED_OFF', required
    - `createdAt` string, date-time
    - `statusReason` string, nullable
  - `clientMemo` string, nullable — Optional memo or note for the withdrawal

## Response `200`

Successful response

- Withdrawal
  - `transactionType` 'DEPOSIT' | 'WITHDRAWAL' | 'TRANSFER', required
  - `transactionStatus` 'FAILED' | 'PROCESSING' | 'CONFIRMING' | 'COMPLETED'
  - `withdrawalId` string, uuid, required
  - `customerId` string, uuid, required
  - `accountId` string, uuid, required
  - `withdrawalCurrency` string, required
  - `netWithdrawalQuantity` string, required
  - `withdrawalFeeType` 'FIXED' | 'VARIABLE' | 'LIVE', required
  - `withdrawalFeeRate` string, required
  - `withdrawalFeeQuantity` string, required
  - `withdrawalFeeCurrency` string, required
  - `memo` string, nullable
  - `txHash` string, nullable
  - `clientMemo` string, nullable
  - `grossWithdrawalQuantity` string, required
  - `requestedAt` string, date-time, required
  - `completedAt` string, date-time, nullable

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Insufficient Privileges
- `409` — Duplicate request error
- `4XX` — Client error
- `5XX` — Server error

---

[API](https://skmtc.net/aquanow/apis/aquanow-cams-rest-api.md) · [All operations](https://skmtc.net/aquanow/apis/aquanow-cams-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aquanow/aquanow-cams-rest-api/revisions/c62a02b27407/schema)
