Below are the major data structures used as a part of the iComply API.
The major data structures used as a part of the API as well as a description of the parameters that makes up these structures are listed below. The iComplyKYC API uses the ISO standard format for date and country code variables.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
EntityID |
string |
Only Active Entity IDs from this instance. |
ID of the Entity being updated |
"9D847877-2175-4F52-9678-ABCDEFABCDEF" |
CreatedDateTime |
string (Date) |
|
Date the Entity was first created in the system |
"2020-09-25" |
LastUpdate |
string (Date) |
|
Date the Entity was last updated |
"2020-09-25" |
NextKYCReview |
string (Date) |
|
Date when the Entity should be reviewed again |
"2022-09-25" |
KYCStatus |
string |
New, Pending, Review, Escalated, Accepted, Rejected, Expired |
KYC Status of the Entity |
"New" |
ExternalID |
string |
|
ID assigned to the Entity by the Client, used for external identification |
"JohnDoe555" |
CreatedDateTime is only used by the server response, it is not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
RequestIDV |
bool |
|
Set to true to request Identity Verification |
TRUE |
RequestDoc |
bool |
|
Set to true to request KYC Services |
FALSE |
RequestBio |
bool |
|
Set to true to request Biometric Authentication |
TRUE |
RequestAML |
bool |
|
Set to true to request AML screening |
FALSE |
RequestEDD |
[]string |
|
Specify the list of Enhanced Due Dilligence templates that are required from the KYC subject |
["DocuSign", "XYZ"] |
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
Relationship |
string |
|
Relationship to the LinkedEntity. Can be a Title, a Role, or anything else. This variable is optional |
"CEO" |
EntityID |
string |
|
EntityID of the LinkedEntity. This variable is required. |
"9D847877-2175-4F52-9678-ABCDEFABCDEF" |
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
FirstName |
string |
|
First name of the KYC subject |
"John" |
MiddleName |
string |
|
Middle name of the KYC subject |
"David" |
LastName |
string |
|
Last name of the KYC subject |
"Doe" |
DateOfBirth |
string(Date) |
|
Date of birth (ISO8601 formatted) |
"1969-12-31" |
Phone |
string |
|
Phone phone of the KYC subject |
"555-010-0123" |
|
string |
Must be valid email format |
Email email of the KYC subject |
"john.doe@gmail.com" |
Address |
string |
|
Address address of the KYC subject |
"777 Columbia St" |
City |
string |
|
City city of the KYC subject |
"New Westminster" |
StateProvince |
string |
Only when country is Canada or US |
State province of the KYC subject |
"BC" |
CountryCode |
string |
Only ISO3166 |
Country Code of the KYC subject (ISO3166) |
"CAN" |
PostalCode |
string |
|
Postal code of the KYC subject |
"V3M 1B6" |
LinkedEntities |
[]LinkedEntityStructure |
|
List of other Entity IDs that are linked with this Entity (such as corporations, employees, etc.) |
[{"Relationship": "CEO", "EntityID":"9D847877-2175-4F52-9678-ABCDEFABCDEF"},{"Relationship": "Advisor", "EntityID":"9D847877-2175-4F52-9678-AAAAAAAAAAAA"}] |
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
IdentityVerification |
bool |
|
Set to true for Identity Verification |
TRUE |
IdentityStatus |
string |
New, Pending, Review, Escalated, Accepted, Rejected, Expired |
Status of the Identity verification |
"Pending" |
IdentityIssues |
[]string |
|
Human-readible Issues present in the Identity Verification |
["Expired ID"] |
DataSources |
string |
|
Sources of the data |
"Credit bureau" |
NextReviewDate |
string (Date) |
|
Date when the Identity Verification should be reviewed again |
"2022-09-25" |
Note: IdentityIssues, DataSources are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
CompanyName |
string |
|
Name of the company |
"Starbucks Coffee Company" |
AlsoKnownAs |
string |
|
Other names used by the company |
["Starbucks", "Starbucks Coffee"] |
DoingBusinessAs |
string |
|
Name the company is doing business under |
"Starbucks" |
FormerlyKnownAs |
[]string |
|
Former names of the company |
["Seattle's Starbucks"] |
RegistrationNumber |
string |
|
Company's registration number |
"1234-3456-980" |
DateofIncorporation |
string (Date) |
|
Date of incorporation |
"1971-03-30" |
JurisdictionOfIncorporation |
string |
ISO-3166 |
Jurisdiction of incorporation |
"US" |
JurisdictionOfDomicile |
string |
ISO-3166 |
Jurisdiction of domicile |
"US" |
JurisdictionOfTaxResidence |
string |
ISO-3166 |
Jurisdiction of tax residence |
"KY" |
DUNS |
String |
Must be in DUNS format (characters, any other standardized features) |
DUNS number |
"150483782" |
GLEI |
string |
Must be in GLEI format (characters, any other standardized features) |
GLEI number |
"5299009D9BIL4D4UHT93" |
CompanyPhone |
string |
|
Company phone number |
"555-010-0123" |
|
string |
|
Company email |
"john.doe@starbucks.com" |
PrimaryAddress |
string |
|
Address address of the company |
"777 Columbia St" |
City |
string |
|
City city of the company |
"New Westminster" |
StateProvince |
string |
Only for Canada or US in Country field |
State province of the company |
"BC" |
Country |
string |
ISO 3166 |
Country Code of the company (ISO3166) |
"CAN" |
PostalCode |
string |
|
Postal code of the company |
"V3M 1B6" |
LinkedEntities |
[]LinkedEntityStructure |
Only Active Entity IDs from this instance. |
List of other Entity IDs that are linked with this Entity (such as corporations, employees, etc.) |
[{"Relationship": "CEO", "EntityID":"9D847877-2175-4F52-9678-ABCDEFABCDEF"},{"Relationship": "Advisor", "EntityID":"9D847877-2175-4F52-9678-AAAAAAAAAAAA"}] |
PrimaryContactID |
string |
|
Entity ID of the primary contact |
"9D847877-2175-4F52-9678-ABCDEFABCDEF" |
PrimaryContactFirstName |
string |
|
Primary contact's first name |
"John" |
PrimaryContactLastName |
string |
|
Primary contact's last name |
"Doe" |
PrimaryContactTitle |
string |
|
Primary contact's title |
"Sales Manager" |
PrimaryContactPhone |
string |
|
Primary contact's phone number |
"555-010-0123" |
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
LegalEntityVerification |
bool |
|
Set to true to perform legal entity verification |
TRUE |
VerificationStatus |
string |
New, Pending, Review, Escalated, Accepted, Rejected, Expired |
Status of the verification |
"Pending" |
VerificationDate |
string (Date) |
|
Date of the verification |
"2020-09-25" |
VerificationSource |
string |
DUNS, GLEI, Manual Input |
Source of the verification |
"DUNS" |
UniqueIdentifier |
string |
|
Unique identifier of the corporation |
"Starbucks123" |
BusinessStatement |
string |
|
Business statement of the corporation |
"To establish Starbucks as the premier purveyor of the finest coffee in the world while maintaining our uncompromising principles while we grow." |
NextReviewDate |
string (Date) |
|
Date when the Corporate Verification should be reviewed again |
"2022-09-25" |
VerificationIssues |
[]string |
|
Issues raised during the verification |
["GLEI does not match"] |
Note: VerificationIssues is only used by the server response, it is not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
DocAuth |
bool |
|
Set to true to request Document Authentication |
FALSE |
DocAuthStatus |
string |
New, Pending, Review, Escalated, Accepted, Rejected, Expired |
Status of the Document Authentication |
"Review" |
DocIssuer |
string |
|
Issuer of the Document |
"Canada - BC" |
DocType |
string |
Driver's License, Identity Card, Passport |
Type of the Document |
"Driver's License" |
DocExpiryDate |
string (Date) |
|
Expiry date of the Document |
"2022-09-25" |
DocNumber |
string |
|
Document number |
"D6101-40706-60905" |
DocScanConfidence |
int |
|
Confidence of the Document scan |
95 |
DataMatch |
string |
TRUE, FALSE, N/A |
Does the submitted data match the data scanned from the Document |
TRUE |
TemplateMatch |
string |
TRUE, FALSE, N/A |
Does the submitted data match the template |
FALSE |
DocIssues |
[]string |
|
List of issues raised during the Document processing |
["resultcode.scan.last.name.does.not.match", "Last Name Does Not Match", "US ID Not Located"] |
Note: FaceMatchConfidence, DocScanConfidence, DataMatch, TemplateMatch, DocIssues are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
BioAuth |
bool |
|
Set to true to request Biometric Authentication |
TRUE |
BioAuthStatus |
string |
New, Pending, Review, Escalated, Accepted, Rejected, Expired |
Status of the Biometric Authentication |
"Expired" |
BioAuthType |
string |
Selfie Upload, Live Face Match |
Type of Biometric Authentication |
"Selfie Upload" |
FaceMatchResult |
bool |
|
Result of the Biometric Authentication |
FALSE |
FaceMatchConfidence |
int |
|
Percentage confidence of the Biometric Authentication |
95 |
BiometricDate |
string (Date) |
|
Date of the Biometric Authentication |
"2020-09-25" |
BiometricDuration |
int |
|
Duration of the Biometric Authentication in seconds (Zero for Selfie Upload) |
180 |
LivenessResult |
string |
PASS, FAIL, N/A |
Result of the Liveness Check |
"PASS" |
LivenessConfidence |
int |
|
Percentage confidence of the Liveness Check |
95 |
BioIssues |
[]string |
|
List of issues raised during the Biometric Authentication processing |
["Blurry image"] |
Note: FaceMatchConfidence, BiometricDuration, LivenessResult, LivenessConfidence, BioIssues are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
SupportDocs |
bool |
|
Set to true for Supporting Documents |
TRUE |
DocsPending |
[]string |
|
List of Documents in the Pending Status |
["123456789", "ABCDEF123"] |
DocsReview |
[]string |
|
List of Documents in the Review Status |
["123456789", "ABCDEF123"] |
DocsAccepted |
[]string |
|
List of Documents in the Accepted Status |
["123456789", "ABCDEF123"] |
Note: DocsPending, DocsReview, DocsAccepted are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
AMLScreen |
bool |
|
Set to true for AML Screening |
TRUE |
AMLOngoing |
bool |
|
Whether ongoing AML Monitoring is enabled |
FALSE |
AMLSearchProfileID |
string |
|
Search Profile name |
"Default" |
AMLScreenDate |
string (Date) |
|
Last time the AML Screen has been performed |
"2020-09-25" |
AMLSearchTerm |
AMLSearchTermStructure |
|
Search terms to run in the AML Screening |
{"name":"John Doe", "yearOfBirth": 1969, "countries":["US"]} |
AMLSearchType |
string |
person, company, organisation, vessel, aircraft |
Which AML Screens to perform |
"person" |
AMLSearchFuzziness |
int |
0 to 100 |
Fuzziness setting of the search (percentage). Default: 60 |
60 |
AMLSearchCoverage |
[]string |
sanction, warning, fitness-probity, pep, pep-class-1, pep-class-2, pep-class-3, pep-class-4, adverse-media, adverse-media-financial-crime, adverse-media-violent-crime, adverse-media-sexual-crime, adverse-media-terrorism, adverse-media-fraud, adverse-media-narcotics, adverse-media-general |
Which areas should the Search cover |
["sanction", "pep", "adverse-media-violent-crime"] |
AMLPending |
int |
|
Number of Pending Results |
3 |
AMLAccepted |
int |
|
Number of Accepted Results |
2 |
AMLUnkown |
int |
|
Number of Unknown Results |
5 |
Sanctions |
int |
|
Number of Sanction hits |
6 |
PoliticalExposure |
int |
|
Number of PEP hits |
3 |
AdverseMedia |
int |
|
Number of Adverse Media hits |
1 |
LinkedEntityIds |
[]string |
|
List of related Entity IDs |
["9D847877-2175-4F52-9678-ABCDEFABCDEF","9D847877-2175-4F52-9678-AAAAAAAAAAAA"] |
NextAMLReview |
string (Date) |
|
Date when the AML should be reviewed again |
"2022-09-25" |
Note: AMLPending, AMLAccepted, AMLUnkown, Sanctions, PoliticalExposure, AdverseMedia are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
name |
string |
|
Name of the entity searched |
"John Doe" |
yearOfBirth |
int |
|
Year the natural person was born or the legal entity formed |
1969 |
countries |
[]string |
|
List of applicable country codes |
["US"] |
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
ReCaptcha |
string |
PASS, FAIL, N/A |
Whether ReCaptcha passed |
"FAIL" |
UserConsent |
string |
Pending, Accepted, Expired |
Whether the user has given consent |
"Accepted" |
IPAddress |
string |
|
IP Address captured during the process |
"172.16.254.1" |
IPAddressCountry |
string |
|
Country code assiciated with that IP Address |
"CA" |
Note: ReCaptcha, IPAddress, IPAddressCountry are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
KYCMetaData |
KYCMetaDataStructure |
PersonalInformation |
PersonalInformationStructure |
IdentityVerification |
IdentityVerificationStructure |
DocumentAuthentication |
DocumentAuthenticationStructure |
Biometrics |
BiometricsStructure |
SupportingDocuments |
SupportingDocumentsStructure |
AMLScreening |
AMLScreeningStructure |
CounterFraudMeasures |
CounterFraudMeasuresStructure |
Variable name |
Type |
KYCMetaData |
KYCMetaDataStructure |
CorporateInformation |
CorporateInformationStructure |
CorporateVerification |
CorporateVerificationStructure |
SupportingDocuments |
SupportingDocumentsStructure |
AMLScreening |
AMLScreeningStructure |
CounterFraudMeasures |
CounterFraudMeasuresStructure |
Variable name |
Type |
Possible value (if applicable) |
Description |
Example |
AMLScreen |
bool |
|
Set to true for AML Screening |
TRUE |
AMLOngoing |
bool |
|
Whether ongoing AML Monitoring is enabled |
FALSE |
AMLSearchProfileID |
string |
|
Search Profile name |
"Default" |
LinkedEntities |
[]LinkedEntityStructure |
|
List of related Entity IDs |
[{"Relationship": "CEO", "EntityID":"9D847877-2175-4F52-9678-ABCDEFABCDEF"},{"Relationship": "Advisor", "EntityID":"9D847877-2175-4F52-9678-AAAAAAAAAAAA"}] |
AMLScreenDate |
string (Date) |
|
Last time the AML Screen has been performed |
"2020-09-25" |
AMLSearchTerm |
AMLSearchTermStructure |
|
Search terms to run in the AML Screening |
{"name":"John Doe", "yearOfBirth": 1969, "countries":["US"]} |
AMLSearchType |
string |
person, company, organisation, vessel, aircraft |
Which AML Screens to perform |
"person" |
AMLSearchFuzziness |
int |
|
Fuzziness setting of the search (percentage) |
55 |
AMLSearchCoverage |
[]string |
Sanctions, PEP, Adverse Media |
Which areas should the Search cover |
["Sanctions", "PEP", "Adverse Media"] |
AMLPending |
Int |
|
Number of Pending Results |
3 |
AMLAccepted |
int |
|
Number of Accepted Results |
2 |
AMLUnkown |
int |
|
Number of Unknown Results |
5 |
Sanctions |
int |
|
Number of Sanction hits |
6 |
PoliticalExposure |
int |
|
Number of PEP hits |
3 |
AdverseMedia |
int |
|
Number of Adverse Media hits |
1 |
NextAMLReview |
string (Date) |
|
Date when the AML should be reviewed again |
"2022-09-25" |
Note: AMLScreenDate, AMLPending, AMLAccepted, AMLUnkown, Sanctions, PoliticalExposure, AdverseMedia are only used by the server response, they are not accepted as a part of the client request.
Variable name |
Type |
Description |
Example |
id |
string |
EntityID of the given entity |