VoPay Account Endpoints API

The Account Endpoints API from VoPay — 20 operation(s) for account endpoints.

Operations 22

GET /account/balance account/balance #
GET /account/balances account/balances #
POST /account/fund-my-account account/fund-my-account #
POST /account/fund-my-account/schedule account/fund-my-account/schedule #
POST /account/withdraw-my-account account/withdraw-my-account #
POST /account/withdraw-my-account/schedule account/withdraw-my-account/schedule #
GET /account/transactions account/transactions #
GET /account/transactions/codes account/transactions/codes #
GET /account/transactions/gl-codes account/transactions/gl-codes #
GET /account/remaining-limit account/remaining-limit #
POST /account/transfer-to account/transfer-to #
POST /account/transfer-from account/transfer-from #
POST /account/auto-balance-transfer account/auto-balance-transfer #
GET /account/auto-balance-transfer account/auto-balance-transfer #
GET /account/transactions/recent account/transactions/recent #
GET /account/auto-balance-transfer-list account/auto-balance-transfer-list #
POST /account/auto-balance-transfer/cancel account/auto-balance-transfer/cancel #
GET /account/auto-balance-transfer/report account/auto-balance-transfer/report #
POST /account/authorized-ips account/authorized-ips #
GET /account/authorized-ips account/authorized-ips #
POST /account/set-default-payment-method account/set-default-payment-method #
POST /account/transaction/history account/transaction/history #

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-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-account-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Accounts Account Endpoints API
  description: The Account API defines endpoints for managing VoPay accounts and sub-accounts.  These endpoints allow partners to create and manage accounts, set permissions, handle transactions,  schedule transfers, retrieve account information, and manage onboarding processes, ensuring secure  and efficient account and transaction management.
  contact:
    name: API Support
    email: help@vopay.com
servers:
- url: https://earthnode-dev.vopay.com/api/v2
tags:
- name: Account Endpoints
paths:
  /account/balance:
    get:
      description: This endpoint returns details on your current account balance and available funds.
      summary: account/balance
      tags:
      - Account Endpoints
      operationId: AccountBalanceGet
      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: Currency
        in: query
        required: false
        description: 3 character currency code for the currency to fetch transactions for. If this is not specified it will be defaulted to the account's local currency (generally CAD).
        schema:
          type: string
      - name: AsOfDate
        in: query
        required: false
        description: A date in ISO 8601 format (yyyy-mm-dd) representing the date for which you want to retrieve the balance. If not provided, the current balance will be returned.
        schema:
          type: string
          format: date
      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: ''
                  AccountBalance:
                    type: number
                    description: Indicates the total current account balance, including pending funds.
                    example: '20000.00'
                  PendingFunds:
                    type: number
                    description: Indicates the portion of the account balance which is pending due to in-progress transactions.
                    example: '5540.24'
                  Reserve:
                    type: number
                    description: Indicates the portion of the account balance which is being held as a reserve against negative balances.
                    example: '50000.00'
                  RollingReserveNSF:
                    type: number
                    description: Indicates the portion of the account balance which is being held as a reserve against NSF transactions.
                    example: '10000.00'
                    x-absent-when: account has no rolling reserve
                  RollingReserveReturns:
                    type: number
                    description: Indicates the portion of the account balance which is being held as a reserve against returned transactions.
                    example: '1000.00'
                    x-absent-when: account has no rolling reserve
                  AvailableImmediately:
                    type: number
                    description: Indicate the portion of the account balance that is available immediately
                    example: '0.00'
                  AvailableFunds:
                    type: number
                    description: Indicates the portion of the account balance which is currently available for use. This is calculated by taking the AccountBalance and subtracting the PendingFunds, Reserve, RollingReserveNSF and RollingReserveReturns amounts.
                    example: '18000.00'
                  Currency:
                    type: string
                    description: 3 character currency code for the balance being returned.
                    example: CAD
                  AsOfDate:
                    type: string
                    format: date
                    description: The date for which the balance is being returned.
                    example: '2020-01-01'
                  RollupAvailableBalance:
                    type: string
                    description: Represents the aggregated total available balance of all sub-accounts under this account. This is only returned if the account has sub-accounts enabled.
                    example: '1280000.00'
                    x-absent-when: SubAccountPermissions disabled
                  RollupAccountBalance:
                    type: string
                    description: Represents the aggregated total account balance of all sub-accounts under this account. This is only returned if the account has sub-accounts enabled
                    example: '18000.00'
                    x-absent-when: SubAccountPermissions disabled
                required:
                - Success
                - ErrorMessage
                - AccountBalance
                - PendingFunds
                - Reserve
                - AvailableImmediately
                - AvailableFunds
                - Currency
                - AsOfDate
  /account/balances:
    get:
      description: This endpoint returns details on your current account balances and available funds for all currencies associated with your account. Unlike /account/balance which returns a single currency, this endpoint returns an array of balances for each currency your account has records for.
      summary: account/balances
      tags:
      - Account Endpoints
      operationId: AccountBalancesGet
      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: AsOfDate
        in: query
        required: false
        description: A date in ISO 8601 format (yyyy-mm-dd) representing the date for which you want to retrieve the balances. If not provided, the current balances will be returned.
        schema:
          type: string
          format: date
      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: ''
                  AccountBalances:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Empty {} when no items.'
                    x-list-of: inline
                    x-empty-when: no items
                    properties:
                      '0':
                        type: object
                        properties:
                          AccountBalance:
                            type: string
                            description: Indicates the total current account balance for this currency, including pending funds.
                            example: '20000.00'
                          PendingFunds:
                            type: string
                            description: Indicates the portion of the account balance which is pending due to in-progress transactions.
                            example: '5540.24'
                          SecurityDeposit:
                            type: string
                            description: Indicates the portion of the account balance which is being held as a security deposit.
                            example: '50000.00'
                          Reserve:
                            type: string
                            description: Indicates the portion of the account balance which is being held as a reserve against negative balances.
                            example: '50000.00'
                          AvailableImmediately:
                            type: string
                            description: Indicate the portion of the account balance that is available immediately
                            example: '0.00'
                          AvailableFunds:
                            type: string
                            description: Indicates the portion of the account balance which is currently available for use. This is calculated by taking the AccountBalance and subtracting the PendingFunds, Reserve, RollingReserveNSF and RollingReserveReturns amounts.
                            example: '18000.00'
                          OffbookBalance:
                            type: string
                            description: Indicates the off-book balance for this currency.
                            example: '0.00'
                          Currency:
                            type: string
                            description: 3 character currency code for the balance being returned.
                            example: CAD
                          AsOfDate:
                            type: string
                            format: date
                            description: The date for which the balance is being returned.
                            example: '2026-02-11'
                          VirtualAccountNumber:
                            type: string
                            description: 'The virtual account number associated with this currency, if virtual accounts are enabled. Format varies: IBAN (if present), FinancialInstitutionNumber-BranchTransitNumber-AccountNumber (Canadian accounts), or ABARoutingNumber-AccountNumber (US accounts). Empty string if no virtual account exists.'
                            example: 12345678-01234-001
                          RollingReserveNSF:
                            type: string
                            description: Indicates the portion of the account balance which is being held as a reserve against NSF transactions. Only present if the account has rolling reserves enabled.
                            example: '10000.00'
                          RollingReserveReturns:
                            type: string
                            description: Indicates the portion of the account balance which is being held as a reserve against returned transactions. Only present if the account has rolling reserves enabled.
                            example: '1000.00'
                          RollupAvailableBalance:
                            type: string
                            description: Represents the aggregated total available balance of all sub-accounts under this account for this currency. Only present if the account has sub-accounts enabled.
                            example: '1280000.00'
                          RollupAccountBalance:
                            type: string
                            description: Represents the aggregated total account balance of all sub-accounts under this account for this currency. Only present if the account has sub-accounts enabled.
                            example: '18000.00'
                        required:
                        - AccountBalance
                        - PendingFunds
                        - SecurityDeposit
                        - Reserve
                        - AvailableImmediately
                        - AvailableFunds
                        - OffbookBalance
                        - Currency
                        - AsOfDate
                        - VirtualAccountNumber
                        - RollingReserveNSF
                        - RollingReserveReturns
                        - RollupAvailableBalance
                        - RollupAccountBalance
                required:
                - Success
                - ErrorMessage
                - AccountBalances
  /account/fund-my-account:
    post:
      description: 'This endpoint will fund your VoPay account by debiting your default bank account.


        To set a default bank account, please use the /bank-account/set-my-bank-account endpoint.'
      summary: account/fund-my-account
      tags:
      - Account Endpoints
      operationId: AccountFundMyAccountPOST
      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
                Amount:
                  description: The amount to debit from your bank account.
                  type: number
                ClientReferenceNumber:
                  description: An optional reference number to associate with the transactions
                  type: string
                Notes:
                  description: An optional note to associate with the transactions.
                  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
                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
              required:
              - AccountID
              - Key
              - Signature
              - 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: The unique ID of the funding transaction that was just created. This ID should be saved as it is required order to look up the status information on the transaction.
                    example: '1122'
                required:
                - Success
                - ErrorMessage
                - TransactionID
  /account/fund-my-account/schedule:
    post:
      description: 'This endpoint will create a scheduled transaction to fund your VoPay account by debiting your default bank account.


        To set a default bank account, please use the /bank-account/set-my-bank-account endpoint.'
      summary: account/fund-my-account/schedule
      tags:
      - Account Endpoints
      operationId: AccountFundMyAccountSchedulePOST
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/AccountFundMyAccountSchedulePOST'
      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
  /account/withdraw-my-account:
    post:
      description: 'This endpoint will credit your default bank account by withdarwing funds from your VoPay account.


        To set a default bank account, please use the /bank-account/set-my-bank-account endpoint.'
      summary: account/withdraw-my-account
      tags:
      - Account Endpoints
      operationId: AccountWithdrawMyAccountPOST
      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
                Amount:
                  description: The amount to credit to your bank account.
                  type: number
                ClientReferenceNumber:
                  description: An optional reference number to associate with the transactions
                  type: string
                Notes:
                  description: An optional note to associate with the transactions.
                  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
              required:
              - AccountID
              - Key
              - Signature
              - 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: The unique ID of the funding transaction that was just created. This ID should be saved as it is required order to look up the status information on the transaction.
                    example: '1122'
                required:
                - Success
                - ErrorMessage
                - TransactionID
  /account/withdraw-my-account/schedule:
    post:
      description: 'This endpoint will create a scheduled transaction to credit your default bank account by withdarwing funds from your VoPay account.


        To set a default bank account, please use the /bank-account/set-my-bank-account endpoint.'
      summary: account/withdraw-my-account/schedule
      tags:
      - Account Endpoints
      operationId: AccountWithdrawMyAccountSchedulePOST
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/AccountFundMyAccountSchedulePOST'
      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
  /account/transactions:
    get:
      description: This endpoint returns a list all of the transactions which affect the account balance. This endpoint only returns basic information on the transactions. More detailed information on individual transactions is available from other API endpoints.
      summary: account/transactions
      tags:
      - Account Endpoints
      operationId: AccountTransactionsGet
      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: StartDateTime
        in: query
        required: true
        description: Return transactions that occurred on or after this date/time. Can be specified in either YYYY-MM-DD HH:MM:SS or YYYY-MM-DD format.
        schema:
          type: string
          format: date-time
      - name: EndDateTime
        in: query
        required: true
        description: Return transactions that occurred on or before this date/time. Can be specified in either YYYY-MM-DD HH:MM:SS or YYYY-MM-DD format.
        schema:
          type: string
          format: date-time
      - name: SettlementDate
        in: query
        required: false
        description: Return transactions that settled on this date. YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: ClientAccountID
        in: query
        required: false
        description: Filter transactions by Client account ID
        schema:
          type: string
      - name: ContactID
        in: query
        required: false
        description: Filter transactions by Contact ID
        schema:
          type: string
      - name: Currency
        in: query
        required: false
        description: 3 character currency code for the currency to fetch transactions for. If this is not specified it will be defaulted to the account's local currency (generally CAD).
        schema:
          type: string
      - name: TransactionType
        in: query
        required: false
        description: 'Specifies the type of transaction to return. Accepted values are: ''EFT Funding'', ''EFT Withdrawal'', ''Interac Money Request'', ''Interac Bulk Payout'', ''Credit Card'', ''Fee'', ''Reversal''.'
        schema:
          type: string
      - name: TransactionID
        in: query
        required: false
        description: Searches for a transaction with the specified transaction ID, including any related child transactions which may exist.
        schema:
          type: integer
          format: int32
      - name: ClientReferenceNumber
        in: query
        required: false
        description: Searches for transactions with the specified client reference number.
        schema:
          type: string
      - name: ScheduledTransactionID
        in: query
        required: false
        description: Id of the schedule transaction to search
        schema:
          type: string
      - name: WalletID
        in: query
        required: false
        description: Id of the wallet that the transactions should belong to
        schema:
          type: string
      - name: IsFlagged
        in: query
        required: false
        description: Filter the list of transactions to only include transactions that have a flag status and have not been confirmed by the client.
        schema:
          type: boolean
      - name: IsRefunded
        in: query
        required: false
        description: Filter the list of transactions to only include transactions that have been refunded.
        schema:
          type: boolean
      - name: TransactionStatus
        in: query
        required: false
        description: Filter the list of transactions by transaction status (ex. 'pending').
        schema:
          type: string
      - name: IncludeSubaccountTransactions
        in: query
        required: false
        description: Fetch transactions for subaccounts as well.
        schema:
          type: boolean
      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: ''
                  NumberOfRecords:
                    type: integer
                    description: Total number of transaction records returned
                    example: '0'
                  Transactions:
                    type: object
                    description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Empty {} when no items.'
                    properties:
                      '0':
                        type: object
                        properties:
                          TransactionID:
                            type: integer
                            description: Unique ID for the Transaction
                            example: '5918'
                          AccountName:
                            type: string
                            description: Account Name
                            example: ''
                          TransactionDateTime:
                            type: string
                            format: date-time
                            description: The timestamp on which the transaction occurred.
                            example: '2019-12-04 18:13:39'
                          SettlementDate:
                            type: string
                            format: date-time
                            description: The timestamp on which the transaction settled.
                            example: '2019-12-04 18:13:39'
                          TransactionType:
                            type: string
                            description: Specifies the type of transaction, for example 'EFT Funding', 'EFT Withdrawal', 'Fee'.
                            example: Reversal
                          TransactionStatus:
                            type: string
                            description: Current Status of the transaction
                            example: in progress
                          Notes:
                            type: string
                            description: If applicable, notes giving context to the transaction.
                            example: Transaction cancelled
                          DebitAmount:
                            type: number
                            description: The dollar amount by which this transaction debited funds from your account balance. If DebitAmountis set, CreditAmount will be null.
                            example: '100.00'
                          CreditAmount:
                            type: number
                            description: The dollar amount by which this transaction credited funds to your account balance. If CreditAmount is set, DebitAmount will be null.
                            example: '0.00'
                          Currency:
                            type: string
                            description: 3 character currency code.
                            example: CAD
                          HoldAmount:
                            type: number
                            description: The dollar amount of the funds from this transaction which are temporarily on hold. This is only applicable for transactions where CreditAmount is set.
                            example: '0.00'
                          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 HoldAmount is changed.
                            example: '2019-12-04 18:13:39'
                          ParentTransactionID:
                            type: string
                            description: If a tr

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