VoPay Sub-Account Endpoints API
The Sub-Account Endpoints API from VoPay — 6 operation(s) for sub-account endpoints.
The Sub-Account Endpoints API from VoPay — 6 operation(s) for sub-account endpoints.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/vopay-sub-account-endpoints-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
version: '2.0'
title: Accounts Sub-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: Sub-Account Endpoints
paths:
/account/subaccount:
get:
description: This endpoint will return a list of all of the sub-accounts managed by the main account.
summary: account/subaccount
tags:
- Sub-Account Endpoints
operationId: SubaccountGET
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: '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: IncludeBalances
in: query
required: false
description: When true, includes balance data for each account. Defaults to true.
schema:
type: boolean
- name: IncludeExtendedInfo
in: query
required: false
description: When true, includes signing authorities, beneficial owners, and other KYC fields for each account. Defaults to true.
schema:
type: boolean
- name: IncludeChildAccounts
in: query
required: false
description: When true, includes nested sub-accounts for each account. Defaults to true.
schema:
type: boolean
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: ''
ParentAccount:
type: string
description: Parent account name
example: ParentAccount1
Subaccounts:
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:
LegalBusinessName:
type: string
description: Legal Business Name
example: Company Legal Business Name
AccountName:
type: string
description: Account name of the sub account
example: SubaccountName1
AccountID:
type: string
description: Account ID of the sub account
example: Subaccount1
SubAccountType:
type: string
description: Type of sub-account
example: ''
OrginatorName:
type: string
description: Short Name of the company to identify themselves in the documents
example: ''
OriginatorShortName:
type: string
description: Short Name of the company to identify themselves in the documents (max 15 chars)
example: ''
Email:
type: string
format: email
description: Sub-account email address
example: subaccount.mail@email.com
Phone:
type: integer
description: Sub-account's phone number
example: 604556****
Fax:
type: string
description: Sub-account's fax number
example: 604556****
City:
type: string
description: Sub-account's city
example: Vancouver
Province:
type: string
description: Sub-account's province specified using two character abbreviation (eg. BC, AB)
example: BC
Country:
type: string
description: Sub-account's country specified using full country name or ISO 3166-1 alpha-2 code.
example: Canada
PostalCode:
type: string
description: Sub-account's postal code.
example: V2W 4V6
Address:
type: string
description: Sub-account's address line
example: 112 Bentall Street
APISharedSecret:
type: string
description: API Shared Secret
example: AbcDefGi+KlmnopQRSTu183==
FlinksUrl:
type: string
description: The Flinks URL
example: https://www.mycompany.com/flinks-url
WebhookUrl:
type: string
description: URL where the users want us to send their notifications. See Webhooks attribute for full list.
example: https://www.mycompany.com/webhook-listener
Webhooks:
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:
Event:
type: string
description: 'The type of webhook notification the users wish to receive. Options are: transaction, paylink, bankaccount, debitcard, creditcard, batchrequest, batchdetail, accountonboarding, accountonboardingapplication, scheduledtransactions, accountverifications, virtualtransaction.'
example: ''
Url:
type: string
description: Webhook URL, is the url is not setup it will return empty
example: ''
required:
- Event
- Url
x-list-of: inline
x-empty-when: no items
ParentAccounts:
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:
AccountID:
type: string
description: Account ID of the account
example: acme_inc
AccountName:
type: string
description: Account name of the account
example: ACME Inc.
ParentAccountID:
type: string
description: The parent account ID of the account
example: acme_llc
required:
- AccountID
- AccountName
- ParentAccountID
x-list-of: inline
x-empty-when: no items
SubAccounts:
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:
LegalBusinessName:
type: string
description: Legal Business Name
example: Company Legal Business Name
DBAName:
type: string
description: Doing Business As Name
example: Doing Business As Name
AccountName:
type: string
description: Account name of the account
example: SubaccountName1
ParentAccountName:
type: string
description: Parent account name. This will only be populated if the account is a sub-account
example: ParentAccount1
AccountID:
type: string
description: Account ID of the account
example: Subaccount1
OrginatorName:
type: string
description: Short Name of the company to identify themselves in the documents
example: ''
OriginatorShortName:
type: string
description: Short Name of the company to identify themselves in the documents (max 15 chars)
example: ''
Email:
type: string
format: email
description: Account email address
example: subaccount.mail@email.com
Phone:
type: integer
description: Account's phone number
example: 604556****
Fax:
type: string
description: Account's fax number
example: 604556****
City:
type: string
description: Account's city
example: Vancouver
Province:
type: string
description: Account's province specified using two character abbreviation (eg. BC, AB)
example: BC
Country:
type: string
description: Account's country specified using full country name or ISO 3166-1 alpha-2 code.
example: Canada
PostalCode:
type: string
description: Account's postal code.
example: V2W 4V6
Address:
type: string
description: Account's address line
example: 112 Bentall Street
FlinksUrl:
type: string
description: The Flinks URL
example: https://www.mycompany.com/flinks-url
WebhookUrl:
type: string
description: URL where the users want us to send their notifications. See Webhooks attribute for full list.
example: https://www.mycompany.com/webhook-listener
Webhooks:
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:
Event:
type: string
description: 'The type of webhook notification the users wish to receive. Options are: transaction, paylink, bankaccount, debitcard, creditcard, batchrequest, batchdetail, accountonboarding, accountonboardingapplication, scheduledtransactions, accountverifications, virtualtransaction.'
example: ''
Url:
type: string
description: Webhook URL, is the url is not setup it will return empty
example: ''
required:
- Event
- Url
x-list-of: inline
x-empty-when: no items
IsActive:
type: boolean
description: Is the account active
example: true
GCMEnabled:
type: boolean
description: Permission related to Global cash management
example: true
EFTCollectEnabled:
type: boolean
description: Permission related to EFT Fund
example: true
EFTSendEnabled:
type: boolean
description: Permission related to EFT Withdraw
example: true
USDEFTCollectEnabled:
type: boolean
description: Permission related to EFT Fund using USD currency
example: true
USDEFTSendEnabled:
type: boolean
description: Permission related to EFT Withdraw using USD currency
example: true
RTRWithdrawEnabled:
type: boolean
description: Permission related to VoPay Instant Withdraw
example: true
VisaDirectEnabled:
type: boolean
description: Permission related to Visa Direct
example: true
InteracMoneyRequestEnabled:
type: boolean
description: Permission related to Interac Money request
example: true
InteracBulkPayoutEnabled:
type: boolean
description: Permission related to Interac bulk payout
example: true
PayLinkEnabled:
type: boolean
description: Permission related to Paylink
example: true
PortalViewOnly:
type: boolean
description: This flag will change the user permission to the admin portal. When true, the user will have 'Read Only' permission and when false, the user will be able to create transactions using the admin portal.
example: true
AddUserEnabled:
type: boolean
description: True if the user wants to enable this feature. This flag allow the user to add users to the accounts
example: true
TransactionApprovalWorkflowEnabled:
type: boolean
description: Permission related to the transaction approval workflows
example: true
AutoBalanceTransferEnabled:
type: boolean
description: True if the user wants to enable this feature. This flag allow the user to set auto transfer balance
example: true
MaxFundEFTAmount:
type: number
description: Maximum amount that the user can transfer using this endpoint
example: 4500
MaxWithdrawEFTAmount:
type: number
description: Maximum amount that the user can transfer using this endpoint
example: 4500
MaxGCMAmount:
type: number
description: Maximum amount that the user can transfer using this endpoint
example: 4500
MaxInteracMoneyAmount:
type: number
description: Maximum amount that the user can transfer using this endpoint
example: 4500
MaxInteracBulkPayoutAmount:
type: number
description: Maximum amount that the user can transfer using this endpoint
example: 4500
MaxVisaDirectAmount:
type: number
description: Maximum amount that the user can transfer using this endpoint
example: 4500
Balances:
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:
Currency:
type: string
description: 3 character currency code for the balance being returned.
example: CAD
AccountBalance:
type: number
description: Indicates the total current account balance, including pending funds.
example: '20000.00'
PendingBalance:
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'
RollingReserveReturns:
type: number
description: Indicates the portion of the account balance which is being held as a reserve against returned transactions.
example: '1000.00'
AvailableImmediately:
type: number
description: Indicate the portion of the account balance that is available immediately
example: '0.00'
AvailableBalance:
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'
required:
- Currency
- AccountBalance
- PendingBalance
- Reserve
- RollingReserveNSF
- RollingReserveReturns
- AvailableImmediately
- AvailableBalance
x-absent-when: IncludeBalances=false
x-list-of: inline
x-empty-when: no items
ShareHolders:
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:
ID:
type: integer
description: Shareholder ID
example: ''
FullName:
type: string
description: Shareholder First name and last name
example: Share holder name
Ownership:
type: string
description: Percentage of ownership only if is greater than 20%
example: '20'
Occupation:
type: string
description: Shareholder's occupation
example: ''
HomeAddress:
type: string
description: Shareholder's home address
example: 123 address st, Vancouver
DateAdded:
type: string
format: date
description: ''
example: '2019-11-03 01:00:00'
required:
- ID
- FullName
- Ownership
- Occupation
- HomeAddress
- DateAdded
x-absent-when: IncludeExtendedInfo=false
x-list-of: inline
x-empty-when: no items
SigningAuthorities:
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:
ID:
type: integer
description: Signing Authority ID
example: ''
FullName:
type: string
description: Signing Authority First name and last name
example: Signing Authority name
Occupation:
type: string
description: Signing Authority's occupation
example: ''
EmailAddress:
type: string
description: Signing Authority's email address
example: signingauthority@gmail.com
HomeAddress:
type: string
description: Signing Authority's home address
example: 123 address st, Vancouver
DateAdded:
type: string
format: date
description: ''
example: '2019-11-03 01:00:00'
required:
- ID
- FullName
- Occupation
- EmailAddress
- HomeAddress
- DateAdded
x-absent-when: IncludeExtendedInfo=false
x-list-of: inline
x-empty-when: no items
required:
- LegalBusinessName
- DBAName
- AccountName
- ParentAccountName
- AccountID
- OrginatorName
- OriginatorShortName
- Email
- Phone
- Fax
- City
- Province
- Country
- PostalCode
- Address
- FlinksUrl
- WebhookUrl
- Webhooks
- IsActive
- GCMEnabled
- EFTCollectEnabled
- EFTSendEnabled
- USDEFTCollectEnabled
- USDEFTSendEnabled
- RTRWithdrawEnabled
- VisaDirectEnabled
- InteracMoneyRequestEnabled
- InteracBulkPayoutEnabled
- PayLinkEnabled
- PortalViewOnly
- AddUserEnabled
- TransactionApprovalWorkflowEnabled
- AutoBalanceTransferEnabled
- MaxFundEFTAmount
- MaxWithdrawEFTAmount
- MaxGCMAmount
- MaxInteracMoneyAmount
- MaxInteracBulkPayoutAmount
- MaxVisaDirectAmount
x-absent-when: IncludeChildAccounts=false
x-list-of: inline
x-empty-when: no items
IsActive:
# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vopay/refs/heads/main/openapi/vopay-sub-account-endpoints-api-openapi.yml