KYC with nested stakeholders (AUS)

This page contains only params relevant for the specific example. For a complete list of params for this API call visit this page.

Nested entities

When the stakeholder of an entity is another entity (e.g. a parent company), you can nest the parent company verification details. In the example bellow, we have the target entity and two stakeholders: one individual and one private company. How you nest the company structure depends on the legal structure of the 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.

POST
/verify
// api endpoint
const apiEndpoint = 'https://dev.bronid.com/verify';

// request body
const data = {
"metadata_version": "4",
"metadata_serviceUid": "XL7ULiU6B4QE9Y2iWFZnhtMDKFN2",
"metadata_secretKey": "api_sec_NJAtNcRtUrPlf7xYDrMNP9URI-ZfN314",

"type": "unRegulatedTrust",
"fields": {
	"country": "AUS",
	"name": "My Unregulated Trust",
	"unRegulatedTrustType": "familyTrust",
	"registeredOfficeRequired": "125 York Street, SYDNEY NSW 2000",
	"trustDeed": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
},
"stakeholders": [
	{
		"type": "individual",
		"role": "beneficiaries",
		"fields": {
			"firstName": "Jane",
			"middleName": "ok",
			"lastName": "Citizen",
			"gender": "female",
			"dateOfBirth": "20/12/1982",
			"unitNumber": "1",
			"streetNumber": "95",
			"streetName": "Lennox",
			"streetType": "Street",
			"suburb": "CASINO",
			"postcode": "2470",
			"state": "NSW",
			"email": "email@gmail.com",
			"country": "AUS"
		}
	},
	{
		"type": "privateCompany",
		"role": "trustee",
		"fields": {
			"country": "AUS",
			"acn": "123456789",
			"abn": "16123456789",
			"name": "My Company",
			"registeredOffice": "125 York Street, SYDNEY NSW 2000",
			"principalPlaceOfBusiness": "250 York Street, SYDNEY NSW 2000",
			"companyExtract": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
		},
		"stakeholders": [{
			"type": "individual",
			"role": "shareholders",
			"fields": {
				"firstName": "Second",
				"middleName": "ok",
				"lastName": "Citizen",
				"gender": "female",
				"dateOfBirth": "20/10/1980",
				"unitNumber": "1",
				"streetNumber": "95",
				"streetName": "Lennox",
				"streetType": "Street",
				"suburb": "CASINO",
				"postcode": "2470",
				"state": "NSW",
				"email": "email@gmail.com",
				"country": "AUS"
			}
		}]
	}
]
};

try {
  const response = await fetch(apiEndpoint, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(data),
  });

  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 result = await response.json();
    const printResult = 'bronId API response: ' + JSON.stringify(result, null, 2);
    console.log(printResult);
  }
} catch (error) {
  console.log('Fetch error: ', error);
}