Skip to main content

Required Parameters

The following guide includes the details that are required when creating a customer using the Create Customer v5 request, along with validation rules and sample requests.

Use this request to create customers to onboard in United Kingdom. The endpoint accepts both individual and corporate customer.

For a breakdown of the request and parameters, see Onboard Corporate Customer.

For onboarding steps, see UK Onboarding. For document requirements, see UK Required Documents.

Endpoint URL

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

Path parameters

ParameterTypeRequiredDescription
clientHashIdstringYesUnique client identifier, generated and shared before the API handshake.

Body parameters

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

Individual customers

Individual customers in the UK complete electronic KYC through the Pre-built KYC form.

Personal information

FieldTypeRequiredNotes
firstNamestringYesMax 40.
middleNamestringOptionalMax 40.
lastNamestringYesMax 40.
emailstringYesMax 60; must match the valid email format.
nationalityenumYesCategory: countryName.
mobilenumeric/stringYesWithout country code; max 15 digits.
mobileCountryCodenumeric/stringYesMax 6 digits.
dateOfBirthdateYesYYYY-MM-DD; age must be 18 or older.
isPepbooleanYestrue if PEP.

Billing address

FieldTypeRequiredNotes
addressLine1stringYesMax 100.
addressLine2stringOptionalMax 100.
citystringYesMax 50.
stateenum/stringConditionalCategory: state. Optional if not applicable for the country.
postcodestringYesMax 10.
countryenumYesCategory: countryName.

Expected account usage

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.

Bank account details

Use these details for refunds and returns.

FieldTypeRequiredNotes
accountNamestringYesRegistered bank account name; max 140.
accountNumberstringYesMax 35.
bankCountrystringYesISO 3166-1 alpha-2.
bankAccountTypestringConditionalFor example, savings, checking, or current.
bankNamestringConditionalMax 255.
currencystringYesISO 4217.
routingCodes.typestringYesFor example, SWIFT, SORT_CODE, or other supported value.
routingCodes.valuestringYesMust match the selected routing code type.

Corporate customers (Full KYC)

Business information

FieldTypeRequiredNotes
businessTypeenumYesCategory: businessType.
businessNamestringYesMax 80.
tradeNamestringOptionalIf not available, use the registered business name.
businessRegistrationNumberstringYesMax 30.
registeredDatedateYesYYYY-MM-DD; must be a past date.
registeredCountryenumYesCategory: countryName.
websitestringOptionalURL or verified social profile. If omitted, upload PROOF_OF_BUSINESS.
isMultiLayeredCompanybooleanYestrue or false. Upload CORPORATE_STRUCTURE when true.
searchIdstringConditionalInclude when using the Fetch Exhaustive Corporate Details request. If omitted, the application follows the manual KYB flow.

Applicant declaration

These fields are required before you submit the onboarding request.

FieldTypeRequiredNotes
applicantDeclarationbooleanYesMust be true after the applicant accepts the declaration.
applicantDeclarationTimestamptimestampYesFormat: YYYY-MM-DD HH:MM:SS.

Applicant details

FieldTypeRequiredNotes
firstNamestringYesMax 40.
middleNamestringOptionalMax 40.
lastNamestringYesMax 40.
dateOfBirthdateYesYYYY-MM-DD; age must be 18 or older.
emailstringYesMax 60; valid email.
mobilestringYesMax 15 digits.
mobileCountryCodestringYesMax 6 digits.
nationalityenumYesCategory: countryName.
isPepbooleanYestrue if PEP.
sharePercentagenumericConditionalRequired if the applicant is also a shareholder or UBO.
addressobjectYesFull residential address.
positionsarrayYesInclude all applicable roles such as DIRECTOR, REPRESENTATIVE, UBO, PARTNER, or TRUSTEE.
documentsarrayConditionalInclude POWER_OF_ATTORNEY if the applicant is not a director or otherwise not authorized by role. Include SOURCE_OF_WEALTH when isPep = true.

Registered and business addresses

FieldTypeRequiredNotes
addresses.registeredAddress.addressLine1stringYesMax 100.
addresses.registeredAddress.addressLine2stringOptionalMax 100.
addresses.registeredAddress.citystringYesMax 50.
addresses.registeredAddress.stateenum/stringConditionalCategory: state. Optional if not applicable.
addresses.registeredAddress.postcodestringYesMax 10.
addresses.registeredAddress.countryenumYesCategory: countryName.
addresses.isBusinessAddressSameAsRegisteredAddressbooleanYestrue or false.
addresses.businessAddressobjectConditionalRequired when the business address is different from the registered address.

Stakeholders

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

Individual stakeholders

FieldRequiredNotes
firstName, lastName, dateOfBirth, nationalityYesPersonal details.
email, mobile, mobileCountryCodeYesContact details used for KYC.
isPepYestrue if PEP.
positionsYesInclude all applicable roles.
sharePercentageConditionalRequired when ownership is declared.
addressYesFull residential address.
documentsConditionalUsed for manual KYC or when additional supporting documents are required.

Corporate stakeholders

FieldRequiredNotes
businessNameYesRegistered business name.
businessRegistrationNumberYesMax 30.
registeredCountryYesCategory: countryName.
positions.titleYesFor example, UBO, Shareholder, or Trustee.
sharePercentageConditionalRequired for ownership-based roles.

Nature of business

FieldRequiredNotes
operatingCountriesYesAll countries where the business operates.
industryCodesYesCategory: industrySector. Multiple values allowed.
industryDescriptionConditionalRequired when Other is selected or when Compliance requests more detail.

Expected account usage (Corporate)

FieldRequiredNotes
credit.monthlyTransactionVolumeYesEstimated total payins.
credit.monthlyTransactionsYesEstimated count of monthly payins.
credit.averageTransactionValueYesAverage payin value.
credit.topTransactionCountriesYesOrigin countries.
credit.topRemittersYesUp to 20 primary remitters.
debit.monthlyTransactionVolumeYesEstimated total payouts.
debit.monthlyTransactionsYesEstimated count of monthly payouts.
debit.averageTransactionValueYesAverage payout value.
debit.topTransactionCountriesYesDestination countries.
debit.topBeneficiariesYesUp to 20 primary beneficiaries.
intendedUsesYesCategory: intendedUseOfAccount.
intendedUsesDescriptionConditionalRequired if Other is selected.

Size of business

FieldRequiredNotes
totalEmployeesYesCategory: totalEmployees.
annualTurnoverYesCategory: annualTurnover. If the business is less than one year old, provide expected turnover.

Device details

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

Tags

FieldTypeRequiredNotes
tagsarray/objectOptionalUp 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": "UK",
"externalId": "corp-uk-001",
"businessType": "corporation",
"businessName": "Example UK Ltd",
"tradeName": "Example UK",
"businessRegistrationNumber": "12345678",
"registeredDate": "2022-03-14",
"registeredCountry": "GB",
"website": "https://example.co.uk",
"isMultiLayeredCompany": false,
"searchId": "search_123456",
"applicantDeclaration": true,
"applicantDeclarationTimestamp": "2026-03-18 10:15:00",
"addresses": {
"isBusinessAddressSameAsRegisteredAddress": true,
"registeredAddress": {
"addressLine1": "10 Example Street",
"addressLine2": "",
"city": "London",
"state": "",
"postcode": "EC1A 1AA",
"country": "GB"
}
},
"applicant": {
"firstName": "Alex",
"lastName": "Taylor",
"dateOfBirth": "1990-02-10",
"email": "alex.taylor@example.co.uk",
"mobile": "7123456789",
"mobileCountryCode": "44",
"nationality": "GB",
"isPep": false,
"address": {
"addressLine1": "20 High Street",
"addressLine2": "",
"city": "London",
"state": "",
"postcode": "SW1A 1AA",
"country": "GB"
},
"positions": [
{
"title": "DIRECTOR",
"startDate": "2022-03-14"
},
{
"title": "REPRESENTATIVE",
"startDate": "2022-03-14"
}
]
},
"stakeholders": {
"individual": [
{
"externalId": "stakeholder-001",
"firstName": "Jordan",
"lastName": "Reed",
"dateOfBirth": "1988-11-01",
"nationality": "GB",
"email": "jordan.reed@example.co.uk",
"mobile": "7987654321",
"mobileCountryCode": "44",
"isPep": false,
"sharePercentage": 30,
"address": {
"addressLine1": "5 River Road",
"addressLine2": "",
"city": "Manchester",
"state": "",
"postcode": "M1 1AA",
"country": "GB"
},
"positions": [
{
"title": "UBO",
"startDate": "2022-03-14"
}
]
}
],
"corporate": []
},
"natureOfBusiness": {
"operatingCountries": [
"GB"
],
"industryCodes": [
"IS001"
],
"industryDescription": "Business software services."
},
"expectedAccountUsage": {
"intendedUses": [
"IU001"
],
"intendedUsesDescription": "",
"credit": {
"monthlyTransactionVolume": "MVUK01",
"monthlyTransactions": "ATC01",
"averageTransactionValue": "ATVUK01",
"topTransactionCountries": [
"GB"
],
"topRemitters": [
"Primary UK merchants"
]
},
"debit": {
"monthlyTransactionVolume": "MVUK01",
"monthlyTransactions": "ATC01",
"averageTransactionValue": "ATVUK01",
"topTransactionCountries": [
"GB"
],
"topBeneficiaries": [
"Main UK vendors"
]
}
},
"sizeOfBusiness": {
"totalEmployees": "EM005",
"annualTurnover": "UK010"
},
"deviceDetails": {
"ipCountryCode": "GB",
"deviceInfo": "MAC",
"ipAddress": "203.0.113.10",
"sessionId": "session-uk-001"
},
"tags": [
{
"key": "segment",
"value": "test"
}
]
}

Individual customer — request

{
"type": "individual",
"kycType": "full",
"region": "UK",
"externalId": "ind-uk-001",
"firstName": "Sam",
"middleName": "",
"lastName": "Patel",
"email": "sam.patel@example.co.uk",
"nationality": "GB",
"isPep": false,
"dateOfBirth": "1995-06-20",
"mobile": "7012345678",
"mobileCountryCode": "44",
"deviceDetails": {
"ipCountryCode": "GB",
"deviceInfo": "iOS",
"ipAddress": "203.0.113.11",
"sessionId": "session-uk-002"
},
"expectedAccountUsage": {
"intendedUses": [
"IU001"
],
"intendedUsesDescription": "",
"credit": {
"monthlyTransactionVolume": "MVUK01",
"topTransactionCountries": [
"GB"
]
},
"debit": {
"monthlyTransactionVolume": "MVUK01",
"topTransactionCountries": [
"GB"
]
}
},
"bankAccountDetails": {
"accountName": "Sam Patel",
"bankName": "Example Bank",
"accountNumber": "12345678",
"bankCountry": "GB",
"currency": "GBP",
"bankAccountType": "current",
"routingCodes": [
{
"type": "SORT_CODE",
"value": "112233"
}
]
},
"billingAddress": {
"addressLine1": "1 Market Street",
"addressLine2": "",
"city": "Bristol",
"state": "",
"postcode": "BS1 4DJ",
"country": "GB"
}
}

Error handling

ScenarioError CodeHTTP CodeDescriptionComments
Missing mandatory fieldsmissing_required_fields400One or more required fields are missing.The response may include the relative field path.
External ID is duplicated for applicants or stakeholdersduplicate_externalId400externalId is duplicate.The response may include the full field path, such as applicant.externalId or stakeholders.individual[0].externalId.
Field value is not acceptedinvalid_input400A field contains an unsupported or invalid value.The response may identify the exact field.
Customer already existscustomer_exists400A customer already exists for the given field value.The additional field value may identify externalId, businessName, or another matching field.
Client setup is incompleteincomplete_client_setup422Request cannot be accepted because the client-as-customer setup is incomplete.Ensure the client customer record exists and compliance is complete before retrying.

Adding positions

Add all management directors as stakeholders.

Tag anyone owning 25% or more, directly or indirectly, as a UBO. If no individual owns 25% or more, declare the most senior director as the UBO.

The applicant is treated as a representative by default. Add other representatives or signatories if they are authorized to perform transactions or manage users.

Include partners, trustees, settlors, or other applicable roles based on the business entity type.

For multi-layered companies, include all corporate stakeholders owning 25% or more and upload a CORPORATE_STRUCTURE document. For more information, see UK Onboarding.