---
title: "eft/withdraw/schedule"
method: POST
path: "/eft/withdraw/schedule"
tags: ["EFT Endpoint"]
---

# eft/withdraw/schedule

`POST /eft/withdraw/schedule`

## Request

- Base URL: `https://earthnode-dev.vopay.com/api/v2`
- URL: `https://earthnode-dev.vopay.com/api/v2/eft/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 either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will not be required. 

 If the bank information is provided (FinancialInstitutionNumber, BranchTransitNumber, 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: 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
  - `Address1` string, required: Customer's address line 1
  - `City` string, required: Customer's city
  - `Province` string, required: Customer's province specified using two character abbreviations (eg. BC, AB)
  - `Country` string, required: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
  - `PostalCode` string, required: Customer's postal code.
  - `AccountNumber` string, required: Customer's bank account number for funds to be debited from.
  - `FinancialInstitutionNumber` string, required: Three digit institution number for a Canadian bank.
  - `BranchTransitNumber` string, required: Transit number for the customer's account.
  - `Currency` string, required: 3 character currency code for the currency to fetch transactions for. If this is not specified the transaction will use the account's local currency.
  - `ClientReferenceNumber` string: An optional reference number to associate with the transaction.
  - `FlinksAccountID` string: Used by clients with a Flinks account
  - `FlinksLoginID` string: Used by clients with a Flinks account
  - `Token` string: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
  - `PlaidPublicToken` string: Used by clients with a Plaid account
  - `PlaidAccessToken` string: Used by clients with a Plaid account
  - `PlaidAccountID` string: Used by clients with a Plaid account
  - `PlaidProcessorToken` string: Used by clients with a Plaid account. If you use this field PlaidPublicToken, PlaidAccessToken, and PlaidAccountID are not neccesary
  - `MxAuthorizationCode` string: Used by clients with an MX account.
  - `InveriteRequestGUID` string: Used by clients with an Inverite account
  - `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, pending approval, 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)
