VoPay Partner Endpoints API
The Partner Endpoints API from VoPay — 14 operation(s) for partner endpoints.
The Partner Endpoints API from VoPay — 14 operation(s) for partner 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-partner-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 Partner 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: Partner Endpoints
paths:
/partner/account:
post:
description: This endpoint is used to create a VoPay account. You will need to sign-up as a partner account in order to use this endpoint and start creating VoPay accounts for your users.
summary: partner/account
tags:
- Partner Endpoints
operationId: AccountPOST
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
Name:
description: Name of the person/company you are going to create an account for
type: string
EmailAddress:
description: Email address of the person/company you are creating an account for
type: string
format: email
Country:
description: This is an opetional parameter specifying the country of the account. ISO abbreviation or full country name. If not provided, the account will inherit the country of the partner account.
type: string
ClientAccountsEnabled:
description: This is an optional parameter to enable client accounts
type: boolean
ParentAccountID:
description: Specify the parent account ID to create a sub account under this parent account
type: string
CreateVirtualAccount:
description: It is a flag to allow user to decide if he wants to create a virtual account for the subaccount. By default this value is set as false. Must have VirtualAccounts enabled to use this parameter.
type: boolean
VopayAccountID:
description: Optional custom account ID to assign to the new account being created
type: string
PrimaryContactName:
description: Full name of the primary contact for the account
type: string
Address1:
description: Street address line 1 for the account
type: string
Address2:
description: Street address line 2 for the account
type: string
City:
description: City of the account address
type: string
Province:
description: Province or state of the account address
type: string
PostalCode:
description: Postal or ZIP code of the account address
type: string
required:
- AccountID
- Key
- Signature
- Name
- EmailAddress
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: ''
Message:
type: string
description: Contains a description of the successful message
example: ''
AccountID:
type: string
description: Account Name of the new user created in the endpoint
example: AccountTest1
APISharedSecret:
type: string
description: API Shared Secret
example: AbcDefGi+KlmnopQRSTu183==
APIKey:
type: string
description: The API key for the sub account
example: eddc0f5e37d20f98b486daf842447ec1f225f859
ApplicationID:
type: string
description: The onboarding application ID. Only applicable if the account is created in 'Application Pending' status
example: '213086325897'
Link:
type: string
description: The onboarding application link. Only applicable if the account is created in 'Application Pending' status
example: https://onboarding-app-dev.vopay.com
required:
- Success
- ErrorMessage
- Message
- AccountID
- APISharedSecret
- APIKey
- ApplicationID
- Link
get:
description: This endpoint is used to get a list of accounts created using a partner account. It will return the accounts data including shareholder, signing authority and balance information
summary: partner/account
tags:
- Partner Endpoints
operationId: AccountGET
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: ''
PartnerAccount:
type: string
description: Partner account name
example: ParentAccount1
Accounts:
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
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:
# --- truncated at 32 KB (112 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vopay/refs/heads/main/openapi/vopay-partner-endpoints-api-openapi.yml