VoPay ACH Endpoints API

The ACH Endpoints API from VoPay — 10 operation(s) for ach endpoints.

Operations 10

POST /ach/fund ach/fund #
POST /ach/withdraw ach/withdraw #
POST /ach/fund/schedule ach/fund/schedule #
POST /ach/withdraw/schedule ach/withdraw/schedule #
POST /ach/void ach/void #
GET /ach/fund/transaction ach/fund/transaction #
GET /ach/withdraw/transaction ach/withdraw/transaction #
GET /ach/scheduled-transactions ach/scheduled-transactions #
GET /ach/failures ach/failures #
POST /ach/validate-nacha ach/validate-nacha #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vopay-ach-endpoints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vopay-ach-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Payment Rails ACH Endpoints API
  description: The Payment Rails API allows you to manage transactions in your account. You can cancel transactions, refund transactions, and confirm flagged transactions.
  contact:
    name: API Support
    email: help@vopay.com
servers:
- url: https://earthnode-dev.vopay.com/api/v2
tags:
- name: ACH Endpoints
paths:
  /ach/fund:
    post:
      description: "This endpoint is used to fund your US VoPay account by debiting funds from the specified customer's bank account. In the endpoint below, either CompanyName OR FirstName and LastName must be provided.\n\n If a ClientAccountID is provided, the client account's first/last name, address, phone number, identification number and default bank account will be used for the transaction."
      summary: ach/fund
      tags:
      - ACH Endpoints
      operationId: ACHFundPost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                ClientAccountID:
                  description: Client Account ID
                  type: string
                ContactID:
                  description: The ID of the contact to use for this transactions. The contacts payment method associated with this transaction type will be used.
                  type: string
                FirstName:
                  description: Customer's first name
                  type: string
                LastName:
                  description: Customer's last name
                  type: string
                CompanyName:
                  description: Company's name
                  type: string
                IdentificationNumber:
                  description: For individuals, a driver's license, SSN or Passport can be provided. For companies, a federal tax ID is required.
                  type: string
                EmailAddress:
                  description: Customer's email address
                  type: string
                PhoneNumber:
                  description: Customer's phone number. Digits only - no parentheses or dashes allowed.
                  type: string
                Address1:
                  description: Customer's address line 1
                  type: string
                Address2:
                  description: Customer's address line 2
                  type: string
                City:
                  description: Customer's city
                  type: string
                State:
                  description: Customer's state specified using two character abbreviations (eg. CA, AZ)
                  type: string
                Country:
                  description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
                  type: string
                ZipCode:
                  description: Customer's zip code.
                  type: string
                IPAddress:
                  description: Customer's IP address.
                  type: string
                ABARoutingNumber:
                  description: ABA routing transit number for customer's US bank account.
                  type: integer
                AccountNumber:
                  description: Customer's bank account number for funds to be debited from.
                  type: integer
                Amount:
                  description: The amount to debit from the customer's bank account.
                  type: number
                Token:
                  description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
                  type: string
                PlaidProcessorToken:
                  description: Used by clients with a Plaid account. When this is provided, the routing number and account number are not required.
                  type: string
                Notes:
                  description: An optional note to associate with the transaction.
                  type: string
                IdempotencyKey:
                  description: A unique key which the server can use to recognize and reject subsequent retries of the same request.
                  type: string
                ClientReferenceNumber:
                  description: A reference number to use to search the transaction. Must provide either a TransactionID or ClientReferenceNumber.
                  type: string
                GLCode:
                  description: An optional unique identification general ledger code.
                  type: string
                TransactionTypeCode:
                  description: 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).
                  type: string
                SecCode:
                  description: The ACH Standard Entry Class (SEC) code. Defaults to PPD if not specified.
                  type: string
                TransactionLabel:
                  description: TransactionLabel overrides originator short name
                  type: string
                WalletID:
                  description: The ID of the wallet to associate with the transaction. Requires ClientAccountID to be provided.
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - FirstName
              - LastName
              - CompanyName
              - IdentificationNumber
              - EmailAddress
              - PhoneNumber
              - Address1
              - City
              - State
              - Country
              - ZipCode
              - ABARoutingNumber
              - AccountNumber
              - Amount
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: This ID should be saved as it is required in order to look up status information on the transaction.
                    example: '1122'
                required:
                - Success
                - ErrorMessage
                - TransactionID
  /ach/withdraw:
    post:
      description: "This endpoint is used to send funds to a specified customer's US Bank account. In the endpoint below, either CompanyName OR FirstName and LastName must be provided.\n\n If a ClientAccountID is provided, the client account's first/last name, address, phone number, identification number and default bank account will be used for the transaction."
      summary: ach/withdraw
      tags:
      - ACH Endpoints
      operationId: ACHWithdrawPost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                ClientAccountID:
                  description: Client Account ID
                  type: string
                ContactID:
                  description: The ID of the contact to use for this transactions. The contacts payment method associated with this transaction type will be used.
                  type: string
                FirstName:
                  description: Customer's first name
                  type: string
                LastName:
                  description: Customer's last name
                  type: string
                CompanyName:
                  description: Company's name
                  type: string
                IdentificationNumber:
                  description: Customer's driver's licence (individuals) or federal tax ID (companies).
                  type: string
                EmailAddress:
                  description: Customer's email address
                  type: string
                PhoneNumber:
                  description: Customer's phone number. Digits only - no parentheses or dashes allowed.
                  type: string
                Address1:
                  description: Customer's address line 1
                  type: string
                Address2:
                  description: Customer's address line 2
                  type: string
                City:
                  description: Customer's city
                  type: string
                State:
                  description: Customer's state specified using two character abbreviations (eg. CA, AZ)
                  type: string
                Country:
                  description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
                  type: string
                ZipCode:
                  description: Customer's zip code.
                  type: string
                IPAddress:
                  description: Customer's IP address.
                  type: string
                ABARoutingNumber:
                  description: ABA routing transit number for customer's US bank account.
                  type: integer
                AccountNumber:
                  description: Account number for the customer's US bank account
                  type: integer
                Amount:
                  description: The amount to credit to the customer's bank account.
                  type: number
                Token:
                  description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
                  type: string
                PlaidProcessorToken:
                  description: Used by clients with a Plaid account. When this is provided, the routing number and account number are not required.
                  type: string
                Notes:
                  description: An optional note to associate with the transaction.
                  type: string
                IdempotencyKey:
                  description: A unique key which the server can use to recognize and reject subsequent retries of the same request.
                  type: string
                ClientReferenceNumber:
                  description: A reference number to use to search the transaction. Must provide either a TransactionID or ClientReferenceNumber.
                  type: string
                ParentTransactionID:
                  description: 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.
                  type: string
                GLCode:
                  description: An optional unique identification general ledger code.
                  type: string
                TransactionTypeCode:
                  description: 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).
                  type: string
                SecCode:
                  description: The ACH Standard Entry Class (SEC) code. Defaults to PPD if not specified.
                  type: string
                TransactionLabel:
                  description: TransactionLabel overrides originator short name
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - FirstName
              - LastName
              - CompanyName
              - IdentificationNumber
              - EmailAddress
              - PhoneNumber
              - Address1
              - City
              - State
              - Country
              - ZipCode
              - ABARoutingNumber
              - AccountNumber
              - Amount
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: This ID should be saved as it is required in order to look up status information on the transaction.
                    example: '1122'
                required:
                - Success
                - ErrorMessage
                - TransactionID
  /ach/fund/schedule:
    post:
      description: "This endpoint is used to create a scheduled transaction ahead of time that can be a single or recurring payment. \n\nEither CompanyName OR FirstName and LastName must be provided. \n\n If the Token is provided, the ABARoutingNumber, and AccountNumber will not be required. \n\n If the bank information is provided (ABARoutingNumber, and AccountNumber), then the Address1, City, Country, and PostalCode and Province are required.\n\n If a ClientAccountID is provided, the client account's first/last name, address, and default bank account will be used for the transaction.\n\nFor additional details of the scheduled transactions, please visit https://docs.vopay.com/docs/schedule-a-payment."
      summary: ach/fund/schedule
      tags:
      - ACH Endpoints
      operationId: ACHFundSchedulePOST
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                ClientAccountID:
                  description: Client Account ID
                  type: string
                Amount:
                  description: The amount to schedule in the transactions
                  type: number
                Frequency:
                  description: 'The frequency of the scheduled transaction: single or recurring.'
                  type: string
                NameOfFrequency:
                  description: '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.'
                  type: string
                ScheduleStartDate:
                  description: Date from which the schedule will be started
                  type: string
                ScheduleEndDate:
                  description: Date when the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments
                  type: string
                EndingAfterPayments:
                  description: Number of payments after which the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments
                  type: integer
                SemiMonthlyFrequencyType:
                  description: 'Type of semi-monthly frequency. This field is only required when NameOfFrequency is set to semi-monthly. The possible values are: SemiMonthFirstAndFifteenth, SemiMonthFifteenthAndLast'
                  type: integer
                Description:
                  description: Description of the schedule transaction
                  type: string
                Notes:
                  description: An optional note to associate with the transaction.
                  type: string
                FirstName:
                  description: Customer's first name
                  type: string
                LastName:
                  description: Customer's last name
                  type: string
                CompanyName:
                  description: Company's name
                  type: string
                IdentificationNumber:
                  description: Customer's driver's licence (individuals) or federal tax ID (companies).
                  type: string
                EmailAddress:
                  description: Customer's email address
                  type: string
                PhoneNumber:
                  description: Customer's phone number. Digits only - no parentheses or dashes allowed.
                  type: string
                Address1:
                  description: Customer's address line 1
                  type: string
                Address2:
                  description: Customer's address line 2
                  type: string
                City:
                  description: Customer's city
                  type: string
                State:
                  description: Customer's state specified using two character abbreviations (eg. CA, AZ)
                  type: string
                Country:
                  description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
                  type: string
                ZipCode:
                  description: Customer's zip code.
                  type: string
                IPAddress:
                  description: Customer's IP address.
                  type: string
                ABARoutingNumber:
                  description: ABA routing transit number for customer's US bank account.
                  type: integer
                AccountNumber:
                  description: Customer's bank account number for funds to be debited from.
                  type: string
                Token:
                  description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
                  type: string
                IdempotencyKey:
                  description: 'A unique key which the server can use to recognize and reject subsequent retries of the same request. '
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - Amount
              - Frequency
              - NameOfFrequency
              - ScheduleStartDate
              - ScheduleEndDate
              - EndingAfterPayments
              - Description
              - FirstName
              - LastName
              - CompanyName
              - IdentificationNumber
              - EmailAddress
              - PhoneNumber
              - Address1
              - City
              - State
              - Country
              - ZipCode
              - ABARoutingNumber
              - AccountNumber
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  Amount:
                    type: number
                    description: The dollar amount of the schedule transaction
                    example: '200.00'
                  ScheduledTransactionID:
                    type: integer
                    description: ID of the schedule Transaction.
                    example: '1122'
                  Frequency:
                    type: string
                    description: The frequency of the transaction
                    example: single
                  Description:
                    type: string
                    description: Description of the schedule transaction
                    example: ''
                  ScheduleStartDate:
                    type: string
                    format: date
                    description: 'Date from which the transaction will be started '
                    example: '2020-01-01'
                  Status:
                    type: string
                    description: 'A message indicating the current transaction status. Statuses are: cancelled, completed or in progress'
                    example: in progress
                required:
                - Success
                - ErrorMessage
                - Amount
                - ScheduledTransactionID
                - Frequency
                - Description
                - ScheduleStartDate
                - Status
  /ach/withdraw/schedule:
    post:
      description: "This endpoint is used to create a scheduled transaction ahead of time that can be a single or recurring payment. \n\nEither CompanyName OR FirstName and LastName must be provided. \n\n If the Token is provided, the ABARoutingNumber, and AccountNumber will not be required. \n\n If the bank information is provided (ABARoutingNumber, and AccountNumber), then the Address1, City, Country, and PostalCode and Province are required.\n\n If a ClientAccountID is provided, the client account's first/last name, address, and default bank account will be used for the transaction.\n\nFor additional details of the scheduled transactions, please visit https://docs.vopay.com/docs/schedule-a-payment."
      summary: ach/withdraw/schedule
      tags:
      - ACH Endpoints
      operationId: ACHWithdrawSchedulePOST
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                ClientAccountID:
                  description: Client Account ID
                  type: string
                Amount:
                  description: The amount to schedule in the transactions
                  type: number
                Frequency:
                  description: 'The frequency of the scheduled transaction: single or recurring.'
                  type: string
                NameOfFrequency:
                  description: '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.'
                  type: string
                ScheduleStartDate:
                  description: Date from which the schedule will be started
                  type: string
                ScheduleEndDate:
                  description: Date when the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments
                  type: string
                EndingAfterPayments:
                  description: Number of payments after which the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments
                  type: integer
                SemiMonthlyFrequencyType:
                  description: 'Type of semi-monthly frequency. This field is only required when NameOfFrequency is set to semi-monthly. The possible values are: SemiMonthFirstAndFifteenth, SemiMonthFifteenthAndLast'
                  type: integer
                Description:
                  description: Description of the schedule transaction
                  type: string
                Notes:
                  description: An optional note to associate with the transaction.
                  type: string
                FirstName:
                  description: Customer's first name
                  type: string
                LastName:
                  description: Customer's last name
                  type: string
                CompanyName:
                  description: Company's name
                  type: string
                IdentificationNumber:
                  description: Customer's driver's licence (individuals) or federal tax ID (companies).
                  type: string
                EmailAddress:
                  description: Customer's email address
                  type: string
                PhoneNumber:
                  description: Customer's phone number. Digits only - no parentheses or dashes allowed.
                  type: string
                Address1:
                  description: Customer's address line 1
                  type: string
                Address2:
                  description: Customer's address line 2
                  type: string
                City:
                  description: Customer's city
                  type: string
                State:
                  description: Customer's state specified using two character abbreviations (eg. CA, AZ)
                  type: string
                Country:
                  description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
                  type: string
                ZipCode:
                  description: Customer's zip code.
                  type: string
                IPAddress:
                  description: Customer's IP address.
                  type: string
                ABARoutingNumber:
                  description: ABA routing transit number for customer's US bank account.
                  type: integer
                AccountNumber:
                  description: Customer's bank account number for funds to be debited from.
                  type: string
                Token:
                  description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
                  type: string
                IdempotencyKey:
                  description: A unique key which the server can use to recognize and reject subsequent retries of the same request.
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - Amount
              - Frequency
              - NameOfFrequency
              - ScheduleStartDate
              - ScheduleEndDate
              - EndingAfterPayments
              - Description
              - FirstName
              - LastName
              - CompanyName
              - IdentificationNumber
              - EmailAddress
              - PhoneNumber
              - Address1
              - City
              - State
              - Country
              - ZipCode
              - ABARoutingNumber
              - AccountNumber
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  Amount:
                    type: number
                    description: The dollar amount of the schedule transaction
                    example: '200.00'
                  ScheduledTransactionID:
                    type: integer
                    description: ID of the schedule Transaction.
                    example: '1122'
                  Frequency:
                    type: string
                    description: The frequency of the transaction
                    example: single
                  Description:
                    type: string
                    description: Description of the schedule transaction
                    example: ''
                  ScheduleStartDate:
                    type: string
                    format: date
                    description: 'Date from which the transaction will be started '
                    example: '2020-01-01'
                  Status:
                    type: string
                    description: 'A message indicating the current transaction status. Statuses are: cancelled, completed or in progress'
                    example: in progress
                required:
                - Success
                - ErrorMessage
                - Amount
                - ScheduledTransactionID
                - Frequency
                - Description
                - ScheduleStartDate
                - Status
  /ach/void:
    post:
      description: This method is used to void a previously created ACH transaction. Note, you can only void a transaction if it has not yet settled. If the transaction has already settled, then you can use the /ach/refund endpoint to reverse the transaction.
      summary: ach/void
      tags:
      - ACH Endpoints
      operationId: ACHVoidPost
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/CreditCardVoidPost'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the void transaction
                    example: '1124'
                  TransactionStatus:
                    type: string
                    description: A message indicating the current transaction status - cancelled
                    example: cancelled
                  Timestamp:
                    type: string
                    description: The timestamp when the transaction status was last modified
                    example: '2022-02-04 12:34:56'
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - TransactionStatus
                - Timestamp
  /ach/fund/transaction:
    get:
      description: This endpoint is used to look up and return the full details on a single ACH fund transaction.
      summary: ach/fund/transaction
      tags:
      - ACH Endpoints
      operationId: AchFundTransactionGet
      deprecated: false
      parameters:
      - name: AccountID
        in: query
        required: true
        description: Your account ID
        sch

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vopay/refs/heads/main/openapi/vopay-ach-endpoints-api-openapi.yml