---
title: "ach/withdraw/schedule"
method: POST
path: "/ach/withdraw/schedule"
tags: ["ACH Endpoints"]
---

# ach/withdraw/schedule

`POST /ach/withdraw/schedule`

## Request

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

This endpoint is used to create a scheduled transaction ahead of time that can be a single or recurring payment. 

Either CompanyName OR FirstName and LastName must be provided. 

 If the Token is provided, the ABARoutingNumber, and AccountNumber will not be required. 

 If the bank information is provided (ABARoutingNumber, and AccountNumber), then the Address1, City, Country, and PostalCode and Province are required.

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

For additional details of the scheduled transactions, please visit https://docs.vopay.com/docs/schedule-a-payment.

## 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
  - `Amount` number, required: The amount to schedule in the transactions
  - `Frequency` string, required: The frequency of the scheduled transaction: single or recurring.
  - `NameOfFrequency` string, required: Name of frequency of the scheduled transaction (Only for recurring option), the posibles values are: weekly, biweekly, semi-monthly, monthly, bimonthly, 3 months, 6 months, yearly.
  - `ScheduleStartDate` string, required: Date from which the schedule will be started
  - `ScheduleEndDate` string, required: Date when the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments
  - `EndingAfterPayments` integer, required: Number of payments after which the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments
  - `SemiMonthlyFrequencyType` integer: Type of semi-monthly frequency. This field is only required when NameOfFrequency is set to semi-monthly. The possible values are: SemiMonthFirstAndFifteenth, SemiMonthFifteenthAndLast
  - `Description` string, required: Description of the schedule transaction
  - `Notes` string: An optional note to associate with the transaction.
  - `FirstName` string, required: Customer's first name
  - `LastName` string, required: Customer's last name
  - `CompanyName` string, required: Company's name
  - `IdentificationNumber` string, required: Customer's driver's licence (individuals) or federal tax ID (companies).
  - `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: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
  - `ZipCode` string, required: Customer's zip code.
  - `IPAddress` string: Customer's IP address.
  - `ABARoutingNumber` integer, required: ABA routing transit number for customer's US bank account.
  - `AccountNumber` string, required: Customer's bank account number for funds to be debited from.
  - `Token` string: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
  - `IdempotencyKey` string: A unique key which the server can use to recognize and reject subsequent retries of the same request.

## 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
  - `Amount` number, required: The dollar amount of the schedule transaction
  - `ScheduledTransactionID` integer, required: ID of the schedule Transaction.
  - `Frequency` string, required: The frequency of the transaction
  - `Description` string, required: Description of the schedule transaction
  - `ScheduleStartDate` string, date, required: Date from which the transaction will be started
  - `Status` string, required: A message indicating the current transaction status. Statuses are: cancelled, completed or in progress

---

[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)
