KYC verification of private companies

Use this API call to perform KYC verification of private companies.

Parameters

NameTypeDescription
country
(required)
stringAUT, BEL, BRA, CAN, CHE, DEU, DNK, ESP, FRA, GBR, ITA, MEX, NLD, NOR, SWE
name
(required)
string
entityNumber
(required)
string
registeredOffice
stringaddress
principalPlaceOfBusiness
stringaddress
companyExtract
stringbase64 Data URI (JPG/PNG/PDF)
stakeholders
arrayshareholders / directors

Parameters only when verifying from Australia

Include these parameters only when verifying the company as a reporting entity in Australia. If your business is not a reporting entity for AML/CTF purposes in Australia, and the verification is not required for compliance with Australian AML/CTF laws and regulations, you may omit these fields entirely.

NameTypeDescription
ARBN
stringThe Australian Registered Body Number (ARBN) is a unique, nine-digit identifier issued by the Australian Securities and Investments Commission (ASIC) to foreign companies or registrable Australian bodies that operate in Australia. It is used to identify these entities, which may not require an Australian Company Number (ACN) but still need to be registered to conduct business legally within the country.
registeredInAusOfficeAddress
stringaddress
principalPlaceInAusAddress
stringaddress

Stakeholder types

NameTypeNote
shareholders
individualIndividuals who directly or indirectly own 25% or more of the entity.
directors
individualIndividuals who are directors. If the directors are organisations (such as companies or trusts), provide the ultimate beneficial owners and controllers of these corporate director entities.

Note on submitting stakeholders

For each company, the same individual can hold multiple stakeholder roles. For example, in a company, a person can be both a director and a shareholder. We strongly recommend submitting an individual in only one stakeholder role. If there is a specific role that must be included (i.e., is required), submit the individual in that role to avoid running multiple KYCs (identity verifications) for the same person within a single KYB, which would be redundant. This is a cost-effective approach. For instance, if John ok Citizen is both a director and shareholder of MY COMPANY, submit John ok Citizen as either a director or a shareholder, but not both. This will prevent duplicate charges for verification. Even if the individual is submitted under one role, bronID will map any additional relevant roles in the background and include them in the documentation.

Note on uploading documents

Base64 encoded uploads must be submitted as a Data URI (with data format prefix). Example PDF format:

data:application/pdf;base64,JVBERi0xLjUKJYCBgoMKMSAwIG9i...

Runnable example

const apiEndpoint = 'https://dev.bronid.com/verify'; // request body const kycData = { "metadata_version": "4", "metadata_serviceUid": "XL7ULiU6B4QE9Y2iWFZnhtMDKFN2", "metadata_secretKey": "api_sec_NJAtNcRtUrPlf7xYDrMNP9URI-ZfN314", "metadata_userId": "yourUniqueUserId", "type": "privateCompany", "fields": { "country": "GBR", "name": "Priv Co Name", "entityNumber": "123456", "registeredOffice": "Registered office GBR", "principalPlaceOfBusiness": "Principal office GBR", "companyExtract": "data:application/pdf;base64,JVBERi0xLjIgCjkgMCBvYmoKPDwKPj4Kc3RyZWFtCkJULyA5IFRmKFRlc3QpJyBFVAplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCA1IDAgUgovQ29udGVudHMgOSAwIFIKPj4KZW5kb2JqCjUgMCBvYmoKPDwKL0tpZHMgWzQgMCBSIF0KL0NvdW50IDEKL1R5cGUgL1BhZ2VzCi9NZWRpYUJveCBbIDAgMCA5OSA5IF0KPj4KZW5kb2JqCjMgMCBvYmoKPDwKL1BhZ2VzIDUgMCBSCi9UeXBlIC9DYXRhbG9nCj4+CmVuZG9iagp0cmFpbGVyCjw8Ci9Sb290IDMgMCBSCj4+CiUlRU9G" }, "stakeholders": [ { "type": "individual", "role": "shareholders", "fields": { "country": "GBR", "firstName": "Jane", "middleName": "ok", "lastName": "Citizen", "gender": "female", "dateOfBirth": "20/10/1980", "address": "210 Pentonville Road", "unitNumber": "", "streetNumber": "210", "streetName": "Pentonville", "streetType": "Road", "locality": "London", "postcode": "N19AA", "phone": "2074999000", "email": "email@gmail.com" } }, { "type": "individual", "role": "directors", "fields": { "firstName": "American", "middleName": "ok", "lastName": "Person", "gender": "female", "dateOfBirth": "30/10/1982", "email": "person@email.com", "country": "USA", "socialSecurityNumber": "123456789", "unitNumber": "", "streetNumber": "250", "streetName": "Point Lobos", "streetType": "Ave", "suburb": "San Francisco", "postcode": "941211471", "state": "CA", "phone": "0432248425" } } ] }; console.log('Running request. Please wait...') // submit the KYC data to the bronID API try { const response = await fetch(apiEndpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(kycData), }); if (!response.ok) { const errorData = await response.json(); console.log('error! click the results to expand them'); console.log(JSON.stringify(errorData, null, 2)); } else { const bronIdResult = await response.json(); const printResult = 'bronId API response: ' + JSON.stringify(bronIdResult, null, 2); console.log(printResult); } } catch (error) { console.log('Fetch error: ', error); } // Click “▶ run” to try this code live and run your first KYC.