VoPay Client Account Transfer Endpoints API

The Client Account Transfer Endpoints API from VoPay — 10 operation(s) for client account transfer endpoints.

Operations 10

POST /account/client-accounts/transfer account/client-accounts/transfer #
POST /account/client-accounts/fund-transfer account/client-accounts/fund-transfer #
POST /account/client-accounts/transfer-withdraw account/client-accounts/transfer-withdraw #
POST /account/client-accounts/fund-transfer-withdraw account/client-accounts/fund-transfer-withdraw #
GET /account/client-accounts/transactions account/client-accounts/transactions #
POST /account/client-accounts/fund-transfer/schedule account/client-accounts/fund-transfer/schedule #
POST /account/client-accounts/transfer-withdraw/schedule account/client-accounts/transfer-withdraw/schedule #
POST /account/client-accounts/fund-transfer-withdraw/schedule account/client-accounts/fund-transfer-withdraw/schedule #
POST /account/client-accounts/transfer/schedule/cancel account/client-accounts/transfer/schedule/cancel #
GET /account/client-accounts/scheduled-transfers account/client-accounts/scheduled-transfers #

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-client-account-transfer-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-client-account-transfer-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Client Accounts Client Account Transfer Endpoints API
  description: The Client Accounts API allows you to create, manage and retrieve information about client accounts.
  contact:
    name: API Support
    email: help@vopay.com
servers:
- url: https://earthnode-dev.vopay.com/api/v2
tags:
- name: Client Account Transfer Endpoints
paths:
  /account/client-accounts/transfer:
    post:
      description: This endpoint will transfer money directly from the debitor client account to the recipient client account. Both client accounts must be active.
      summary: account/client-accounts/transfer
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountTransferPOST
      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
                DebitorClientAccountID:
                  description: ID of the client account transferring the funds
                  type: string
                RecipientClientAccountID:
                  description: ID of the client account receiving the funds
                  type: string
                Amount:
                  description: The amount to transfer from the debitor client account to the recipient client account.
                  type: number
                Currency:
                  description: 3 character currency code for the currency. If this is not specified the transaction will use the account's local currency.
                  type: string
                ClientReferenceNumber:
                  description: An optional reference number to associate with the transaction
                  type: string
                Notes:
                  description: An optional note to associate with the transaction.
                  type: string
                IdempotencyKey:
                  description: A unique key to prevent duplicate transactions. If a previous request with the same idempotency key was successful, the current request will return the same response as the previous successful request.
                  type: string
                ParentTransactionID:
                  description: If this transaction is related to a previous transaction, specify the parent transaction ID here.
                  type: integer
              required:
              - AccountID
              - Key
              - Signature
              - DebitorClientAccountID
              - RecipientClientAccountID
              - 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 transaction that was just created. This ID should be saved as it is required in order to look up the status information on the transaction.
                    example: '1122'
  /account/client-accounts/fund-transfer:
    post:
      description: "This endpoint will fund the Debitor client account using their default bank account, and then trigger an account transfer to the recipient client account once the funds have been cleared. \n\nTo set a default bank account, please use the /bank-account/set-my-bank-account endpoint."
      summary: account/client-accounts/fund-transfer
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountFundTransferPOST
      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
                DebitorClientAccountID:
                  description: ID of the client account transferring the funds
                  type: string
                RecipientClientAccountID:
                  description: ID of the client account receiving the funds
                  type: string
                RecipientClientAccountIDSplit:
                  description: 'A JSON formatted string specifying the details for a split payment. This must fit to the following format where the amount identifier is either Amount or Percentage, [{"ClientAccountID":"client_account_id_1","Amount": "5"},{"ClientAccountID":"client_account_id_2","Amount": "10"}]'
                  type: string
                Amount:
                  description: The amount to debit from the customer's bank account.
                  type: number
                FundingRail:
                  description: Specifies the rail to use for the funding transaction. If this is not specified eft will be used for Canadian accounts and ach for US accounts.
                  type: string
                IdempotencyKey:
                  description: A unique key to prevent duplicate transactions. If a previous request with the same idempotency key was successful, the current request will return the same response as the previous successful request.
                  type: string
                Currency:
                  description: 3 character currency code for the currency. If this is not specified the transaction will use the account's local currency.
                  type: string
                ReverseOnFailure:
                  description: Setting this to true will reverse both the fund and transfer should either fail. This is set to false, by default.
                  type: boolean
                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
                TransactionLabel:
                  description: The TransactionLabel overrides the originator short name on statements
                  type: string
                GLCode:
                  description: An optional unique identification general ledger code.
                  type: string
                WalletID:
                  description: The ID of the wallet to associate with the funding transaction. Requires DebitorClientAccountID to be provided.
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - DebitorClientAccountID
              - RecipientClientAccountID
              - RecipientClientAccountIDSplit
              - 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: ''
                  FundingTransactionID:
                    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'
                  AccountTransferID:
                    type: integer
                    description: The unique ID of the account transfer that was just created. This ID should be saved as it is required order to look up the status information on the transaction.
                    example: '2244'
  /account/client-accounts/transfer-withdraw:
    post:
      description: "This endpoint will transfer money from the debitor client account to the recipient client account, and then immediately withdraw the money from the recipient client account into their default bank account. \n\nTo set a default bank account, please use the /bank-account/set-my-bank-account endpoint."
      summary: account/client-accounts/transfer-withdraw
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountTransferWithdrawPOST
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/ClientAccountTransferWithdrawPOST'
      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: ''
                  WithdrawTransactionID:
                    type: integer
                    description: The unique ID of the withdrawal 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'
                  AccountTransferID:
                    type: integer
                    description: The unique ID of the account transfer that was just created. This ID should be saved as it is required order to look up the status information on the transaction.
                    example: '2244'
  /account/client-accounts/fund-transfer-withdraw:
    post:
      description: "This endpoint will fund the debitor client account using their default bank account, and then transfer the money to the recipient client account once the funds have been cleared. Once the funds are transferred, a withdraw transaction will be triggered to send the funds to the recipient client account's default bank account. \n\nTo set a default bank account, please use the /bank-account/set-my-bank-account endpoint."
      summary: account/client-accounts/fund-transfer-withdraw
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountFundTransferWithdrawPOST
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/ClientAccountTransferWithdrawPOST'
      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: ''
                  FundingTransactionID:
                    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'
                  WithdrawTransactionID:
                    type: integer
                    description: The unique ID of the withdrawal 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: '2244'
                  AccountTransferID:
                    type: integer
                    description: The unique ID of the account transfer that was just created. This ID should be saved as it is required order to look up the status information on the transaction.
                    example: '3366'
  /account/client-accounts/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/client-accounts/transactions
      tags:
      - Client Account Transfer Endpoints
      operationId: AccountClientAccountTransactionsGet
      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: ClientAccountID
        in: query
        required: true
        description: Filter transactions by Client account 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
      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: Collection of TransactionInfo data
                    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'
                          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 transaction directly relates to another transaction, this value will be set to link the new transaction to its parent. For example if an EFT comes back with insufficient funds a new transaction will be created referencing the original transaction as its parent.
                            example: '5909'
                          ChildTransactionIDs:
                            type: integer
                            description: If this transaction directly relates to any other transactions this will contain a collection of child transaction IDs. For example if an EFT is reversed due to insufficient funds the original transaction record will reference the new transaction as a child.
                            example: '{}'
                          ClientReferenceNumber:
                            type: string
                            description: The optional reference number which was set when the transaction was created.
                            example: 'null'
                          ScheduledTransactionID:
                            type: integer
                            description: ID of the scheduled transaction
                            example: '1'
                          WalletID:
                            type: string
                            description: ID of the wallet this transaction belongs to
                            example: primary_000001
                          ClientAccountID:
                            type: string
                            description: Client account ID used on the transaction, if applicable
                            example: client_account_1
                          TransactionErrorCode:
                            type: string
                            description: Error code of the transaction, if applicable
                            example: '901'
                          TransactionFailureReason:
                            type: string
                            description: Failure reason of the transaction, if applicable
                            example: NSF
                          TransactionFlag:
                            type: string
                            description: Flag status of the transaction, if applicable
                            example: duplicate - 45563,45561
                          ELinxRequestID:
                            type: integer
                            description: The unique ID of the eLinx request attached to the transaction, if applicable
                            example: '1234'
                          IsRefunded:
                            type: boolean
                            description: True if the transaction was refunded, false if it is not
                            example: 'true'
                          FullName:
                            type: string
                            description: 'Customer''s full name '
                            example: Jane Doe
  /account/client-accounts/fund-transfer/schedule:
    post:
      description: This endpoint is used to schedule a fund-transfer between two client accounts.
      summary: account/client-accounts/fund-transfer/schedule
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountFundTransferSchedulePOST
      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
                DebitorClientAccountID:
                  description: ID of the client account transferring the funds
                  type: string
                RecipientClientAccountID:
                  description: ID of the client account receiving the funds
                  type: string
                RecipientClientAccountIDSplit:
                  description: 'A JSON formatted string specifying the details for a split payment. This must fit to the following format where the amount identifier is either Amount or Percentage, [{"ClientAccountID":"client_account_id_1","Amount": "5"},{"ClientAccountID":"client_account_id_2","Amount": "10"}]'
                  type: string
                Amount:
                  description: The amount to debit from the customer's bank account.
                  type: number
                Currency:
                  description: 3 character currency code for the currency. If this is not specified the transaction will use the account's local currency.
                  type: string
                FundingRail:
                  description: Specifies the rail to use for the funding transaction. If this is not specified eft will be used for Canadian accounts and ach for US accounts.
                  type: string
                ReverseOnFailure:
                  description: Setting this to true will reverse both the fund and transfer should either fail. This is set to false, by default.
                  type: boolean
                ClientReferenceNumber:
                  description: An optional reference number to associate with the transfers
                  type: string
                Notes:
                  description: An optional note to associate with the transfers.
                  type: string
                TransactionLabel:
                  description: The TransactionLabel overrides the originator short name on statements
                  type: string
                Frequency:
                  description: 'The frequency of the scheduled transfer. Valid options are: single, weekly, monthly, semi-monthly, and yearly.'
                  type: string
                ScheduleStartDate:
                  description: Date from which the schedule will be started
                  type: string
                ScheduleEndDate:
                  description: Date when the transfer processing will end (Only for recurring frequencies), Either provide ScheduleEndDate or EndingAfterPayments
                  type: string
                EndingAfterPayments:
                  description: Number of payments after which the transfer processing will end (Only for recurring frequencies), Either provide ScheduleEndDate or EndingAfterPayments
                  type: integer
                SemiMonthlyFrequencyType:
                  description: 'Type of semi-monthly frequency. This field is only required when Frequency is set to semi-monthly. The possible values are: SemiMonthFirstAndFifteenth, SemiMonthFifteenthAndLast'
                  type: integer
                Description:
                  description: Description of the schedule transfer
                  type: string
                GLCode:
                  description: An optional unique identification general ledger code.
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - DebitorClientAccountID
              - RecipientClientAccountID
              - RecipientClientAccountIDSplit
              - Amount
              - Frequency
              - ScheduleStartDate
              - ScheduleEndDate
              - EndingAfterPayments
        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: ''
                  ScheduledTransferID:
                    type: integer
                    description: The unique ID of the scheduled transfer that was just created. This ID should be saved as it is required order to look up the status information on the scheduled transfer.
                    example: '1122'
  /account/client-accounts/transfer-withdraw/schedule:
    post:
      description: This endpoint is used to schedule a transfer-withdraw between two client accounts.
      summary: account/client-accounts/transfer-withdraw/schedule
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountTransferWithdrawSchedulePOST
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/ClientAccountTransferWithdrawSchedulePOST'
      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: ''
                  ScheduledTransferID:
                    type: integer
                    description: The unique ID of the scheduled transfer that was just created. This ID should be saved as it is required order to look up the status information on the scheduled transfer.
                    example: '1122'
  /account/client-accounts/fund-transfer-withdraw/schedule:
    post:
      description: This endpoint is used to schedule a fund-transfer-withdraw between two client accounts.
      summary: account/client-accounts/fund-transfer-withdraw/schedule
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountFundTransferWithdrawSchedulePOST
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/ClientAccountTransferWithdrawSchedulePOST'
      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: ''
                  ScheduledTransferID:
                    type: integer
                    description: The unique ID of the scheduled transfer that was just created. This ID should be saved as it is required order to look up the status information on the scheduled transfer.
                    example: '1122'
  /account/client-accounts/transfer/schedule/cancel:
    post:
      description: This endpoint is used to cancel a scheduled client account transfer and all remaining payments belonging to that scheduled transfer. Only scheduled transfers with the status in progress can be cancelled.
      summary: account/client-accounts/transfer/schedule/cancel
      tags:
      - Client Account Transfer Endpoints
      operationId: ClientAccountTransferScheduleCancelPOST
      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
           

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