Use this API call to perform KYC verification of associations.
For each association, the same individual can hold multiple stakeholder roles. For example, in an association, a person may be both a public officer 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), such as public officer, 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 public officer and shareholder of MY ASSOCIATION, submit John ok Citizen as a public officer, as this role is required to be submitted, rather than as 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.
You can add tags to your verification requests to help you organise your verifications by using the metadata_tags parameter.
Read more about tags here.
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",
"metadata_tags": ["product1", "client1"],
"type": "association",
"fields": {
"country": "USA",
"name": "entity name",
"associationNumber": "123456",
"registeredOfficeRequired": "USA registered office",
"website": "https://assoc.org"
},
"stakeholders": [
{
"type": "individual",
"role": "shareholders",
"fields": {
"firstName": "Jane",
"middleName": "ok",
"lastName": "Citizen",
"gender": "female",
"dateOfBirth": "12/12/1982",
"unitNumber": "",
"streetNumber": "95",
"streetName": "Lennox",
"streetType": "Street",
"suburb": "CASINO",
"postcode": "2470",
"state": "NSW",
"email": "email@gmail.com",
"country": "AUS"
}
},
{
"type": "individual",
"role": "publicOfficer",
"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...')
// 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.