VoPay Bank Account Endpoints API

The Bank Account Endpoints API from VoPay — 6 operation(s) for bank account endpoints.

Operations 6

POST /bank-account/generate-embed-url bank-account/generate-embed-url #
POST /bank-account/add bank-account/add #
POST /bank-account/delete bank-account/delete #
GET /bank-account bank-account #
POST /bank-account/set-my-bank-account bank-account/set-my-bank-account #
GET /bank-account/default-bank-account bank-account/default-bank-account #

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-bank-account-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-bank-account-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Payment Methods Bank Account Endpoints API
  description: The Payment Methods API allows you to manage your payment methods.  You can add, delete, and set default payment methods.
  contact:
    name: API Support
    email: help@vopay.com
servers:
- url: https://earthnode-dev.vopay.com/api/v2
tags:
- name: Bank Account Endpoints
paths:
  /bank-account/generate-embed-url:
    post:
      description: This endpoint is used to generate a unique URL to embed into your application using an iFrame. End users will use this to log in to their online banking and select a bank account to make a payment from. For additional details on iQ11 and RedirectMethod, please visit our [Iq11 Overview](https://docs.vopay.com/docs/iq11-overview)
      summary: bank-account/generate-embed-url
      tags:
      - Bank Account Endpoints
      operationId: BankAccountGenerateEmbedUrlPost
      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: When provided, the bank account submitted will be attached to the Client Account ID
                  type: string
                RedirectURL:
                  description: URL to redirect to after the customer logs in to their online banking account. The bank account token will be passed as a GET parameter, for example https://redirect.com/page?Token=1234
                  type: string
                CompanyName:
                  description: Name of the Company
                  type: string
                Language:
                  description: Language of iQ11 iFrame- en (English) or fr (French). Default value is en (English)
                  type: string
                RedirectMethod:
                  description: This parameter accepts InnerRedirect, OuterRedirect, and JavascriptMessage as parameter values.
                  type: string
                AccountSelectionMethod:
                  description: This parameter accepts any, online and manual as parameter values. Defaults to any.
                  type: string
                ClientControlled:
                  description: When set to true, the connected bank account will be linked to your VoPay account. Default is false.
                  type: boolean
                ClientReferenceNumber:
                  description: An optional reference number to associate with the bank account.
                  type: string
                TermsAndConditions:
                  description: Used to add your own terms and conditions
                  type: string
                Country:
                  description: This parameter accepts country codes [CA, US]. Default is CA
                  type: string
                WithTransactions:
                  description: Request transaction history when connecting a bank account online. Default is false.
                  type: boolean
                RequireDebitAuthorityAgreement:
                  description: This parameter will determine if we display a debit authority agreement to the end-user before the connect their payment method. You must request this feature to be enabled for your account. Default is true.
                  type: boolean
              required:
              - AccountID
              - Key
              - Signature
              - RedirectURL
        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: ''
                  EmbedURL:
                    type: string
                    description: Custom generated iQ11 iframe url for users to use
                    example: https://earthnode-dev.vopay.com/visa_direct/embed/{Key Returned by Vopay}
                  IframeKey:
                    type: string
                    description: Unique key attached to the generated iFrame
                    example: a1b2c3
                required:
                - Success
                - ErrorMessage
                - EmbedURL
                - IframeKey
  /bank-account/add:
    post:
      description: This endpoint allows you to add a bank account to your VoPay account
      summary: bank-account/add
      tags:
      - Bank Account Endpoints
      operationId: BankAccountAddPOST
      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: Contact ID.
                  type: string
                AccountHolderName:
                  description: String that defines the account holder name.
                  type: string
                AccountNumber:
                  description: Customer's bank account number.
                  type: string
                FinancialInstitutionNumber:
                  description: Three digit institution number for a Canadian bank account.
                  type: string
                BranchTransitNumber:
                  description: Five digit branch transit number for a Canadian bank account.
                  type: string
                ABARoutingNumber:
                  description: Nine digit ABA Routing number of a US bank account.
                  type: string
                FlinksAccountID:
                  description: Flinks Account ID. Must be accompanied by a FlinksLoginID. VoPay will fetch the associated bank account details from Flinks.
                  type: string
                FlinksLoginID:
                  description: Flinks Login ID. Must be accompanied by a FlinksAccountID. VoPay will fetch the associated bank account details from Flinks.
                  type: string
                PlaidProcessorToken:
                  description: Plaid Processor Token. VoPay will fetch the associated bank account details from Plaid.
                  type: string
                MxProcessorToken:
                  description: Mx Processor Token. VoPay will fetch the associated bank account details from Mx.
                  type: string
                Currency:
                  description: Three letter currency code.
                  type: string
                Address1:
                  description: 'First line of the address. Ex: 123 Main St.'
                  type: string
                City:
                  description: City
                  type: string
                State:
                  description: State
                  type: string
                ZipCode:
                  description: Zip code
                  type: string
                Province:
                  description: Province
                  type: string
                PostalCode:
                  description: Postal code
                  type: string
                Country:
                  description: Two letter country code.
                  type: string
              required:
              - AccountID
              - Key
              - Signature
        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: ''
                required:
                - Success
                - ErrorMessage
  /bank-account/delete:
    post:
      description: This endpoint allows you to delete a bank account associated with your VoPay account
      summary: bank-account/delete
      tags:
      - Bank Account Endpoints
      operationId: BankAccountDeletePOSt
      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
                Token:
                  description: Bank account token
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - Token
        required: true
      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: ''
                required:
                - Success
                - ErrorMessage
  /bank-account:
    get:
      description: This endpoint retrieves a list of bank accounts associated with your VoPay account
      summary: bank-account
      tags:
      - Bank Account Endpoints
      operationId: BankAccountGET
      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: Token
        in: query
        required: false
        description: When provided, this endpoint will only return the bank account associated with this token
        schema:
          type: string
      - name: ClientAccountID
        in: query
        required: false
        description: When provided, this endpoint will only return bank accounts associated with this Client Account ID
        schema:
          type: string
      - name: ClientControlled
        in: query
        required: false
        description: When set to true, this endpoint will only return bank accounts linked to your VoPay account. When set to false, it will return a list of your customer's bank accounts.
        schema:
          type: boolean
      - name: 'Limit '
        in: query
        required: false
        description: Limit the number of records that are returned.
        schema:
          type: integer
      - name: 'Offset '
        in: query
        required: false
        description: Use this parameter to set the starting point in the dataset.
        schema:
          type: integer
      - name: SearchText
        in: query
        required: false
        description: A text string to search for account holder name.
        schema:
          type: string
      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: ''
                  BankAccounts:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Empty {} when no items. Collection of the bank accounts belonging to the account or client account'
                    properties:
                      '0':
                        type: object
                        properties:
                          AccountHolderName:
                            type: string
                            description: Account Holder's name.
                            example: John Smith
                          InstitutionName:
                            type: string
                            description: Financial institution name.
                            example: CIBC
                          FinancialInstituionNumber:
                            type: string
                            description: Financial Instituion Number of the bank account.
                            example: '010'
                          BranchTransitNumber:
                            type: string
                            description: Branch Transit Number of the bank account
                            example: 00390
                          AccountNumber:
                            type: string
                            description: Masked account number of the bank account.
                            example: '*****1234'
                          Currency:
                            type: string
                            description: Currency of bank account.
                            example: CAD
                          Token:
                            type: string
                            description: Bank account token.
                            example: ACBDF-GAFSHD-AHBS-123456
                          FlinksAccountID:
                            type: string
                            description: Set for clients with a Flinks account
                            example: ACBDF-GAFSHD-AHBS-123456
                          FlinksLoginID:
                            type: string
                            description: Set for clients with a Flinks account
                            example: ACBDF-GAFSHD-AHBS-123456
                          PlaidAccountID:
                            type: string
                            description: Set for clients with a Plaid account
                            example: ACBDF-GAFSHD-AHBS-123456
                          InveriteRequestGUID:
                            type: string
                            description: Used by clients with an Inverite account
                            example: ACBDF-GAFSHD-AHBS-123456
                          ClientControlledBankAccount:
                            type: boolean
                            description: Set to 1 if the bank account is linked to your VoPay account
                            example: true
                          IsDefault:
                            type: boolean
                            description: Is this the VoPay account holder's default bank account
                            example: true
                          ClientAccountID:
                            type: string
                            description: ClientAccountID attached to the bank account.
                            example: ClientAccount1
                          ClientReferenceNumber:
                            type: string
                            description: ClientReferenceNumber attached to the bank account.
                            example: ABC123
                          Address:
                            type: string
                            description: Civic address of the account holder.
                            example: 123 Fake st
                          City:
                            type: string
                            description: City of the account holder.
                            example: Vancouver
                          Province:
                            type: string
                            description: Province of the account holder.
                            example: BC
                          PostalCode:
                            type: string
                            description: Postal Code of the account holder.
                            example: A1A1A1
                          Verified:
                            type: boolean
                            description: Has the bank account been verified.
                            example: true
                          ConnectionType:
                            type: string
                            description: 'The bank account connection type. Possible values are: online, manual.'
                            example: online
                          DateAdded:
                            type: string
                            format: date
                            description: Date the bank account was added
                            example: '2019-11-03 01:00:00'
                        required:
                        - AccountHolderName
                        - InstitutionName
                        - FinancialInstituionNumber
                        - BranchTransitNumber
                        - AccountNumber
                        - Currency
                        - Token
                        - FlinksAccountID
                        - FlinksLoginID
                        - PlaidAccountID
                        - InveriteRequestGUID
                        - ClientControlledBankAccount
                        - IsDefault
                        - ClientAccountID
                        - ClientReferenceNumber
                        - Address
                        - City
                        - Province
                        - PostalCode
                        - Verified
                        - ConnectionType
                        - DateAdded
                    x-list-of: inline
                    x-empty-when: no bank accounts match
                  Pagination:
                    type: object
                    description: Pagination metadata
                    properties:
                      TotalRecords:
                        type: string
                        description: Total number of bank account records in that search range.
                        example: '1000'
                      Offset:
                        type: string
                        description: Use this parameter to set the starting point in the dataset.
                        example: '1000'
                      Limit:
                        type: string
                        description: Limit the number of records that are returned.
                        example: '1000'
                    x-absent-when: response uses PaginationMetaData; present only when pagination is requested
                    required:
                    - TotalRecords
                    - Offset
                    - Limit
                required:
                - Success
                - ErrorMessage
                - BankAccounts
  /bank-account/set-my-bank-account:
    post:
      description: "This endpoint allows you to identify a bank account as belonging to the VoPay account holder.\n\n Optionally, you can use this endpoint to identify a bank account as being the VoPay account holder's default operational and/or billing bank account. The VoPay account holder's default operational bank account is used in the /account/fund-my-account and /account/withdraw-my-account endpoints. The VoPay account holder's default billing bank account is used to collect monthly invoices. Note, a VoPay account can only have one default operational and one default billing bank account per currency."
      summary: bank-account/set-my-bank-account
      tags:
      - Bank Account Endpoints
      operationId: BankAccountSetMyBankAccountPOST
      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
                Token:
                  description: Bank account token
                  type: string
                ClientAccountID:
                  description: Client Account ID
                  type: string
                SetAsDefault:
                  description: Identify bank account as a default bank account
                  type: boolean
                Purpose:
                  description: 'Identify bank account purpose. Input can be a comma-delimited list. Valid values are: operational and billing. Default value is operational.'
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - Token
        required: true
      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: ''
                  Token:
                    type: string
                    description: Bank account token
                    example: ACBDF-GAFSHD-AHBS-123456
                  IsDefault:
                    type: boolean
                    description: Is this the VoPay account holder's default bank account
                    example: true
                required:
                - Success
                - ErrorMessage
                - Token
                - IsDefault
  /bank-account/default-bank-account:
    get:
      description: This endpoint retrieves the default bank account associated with your VoPay account
      summary: bank-account/default-bank-account
      tags:
      - Bank Account Endpoints
      operationId: BankAccountDefaultBankAccountGET
      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: ClientAccountID
        in: query
        required: false
        description: When provided, this endpoint will return the default bank account associated with this Client Account ID
        schema:
          type: string
      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: ''
                  DefaultOperationalBankAccount:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Empty {} when no items. Default bank account associated with the Account or Client Account'
                    properties:
                      '0':
                        type: object
                        properties:
                          AccountHolderName:
                            type: string
                            description: Account Holder's name.
                            example: John Smith
                          InstitutionName:
                            type: string
                            description: Financial institution name.
                            example: CIBC
                          FinancialInstituionNumber:
                            type: string
                            description: Financial Instituion Number of the bank account.
                            example: '010'
                          BranchTransitNumber:
                            type: string
                            description: Branch Transit Number of the bank account
                            example: 00390
                          AccountNumber:
                            type: string
                            description: Masked account number of the bank account.
                            example: '*****1234'
                          Currency:
                            type: string
                            description: Currency of bank account.
                            example: CAD
                          Token:
                            type: string
                            description: Bank account token.
                            example: ACBDF-GAFSHD-AHBS-123456
                          FlinksAccountID:
                            type: string
                            description: Set for clients with a Flinks account
                            example: ACBDF-GAFSHD-AHBS-123456
                          FlinksLoginID:
                            type: string
                            description: Set for clients with a Flinks account
                            example: ACBDF-GAFSHD-AHBS-123456
                          PlaidAccountID:
                            type: string
                            description: Set for clients with a Plaid account
                            example: ACBDF-GAFSHD-AHBS-123456
                          InveriteRequestGUID:
                            type: string
                            description: Used by clients with an Inverite account
                            example: ACBDF-GAFSHD-AHBS-123456
                          ClientControlledBankAccount:
                            type: boolean
                            description: Set to 1 if the bank account is linked to your VoPay account
                            example: true
                          IsDefault:
                            type: boolean
                            description: Is this the VoPay account holder's default bank account
                            example: true
                          ClientAccountID:
                            type: string
                            description: ClientAccountID attached to the bank account.
                            example: ClientAccount1
                          ClientReferenceNumber:
                            type: string
                            description: ClientReferenceNumber attached to the bank account.
                            example: ABC123
                          Address:
                            type: string
                            description: Civic address of the account holder.
                            example: 123 Fake st
                          City:
                            type: string
                            description: City of the account holder.
                            example: Vancouver
                          Province:
                            type: string
                            description: Province of the account holder.
                            example: BC
                          PostalCode:
                            type: string
                            description: Postal Code of the account holder.
                            example: A1A1A1
                          DateAdded:
                            type: string
                            format: date
                            description: Date the bank account was added
                            example: '2019-11-03 01:00:00'
                        required:
                        - AccountHolderName
                        - InstitutionName
                        - FinancialInstituionNumber
                        - BranchTransitNumber
                        - AccountNumber
                        - Currency
                        - Token
                        - FlinksAccountID
                        - FlinksLoginID
                        - PlaidAccountID
                        - InveriteRequestGUID
                        - ClientControlledBankAccount
                        - IsDefault
                        - ClientAccountID
                        - ClientReferenceNumber
                        - Address
                        - City
                        - Province
                        - PostalCode
                        - DateAdded
                    x-list-of: inline
                    x-empty-when: no default operational bank account
                  DefaultBillingBankAccount:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Empty {} when no items. Default bank account associated with the Account or Client Account'
                    properties:
                      '0':
                        type: object
                        properties:
                          AccountHolderName:
                            type: string
                            description: Account Holder's name.
                            example: John Smith
                          InstitutionName:
                            type: string
                            description: Financial institution name.
                            example: CIBC
                          FinancialInstituionNumber:
                            type: string
                            description: Financial Instituion Number of the bank account.
                            example: '010'
                          BranchTransitNumber:
                            type: string
                            description: Branch Transit Number of the bank account
                            example: 00390
                          AccountNumber:
                            type: string
                            description: Masked account number of the bank account.
                            example: '*****1234'
                          Currency:
                            type: string
                            description: Currency of bank account.
                            example: CAD
                          Token:
                            type: string
                            description: Bank account token.
                            example: ACBDF-GAFSHD-AHBS-123456
                  

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