1. Knowledge Base
  2. iComply API Documentation

Data Structures

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.

KYCMetaDataStructure:
 

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.

 
KYCServicesStructure:
 

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"]

 
LinkedEntityStructure: 

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"

 
PersonalInformationStructure:

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"

Email

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"}]

 
IdentityVerificationStructure:
 

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.

 
CorporateInformationStructure:

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"

Email

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"

 
CorporateVerificationStructure:

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.

 
DocumentAuthenticationStructure:

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.

 
BiometricsStructure:

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.

 
SupportingDocumentsStructure:

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.

 
AMLScreeningStructure:

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.

 
AMLSearchTermStructure: 

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"]

 
CounterFraudMeasuresStructure:

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.

 
NaturalPersonStructure:
 

Variable name

Type

KYCMetaData

KYCMetaDataStructure

PersonalInformation

PersonalInformationStructure

IdentityVerification

IdentityVerificationStructure

DocumentAuthentication

DocumentAuthenticationStructure

Biometrics

BiometricsStructure

SupportingDocuments

SupportingDocumentsStructure

AMLScreening

AMLScreeningStructure

CounterFraudMeasures

CounterFraudMeasuresStructure

 
LegalEntityStructure:

Variable name

Type

KYCMetaData

KYCMetaDataStructure

CorporateInformation

CorporateInformationStructure

CorporateVerification

CorporateVerificationStructure

SupportingDocuments

SupportingDocumentsStructure

AMLScreening

AMLScreeningStructure

CounterFraudMeasures

CounterFraudMeasuresStructure

 
AMLScreeningStructure:

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.

 
IDStructure:

Variable name

Type

Description

Example

id

string

EntityID of the given entity