VoPay Partner Endpoints API

The Partner Endpoints API from VoPay — 14 operation(s) for partner endpoints.

Operations 15

POST /partner/account partner/account #
GET /partner/account partner/account #
POST /partner/account/business-case partner/account/business-case #
POST /partner/account/set-permissions partner/account/set-permissions #
GET /partner/billing-packages partner/billing-packages #
GET /partner/invoice-details partner/invoice-details #
GET /partner/account/transactions partner/account/transactions #
POST /partner/account/transfer partner/account/transfer #
POST /partner/account/fund-transfer partner/account/fund-transfer #
POST /partner/account/transfer-withdraw partner/account/transfer-withdraw #
POST /partner/account/fund-transfer-withdraw partner/account/fund-transfer-withdraw #
GET /partner/account/onboarding-url partner/account/onboarding-url #
POST /partner/create-partner partner/create-partner #
POST /partner/account/edit partner/account/edit #
POST /partner/account/deactivate partner/account/deactivate #

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-partner-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-partner-endpoints-api-openapi.yml Raw ↑
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