VoPay EFT Endpoint API

The EFT Endpoint API from VoPay — 14 operation(s) for eft endpoint.

Operations 14

POST /eft/fund eft/fund #
GET /eft/fund/status eft/fund/status #
GET /eft/fund/transaction eft/fund/transaction #
POST /eft/withdraw eft/withdraw #
GET /eft/withdraw/transaction eft/withdraw/transaction #
GET /eft/withdraw/status eft/withdraw/status #
POST /eft/fund/schedule eft/fund/schedule #
POST /eft/withdraw/schedule eft/withdraw/schedule #
POST /eft/fund/schedule/cancel eft/fund/schedule/cancel #
POST /eft/withdraw/schedule/cancel eft/withdraw/schedule/cancel #
POST /eft/fund/schedule/edit eft/fund/schedule/edit #
POST /eft/withdraw/schedule/edit eft/withdraw/schedule/edit #
GET /eft/scheduled-transactions eft/scheduled-transactions #
GET /eft/failures eft/failures #

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-eft-endpoint-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-eft-endpoint-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Payment Rails EFT Endpoint 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: EFT Endpoint
paths:
  /eft/fund:
    post:
      description: "This endpoint is used to fund your 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 either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will not be required. \n\n If the bank information is provided (FinancialInstitutionNumber, BranchTransitNumber, 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."
      summary: eft/fund
      tags:
      - EFT Endpoint
      operationId: EftFundPost
      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
                Address1:
                  description: Customer's address line 1
                  type: string
                City:
                  description: Customer's city
                  type: string
                Province:
                  description: Customer's province specified using two character abbreviations (eg. BC, AB)
                  type: string
                Country:
                  description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
                  type: string
                PostalCode:
                  description: Customer's postal code.
                  type: string
                AccountNumber:
                  description: Customer's bank account number for funds to be debited from.
                  type: string
                FinancialInstitutionNumber:
                  description: Three digit institution number for a Canadian bank.
                  type: string
                BranchTransitNumber:
                  description: Transit number for the customer's account.
                  type: string
                Amount:
                  description: The amount to debit from the customer's bank account.
                  type: number
                Currency:
                  description: '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.  NOTE: Currently the eft/fund API endpoint only supports CAD and USD transactions.'
                  type: string
                Iq11VerificationLevelID:
                  description: 'Iq11 verification level ID. Accepted values are: 1 (no NSF check), 2 (NSF check done at time of transaction), 3 (NSF check done prior to processing the transaction), and 4 (NSF check done at the time of transaction and prior to processing the transaction). Value is defaulted to the default value set on the account.'
                  type: integer
                ClientReferenceNumber:
                  description: An optional reference number to associate with the transaction.
                  type: string
                FlinksAccountID:
                  description: Used by clients with a Flinks account
                  type: string
                FlinksLoginID:
                  description: Used by clients with a Flinks account
                  type: string
                Token:
                  description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
                  type: string
                PlaidPublicToken:
                  description: Used by clients with a Plaid account
                  type: string
                PlaidAccessToken:
                  description: Used by clients with a Plaid account
                  type: string
                PlaidAccountID:
                  description: Used by clients with a Plaid account
                  type: string
                PlaidProcessorToken:
                  description: Used by clients with a Plaid account. If you use this field PlaidPublicToken, PlaidAccessToken, and PlaidAccountID are not neccesary
                  type: string
                MxAuthorizationCode:
                  description: Used by clients with an MX account.
                  type: string
                InveriteRequestGUID:
                  description: Used by clients with an Inverite account
                  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
                TransactionLabel:
                  description: TransactionLabel overrides originator short name
                  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
                GLCode:
                  description: An optional unique identification general ledger code.
                  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
              - Address1
              - City
              - Province
              - Country
              - PostalCode
              - AccountNumber
              - FinancialInstitutionNumber
              - BranchTransitNumber
              - Amount
              - Currency
        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'
                  Flagged:
                    type: string
                    description: Details on why the transaction was flagged, if applicable. Flagged transactions will need to be confirmed by using the /account/transaction/confirm endpoint.
                    example: The transaction has been flagged as a potential duplicate.
                    x-absent-when: transaction not flagged
                  Iq11:
                    type: boolean
                    description: True if the transaction was an iq11 transaction, false if it is not.
                    example: true
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - Iq11
  /eft/fund/status:
    get:
      description: This endpoint is used to look up the status of a fund transaction.
      summary: eft/fund/status
      tags:
      - EFT Endpoint
      operationId: EftFundStatusGet
      deprecated: false
      parameters:
      - name: AccountID
        in: query
        required: true
        description: Your account ID
        schema:
          type: string
      - name: Key
        in: query
        required: true
        description: API key for the account
        schema:
          type: string
      - name: Signature
        in: query
        required: true
        description: Hashed signature for the request
        schema:
          type: string
      - name: TransactionID
        in: query
        required: true
        description: The unique ID of the transaction
        schema:
          type: integer
          format: int32
      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: The unique ID of the transaction
                    example: '1122'
                  TransactionStatus:
                    type: string
                    description: 'A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled'
                    example: pending
                  SubTransactions:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Collection of sub-transactions related to the main transaction'
                    properties:
                      '0':
                        type: object
                        properties:
                          TransactionID:
                            type: integer
                            description: Unique ID for the Transaction
                            example: '5918'
                          TransactionStatus:
                            type: string
                            description: 'A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled, waiting on required transaction'
                            example: waiting on required transaction
                          Timestamp:
                            type: string
                            format: date-time
                            description: The timestamp when the transaction status was last modified
                            example: '2019-11-01 12:00:00'
                        required:
                        - TransactionID
                        - TransactionStatus
                        - Timestamp
                    x-absent-when: transaction has no child transactions
                    x-list-of: inline
                    x-empty-when: no items
                  Timestamp:
                    type: string
                    format: date-time
                    description: The timestamp when the transaction status was last modified
                    example: '2019-11-01 12:00:00'
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - TransactionStatus
                - Timestamp
  /eft/fund/transaction:
    get:
      description: This endpoint is used to look up and return the full details on a single fund transaction. Fund transactions take money out of the customer's bank account and deposit them into your account.
      summary: eft/fund/transaction
      tags:
      - EFT Endpoint
      operationId: EftFundTransactionGet
      deprecated: false
      parameters:
      - name: AccountID
        in: query
        required: true
        description: Your account ID
        schema:
          type: string
      - name: Key
        in: query
        required: true
        description: API key for the account
        schema:
          type: string
      - name: Signature
        in: query
        required: true
        description: Hashed signature for the request
        schema:
          type: string
      - name: TransactionID
        in: query
        required: true
        description: The unique ID of the fund transaction
        schema:
          type: integer
          format: int32
      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: The unique ID of the transaction
                    example: '1122'
                  TransactionStatus:
                    type: string
                    description: 'A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled'
                    example: pending
                  TransactionDateTime:
                    type: string
                    format: date-time
                    description: The timestamp when the transaction was created
                    example: '2019-11-01 12:00:00'
                  Amount:
                    type: number
                    description: The dollar amount of the fund transaction. This is the amount that was withdrawn from the customer's bank account.
                    example: '1200'
                  Currency:
                    type: string
                    description: The currency for the transaction.
                    example: CAD
                  HoldAmount:
                    type: number
                    description: Indicates if any of the funds that were credited to your account are still being held.
                    example: '1200'
                  LastModified:
                    type: string
                    format: date-time
                    description: This timestamp indicates when the transaction record was last modified. In normal circumstances the transaction record will only be modified when the status of the transaction changes or the HoldAmount is changed.
                    example: '2019-11-02 01:00:21'
                  CompanyName*:
                    type: string
                    description: Company's name
                    example: VoPay
                  FirstName*:
                    type: string
                    description: Customer's first name
                    example: John
                  LastName*:
                    type: string
                    description: Customer's last name
                    example: Doe
                  Address1:
                    type: string
                    description: Customer's address line 1
                    example: 112 Bentall Street
                  Address2:
                    type: string
                    description: Customer's address line 2
                    example: ''
                  City:
                    type: string
                    description: Customer's city
                    example: Vancouver
                  Province/State:
                    type: string
                    description: Customer's province specified using two character abbreviation (eg. BC, AB)
                    example: BC
                  Country:
                    type: string
                    description: Customer's Country specified using full country name or ISO 3166-1 alpha-2 code
                    example: Canada
                  PostalCode/Zipcode:
                    type: string
                    description: Customer's postal code.
                    example: V4W 5Z7
                  FinancialInstitutionNumber:
                    type: string
                    description: Three digit institution number for a Canadian bank.
                    example: '112'
                  BranchTransitNumber:
                    type: string
                    description: Transit number for the customer's account.
                    example: '11456'
                  AccountNumber:
                    type: string
                    description: Customer's bank account number that funds were debited from.
                    example: '1100456342'
                  ClientReferenceNumber:
                    type: string
                    description: An optional reference number which was associated with the transaction.
                    example: '876432'
                  ScheduledTransactionID:
                    type: integer
                    description: Id of the scheduled transaction. This field only will be displayed if the scheduled transaction exists.
                    example: '1'
                  TransactionTypeCode:
                    type: string
                    description: CPA transaction code.
                    example: '999'
                  SubTransactions:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Collection of sub-transactions related to the main transaction'
                    properties:
                      '0':
                        type: object
                        properties:
                          TransactionID:
                            type: integer
                            description: The unique ID of the transaction
                            example: '9826'
                          TransactionStatus:
                            type: string
                            description: 'A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled, waiting on required transaction'
                            example: waiting on required transaction
                          TransactionDateTime:
                            type: string
                            format: date-time
                            description: The timestamp when the transaction was created
                            example: '2019-11-01 12:00:00'
                          Amount:
                            type: number
                            description: The dollar amount of the fund transaction. This is the amount that was withdrawn from the customer's bank account.
                            example: '100'
                          Currency:
                            type: string
                            description: The currency for the transaction.
                            example: CAD
                          HoldAmount:
                            type: number
                            description: Indicates if any of the funds that were credited to your account are still being held.
                            example: '100'
                          LastModified:
                            type: string
                            format: date-time
                            description: This timestamp indicates when the transaction record was last modified. In normal circumstances the transaction record will only be modified when the status of the transaction changes or the HoldAmount is changed.
                            example: '2019-11-02 01:00:21'
                          CompanyName*:
                            type: string
                            description: Company's name
                            example: VoPay
                          FirstName*:
                            type: string
                            description: Customer's first name
                            example: John
                          LastName*:
                            type: string
                            description: Customer's last name
                            example: Doe
                          Address1:
                            type: string
                            description: Customer's address line 1
                            example: 112 Bentall Street
                          Address2:
                            type: string
                            description: Customer's address line 2
                            example: ''
                          City:
                            type: string
                            description: Customer's city
                            example: Vancouver
                          Province:
                            type: string
                            description: Customer's province specified using two character abbreviation (eg. BC, AB)
                            example: BC
                          Country:
                            type: string
                            description: Customer's Country specified using full country name or ISO 3166-1 alpha-2 code
                            example: Canada
                          PostalCode:
                            type: string
                            description: Customer's postal code.
                            example: V4W 5Z7
                          FinancialInstitutionNumber:
                            type: string
                            description: Three digit institution number for a Canadian bank.
                            example: '112'
                          BranchTransitNumber:
                            type: string
                            description: Transit number for the customer's account.
                            example: '11456'
                          AccountNumber:
                            type: string
                            description: Customer's bank account number that funds were debited from.
                            example: '1100456342'
                          ClientReferenceNumber:
                            type: string
                            description: An optional reference number which was associated with the transaction.
                            example: '876432'
                        required:
                        - TransactionID
                        - TransactionStatus
                        - TransactionDateTime
                        - Amount
                        - Currency
                        - HoldAmount
                        - LastModified
                        - CompanyName*
                        - FirstName*
                        - LastName*
                        - Address1
                        - Address2
                        - City
                        - Province
                        - Country
                        - PostalCode
                        - FinancialInstitutionNumber
                        - BranchTransitNumber
                        - AccountNumber
                        - ClientReferenceNumber
                    x-absent-when: transaction has no child transactions
                    x-list-of: inline
                    x-empty-when: no items
                  HoldReleaseDateTime:
                    type: string
                    format: date-time
                    description: This timestamp indicates when the 'HoldAmount' funds will be released in EST.
                    example: '2019-11-02 23:59:59'
                  PayLinkDetails:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Collection of TransactionInfo data'
                    properties:
                      '0':
                        type: object
                        properties:
                          FirstName:
                            type: string
                            description: Customer's first name
                            example: John
                          LastName:
                            type: string
                            description: Customer's last name
                            example: Doe
                          EmailAddress:
                            type: string
                            description: Recipient's email address.
                            example: john.doe@vopay.com
                          InvoiceNumber:
                            type: string
                            description: Invoice number
                            example: ABC1234
                          Note:
                            type: string
                            description: If applicable, notes giving context to the transaction.
                            example: Paylink requested to the client 123
                          SenderName:
                            type: string
                            description: Sender's full name.
                            example: John Doe
                          PayLinkStatus:
                            type: string
                            description: Status of the Paylink request
                            example: pending
                          FailureReason:
                            type: string
                            description: Detailed description of why the paylink request failed.
                            example: ''
                          PayLinkCreated:
                            type: string
                            format: date
                            description: ''
                            example: '2019-11-03 01:00:00'
                        required:
                        - FirstName
                        - LastName
                        - EmailAddress
                        - InvoiceNumber
                        - Note
                        - SenderName
                        - PayLinkStatus
                        - FailureReason
                        - PayLinkCreated
                    x-empty-when: no pay-link details
                    x-list-of: inline
                  GLCode:
                    type: string
                    description: General ledger code.
                    example: '4300'
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - TransactionStatus
                - TransactionDateTime
                - Amount
                - Currency
                - HoldAmount
                - LastModified
                - CompanyName*
                - FirstName*
                - LastName*
                - Address1
                - Address2
                - City
                - Province/State
                - Country
                - PostalCode/Zipcode
                - FinancialInstitutionNumber
                - BranchTransitNumber
                - AccountNumber
                - ClientReferenceNumber
                - ScheduledTransactionID
                - TransactionTypeCode
                - HoldReleaseDateTime
                - PayLinkDetails
                - GLCode
  /eft/withdraw:
    post:
      description: "This endpoint is used to take funds out of your VoPay account, and deposit them to the specified recipient's bank account. In the below endpoint, either CompanyName OR FirstName and LastName must be provided. \n\n If either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, then the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will not be required. \n\n If the bank information is provided (FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber), then the Address1, City, Province, Country, and PostalCode 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."
      summary: eft/withdraw
      tags:
      - EFT Endpoint
      operationId: EftWithdrawPost
      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: Recipient's first name
                  type: string
                LastName:
                  description: Recipient's last name
                  type: string
                CompanyName:
                  description: Company's name
                  type: string
                Address1:
                  description: Recipient's address line 1
                  type: string
                City:
                  description: Recipient's city
                  type: string
                Province:
                  description: Recipient's province specified using two character abbreviation (eg. BC, AB)
                  type: string
                Country:
                  description: Recipient's country specified using full country name or ISO 3166-1 alpha-2 code.
                  type: string
                PostalCode:
                  description: Recipient's postal code.
                  type: string
                AccountNumber:
                  description: Recipient's bank account number. This is the account that funds will be deposited into.
                  type: string
                FinancialInstitutionNumber:
                  description: Canadian banks. Three digit institution number.
                  type: string
                BranchTransitNumber:
                  description: Canadian banks. Transit number for the Recipient's account.
                  type: string
                Amount:
                  description: The amount in the specified currency to deposit into the recipient's bank account.
                  type: number
                Currency:
                  description: '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. NOTE: Currently the eft/withdraw API endpoint only supports CAD and USD transactions'
                  type: strin

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