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: 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