---
title: "wire/withdraw"
method: POST
path: "/wire/withdraw"
tags: ["Wire Endpoints"]
---

# wire/withdraw

`POST /wire/withdraw`

## Request

- Base URL: `https://earthnode-dev.vopay.com/api/v2`
- URL: `https://earthnode-dev.vopay.com/api/v2/wire/withdraw`
- Auth: none declared

This endpoint sends a wire. The wire rail is detected from the beneficiary bank identifiers supplied (or stored on the bank account behind a Token / ClientAccountID): an `ABARoutingNumber` sends a `fedwire` wire (US/USD), a `FinancialInstitutionNumber` + `BranchTransitNumber` pair sends a `lynx` wire (Canada/CAD) and a `BicSwift` sends a `swift` wire (international). Supply the identifiers for one rail only; when a stored bank account carries identifiers for more than one, the beneficiary `Country` decides. `lynx` and `swift` are reserved and currently return a "not yet available" error. The detected rail is returned as `WireType`. Either CompanyName OR FirstName and LastName must be provided.

 If a ClientAccountID is provided, the client account's first/last name, address, phone number, and default bank account will be used for the transaction.

## Request body `application/x-www-form-urlencoded`

- object
  - `AccountID` string, required: Your account ID
  - `Key` string, required: API key for the account
  - `Signature` string, required: Hashed signature for the request
  - `ClientAccountID` string: Client Account ID
  - `ContactID` string: The ID of the contact to use for this transactions. The contacts payment method associated with this transaction type will be used.
  - `FirstName` string, required: Customer's first name
  - `LastName` string, required: Customer's last name
  - `CompanyName` string, required: Company's name
  - `EmailAddress` string, required: Customer's email address
  - `PhoneNumber` string, required: Customer's phone number. Digits only - no parentheses or dashes allowed.
  - `Address1` string, required: Customer's address line 1
  - `Address2` string: Customer's address line 2
  - `City` string, required: Customer's city
  - `State` string, required: Customer's state specified using two character abbreviations (eg. CA, AZ)
  - `Country` string, required: Beneficiary's country as an ISO 3166-1 alpha-2 code. Must be US for a `fedwire` wire and CA for a `lynx` wire; any country for `swift`.
  - `ZipCode` string, required: Customer's zip code.
  - `IPAddress` string: Customer's IP address.
  - `ABARoutingNumber` integer: ABA routing transit number for the beneficiary's US bank account. Supplying it sends a `fedwire` wire.
  - `AccountNumber` integer, required: Account number for the customer's US bank account
  - `Amount` number, required: The amount to credit to the customer's bank account.
  - `Notes` string: An optional note to associate with the transaction.
  - `IdempotencyKey` string: A unique key which the server can use to recognize and reject subsequent retries of the same request.
  - `ParentTransactionID` string: The parent transaction where the withdrawal will be linked to, can become a split payment with multiple withdrawals. When funds of the parent transaction have been released the system will generate the distributions of these funds automatically.
  - `GLCode` string: An optional unique identification general ledger code.
  - `TransactionTypeCode` string: CPA transaction code. Use the /api/v2/account/transactions/codes endpoint to retrieve a list of valid transaction codes. If not specified, the transaction will be created using code 450 (miscellaneous).
  - `FinancialInstitutionNumber` string: Beneficiary bank's Canadian institution number. Supplying it with BranchTransitNumber sends a `lynx` wire.
  - `BranchTransitNumber` string: Beneficiary bank's Canadian branch transit number. Supplying it with FinancialInstitutionNumber sends a `lynx` wire.
  - `BicSwift` string: Beneficiary bank's BIC/SWIFT code. Supplying it sends a `swift` wire.
  - `IBAN` string: Beneficiary IBAN, for `swift` wires. Either IBAN or AccountNumber must accompany BicSwift.
  - `Currency` string: Settlement currency. Required for `swift` wires; implied by the rail otherwise (fedwire = USD, lynx = CAD) and rejected if it conflicts.

## Response `200`

- object
  - `Success` boolean, required: True if the request was successful, false if it failed
  - `ErrorMessage` string, required: Contains a description of the error if the request failed
  - `TransactionID` integer, required: This ID should be saved as it is required in order to look up status information on the transaction.
  - `Flagged` string: Details on why the transaction was flagged, if applicable. Flagged transactions will need to be confirmed by using the /account/transaction/confirm endpoint.
  - `WireType` 'fedwire' | 'lynx' | 'swift', required: The wire rail the transaction was created on, echoed from the request.
  - `Notice` string: Present if the account has insufficient funds at the time of the transaction

---

[API](https://skmtc.dev/vopay/apis/payment-rails.md) - [All operations](https://skmtc.dev/vopay/apis/payment-rails/llms.txt) - [OpenAPI document](https://skmtc.dev/vopay/apis/payment-rails/revisions/d6fe8969ddcf?raw)
