User KYB process

nCore platform provides an automated feature to onboard SMEs (Small Medium Enterprises) under your business. With this feature you can create as many SMEs as you want under your business hub. As part of the SME onboarding process, the platform is required to automate the KYB (know your business) process through the APIs and the data is shown and validated by NymCard internally before making any decision to pass or fail the onboarding process.

Below you can find preliminary documents required for onboarding a corporate entity:

For the KYB process, there are following sub-user types which are required to create and upload their supporting documents for the KYB process.

The sub-users are given below:

  • Director

  • Signature

  • Shareholder

  • Shareholder_business

Once the users with such user types are created, then the system enables you to upload their identification documents.

After that you can create a main business user (i.e. the SME), and provide the sub-user’s (Director, Signature, and Shareholder) IDs in the request.

For example, you want to create a business user (SME) , whose name is “Test”. The SME Test has 3 Directors, 2 signatures and 5 shareholders. To create the use case, please follow the following steps:

  1. Create all sub-users such as 3 Directors, 2 signatures and 5 shareholders one by one.

  2. Then you should create identifications for each of 3 Directors, 2 signatures and 5 shareholders one by one.

  3. After that you will be able to upload identification documents for each of 3 Directors, 2 signatures and 5 shareholders one by one.

  4. And at last you will be able to create the business user (“Test”), and include all the created director’s, signature’s and shareholder’s IDs in the designated lists so that the sub-users will get linked with the SME Test.

  5. If required you can create business SME Test’s identification and upload any supporting documents by using the same APIs mentioned in this section.

SME onboarding step by step process

Below you can find the step-by-step instructions on how to create a business user.

Create SME’s sub-users

To create a Director, Signature or Shareholder, send a POST request to /users endpoint and indicate relevant ‘user_type’ (DIRECTOR, SIGNATURE or SHAREHOLDER). Below you can find sample requests and responses with relevant parameters for each user type.

Note, you can create up to 10 sub-users of each type.

Create a sub-user type: Director

POST /users

{

"id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"title": "MR",

"first_name": "John",

"middle_name": "Anthony",

"last_name": "Smith",

"native_name": "Júañ Hérreró",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "male",

"preferred_language": "en",

"place_of_birth": "Las Vegas",

"nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"country_residence": "USA",

"user_type": "DIRECTOR",

"designation": "CEO"

}

Response

{

"id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"title": "MR",

"first_name": "John",

"middle_name": "Anthony",

"last_name": "Smith",

"native_name": "Júañ Hérreró",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "male",

"preferred_language": "en",

"place_of_birth": "Las Vegas",

"nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"country_residence": "USA",

"user_type": "DIRECTOR",

"designation": "CEO"

"status": "PENDINGKYB",

"status_reason_code": "I0",

"created": "2021-04-04T07:22:03.224Z",

"modified": "2021-04-04T07:22:03.224Z"

}

Create a sub-user type: Signature

POST /users

{

"id": "4ba3028b-0e38-4113-a90e-5a8cd3fb27a6",

"title": "MR",

"first_name": "Jack",

"middle_name": "Michel",

"last_name": "Swenny",

"native_name": "Pedro Hérreró",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "male",

"preferred_language": "en",

"place_of_birth": "Las Vegas",

"nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"country_residence": "USA",

"user_type": "SIGNATURE",

"designation": "CEO"

}

Response

{

"id": "4ba3028b-0e38-4113-a90e-5a8cd3fb27a6",

"title": "MR",

"first_name": "Jack",

"middle_name": "Michel",

"last_name": "Sweeny",

"native_name": "Pedro Hérreró",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "male",

"preferred_language": "en",

"place_of_birth": "Las Vegas",

"nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"country_residence": "USA",

"user_type": "SIGNATURE",

"designation": "CEO",

"status": "PENDINGKYB",

"status_reason_code": "I0",

"created": "2021-04-04T07:22:03.224Z",

"modified": "2021-04-04T07:22:03.224Z"

}

Create a sub-user type: Shareholder

POST /users

{

"id": "6daf85ea-f5f6-4e0b-b381-de5b7a9834e2",

"title": "MR",

"first_name": "Jacob",

"middle_name": "Andrew",

"last_name": "Fray",

"native_name": "Max Hérreró",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "male",

"preferred_language": "en",

"place_of_birth": "Las Vegas",

"nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"country_residence": "USA",

"user_type": "SHAREHOLDER",

"local_address": {

 "address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"shares_percentage": "100",

"share_controller_name": "Nabil Radwan"

}

Response

{

"id": "6daf85ea-f5f6-4e0b-b381-de5b7a9834e2",

"title": "MR",

"first_name": "Jacob",

"middle_name": "Andrew",

"last_name": "Fray",

"native_name": "Max Hérreró",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "male",

"preferred_language": "en",

"place_of_birth": "Las Vegas",

"nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

"country_residence": "USA",

"user_type": "SHAREHOLDER",

"local_address": {

  "address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"shares_percentage": "100",

"share_controller_name": "Nabil Radwan",

"status": "PENDINGKYB",

"status_reason_code": "I0",

"created": "2021-04-04T07:22:03.224Z",

"modified": "2021-04-04T07:22:03.224Z"

}

Create SME’s sub user’s identifications

To create an identification, you should send a POST request to /users/{user_id}/identifications endpoint, where you should indicate a ‘type’ parameter, relevant to this specific sub-user. Below you can find the list of available identification types:

Name

Description

PASSPORT

Passport

VISA

Visa

NATIONAL_ID

National ID

TRADE_LICENSE

Trade license

COMMERCIAL_LICENSE

Commercial license

INCORPORATION_CERT

Company Certification of Incorporation

INCUMBENCY_CERT

Incumbency certificate

MEMORANDUM_ARTICLES

Memorandum and articles. Company Memorandum and Articles of Association/By-Laws

BANK_STATEMENT

Bank statement of 3 months. The size of the document should be up to 5 Mb.

ADDITIONAL

Additional document (other company legal document)

The identification can be created for sub-users as well as for the SME business user itself if required.

Below you can find an example for National ID identification creation:

POST /users/{user_id}/identifications

{

"type": "NATIONAL_ID",

"number": "132453123",

"issuance_authority": "Ministry of defense",

"place_of_issuance": "Lebanon",

"expiration_date": "2012-05-04T19:42:32.987Z",

"issuance_date": "2012-05-04T19:42:32.987Z",

"identification_note": "Some note"

}

Response

{

"id": "4e354f67-2ea5-43a9-92ec-2f967c3981f6",

"type": "NATIONAL_ID",

"number": "132453123",

"issuance_authority": "Ministry of defense",

"place_of_issuance": "UAE",

"identification_note": "Some note",

"expiration_date": "2012-05-04T19:42:32.987Z",

"issuance_date": "2012-05-04T19:42:32.987Z",

"document_status": PENDINGKYB,

"document_status_reason": "I0",

"created": "2021-07-18T07:52:21.755Z",

"modified": "2021-08-18T07:53:21.755Z"

}

Also here you can find an example for VISA identification creation:

POST /users/{user_id}/identifications

{

"type": "VISA",

"number": "132451408",

"issuance_authority": "Ministry of defense",

"place_of_issuance": "Lebanon",

"expiration_date": "2012-05-04T19:42:32.987Z",

"issuance_date": "2012-05-04T19:42:32.987Z",

"identification_note": "Some note"

}

Response

{

"id": "4e394f67-2ea5-58a9-92ec-2f967c3981fw",

"type": "VISA",

"number": "132451408",

"issuance_authority": "Ministry of defense",

"place_of_issuance": "UAE",

"identification_note": "Some note",

"expiration_date": "2012-05-04T19:42:32.987Z",

"issuance_date": "2012-05-04T19:42:32.987Z",

"document_status": PENDINGKYB,

"document_status_reason": "I0",

"created": "2021-07-18T07:52:21.755Z",

"modified": "2021-08-18T07:53:21.755Z"

}

You can create any of the identification types mentioned above by sending a POST request to /user/{user_id}/identification endpoint. Below you can find an example with Trade license:

POST /users/{user_id}/identifications

{

"type": "TRADE_LICENSE",

"number": "132123123",

"issuance_authority": "Ministry of defense",

"place_of_issuance": "UAE",

"identification_note": "Trade license of the SME Test",

"expiration_date": "2012-05-04T19:42:32.987Z",

"issuance_date": "2012-05-04T19:42:32.987Z"

}

Response

{

"id": "9e354f40-2ea5-43a9-92ec-2f967c3981f9",

"type": "TRADE_LICENSE",

"number": "132123123",

"issuance_authority": "Ministry of defense",

"place_of_issuance": "UAE",

"identification_note": "Trade license of the SME Test",

"expiration_date": "2012-05-04T19:42:32.987Z",

"issuance_date": "2012-05-04T19:42:32.987Z",

"document_status": PENDINGKYB,

"document_status_reason": "I0",

"created": "2021-07-18T07:52:21.755Z",

"modified": "2021-08-18T07:53:21.755Z"

}

Note, that the user with 'user_type' "DIRECTOR", "SIGNATURE" or "SHAREHOLDER" is automatically created with user 'status' as 'PENDINGKYB' and 'status_reason_code' as 'I0' for user identification purposes.

Upload SME’s sub user’s documents

After identification is created, you can upload the relevant documents. For this you should send a POST request to /users/{user_id}/identifications/{identification_id}/files endpoint.

Below you can find a sample request:

POST /users/{user_id}/identifications/{identification_id}/files

{

"id": "9e354f40-2ea5-43a9-92ec-2f967c3981f9.png",

"file_name": "9e354f40-2ea5-43a9-92ec-2f967c3981f9.png",

"identification_type": "PASSPORT",

"identification_document_type": "PASSPORT_PAGE1",

"content_type": "application/pdf",

"size": 4562

}

Response

{

"id": "9e354f40-2ea5-43a9-92ec-2f967c3981f9.png",

"file_name": "9e354f40-2ea5-43a9-92ec-2f967c3981f9.png",

"identification_type": "PASSPORT",

"identification_document_type": "PASSPORT_PAGE1", 

"document_version": 1,

"content_type": "application/pdf",

"size": 4562,

"created": "2012-05-04T19:42:32.987Z"

}

Note, that you can upload different types of documents such as NATIONAL_ID, VISA, MEMORANDUM, BANK_STATEMENT etc..

Create business (SME) user

Now you can create a business user along with the details and sub-users, created in step 1. For this you should send a POST request to /users endpoint and indicate ‘user_type’ = BUSINESS. Below you can find a sample request and response.

POST /users

{

"id": "3ba3028b-0e38-4e0b-a90e-5a8cd3dj27a5",

"title": "MR",

"first_name": "Alex",

"middle_name": "Daniel",

"last_name": "Gates",

"native_name": "Robert Shaw",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "MALE",

"preferred_language": "EN",

"place_of_birth": "Las Vegas",

  "nationality": "USA",

"parent_user_id": "cf2de83b-ac68-441b-bc54-21de60014d57",

  "country_tax_residence": "USA",

"company_name": "Example",

"company_address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"company_country": "USA",

"industry_type": "I01",

"user_type": "BUSINESS",

"business_legal_name": "Insurance corporation",

"business_dba_name": "John Smith insurance corporation",

"date_established": "2012-05-04T19:42:32.987Z",

"phone_number": "+551185249635",

"website": "example.com”,

"incorporation_type": "LLC",

"entity_registered_no": "2233445533",

"old_entity_name": "",

"old_entity_ops_start_date": "",

"old_entity_ops_end_date": "",

"regulated_entity": true,

"regulator_name": "ABC",

"business_activities": "IT Services",

"other_operated_countries": "US",

"tax_residence_country": "UAE",

"tin": "1122334455",

"external_auditor_name": "ABC",

"director_list": [

{

"cf2de83b-ac68-441b-bc54-21de60014d57", "cf2de83b-ac68-441b-bc54-21de60014d47",

"cf2de83b-ac68-441b-bc54-21de60014d53",

}

],

"signature_list": [

{

"4ba3028b-0e38-4113-a90e-5a8cd3fb27a6", "4ba3028b-0e38-4166-a90e-5a8cd3fb27a8", "4ba3028b-0e38-4198-a90e-5a8cd3fb27a2",

}

],

"shareholder_list": [

{

"6daf85ea-f5f6-4e0b-b381-de5b7a9834e2", "6daf85ea-f5f6-4e0b-b356-de5b7a9834e4", "6daf85ea-f5f6-4e0b-b581-de5b7a9834e7",

}

],

"group_additional_info": {

"group_entity": true,

"independent_entity": false,

"special_investment": false,

"entity_details": "ABCD LLC"

},

"pep_check_info": {

"pri_pep_check": true,

"pri_pep_check_name": "ABC",

"sec_pep_check":true,

"sec_pep_check_name":XYZ

},

"no_of_employees":"25",

"accept_cash_check": true,

"annual_turnover":"120000",

"source_of_funds":"Business",

"source_fund_uae":true,

"due_diligence_declaration": {

"bankruptcy_declaration": false,

"disciplinary_declaration": false,

"fraud_aml_declaration": false,

"disqualification_declaration": false,

"conviction_accusition_declaration": false,

"breach_of_law_declaration": false

}

}

Response

{

"id": "3ba3028b-0e38-4e0b-a90e-5a8cd3dj27a5",

"title": "MR",

"first_name": "Alex",

"middle_name": "Daniel",

"last_name": "Gates",

"native_name": "Robert Shaw",

"date_of_birth": "2012-05-04",

"email": "bob@example.com",

"mobile": "+551185249635",

"address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"gender": "MALE",

"preferred_language": "EN",

"place_of_birth": "Las Vegas",

  "nationality": "USA",

  "country_tax_residence": "USA",

"company_name": "Example",

"company_address": {

"address_line1": "Flat 1904",

"address_line2": "Glass Tower",

"city": "New York City",

"state": "New York",

"postal_code": "12345",

"country": "USA"

},

"company_country": "USA",

"industry_type": "I01",

"user_type": "BUSINESS",

"business_legal_name": "Insurance corporation",

"business_dba_name": "John Smith insurance corporation",

"date_established": "2012-05-04T19:42:32.987Z",

"phone_number": "+551185249635",

"website": "example.com”,

"incorporation_type": "LLC",

"entity_registered_no": "",

"old_entity_name": "",

"old_entity_ops_start_date": "",

"old_entity_ops_end_date": "",

"regulated_entity": "",

"regulator_name": "",

"business_activities": "",

"other_operated_countries": "",

"tax_residence_country": "",

"tin": "",

"external_auditor_name": "",

"director_list": [

{

"cf2de83b-ac68-441b-bc54-21de60014d57", "cf2de83b-ac68-441b-bc54-21de60014d47",

"cf2de83b-ac68-441b-bc54-21de60014d53",

}

],

"signature_list": [

{

"4ba3028b-0e38-4113-a90e-5a8cd3fb27a6", "4ba3028b-0e38-4166-a90e-5a8cd3fb27a8", "4ba3028b-0e38-4198-a90e-5a8cd3fb27a2",

}

],

"shareholder_list": [

{

"6daf85ea-f5f6-4e0b-b381-de5b7a9834e2", "6daf85ea-f5f6-4e0b-b356-de5b7a9834e4", "6daf85ea-f5f6-4e0b-b581-de5b7a9834e7",

}

],

"group_additional_info": {

"group_entity": true,

"independent_entity": false,

"special_investment": false,

"entity_details": "ABDC LLC"

},

"pep_check_info": {

"pri_pep_check": true,

"pri_pep_check_name": "ABC",

"sec_pep_check":false,

"sec_pep_check_name":"XYZ"

},

"no_of_employees":"25",

"accept_cash_check": true,

"annual_turnover":"12000",

"source_of_funds":"Business",

"source_fund_uae": true,

"due_diligence_declaration": {

"bankruptcy_declaration": false,

"disciplinary_declaration": false,

"fraud_aml_declaration": false,

"disqualification_declaration": false,

"conviction_accusition_declaration": false,

"breach_of_law_declaration": false

},

"status": "PENDINGKYB",

"status_reason_code": "I0",

"created": "2021-07-18T07:52:21.755Z",

"modified": "2021-08-18T07:53:21.755Z"

}

Please Note:

  1. You can create up to 10 sub-users (Director, Signature and Shareholder) for each SME.

  2. You can create sub-users first, and then create a SME business user. While creating a SME business user, you should provide all of the sub-user’s IDs in the designated fields for linking. Or

  3. You can create a SME business user first along with the further details, and then create a list of required sub-users, create their identifications and upload the documents. Then you should update the SME business user while providing all of the created sub-user’s IDs for linking.

  4. Now you can create identification for business SME user and upload any supporting documents such as TRADE_LICENSE, COMMERCIAL_LICENSE, INCORPORATION_CERT, INCUMBENCY_CERT, MEMORANDUM_ARTICLES, BANK_STATEMENT and/or ADDITIONAL.

  5. You can retrieve relationships linked to a specific user by sending a POST request to /users/{id}:getLinkedRelationships endpoint.

  6. Added new user type "SHAREHOLDER_BUSINESS", which can be used in case you have business and shareholder as a single entity under business user. Also added 2 new related parameters - 'license_type' and 'license_expiry'.

KYB status transitions

The SME’s sub-user, their identifications, and a SME itself will be created with a status as PENDINGKYB and it will only transition to ACTIVE when processed and approved by the NymCard’s compliance team after considerable amount of validation.

If the documents are not verified due to any reason, the system will mark the status as SUSPENDED and status_reason_code as S5 - ‘Admin rejected due to ID verification failed’. It means that the additional document is requested by the NymCard’s compliance team. You would be required to provide the requested documents by using the ‘Upload single image of identification’ API as mentioned in section ‘Upload SME’s sub user’s document’.

Last updated