HK onboarding


This page contains details about the Hong Kong (HK) Know Your Business (KYB) flows and links to the following sub-pages for a quick reference:

Page nameDescription
HK required parametersThis page lists the required API fields of each entity type.
HK required documentsThis page contains tables listing the required documents for verification of the business entity, stakeholders, and applicants.
HK position mappingThis page gives a quick glance at the required positions of each entity type.
HK request examplesThis page contains API request examples for HK entities.

Nium offers Manual KYB flows for customers in Hong Kong.

Manual KYB Flow

The following steps need to be performed for completing an application via Manual KYB.

A diagram showing the manual KYB flow for Hong Kong

A diagram showing the manual KYB flow for Hong Kong. (click to enlarge)

For Manual KYB, you need to call the Onboard Corporate Customer API directly. In this flow, the entire request body needs to be passed in the Onboard Corporate Customer API.

Applicant KYC

E_DOC_VERIFY and MANUAL_KYC are supported for applicants in HK. E_DOC_VERIFY is the preferred mode of KYC since it reduces the turnaround time. If required, you can use Manual_KYC, however uploading of documents is required for Manual KYC which needs to be sent in businessDetails.applicantDetails.documentDetails. For details, see HK required documents for applicants.



The API gateway has a limit of 10 MB for any API request. This makes Upload Document API the preferred way to upload documents since you can upload one document at a time.


As a response to the Onboard Corp Customer API, Nium returns a redirect URL. You need to save this URL and redirect the applicant to the redirectURL. The applicant then lands on the KYC vendor's page, where he can complete the KYC verification by uploading his proof of identity and proof of address documents with a live selfie. After that, applicants are redirected back to your client KYC redirect URL that was configured with Nium.

Redirection can result in the following scenarios, based on the below parameters.

  • errorCode
  • errorMessage
  • isSuccess – This field indicates if the applicant completed the required steps in the vendor’s UI. It doesn't mean KYC is successful.
ScenarioExpected action from clientQuery parameters in the redirection
The applicant completed the required steps in the vendor’s UI.Wait for webhook.errorCode: N/A

errorMessage: N/A

isSuccess: TRUE
The redirect URL expired due to timeout.Call Regenerate KYC URL API.errorCode: R408

errorMessage: redirectURLExpired

isSuccess: FALSE
The document has already been submitted in the vendor's UI.KYC Process is completed. Client needs to wait for webhook.errorCode: R403

errorMessage: documentAlreadySubmitted

isSuccess: FALSE
The customer has provided incorrect data in the vendor's UI.Ask customer to submit correct data in the vendors page.errorCode: I400

errorMessage: vendorValidationError

isSuccess: FALSE
Verification failure at the vendor.The application goes to manual review. The client needs to wait for webhook.errorCode: R401

errorMessage: vendorVerificationFailure

isSuccess: FALSE
Internal Server error at Nium.Try after some time or reach out to Nium's support.errorCode: R500

errorMessage: internalServerError

isSuccess: FALSE
Any unexpected error from the vendor.Try after some time or reach out to Nium's support.errorCode: I500

errorMessage: unexpectedError

isSuccess: FALSE
Validation already completed and customer retries the same link.KYC Process is completed. The client need to wait for webhook.errorCode: R606

errorMessage: verificationAlreadyCompleted

isSuccess: FALSE

Based on the scenario, you can implement the next steps as provided in the table above.

Example of a redirect to the client in a successful case


Example of a redirect to the client in a failed case


For applicants where the is US, the applicant's address' state needs to be a valid 2 letter state code. Use the Fetch Corporate Constants API for a set of valid values.



There's an expiration time for the redirectURL, so the applicant needs to complete the process soon after submitting the application.

If the URL expires, the applicant is redirected to your configured client KYC redirect URL with an error message. Use the Regenerate KYC URL API to get a new URL with a new expiration time.

Stakeholder KYC

Only MANUAL_KYC is offered for KYC of Individual stakeholders in Hong Kong. Uploading of documents is required for Manual KYC which needs to be sent in businessDetails.stakeholders.stakeholderDetails.documentDetails. For details, see HK required documents for stakeholders.

Bank Account Details

Applicants must submit Bank Account Details of the corporate customer in the businessDetails.bankAccountDetails object . This is required per regulations to enable auto-sweep.

After submission, the status in the response of the Onboard Corporate Customer API is IN_PROGRESS. Nium initiates manual verification and sends the response via webhook. The application can get approved at this stage. Any changes in status is again communicated via webhook. For the next steps based on the response of the webhook, see Webhooks.

Terms and Conditions

You must show customers the Nium terms and conditions configured for your client resource. You can fetch these specific terms and conditions using our Terms And Conditions API.

Customers can only submit the onboarding form once they accept the terms and conditions.

To fetch the Terms And Conditions API:

  1. Wait for the Onboarding API to return a customerHashId.
  2. Once returned, call our Accept Terms and Conditions API and include the customerHashId.
  3. Show the customer the returned terms and conditions and record their acceptance before allowing them to transact.

For more details, see Terms and Conditions.