{"openapi":"3.0.0","info":{"version":"2.0","title":"Client Accounts","description":"The Client Accounts API allows you to create, manage and retrieve information about client accounts.","contact":{"name":"API Support","email":"help@vopay.com"}},"paths":{"/account/client-accounts/individual":{"post":{"description":"Use this endpoint to create a new individual client account. If Flinks, Plaid or Mx credentials are provided, we will fetch all personal and bank account details from those providers.","summary":"account/client-accounts/individual","tags":["Client Account Creation Endpoints"],"operationId":"ClientAccountIndividualPOST","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"},"ClientAccountID":{"description":"Custom ID of the client account you want to create","type":"string"},"FirstName":{"description":"Client's first name","type":"string"},"LastName":{"description":"Client's last name","type":"string"},"EmailAddress":{"description":"Client's email address - Must be a valid email","type":"string","format":"email"},"Address1":{"description":"Client's address line 1","type":"string"},"City":{"description":"Client's city","type":"string"},"Province":{"description":"Client's province specified using two character abbreviations (eg. BC, AB)","type":"string"},"Country":{"description":"Client's country specified using full country name or ISO 3166-1 alpha-2 code. If not provided, we will default to the VoPay account's country.","type":"string"},"Nationality":{"description":"Client's nationality specified using full country name or ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code.","type":"string"},"PostalCode":{"description":"Client's postal code.","type":"string"},"Currency":{"description":"3-character currency code defined by the ISO-4217 standard (e.g. CAD, USD). Used to set the default currency used by this client account. Can be CAD or USD for Canadian accounts. Must be set to USD for US accounts.","type":"string"},"PhoneNumber":{"description":"Client's phone number. Digits only - no parentheses or dashes allowed.","type":"string"},"DOB":{"description":"Date of Birth, in date format YYYY-MM-DD (ex: 1960-01-15).","type":"string"},"SINLastDigits":{"description":"Last four digits of the client's SIN number.","type":"integer"},"IdentificationNumber":{"description":"Client's driver's licence.","type":"string"},"Token":{"description":"An iQ11 Token that has been generated using Custom Iframe.","type":"string"},"Label":{"description":"This option will add a Label to the client account. If the Label doesn't exist it will be created and applied.","type":"string"},"FlinksAccountID":{"description":"Flinks Account ID. Must be accompanied by a FlinksLoginID. VoPay will fetch the associated user and bank account details from Flinks.","type":"string"},"FlinksLoginID":{"description":"Flinks Login ID. Must be accompanied by a FlinksAccountID. VoPay will fetch the associated user and bank account details from Flinks.","type":"string"},"PlaidProcessorToken":{"description":"Plaid Processor Token. VoPay will fetch the associated user bank account details from Plaid.","type":"string"},"MxProcessorToken":{"description":"Mx Processor Token. VoPay will fetch the associated user bank account details from Mx.","type":"string"}},"required":["AccountID","Key","Signature","FirstName","LastName","EmailAddress","Currency","PhoneNumber","DOB","SINLastDigits"]}}},"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":""},"Status":{"type":"string","description":"The status of the newly created client account.","example":"ClientAccount1"},"ClientAccountID":{"type":"string","description":"This ID should be saved as it is required in order to perform other actions using the client account such as creating new transactions.","example":"ClientAccount1"},"VerifcationLink":{"type":"string","description":"A link to verify the newly created client account if applicable.","example":"ClientAccount1"}}}}}}}}},"/account/client-accounts/business":{"post":{"description":"Use this endpoint to create a new business client account. If Flinks, Plaid or Mx credentials are provided, we will fetch all business and bank account details from those providers.","summary":"account/client-accounts/business","tags":["Client Account Creation Endpoints"],"operationId":"ClientAccountBusinessPOST","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"},"ClientAccountID":{"description":"Custom ID of the client account you want to create","type":"string"},"FirstName":{"description":"Client's first name","type":"string"},"LastName":{"description":"Client's last name","type":"string"},"EmailAddress":{"description":"Client's email address - Must be a valid email","type":"string","format":"email"},"Address1":{"description":"Client's address line 1","type":"string"},"City":{"description":"Client's city","type":"string"},"Province":{"description":"Client's province specified using two character abbreviations (eg. BC, AB)","type":"string"},"Country":{"description":"Client's country specified using full country name or ISO 3166-1 alpha-2 code. If not provided, we will default to the VoPay account's country.","type":"string"},"Nationality":{"description":"Client's nationality specified using full country name or ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code.","type":"string"},"PostalCode":{"description":"Client's postal code.","type":"string"},"Currency":{"description":"3-character currency code defined by the ISO-4217 standard (e.g. CAD, USD). Used to set the default currency used by this client account. Can be CAD or USD for Canadian accounts. Must be set to USD for US accounts.","type":"string"},"BusinessName":{"description":"Business name.","type":"string"},"BusinessNumber":{"description":"Company registration number. A 9-digit number that is unique to a business or legal entity.","type":"string"},"BusinessTypeID":{"description":"ID that represents the company's industry classification. See /account/business-types endpoint for more information.","type":"integer"},"BusinessTypeCategoryID":{"description":"ID that indicates the company's category classification. See /account/business-types endpoint for more information.","type":"integer"},"BusinessWebsite":{"description":"Company's website URL. It must be a valid URL and the protocol must be included (http or https).","type":"string"},"BusinessPhone":{"description":"Company's phone number. Digits only - no parentheses or dashes allowed.","type":"string"},"IdentificationNumber":{"description":"Client's federal tax ID. Digits only - no parentheses or dashes allowed.","type":"string"},"Token":{"description":"An iQ11 Token that has been generated using Custom Iframe.","type":"string"},"Label":{"description":"This option will add a Label to the client account. If the Label doesn't exist it will be created and applied.","type":"string"},"FlinksAccountID":{"description":"Flinks Account ID. Must be accompanied by a FlinksLoginID. VoPay will fetch the associated user and bank account details from Flinks.","type":"string"},"FlinksLoginID":{"description":"Flinks Login ID. Must be accompanied by a FlinksAccountID. VoPay will fetch the associated user and bank account details from Flinks.","type":"string"},"PlaidProcessorToken":{"description":"Plaid Processor Token. VoPay will fetch the associated user bank account details from Plaid.","type":"string"},"MxProcessorToken":{"description":"Mx Processor Token. VoPay will fetch the associated user bank account details from Mx.","type":"string"}},"required":["AccountID","Key","Signature","FirstName","LastName","EmailAddress","Currency","BusinessName","BusinessNumber","BusinessTypeID","BusinessTypeCategoryID","BusinessWebsite","BusinessPhone"]}}},"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":""},"ClientAccountID":{"type":"string","description":"This ID should be saved as it is required in order to perform other actions using the client account such as creating new transactions.","example":"ClientAccount1"}}}}}}}}},"/account/client-accounts/receive-only":{"post":{"description":"Use this endpoint to create a new receive-only client account. If Flinks, Plaid or Mx credentials are provided, we will fetch all personal and bank account details from those providers. Otherwise, must provide either FirstName/LastName or BusinessName","summary":"account/client-accounts/receive-only","tags":["Client Account Creation Endpoints"],"operationId":"ClientAccountReceiveOnlyPOST","deprecated":false,"requestBody":{"$ref":"#/components/requestBodies/ClientAccountReceiveOnlyPOST"},"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":""},"ClientAccountID":{"type":"string","description":"This ID should be saved as it is required in order to perform other actions using the client account such as creating new transactions.","example":" unt1"}}}}}}}}},"/account/client-accounts/standard":{"post":{"description":"Use this endpoint to create a new standard client account. If Flinks, Plaid or Mx credentials are provided, we will fetch all personal and bank account details from those providers. Otherwise, must provide either FirstName/LastName or BusinessName","summary":"account/client-accounts/standard","tags":["Client Account Creation Endpoints"],"operationId":"ClientAccountStandardPOST","deprecated":false,"requestBody":{"$ref":"#/components/requestBodies/ClientAccountReceiveOnlyPOST"},"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":""},"ClientAccountID":{"type":"string","description":"This ID should be saved as it is required in order to perform other actions using the client account such as creating new transactions.","example":"ClientAccount1"}}}}}}}}},"/account/client-accounts":{"get":{"description":"This endpoint returns a list of the available client accounts and some of its details.\n\nIt is also possible to filter the list of client accounts by ClientAccountID, its status (active or inactive), and client type (business, individual, receive-only).","summary":"account/client-accounts","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountGET","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":"ClientType","in":"query","required":false,"description":"Type of account to be filtered. Use either 'individual', 'business' or 'receive-only'","schema":{"type":"string"}},{"name":"AccountStatus","in":"query","required":false,"description":"Filter by account status. Use true for active accounts and false for inactive.","schema":{"type":"boolean"}},{"name":"ClientAccountID","in":"query","required":false,"description":"Filter by the Client account ID","schema":{"type":"string"}},{"name":"Label","in":"query","required":false,"description":"Filter by the Label","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":"SearchText","in":"query","required":false,"description":"A text string to search for in the email addresses, names and business number.","schema":{"type":"string"}}],"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":""},"ClientAccounts":{"type":"object","description":"Collection of Client Accounts data","properties":{"0":{"type":"object","properties":{"ClientAccountID":{"type":"string","description":"Client Account ID of the client account","example":"ClientAccount1"},"ClientType":{"type":"string","description":"Individual, Business or Receive-only","example":""},"ClientName":{"type":"string","description":"First and last name of the client","example":"John Doe"},"EmailAddress":{"type":"string","format":"email","description":"Client Account email address","example":"subaccount.mail@email.com"},"BusinessNumber":{"type":"string","description":"Client Account's business identifier.","example":"123456789"},"BusinessWebsite":{"type":"string","description":"Business website","example":"www.example.com"},"PhoneNumber":{"type":"integer","description":"Client Account's phone number","example":"6045551234"},"BusinessIndustry":{"type":"string","description":"Business Industry name","example":"Retail"},"BusinessCategory":{"type":"string","description":"Business industry category name","example":"Home Electronics"},"DOB":{"type":"integer","description":"Date of Birth, in date format YYYY-MM-DD (ex: 1960-01-15)","example":"1960-01-15"},"SINLastDigits":{"type":"integer","description":"Last four digits of the client's SIN number","example":"1234"},"IsActive":{"type":"boolean","description":"Flag that indicates whether the account is active or not","example":""},"VerificationStatus":{"type":"object","description":"Collection of verification status information","properties":{"Email":{"type":"object","properties":{"Enhanced":{"type":"string","description":"verification status","example":"verified"},"Basic":{"type":"string","description":"verification status","example":"unverified"}}},"Phone":{"type":"object","properties":{"Enhanced":{"type":"string","description":"verification status","example":"verified"}}},"Address":{"type":"object","properties":{"Basic":{"type":"string","description":"verification status","example":"verified"}}}}},"Address1":{"type":"string","description":"Client Account's main address information","example":"112 Bentall Street"},"City":{"type":"string","description":"Client Account's city","example":"Vancouver"},"Province":{"type":"string","description":"Client Account's province specified using two character abbreviation (eg. BC, AB)","example":"BC"},"Country":{"type":"string","description":"Client Account's country specified using full country name or ISO 3166-1 alpha-2 code","example":"Canada"},"Nationality":{"type":"string","description":"The Client's nationality","example":"Canada"},"PostalCode":{"type":"string","description":"Client Account's postal code","example":"A1A1A1"},"IdentificationNumber":{"type":"string","description":"Client's ID (driver's licence or federal tax ID)","example":"I19923"},"ParentAccountID":{"type":"string","description":"Account ID of the account that created the client account","example":"account1"},"Balances":{"type":"object","description":"Collection of Balances per available currency for the client account","properties":{"0":{"type":"object","properties":{"Currency":{"type":"string","description":"Currency for the balance record","example":"CAD"},"Balance":{"type":"string","description":"The total balnace for the currency","example":"25776.73"},"PendingBalance":{"type":"string","description":"The pending balance for the currency","example":"16146.00"}}}}},"Labels":{"type":"object","description":"Collection of Labels associated with the client account","properties":{"0":{"type":"object","properties":{"Label":{"type":"string","description":"The Label value","example":"Billing"},"LabelID":{"type":"string","description":"The ID of the label value","example":"283"}}}}}}}}},"Pagination":{"type":"object","description":"Pagination metadata","properties":{"TotalRecords":{"type":"string","description":"Total number of client account records in that search range.","example":"1000"},"Offset":{"type":"string","description":"Use this parameter to set the starting point in the dataset.","example":"1000"},"Limit":{"type":"string","description":"Limit the number of records that are returned.","example":"1000"}}}}}}}}}}},"/account/client-accounts/balance":{"get":{"description":"This endpoint returns details on the current account balance and available funds for the given Client account.","summary":"account/client-accounts/balance","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountBalanceGet","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":"ClientAccountID","in":"query","required":true,"description":"Client account ID of customer who's balance you want to retrieve","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"}}],"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","properties":{"Success":{"type":"boolean","description":"True if the request was successful, false if it failed","example":"true"},"ErrorMessage":{"type":"string","description":"Contains a description of the error if the request failed","example":""},"AccountBalance":{"type":"number","description":"Indicates the total current account balance, including pending funds.","example":"20000.00"},"PendingFunds":{"type":"number","description":"Indicates the portion of the account balance which is pending due to in-progress transactions.","example":"5540.24"},"Reserve":{"type":"number","description":"Indicates the portion of the account balance which is being held as a reserve against returned or fraudulent transactions.","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"},"AvailableFunds":{"type":"number","description":"Indicates the portion of the account balance which is currently available for use. This is calculated by taking the AccountBalance and subtracting the PendingFunds and Reserve amounts.","example":"18000.00"},"OffbookBalance":{"type":"number","description":"Indicates the portion of the account balance which is being held in an off-book account.","example":"1000.00"},"Currency":{"type":"string","description":"3 character currency code for the balance being returned.","example":"CAD"},"Wallets":{"type":"object","description":"Breakdown of balances by wallet. Each wallet is an object with its own balances.","properties":{"0":{"type":"object","properties":{"WalletID":{"type":"string","description":"Unique identifier for the wallet.","example":"wallet_123"},"WalletName":{"type":"string","description":"Name of the wallet.","example":"Wallet 123"},"WalletBalance":{"type":"string","description":"Current wallet balance.","example":"20000.00"},"WalletPendingBalance":{"type":"string","description":"Pending balance for the wallet.","example":"0.00"},"Reserve":{"type":"string","description":"Reserve amount for the wallet.","example":"50000.00"},"RollingReserveNSF":{"type":"string","description":"NSF rolling reserve for the wallet.","example":"10000.00"},"RollingReserveReturns":{"type":"string","description":"Returns rolling reserve for the wallet.","example":"1000.00"},"OffbookBalance":{"type":"string","description":"Offbook balance for the wallet.","example":"1000.00"}}}}}}}}}}}}},"/account/client-accounts/label":{"get":{"description":"This endpoint returns all the created Labels for the given Client account.","summary":"account/client-accounts/label","tags":["Client Account Labels Endpoints"],"operationId":"ClientAccountLabelGet","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":"ClientAccountID","in":"query","required":false,"description":"Client account ID of customer who's labels you want to retrieve","schema":{"type":"string"}}],"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":""},"Labels":{"type":"object","description":"Collection of Labels","properties":{"0":{"type":"object","properties":{"Label":{"type":"string","description":"Label Name","example":"ClientAccount1"}}}}}}}}}}}}},"/account/client-accounts/label/add":{"post":{"description":"This endpoint allows you to create a Label.","summary":"account/client-accounts/label/add","tags":["Client Account Labels Endpoints"],"operationId":"ClientAccountLabelAddPost","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"},"ClientAccountID":{"description":"Client account ID of customer who's account we want to add the label to","type":"string"},"Label":{"description":"New Label","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","Label"]}}},"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":""},"Label":{"type":"string","description":"The newly added Label","example":""}}}}}}}}},"/account/client-accounts/label/delete":{"post":{"description":"This endpoint allows you to delete a Label.","summary":"account/client-accounts/label/delete","tags":["Client Account Labels Endpoints"],"operationId":"ClientAccountLabelDeletePost","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"},"ClientAccountID":{"description":"Client account ID of customer who's account we want to delete the label from","type":"string"},"Label":{"description":"The label you want to delete","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","Label"]}}},"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":""}}}}}}}}},"/account/client-accounts/edit":{"post":{"description":"This endpoint allows you to edit the KYC info of the given Client account.","summary":"account/client-accounts/edit","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountEditPost","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"},"ClientAccountID":{"description":"Client account ID of customer who's info you would like to update","type":"string"},"FirstName":{"description":"Client's first name","type":"string"},"LastName":{"description":"Client's last name","type":"string"},"EmailAddress":{"description":"Client's email address - Must be a valid email","type":"string","format":"email"},"BusinessName":{"description":"Business name.","type":"string"},"BusinessNumber":{"description":"Company registration number. A 9-digit number that is unique to a business or legal entity.","type":"string"},"BusinessTypeID":{"description":"ID that represents the company's industry classification. See /account/business-types endpoint for more information.","type":"integer"},"BusinessTypeCategoryID":{"description":"ID that indicates the company's category classification. See /account/business-types endpoint for more information.","type":"integer"},"BusinessWebsite":{"description":"Company's website URL. It must be a valid URL and the protocol must be included (http or https).","type":"string"},"PhoneNumber":{"description":"Company's phone number. Digits only - no parentheses or dashes allowed.","type":"string"},"Address1":{"description":"Client's address line 1","type":"string"},"City":{"description":"Client's city","type":"string"},"Province":{"description":"Client's province specified using two character abbreviations (eg. BC, AB)","type":"string"},"Country":{"description":"Client's country specified using full country name or ISO 3166-1 alpha-2 code (eg. CA, US).","type":"string"},"Nationality":{"description":"Client's nationality specified using full country name or ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code.","type":"string"},"PostalCode":{"description":"Client's postal code.","type":"string"},"IdentificationNumber":{"description":"Client's ID (driver's licence or federal tax ID).","type":"string"},"Label":{"description":"This option will add a Label to the client account. If the Label doesn't exist it will be created and applied.","type":"string"},"InteracEtransferPreference":{"description":"This option will update the client's default method used for Interac e-Transfers (eg. email, phone). Only applicable for Canadian VoPay Accounts.","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID"]}}},"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":""}}}}}}}}},"/account/client-accounts/delete":{"post":{"description":"This endpoint will delete an active client account.","summary":"account/client-accounts/delete","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountDeletePOST","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"},"ClientAccountID":{"description":"ID of the client account to delete","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID"]}}},"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":""},"ClientAccountID":{"type":"integer","description":"The ID of the client account that was just deleted.","example":"1122"},"IsActive":{"type":"boolean","description":"Confirmation that the client account is no longer active","example":"0"},"DateDeleted":{"type":"string","format":"date","description":"","example":"2021-11-03 01:00:00"}}}}}}}}},"/account/client-accounts/deactivate":{"post":{"description":"This endpoint will deactivate an active client account.","summary":"account/client-accounts/deactivate","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountDeactivatePOST","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"},"ClientAccountID":{"description":"ID of the client account to deactivate","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID"]}}},"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":""},"ClientAccountID":{"type":"integer","description":"The ID of the client account that was just deactivated.","example":"1122"},"IsActive":{"type":"boolean","description":"Confirmation that the client account is no longer active","example":"0"}}}}}}}}},"/account/client-accounts/activate":{"post":{"description":"This endpoint will activate an inactive client account.","summary":"account/client-accounts/activate","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountActivatePOST","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"},"ClientAccountID":{"description":"ID of the client account to activate","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID"]}}},"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":""},"ClientAccountID":{"type":"integer","description":"The ID of the client account that was just activated.","example":"1122"},"IsActive":{"type":"boolean","description":"Confirmation that the client account is active","example":"1"}}}}}}}}},"/account/client-accounts/generate-embed-url":{"post":{"description":"Use this endpoint to generate a unique URL to onboard a new client account. To send an email containing the URL to the recipient, set SendEmail = true, and provide both the email address and full name of the recipient.","summary":"account/client-accounts/generate-embed-url","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountGenerateEmbedURLPOST","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"},"ClientType":{"description":"Type of client account you want to onboard. Options are individual, business, standard and receive-only.","type":"string"},"FirstName":{"description":"Client's first name. Required if BusinessName is not provided.","type":"string"},"LastName":{"description":"Client's last name. Required if BusinessName is not provided.","type":"string"},"BusinessName":{"description":"Client's business name. Required if FirstName and LastName are not provided.","type":"string"},"SendEmail":{"description":"This option is used to send the onboarding link through email. If you wish to send an email, then provide true. The default value is false.","type":"boolean"},"ReceiverEmailAddress":{"description":"Recipient's email address. Required if SendEmail = true.","type":"string","format":"email"},"SendSMS":{"description":"This option is used to send the onboarding link through SMS. If you wish to send an SMS, then provide true. The default value is false.","type":"boolean"},"ReceiverPhoneNumber":{"description":"Recipient's phone number. Required if SendSMS = true.","type":"string"},"RequiredPaymentMethods":{"description":"Comma-separated list of payment methods.","type":"string"},"Label":{"description":"This option will add a Label to the client account. If the Label doesn't exist it will be created and applied.","type":"string"}},"required":["AccountID","Key","Signature","ClientType"]}}},"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":""},"OnboardingLink":{"type":"string","description":"The url of the onboarding link.","example":"https://request.vopay.com?Token=3s77vg2nwta8c3qc2rwpmmk8w03elfa7rmrsug3l"}}}}}}}}},"/account/client-accounts/payment-methods":{"get":{"description":"This endpoint is used to look up all the payment smethods for the given client account.","summary":"account/client-accounts/payment-methods","tags":["Client Account Management Endpoints"],"operationId":"ClientAccountPaymentMethodsGET","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":"ClientAccountID","in":"query","required":true,"description":"The Client Account ID that the payment methods are associated with.","schema":{"type":"string"}}],"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":""},"PaymentMethods":{"type":"object","description":"Collection of payment methods","properties":{"0":{"type":"object","properties":{"PaymentMethod":{"type":"string","description":"The type of peyment record (BankAccount, Email, PhoneNumber, CreditCard, DebitCard)","example":"BankAccount"},"PaymentDetails":{"type":"string","description":"The details of the payment method","example":"001-00040-123****"},"IsDefault":{"type":"boolean","description":"Is this this the default payment record for the payemnt method","example":"true"},"Token":{"type":"string","description":"The associated token.","example":"80be530727391c11470be104f8bb10b8812eddbd34479572e0b079df1d178c0a"},"AddedOn":{"type":"string","description":"The date and time this payemnt method was added.","example":"2021-02-11 18:27:08"},"ExtraFields":{"type":"object","description":"Extra information associated with the payment method.","example":"{\"VerificationStatus\": \"verified\"}"}}}}}}}}}}}}},"/account/client-accounts/notes/add":{"post":{"description":"This endpoint is used to add a note to your client account.","summary":"account/client-accounts/notes/add","tags":["Client Account Notes Endpoints"],"operationId":"ClientAccountNotesAddPOST","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"},"ClientAccountID":{"description":"Client Account ID","type":"string"},"Notes":{"description":"The note you want to add to the new record","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","Notes"]}}},"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":""},"NoteID":{"type":"string","description":"The ID associated with the new record","example":"2"}}}}}}}}},"/account/client-accounts/notes/edit":{"post":{"description":"This endpoint is used to edit a note associated with your client account.","summary":"account/client-accounts/notes/edit","tags":["Client Account Notes Endpoints"],"operationId":"ClientAccountNotesEditPOST","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"},"ClientAccountID":{"description":"Client Account ID","type":"string"},"Notes":{"description":"The note you want to update the record to","type":"string"},"NoteID":{"description":"The ID of the note record you want to update","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","Notes","NoteID"]}}},"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":""},"NoteID":{"type":"string","description":"The ID associated with the edited record","example":"3"}}}}}}}}},"/account/client-accounts/notes/delete":{"post":{"description":"This endpoint is used to delete a note record from you client account.","summary":"account/client-accounts/notes/delete","tags":["Client Account Notes Endpoints"],"operationId":"ClientAccountNotesDeletePOST","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"},"ClientAccountID":{"description":"Client Account ID","type":"string"},"NoteID":{"description":"The ID of the note record you want to delete","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","NoteID"]}}},"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":""}}}}}}}}},"/account/client-accounts/notes":{"get":{"description":"This endpoint is used to look up all the notes associated with the given client account.","summary":"account/client-accounts/notes","tags":["Client Account Notes Endpoints"],"operationId":"ClientAccountNotesGET","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":"ClientAccountID","in":"query","required":true,"description":"Client Account ID","schema":{"type":"string"}},{"name":"NoteID","in":"query","required":false,"description":"The ID for a specific getting a specific note","schema":{"type":"string"}}],"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":""},"Notes":{"type":"object","description":"Collection note records","properties":{"0":{"type":"object","properties":{"NoteID":{"type":"string","description":"The ID associated with the note record","example":"1"},"Notes":{"type":"string","description":"The note","example":"Test Note"},"DateAdded":{"type":"string","format":"date-time","description":"This timestamp indicates when the note record was added.","example":"2019-11-03 01:00:00"},"LastModified":{"type":"string","format":"date-time","description":"This timestamp indicates when the note record was last modified.","example":"2019-11-04 01:30:00"}}}}}}}}}}}}},"/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","type":"string"},"Signature":{"description":"Hashed signature for the request","type":"string"},"ScheduledTransferID":{"description":"ID of the schedule transfer to cancel","type":"integer","format":"int32"}},"required":["AccountID","Key","Signature","ScheduledTransferID"]}}},"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":""},"Status":{"type":"string","description":"A message indicating the resulting scheduled transfer status.","example":"cancelled"}}}}}}}}},"/account/client-accounts/scheduled-transfers":{"get":{"description":"This endpoint is used to look up either the list of all scheduled client account transfers, or to list the details of a single scheduled client account transfer. \n\n If the value ScheduledTransferID is present, we only list the details of that scheduled client account transfer.","summary":"account/client-accounts/scheduled-transfers","tags":["Client Account Transfer Endpoints"],"operationId":"ClientAccountScheduledTransfers","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":"ScheduledTransferID","in":"query","required":false,"description":"ID of the schedule transfer (if this value is present, we list the details of the scheduled tranfser)","schema":{"type":"integer","format":"int32"}},{"name":"ClientAccountID","in":"query","required":false,"description":"The Client Account ID that the scheduled transactions belong to","schema":{"type":"string","format":"int32"}},{"name":"StartDate","in":"query","required":false,"description":"Return Client account transfers scheduled for or after this date/time. Can be specified in YYYY-MM-DD format.","schema":{"type":"string","format":"date-time"}},{"name":"EndDate","in":"query","required":false,"description":"Return Client account transfers scheduled for or before this date/time. Can be specified in YYYY-MM-DD format.","schema":{"type":"string","format":"date-time"}}],"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":""},"ScheduledClientAccountTransfers":{"type":"object","description":"Collection of scheduled transfer info data","properties":{"0":{"type":"object","properties":{"ID":{"type":"integer","description":"Unique ID for the scheduled transfer","example":"15"},"DebitorClientAccountID":{"type":"string","description":"The debitor ClientAccountID","example":"JohnSmith"},"RecipientClientAccountID":{"type":"string","description":"The recipient ClientAccountID","example":"AvaLovelace"},"RecipientClientAccountIDSplit":{"type":"string","description":"The split details for the recipient client accounts","example":"[{\"ClientAccountID\":\"client_account_id_1\",\"Amount\":\"2\"},{\"ClientAccountID\":\"client_account_id_2\",\"Amount\":\"2\"}]"},"Amount":{"type":"number","description":"The amount of the scheduled transaction","example":"25.00"},"TransferType":{"type":"string","description":"The payment type of scheduled transfer; i.e., fund-transfer, transfer-withdraw or fund-transfer-withdraw","example":"fund-transfer"},"ReverseOnFailure":{"type":"boolean","description":"Instructions on whether or not the scheduled transfer should be reversed if it fails","example":"true"},"Frequency":{"type":"string","description":"The frequency of the schedule transfer: single, weekly, monthly, semi-monthly, annual","example":"weekly"},"SemiMonthlyFrequencyType":{"type":"string","description":"The semi-monthly frequency type, if applicable.","example":"SemiMonthFirstAndFifteenth"},"ClientReferenceNumber":{"type":"string","description":"An optional reference number which was associated with the transfers.","example":"ABC123"},"Notes":{"type":"string","description":"An optional note which was associated with the transfers.","example":"This is a note"},"TransactionLabel":{"type":"string","description":"An optional transaction label which was associated with the transfers.","example":"ACME Corp"},"Description":{"type":"string","description":"Description of the scheduled transfer","example":"Scheduled transfer 1234"},"ScheduleStartDate":{"type":"string","format":"date","description":"Date from which the transfer(s) will be started","example":"2020-01-01"},"ScheduleEndDate":{"type":"string","format":"date","description":"Date from which the transfers will end","example":"2021-01-01"},"EndingAfterPayments":{"type":"integer","description":"Number of payments after which the transfer processing will end","example":"12"},"Status":{"type":"string","description":"A message indicating the current transaction status. Statuses are: cancelled, completed, or in progress","example":"in progress"},"DateAdded":{"type":"string","format":"date","description":"Date the schedule transfer was added","example":"2023-11-03 01:00:00"},"UpcomingTransfers":{"type":"object","description":"Upcoming transfer listing (This option only will be available if the user provides ScheduledTransferID as a parameter)","properties":{"0":{"type":"object","properties":{"ScheduledTransferID":{"type":"string","description":"Scheduled Transfer ID for upcoming transaction","example":"40"},"TransferDate":{"type":"string","format":"date","description":"Date when the transfer will get created","example":"2020-01-01"},"Amount":{"type":"number","description":"The amount of the scheduled transfer","example":"10.00"},"Status":{"type":"string","description":"Status of the scheduled transfer","example":"upcoming"},"FailureReason":{"type":"string","description":"Failure reason of the scheduled transfer (empty for upcoming transactions)","example":""},"FundingTransactionID":{"type":"integer","description":"ID of the funding transaction (empty for upcoming transactions)","example":""},"AccountTransferID":{"type":"integer","description":"ID of the account transfer (empty for upcoming transactions)","example":""},"WithdrawTransactionID":{"type":"integer","description":"ID of the withdraw transaction (empty for upcoming transactions)","example":""}}}}},"CompletedTransfers":{"type":"object","description":"List of the completed transfers (This option only will be available if the user provides ScheduledTransferID as a parameter)","properties":{"0":{"type":"object","properties":{"ScheduledTransferID":{"type":"string","description":"Scheduled Transfer ID for completed transaction","example":"39"},"TransferDate":{"type":"string","format":"date","description":"Date when the transfer will get created","example":"2020-01-01"},"Amount":{"type":"number","description":"The amount of the scheduled transfer","example":"10.00"},"Status":{"type":"string","description":"Status of the scheduled transfer","example":"completed"},"FailureReason":{"type":"string","description":"Failure reason of the scheduled transfer, if applicable","example":"DebitorClientAccountID does not exist"},"FundingTransactionID":{"type":"integer","description":"ID of the funding transaction, if applicable","example":"123456"},"AccountTransferID":{"type":"integer","description":"ID of the account transfer, if applicable","example":"123457"},"WithdrawTransactionID":{"type":"integer","description":"ID of the withdraw transaction, if applicable","example":"123458"}}}}}}}}}}}}}}}}},"/account/client-accounts/wallets":{"get":{"description":"This endpoint allows you to retrieve a list of wallets belong to a client account.","summary":"account/client-accounts/wallets","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccounWalletsGet","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"},"ClientAccountID":{"description":"The Client Account ID that the list of wallets belong to","type":"string"},"WalletID":{"description":"A optional Wallet ID can be passed to return a single Wallet","type":"string"},"Currency":{"description":"3-character currency code defined by the ISO-4217 standard (e.g. CAD, USD). This will filter the list of wallets by currency","type":"string"},"IsOffbook":{"description":"Filter by offbook wallets","type":"boolean"}},"required":["AccountID","Key","Signature","ClientAccountID"]}}},"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":""},"Wallets":{"type":"object","description":"Collection of Wallets","properties":{"0":{"type":"object","properties":{"WalletID":{"type":"integer","description":"ID for the wallet","example":"4231"},"WalletName":{"type":"string","description":"name for the wallet","example":"Savings"},"Currency":{"type":"string","description":"3 character currency code for the balance being returned.","example":"CAD"},"IsPrimary":{"type":"integer","description":"If the wallet is the primary wallet for this client account","example":"0"},"IsOffbook":{"type":"integer","description":"If the wallet is an offbook wallet","example":"0"},"WalletBalance":{"type":"number","description":"Indicates the total current wallet balance, including pending funds.","example":"20000.00"},"WalletPendingBalance":{"type":"number","description":"Indicates the portion of the wallet balance which is pending due to in-progress transactions.","example":"5540.24"},"WalletOffbookBalance":{"type":"number","description":"Indicates the total current offbook balance.","example":"1534.00"},"Reserve":{"type":"number","description":"Indicates the portion of the wallet balance which is being held as a reserve against negative balances.","example":"50000.00"},"RollingReserveNSF":{"type":"number","description":"Indicates the portion of the wallet balance which is being held as a reserve against NSF transactions.","example":"10000.00"},"RollingReserveReturns":{"type":"number","description":"Indicates the portion of the wallet balance which is being held as a reserve against returned transactions.","example":"1000.00"},"WalletColor":{"type":"string","description":"Hexadecimal color value of the wallet","example":"#000000"}}}}}}}}}}}}},"/account/client-accounts/wallets/create":{"post":{"description":"This endpoint allows you to create a new wallet for your client account.","summary":"account/client-accounts/wallets/create","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccountWalletsCreatePost","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"},"ClientAccountID":{"description":"The Client Account ID that the new wallet is for","type":"string"},"WalletName":{"description":"The name for your new wallet","type":"string"},"WalletID":{"description":"Custom ID of the wallet you want to create. If one is not provided, we will auto-generate one for you.","type":"string"},"Currency":{"description":"3-character currency code defined by the ISO-4217 standard (e.g. CAD, USD). Used to set the default currency for the wallet being created","type":"string"},"IsOffbook":{"description":"If set to true, the wallet will be created as an offbook wallet. Offbook wallets cannot contain real funds. They can only contain journal entries. If set to false, the wallet will be created as a standard wallet. Default is false.","type":"boolean"}},"required":["AccountID","Key","Signature","ClientAccountID","WalletName","Currency"]}}},"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":""},"WalletID":{"type":"string","description":"The ID for your new wallet","example":"primary_000001"}}}}}}}}},"/account/client-accounts/wallets/transfer":{"post":{"description":"This endpoint allows you to transfer funds between two wallets. Both wallet IDs must belong to the provided client account.","summary":"account/client-accounts/wallets/transfer","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccountWalletsTransferPost","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"},"ClientAccountID":{"description":"The Client Account ID that both wallets belong to","type":"string"},"DebitorWalletID":{"description":"ID of the client account wallet transferring the funds","type":"string"},"RecipientWalletID":{"description":"ID of the client account wallet receiving the funds","type":"string"},"Amount":{"description":"The amount to transfer from the debitor wallet to the recipient wallet","type":"number"}},"required":["AccountID","Key","Signature","ClientAccountID","DebitorWalletID","RecipientWalletID","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","example":"1234"}}}}}}}}},"/account/client-accounts/wallets/delete":{"post":{"description":"This endpoint allows you to delete a wallet if the wallet balance is 0.","summary":"account/client-accounts/wallets/delete","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccountWalletsDeletePost","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"},"ClientAccountID":{"description":"The Client Account ID that the wallet belongs to","type":"string"},"WalletID":{"description":"The ID of the wallet that is being deleted","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","WalletID"]}}},"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":""}}}}}}}}},"/account/client-accounts/wallets/edit":{"post":{"description":"This endpoint allows you to edit a wallet for your client account.","summary":"account/client-accounts/wallets/edit","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccountWalletsEditPost","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"},"ClientAccountID":{"description":"The Client Account ID to which the wallet belongs","type":"string"},"WalletID":{"description":"The ID of the wallet that is being edited","type":"string"},"WalletName":{"description":"The new name for your wallet","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","WalletID"]}}},"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":""}}}}}}}}},"/account/client-accounts/wallets/deactivate":{"post":{"description":"This endpoint allows you to deactivate a wallet for your client account.","summary":"account/client-accounts/wallets/deactivate","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccountWalletsDeactivatePost","deprecated":false,"requestBody":{"$ref":"#/components/requestBodies/ClientAccountWalletsDeactivatePost"},"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":""}}}}}}}}},"/account/client-accounts/wallets/activate":{"post":{"description":"This endpoint allows you to activate a wallet for your client account.","summary":"account/client-accounts/wallets/activate","tags":["Client Account Wallets Endpoints"],"operationId":"ClientAccountWalletsActivatePost","deprecated":false,"requestBody":{"$ref":"#/components/requestBodies/ClientAccountWalletsDeactivatePost"},"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":""}}}}}}}}},"/account/client-accounts/auto-balance-transfer":{"post":{"description":"This endpoint allows you to set up an auto-balance transfer from your VoPay account to your default operational bank account. The frequency available to set the auto-transfer can be daily, weekly, bi-weekly or monthly. \n\nThis option requires special permission.","summary":"account/client-accounts/auto-balance-transfer","tags":["Client Account Auto Balance Transfer Endpoints"],"operationId":"ClientAccountAutoBalanceTransferPOST","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"},"ClientAccountID":{"description":"The Client Account ID to which the wallet belongs","type":"string"},"ScheduleStartDate":{"description":"Date from which the schedule will be started","type":"string"},"TypeOfFrequency":{"description":"Type of frequency that you which to receive the deposit, the posibles values are: daily, weekly, biweekly, monthly","type":"string"},"AutoBalanceTransferAmount":{"description":"The minumum amount to have in your VoPay account to initiate this scheduled transfer, if not provided, the default amount will be 0.01.","type":"number"},"Currency":{"description":"The currency of the funds you want to trasnfer to your bank account. If not currency is provdied, your VoPay account's default currency will be used.","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","ScheduleStartDate","TypeOfFrequency"]}}},"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":""}}}}}}}},"get":{"description":"This endpoint is used to retrieve the information of your auto balance transfer. \n\n This option requires special permissions.","summary":"account/client-accounts/auto-balance-transfer","tags":["Client Account Auto Balance Transfer Endpoints"],"operationId":"ClientAccountAutoBalanceTransferGET","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":"ClientAccountID","in":"query","required":true,"description":"The Client Account ID to which the wallet belongs","schema":{"type":"string"}}],"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":""},"ScheduleStartDate":{"type":"string","format":"date","description":"Date from which the auto transfer will be started ","example":"2020-01-01"},"Description":{"type":"string","description":"Description of the of the auto transfer balance","example":""},"NameOfFrequency":{"type":"string","description":"The frequency of the auto transfer (recurring)","example":"recurring"},"AutoBalanceTransferAmount":{"type":"number","description":"The minumum amount to have in your VoPay account to start the auto transfer balance","example":"25.00"},"Status":{"type":"string","description":"A message indicating the current status of the auto transfer. Statuses are: cancelled, completed, or in progress","example":"in progress"},"Currency":{"type":"string","description":"The currency of the funds transferred to your bank account.","example":"CAD"},"AccountHolderName":{"type":"string","description":"The name of the account holder","example":"John Doe"},"AccountNumber":{"type":"string","description":"Recipient's bank account number that funds were deposited to.","example":"13434387"},"FinancialInstitutionNumber":{"type":"string","description":"Three digit institution number of the customer's Canadian bank account.","example":"112"},"BranchTransitNumber":{"type":"string","description":"Transit number for the customer's Canadian bank account.","example":"**809"},"ABARoutingNumber":{"type":"string","description":"Nine digit ABA routing number of the customer's US bank account.","example":"123456789"}}}}}}}}},"/account/client-accounts/auto-balance-transfer-list":{"get":{"description":"This endpoint is used to retrieve a list of all your auto balance transfers. \n\n This option requires special permissions.","summary":"account/client-accounts/auto-balance-transfer-list","tags":["Client Account Auto Balance Transfer Endpoints"],"operationId":"ClientAccountAutoBalanceTransferListGET","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":"ClientAccountID","in":"query","required":true,"description":"The Client Account ID to which the wallet belongs","schema":{"type":"string"}}],"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":""},"Wallets":{"type":"object","description":"Collection of Wallets","properties":{"0":{"type":"object","properties":{"AutoBalanceTransferID":{"type":"integer","description":"ID of the auto balance transfer","example":"1234"},"ScheduleStartDate":{"type":"string","format":"date","description":"Date from which the auto transfer will be started","example":"2020-01-01"},"Description":{"type":"string","description":"Description of the auto transfer balance","example":""},"NameOfFrequency":{"type":"string","description":"The frequency of the auto transfer (recurring)","example":"recurring"},"AutoBalanceTransferAmount":{"type":"number","description":"The minumum amount to have in your VoPay account to start the auto transfer balance","example":"25.00"},"Status":{"type":"string","description":"A message indicating the current status of the auto transfer. Statuses are: cancelled, completed, or in progress","example":"in progress"},"Currency":{"type":"string","description":"The currency of the funds transferred to your bank account.","example":"CAD"},"ClientAccountID":{"type":"string","description":"The associated client account.","example":"ClientAccount1"}}}}}}}}}}}}},"/account/client-accounts/auto-balance-transfer/cancel":{"post":{"description":"This endpoint allows you to cancel an auto balance transfer. \n\n This option requires special permissions.","summary":"account/client-accounts/auto-balance-transfer/cancel","tags":["Client Account Auto Balance Transfer Endpoints"],"operationId":"ClientAccountAutoBalanceTransferCancelPOST","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"},"ClientAccountID":{"description":"The Client Account ID to which the wallet belongs","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID"]}}},"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":""},"Status":{"type":"string","description":"Contains the new status of the auto transfer balance","example":"cancelled"}}}}}}}}},"/account/client-accounts/auto-balance-transfer/report":{"get":{"description":"This endpoint returns the list of transactions associated with an auto balance transfer. \n\nThe sum of all debits/credits should match the amount on the auto-balance transfer.","summary":"account/client-accounts/auto-balance-transfer/report","tags":["Client Account Auto Balance Transfer Endpoints"],"operationId":"ClientAccountAutoBalanceTransferReportGET","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":"ClientAccountID","in":"query","required":true,"description":"The Client Account ID to which the wallet belongs","schema":{"type":"string"}},{"name":"TransactionID","in":"query","required":true,"description":"Transaction ID of the auto-balance transfer transaction","schema":{"type":"string"}}],"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":""},"Transactions":{"type":"object","description":"Collection of Transactions related to the auto-balance transfer","properties":{"0":{"type":"object","properties":{"TransactionID":{"type":"integer","description":"The unique ID of the transaction.","example":"1234"},"TransactionType":{"type":"string","description":"Transaction Type","example":"EFT Funding"},"TransactionDate":{"type":"string","format":"date-time","description":"Transaction date","example":"2024-08-01 12:34:56"},"CreditAmount":{"type":"number","description":"The credit amount on the transaction.","example":"2000.00"},"DebitAmount":{"type":"number","description":"The debit amount on the transaction.","example":"2000.00"},"FullName":{"type":"string","description":"The name on the transaction.","example":"John Smith"},"ReferenceNo":{"type":"string","description":"The reference number provided on the transaction.","example":"ABCD-1234"}}}}}}}}}}}}}},"servers":[{"url":"https://earthnode-dev.vopay.com/api/v2"}],"components":{"requestBodies":{"ClientAccountWalletsDeactivatePost":{"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"},"ClientAccountID":{"description":"The Client Account ID to which the wallet belongs","type":"string"},"WalletID":{"description":"The ID of the wallet that is being edited","type":"string"}},"required":["AccountID","Key","Signature","ClientAccountID","WalletID"]}}},"required":true},"ClientAccountReceiveOnlyPOST":{"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"},"ClientAccountID":{"description":"Custom ID of the client account you want to create","type":"string"},"FirstName":{"description":"Client's first name","type":"string"},"LastName":{"description":"Client's last name","type":"string"},"BusinessName":{"description":"Client's business name","type":"string"},"EmailAddress":{"description":"Client's email address - Must be a valid email","type":"string","format":"email"},"Address1":{"description":"Client's address line 1","type":"string"},"City":{"description":"Client's city","type":"string"},"Province":{"description":"Client's province specified using two character abbreviations (eg. BC, AB)","type":"string"},"Country":{"description":"Client's country specified using full country name or ISO 3166-1 alpha-2 code. If not provided, we will default to the VoPay account's country.","type":"string"},"Nationality":{"description":"Client's nationality specified using full country name or ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code.","type":"string"},"PostalCode":{"description":"Client's postal code.","type":"string"},"Currency":{"description":"3-character currency code defined by the ISO-4217 standard (e.g. CAD, USD). Used to set the default currency used by this client account. Can be CAD or USD for Canadian accounts. Must be set to USD for US accounts.","type":"string"},"PhoneNumber":{"description":"Client's phone number. Digits only - no parentheses or dashes allowed.","type":"string"},"IdentificationNumber":{"description":"Client's driver's licence.","type":"string"},"Token":{"description":"An iQ11 Token that has been generated using Custom Iframe.","type":"string"},"Label":{"description":"This option will add a Label to the client account. If the Label doesn't exist it will be created and applied.","type":"string"},"FlinksAccountID":{"description":"Flinks Account ID. Must be accompanied by a FlinksLoginID. VoPay will fetch the associated user and bank account details from Flinks.","type":"string"},"FlinksLoginID":{"description":"Flinks Login ID. Must be accompanied by a FlinksAccountID. VoPay will fetch the associated user and bank account details from Flinks.","type":"string"},"PlaidProcessorToken":{"description":"Plaid Processor Token. VoPay will fetch the associated user bank account details from Plaid.","type":"string"},"MxProcessorToken":{"description":"Mx Processor Token. VoPay will fetch the associated user bank account details from Mx.","type":"string"}},"required":["AccountID","Key","Signature","EmailAddress","Currency","PhoneNumber"]}}},"required":true},"ClientAccountTransferWithdrawPOST":{"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"},"WithdrawRail":{"description":"Specifies the rail to use for the withdraw 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"}},"required":["AccountID","Key","Signature","DebitorClientAccountID","RecipientClientAccountID","RecipientClientAccountIDSplit","Amount"]}}},"required":true},"ClientAccountTransferWithdrawSchedulePOST":{"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"},"WithdrawRail":{"description":"Specifies the rail to use for the withdraw 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}}}}