Skip to main content

Create business VA customer

POST
Authentication

Virtual Account APIs use the same access token as the rest of the platform. Obtain it from the Authentication API and send it on every VA call:

Authorization: Bearer <access_token>

Base URLs for each environment are listed under API environments.

note

What this does: Registers a company as a Virtual Account customer, including its Ultimate Beneficial Owner(s) (UBOs) via ownerDetailList. Requires the docReferenceNumber from Upload VA documents — upload the 9 mandatory Corporate documents first.

Endpoint​

Request Fields — Business Level​

FieldRequired?Notes
customerTypeCodeREQUIREDFixed: 100002 for Business
customerSubTypeCodeREQUIREDe.g. 100001
serviceTypeCodeREQUIREDFixed VIRTUAL
sourceOPTIONALe.g. WEB
docReferenceNumberREQUIREDFrom Upload VA Document (Upload VA documents)
walletOwnerCodeREQUIRED—
tradeNameREQUIREDRegistered/trading company name
legalStatusCodeREQUIREDe.g. RHB002 (Corporation)
natureOfBusinessCodeREQUIREDe.g. RHT005
remarksOPTIONALFree text, e.g. industry note
businessRelationshipCodeREQUIREDe.g. 100003
businessAuthorizedPersonOPTIONALName of the authorized signatory
mobileNumber / emailREQUIREDBusiness contact details
dialCodeOPTIONALe.g. +91
addressLine1REQUIRED—
addressLine2OPTIONAL—
countryCode / state / city / pincodeREQUIREDcountryCode is ISO alpha-3
idNumberREQUIREDBusiness registration/license number
idCountryREQUIRED—
idIssuedByOPTIONAL—
issueDateREQUIRED—
idExpiryDateREQUIREDThis is the business's own document expiry — note the owner-level field below is named idExpiry (no "Date"), not idExpiryDate. This naming difference is intentional, confirmed by IT.
noIssueDate / noIdExpiryOPTIONALBoolean flags controlling the two date fields above
thirdPartyDeterminationOPTIONALBoolean
transactionVolumeCodeOPTIONALe.g. 100005
isSenderPepOPTIONALBoolean
declarationOPTIONALBoolean
customerCodeOPTIONALEmpty "" on Create — returned as code in the response. That code value becomes REQUIRED on Edit (Edit business VA customer), where the field is named code, not customerCode.
customerStatusOPTIONALSystem-managed
isPayoutBanned / payoutClientCodesOPTIONALDefault false / []
ownerDetailListREQUIREDArray of UBO/owner objects — required for onboarding (matches the mandatory "ID copies of UBOs" document in VA document requirements). Required fields per owner differ by customerTypeCode — see table below.
warning

Each owner's required fields depend on its own customerTypeCode — 100001 (individual owner) and 100002 (business/corporate owner) have different mandatory sets, confirmed from sample payloads. Mixed arrays (some individual, some business owners) are supported.

Owner Type 100001 · Individual​

FieldRequired?
customerTypeCodeREQUIRED
firstName / lastNameREQUIRED
dateOfBirth / genderREQUIRED
companyNameREQUIRED
addressLine1 / countryCode / state / city / pincodeREQUIRED
idTypeCode / idNumber / idCountryREQUIRED
indexId / customerCodeOPTIONAL
middleName / nationalityOPTIONAL
mobileNumber / dialCode / emailOPTIONAL
addressLine2 / residenceStatusCodeOPTIONAL
idIssuedBy / issueDate / idExpiryOPTIONAL
noIssueDate / noIdExpiryOPTIONAL
ownerPercentage / ownerStatusOPTIONAL

Owner Type 100002 · Business​

FieldRequired?
customerTypeCodeREQUIRED
companyNameREQUIRED
addressLine1 / countryCode / state / cityREQUIRED
indexId / customerCodeOPTIONAL
firstName / lastName / middleNameOPTIONAL
dateOfBirth / gender / nationalityOPTIONAL
mobileNumber / dialCode / emailOPTIONAL
addressLine2 / residenceStatusCode / pincodeOPTIONAL
idTypeCode / idNumber / idIssuedBy / idCountryOPTIONAL
issueDate / idExpiryOPTIONAL
noIssueDate / noIdExpiryOPTIONAL
ownerPercentage / ownerStatusOPTIONAL

Complete Request Example​

Business customer with 2 owners (1 individual, 1 business)

{
"customerTypeCode": "100002",
"customerSubTypeCode": "100001",
"serviceTypeCode": "VIRTUAL",
"docReferenceNumber": "GTGGGG7766",
"walletOwnerCode": "1000008547",
"tradeName": "Example Company",
"natureOfBusinessCode": "RHT004",
"mobileNumber": "9876543215",
"email": "accounts@example.com",
"addressLine1": "12 Example Road",
"countryCode": "MWI",
"state": "Central Region",
"city": "Lilongwe",
"pincode": "676567",
"businessRelationshipCode": "100003",
"legalStatusCode": "RHB002",
"idNumber": "ID9800000091",
"idCountry": "MWI",
"issueDate": "2024-08-22",
"idExpiryDate": "2028-08-31",
"ownerDetailList": [
{
// Owner 1 — individual owner (customerTypeCode 100001)
"customerTypeCode": "100001",
"firstName": "John",
"lastName": "Doe",
"dateOfBirth": "2008-08-22",
"gender": "male",
"companyName": "Example Company",
"addressLine1": "12 Example Road",
"countryCode": "MWI",
"state": "Malawi",
"city": "Lilongwe",
"pincode": "121122",
"idTypeCode": "RHD007",
"idNumber": "ID8887877711",
"idCountry": "MWI"
},
{
// Owner 2 — business owner (customerTypeCode 100002)
"customerTypeCode": "100002",
"companyName": "Sample Exports Ltd",
"addressLine1": "12 Example Road",
"countryCode": "MWI",
"state": "Central Region",
"city": "Lilongwe"
}
]
}
info

ℹ This example shows mandatory fields onlyat both the business level and per owner type. Optional fields may still be sent per the Request Fields tables above.