Skip to main content

Required Parameters

The following details the required parameters for the Customer Onboarding v5 request, along with validation rules and sample requests.

Use this request to create customers to onboard in the NL region. The endpoint accepts both individual and corporate customers.

For API reference, see Create Customer v5.

Create Customer v5

POST /api/v5/client/{clientHashId}/customers

Path parameters

ParameterTypeRequiredDescription
clientHashIdstringYesUnique client identifier, generated and shared before the integration is set up.

Body Parameters

ParameterTypeRequiredAccepted Values / Notes
typestringYesindividual or corporate.
kycTypestringYesminimum or full. Use full when onboarding for payouts.
regionstringYesUse CA.
externalIdstringOptionalClient-defined unique ID (max 36). Returned in webhooks and GET APIs.

Individual Customers

Personal Information

FieldTypeRequiredNotes
firstNamestringYesMax 40.
middleNamestringOptionalMax 40.
lastNamestringYesMax 40.
emailstringYesMax 60; must match the valid email regex.
nationalityenumYesCategory: countryName.
mobilenumericYesWithout country code; max 15 digits.
mobileCountryCodenumericYesMax 6 digits.
dateOfBirthdateYesYYYY-MM-DD; age ≥ 18.

billingAddress Object

FieldTypeRequiredNotes
addressLine1stringYesMax 100.
addressLine2stringOptionalMax 100.
citystringYesMax 50.
stateenum/stringConditionalcategory=isoState for countryCode=xx (e.g., US, CA). If enum list is empty, pass state manually (max 50 chars).
postcodestringYesMax 10.
countryenumYesCategory: countryName.

expectedAccountUsage Object

FieldRequiredNotes
credit.monthlyTransactionVolumeYesCategory: monthlyTransactionVolume.
credit.topTransactionCountriesYesCategory: countryName.
debit.monthlyTransactionVolumeYesCategory: monthlyTransactionVolume.
debit.topTransactionCountriesYesDestination countries for payouts.
intendedUsesYesCategory: intendedUseOfAccount.
intendedUsesDescriptionConditionalRequired if Other is selected. Max 300 chars.

Corporate Customers (Full KYC)

Business Information

FieldTypeRequiredNotes
businessTypeenumYesCategory: businessType.
businessNamestringYesMax 80.
tradeNamestringYesIf not available, set equal to businessName.
businessRegistrationNumberstringYesMax 30.
registeredDatedateYesYYYY-MM-DD; past date.
registeredCountryenumYesCategory: countryName.
websitestringOptionalwebsite or verified social profile; else upload PROOF_OF_BUSINESS.
isMultiLayeredCompanybooleanYestrue/false. If true upload CORPORATE_STRUCTURE
searchIdstringOptionalRequired for eKYB Company

addresses Object

FieldTypeRequiredNotes
registeredAddress.addressLine1stringYesMax 100.
registeredAddress.addressLine2stringOptionalMax 100.
registeredAddress.citystringYesMax 50.
registeredAddress.stateenum/stringConditionalcategory=isoState for countryCode=xx (e.g., US, CA). If enum list is empty, pass state manually (max 50 chars).
registeredAddress.postcodestringYesMax 10.
registeredAddress.countryenumYesCategory: countryName.
isBusinessAddressSameAsRegisteredAddressbooleanYesIf false, provide businessAddress details

documents (array of object)

Provide business documents

FieldTypeRequiredNotes
typeenumYescategory: documentType
fileIdsuuidYesReceived from the response of Upload file API

applicant object

FieldTypeRequiredNotes
externalIdstringOptionalreferenceId to identify the applicant.
firstNamestringYesMax 40 each.
lastNamestringYesMax 40 each.
dateOfBirthdateYesPast date; age ≥ 18.
emailstringYesMax 60; valid email.
mobilenumericYes15 digit limits.
mobileCountryCodenumericYes1–3 digits
nationalitystringYesMax 2 char.
sharePercentagenumericOptionalRequired only if position title is UBO/SHAREHOLDER.
positions.titlearray of objectYesInclude DIRECTOR, REPRESENTATIVE, UBO as applicable.
documentsarray of objectConditionalPOWER_OF_ATTORNEY required if applicant is not a DIRECTOR
addressobjectYesaddress of the applicant

Stakeholders

Stakeholders can be individuals or corporates with roles such as UBO, Director, Partner, Trustee, Shareholder.

Individual Stakeholders

FieldTypeRequiredNotes
externalIdstringOptionalreferenceId to identify the applicant.
firstNamestringYesMax 40 each.
lastNamestringYesMax 40 each.
dateOfBirthdateYesPast date; age ≥ 18.
emailstringOptionalMax 60; valid email.
mobilenumericOptional15 digit limits.
mobileCountryCodenumericOptional1–3 digits
nationalitystringYesMax 2 char.
sharePercentagenumericOptionalRequired only if position title is UBO/SHAREHOLDER.
positions.titlearray of objectYesInclude DIRECTOR, REPRESENTATIVE, UBO as applicable.
addressobjectYesaddress of the applicant

Corporate Stakeholders

FieldRequiredNotes
externalIdOptionalunique Id
businessNameYesRegistered name.
businessRegistrationNumberYesMax 30.
registeredCountryYesCategory: countryName.
positions.titleYesFor example, UBO, Shareholder.
sharePercentageConditionalRequired for UBO/Shareholder/Partner.

natureOfBusiness object

FieldRequiredNotes
operatingCountriesYescategory:countryOfOperation All countries where the business operates.
industryCodesYesCategory: industrySector. Industry sectors that the corporate customer operates in. Multiple allowed.
industryDescriptionConditional2–3 sentences if “Other” is selected in industryCodes

See Prohibited Business Categories.

expectedAccountUsage object

FieldRequiredNotes
credit.monthlyTransactionVolumeYesEstimated total payins.
credit.monthlyTransactionsYesEstimated count of monthly payins.
credit.averageTransactionValueYesAverage payin value.
credit.topTransactionCountriesYesOrigin countries.
debit.monthlyTransactionVolumeYesEstimated total payouts.
debit.monthlyTransactionsYesEstimated count of monthly payouts.
debit.averageTransactionValueYesAverage payout value.
debit.topTransactionCountriesYesDestination countries.
intendedUsesYesCategory: intendedUseOfAccount.
intendedUsesDescriptionConditionalRequired if Other.

sizeOfBusiness object

FieldRequiredNotes
totalEmployeesYesCategory: totalEmployees.
annualTurnoverYesCategory: annualTurnover. If < 1 year old, provide expected turnover.

bankAccountDetails object (for refunds/returns- applicable for individual and corporate)

FieldTypeRequiredNotes
accountNamestringYesRegistered bank name; max 140.
accountNumberstringYesMax 35.
bankCountrystringYesISO 3166-1 alpha-2.
bankNamestringYesMax 255.
currencystringYesISO 4217 (for example, USD, EUR).
routingCodes.typestringYesFor example, SWIFT.
routingCodes.valuestringYesMatches the selected type.

applicantDeclaration (applicable for individual and corporate)

FieldTypeRequiredDescription
applicantDeclarationbooleanYesIndicates acceptance of the declaration.
applicantDeclarationTimestamptimestampYesFormat: YYYY-MM-DD HH:MM:SS

devicedetails object (applicable for individual and corporate)

FieldTypeRequiredNotes
ipCountryCodeenumYesCountry of origin of the IP; category: countryName.
deviceInfostringYesOS of the device initiating the request.
ipAddressstringYesValid IPv4 address.
sessionIdstringYesSession identifier for the request.

tags object (applicable for individual and corporate)

FieldTypeRequiredNotes
tagsobjectOptionalUp to 15 client-defined key/value pairs.
tags.keystringOptionalMax 128; keys must be unique.
tags.valuestringOptionalMax 255.

Examples

Corporate customer — request

{
"type": "corporate",
"kycType": "full",
"region": "NL",
"externalId": "eaaac4cd-5730-4dba-8d67-e9242025b69d",
"businessName": "Sample Business Name",
"website": "https://monserrat.biz",
"businessDescription": "Technology solutions and consulting services provider",
"businessRegistrationNumber": "BRN1234567",
"registeredDate": "2015-03-15",
"registeredCountry": "FR",
"isMultiLayeredCompany": false,
"businessType": "private_company",
"tradeName": "Greenholt - West Inc",
"bankAccountDetails": {
"accountName": "Business Name",
"bankName": "Bank of America",
"accountNumber": "FR7630004028379876543210943",
"currency": "EUR",
"bankAccountType": "saving",
"bankCountry": "FR",
"routingCodes": [
{
"type": "SWIFT",
"value": "BDFEFR2TPOL"
}
]
},
"applicantDeclaration": true,
"applicantDeclarationTimeStamp": "2024-01-15 10:30:00",
"addresses": {
"isBusinessAddressSameAsRegisteredAddress": true,
"registeredAddress": {
"addressLine1": "1234 Corporate Blvd Suite 100",
"addressLine2": "Building A",
"city": "Wilmington",
"state": "FR-BFC",
"postcode": "19801",
"country": "FR"
}
},
"applicant": {
"externalId": "95d4c75b-089b-4aad-a9ab-f3b2360aa171",
"firstName": "Tierra",
"middleName": "James",
"lastName": "White",
"dateOfBirth": "1985-06-20",
"nationality": "FR",
"email": "<your email id>",
"mobile": "197894",
"mobileCountryCode": "1",
"sharePercentage": 45,
"address": {
"addressLine1": "789 Executive Lane",
"addressLine2": "Apt 12B",
"city": "Boston",
"state": "US-DE",
"postcode": "02101",
"country": "SG"
},
"documents": [
{
"type": "power_of_attorney",
"fileIds": [
"a9f55262-77ea-44a0-a5b8-b01bca79cc84"
]
}
],
"positions": [
{
"title": "REPRESENTATIVE"
}
]
},
"stakeholders": {
"individual": [
{
"externalId": "2a902305-bf54-41df-bfaa-d80c94d16805",
"firstName": "stake 5",
"middleName": "Robert",
"lastName": "Volkman",
"isPep": false,
"dateOfBirth": "1980-11-10",
"nationality": "US",
"email": "Rickie9@gmail.com",
"mobile": "197786",
"mobileCountryCode": "1",
"sharePercentage": 30,
"address": {
"addressLine1": "456 Investor Street",
"addressLine2": "Unit 8",
"city": "New York",
"state": "US-NY",
"postcode": "10001",
"country": "US"
},
"positions": [
{
"title": "director"
}
]
},
{
"externalId": "2a902305-bf54-41df-bfaa-d80c94d16802",
"firstName": "stake 3+{{nameCounter}}",
"middleName": "Robert",
"lastName": "Volkman",
"dateOfBirth": "1980-11-10",
"nationality": "US",
"email": "Rickie9@gmail.com",
"mobile": "197786",
"mobileCountryCode": "1",
"sharePercentage": 30,
"address": {
"addressLine1": "456 Investor Street",
"addressLine2": "Unit 8",
"city": "New York",
"state": "US-NY",
"postcode": "10001",
"country": "SG"
},
"positions": [
{
"title": "ubo"
}
]
}
],
"corporate": [
{
"externalId": "859ac163-08f0-4152-b26a-e96fce664372",
"businessName": "Investment Holdings LLC",
"businessRegistrationNumber": "123456789",
"registeredCountry": "US",
"sharePercentage": 25,
"positions": [
{
"title": "UBO"
}
]
}
]
},
"natureOfBusiness": {
"operatingCountries": [
"US",
"CA",
"GB"
],
"industryCodes": [
"IS134"
],
"industryDescription": "Comprehensive technology consulting and software development services specializing in enterprise solutions, cloud infrastructure, and digital transformation initiatives for Fortune 500 companies across North America and Europe"
},
"expectedAccountUsage": {
"intendedUses": [
"IU001"
],
"intendedUsesDescription": "Business operations including vendor payments, payroll processing, and international transactions",
"credit": {
"monthlyTransactionVolume": "MVNL01",
"monthlyTransactions": "ATC01",
"averageTransactionValue": "ATVNL01",
"topTransactionCountries": [
"US",
"CA",
"GB"
],
"topRemitters": [
"Enterprise Client A",
"Corporate Partner B"
]
},
"debit": {
"monthlyTransactionVolume": "MVNL01",
"monthlyTransactions": "ATC01",
"averageTransactionValue": "ATVNL01",
"topTransactionCountries": [
"US",
"CA",
"MX"
],
"topBeneficiaries": [
"Vendor Services Inc",
"Technology Suppliers Ltd"
]
}
},
"sizeOfBusiness": {
"totalEmployees": "EM006",
"annualTurnover": "NL008"
},
"deviceDetails": {
"ipCountryCode": "fr",
"deviceInfo": "Mozilla/5.0 Windows",
"ipAddress": "192.168.1.100",
"sessionId": "15aaa7ad-7625-4047-a2ce-6fe4ac476728"
},
"tags": [
{
"key": "customer_type",
"value": "enterprise"
},
{
"key": "priority",
"value": "high"
}
],
"documents": [
{
"type": "business_registration_doc",
"fileIds": [
"3bb4595c-2d1b-47b3-a951-08175b9013c2"
]
}

]
}

Individual customer — request

    {
"type": "individual",
"kycType": "full",
"region": "NL",
"externalId": "ext-12345",
"firstName": "Sharma",
"middleName": "",
"lastName": "Test",
"email": "<Customer email address>",
"nationality": "FR",
"dateOfBirth": "2000-08-01",
"mobile": "98989898999",
"mobileCountryCode": "31",
"tags": [
{
"key": "key1",
"value": "value1"
}
],
"deviceDetails": {
"ipCountryCode": "eu",
"deviceInfo": "MAC",
"ipAddress": "192.168.1.16",
"sessionId": "hello-world"
},
"expectedAccountUsage": {
"intendedUsesDescription": "test intendedintended",
"credit": {
"monthlyTransactionVolume": "MVNL01",
"topTransactionCountries": [
"GB","GB","GB","IN"
]
},
"intendedUses": [
"IU104"
],
"debit": {
"monthlyTransactionVolume": "MVNL01",
"topTransactionCountries": [
"GB","GB","GB","IN","US"
]
}
},
"documents": [
{
"type": "trust_deed",
"fileIds": [
"ad06526c-c0d1-4410-a11d-9431f28a00e2"
]
}
],
"bankAccountDetails": {
"accountName": "Business Name",
"bankName": "Bank of America",
"accountNumber": "FR7630004028379876543210943",
"currency": "EUR",
"bankAccountType": "saving",
"bankCountry": "FR",
"routingCodes": [
{
"type": "SWIFT",
"value": "BDFEFR2TPOL"
}
]
},
"billingAddress": {
"addressLine1": "Test Add 123, Building 1, Block 2, Area 3Test Add 123, Building 1, Block 2, Area 3Test Add 123, Buil",
"addressLine2": "Test Add 123, Building 1, Block 2, Area 3Test Add 123, Building 1, Block 2, Area 3Test Add 123, Bui",
"city": "Lorem ipsum dolor sit amet, consectetuer.",
"state": "NL-DR",
"postcode": "SW1W",
"country": "NL"
}
}

For response check Response Codes.