The service supports the following command line options:
Name | Description |
---|---|
help |
Prints info about supported command-line options and exits. |
config |
Specifies the file to use for configuration. |
port |
Specifies the port for the service to listen for incoming requests. The default port is 8080 |
All options must be placed under the Config
section of the configuration file. The service supports the following options in the configuration file:
Name | Description |
---|---|
Port |
Has the same meaning as the command-line port option |
WARNING! If a command line option is specified its value overrides the configuration file value for that option.
Current implementation of the service allows configuration for the supported KYC providers through the configuration file kyc.cfg. We provide the sample file without credentials. It includes all providers supported by the service. Feel free to modify it to suit your needs.
Below are the options required for each provider.
Name | Description |
---|---|
Host | Coinfirm API url without trailing slash |
Email of the Coinfirm user | |
Password | Password of the Coinfirm user |
Company | Name of the project registered in Coinfirm |
Name | Description |
---|---|
Host | ComplyAdvantage API url without trailing slash |
APIkey | ComplyAdvantage API key which can be generated within ComplyAdvantage web platform |
Fuzziness | Determines how closely the returned results must match the supplied name. Float value in range [0.0 ... 1.0] |
Name | Description |
---|---|
Host | IdentityMind API url without trailing slash |
Username | IdentityMind API username that is supplied during registration in the service |
Password | IdentityMind API key that is supplied during registration in the service |
Name | Description |
---|---|
Host | IDology API url without trailing slash |
Username | IDology API username supplied by the service |
Password | IDology API password supplied by the service |
UseSummaryResult | If Summary Results are enabled in the Enterprise Configuration, this must be set to true. Boolean value true or false |
Name | Description |
---|---|
BaseURL | Jumio API url without trailing slash |
Token | Jumio API token supplied by the service |
Secret | Jumio API secret supplied by the service. You can view and manage your API token and secret in the Customer Portal under Settings > API credentials |
Name | Description |
---|---|
Host | Shufti Pro API url without trailing slash |
ClientID | Shufti Pro Client ID supplied by the service |
SecretKey | Shufti Pro Secret Key supplied by the service |
RedirectURL | The url to redirect your customer after the verification process completes. Currently, leave it intact |
Name | Description |
---|---|
Host | Sum&Substance API url without trailing slash |
APIKey | Sum&Substance API key supplied by the service |
Name | Description |
---|---|
Host | Synapse FI API url with trailing slash |
ClientID | Synapse FI client id supplied by the service |
ClientSecret | Synapse FI client secret supplied by the service |
Name | Description |
---|---|
Host | Thomson Reuters World-Check One API (WC1 API) url with trailing slash |
APIkey | WC1 API key generated by WC1 and made available to WC1 administrators via the user administration interface |
APIsecret | WC1 API secret generated by WC1 and made available to WC1 administrators via the user administration interface |
Name | Description |
---|---|
Host | Trulioo GlobalGateway Normalized API (NAPI) url without trailing slash |
NAPILogin | The NAPI username supplied by the service |
NAPIPassword | The NAPI password supplied by the service |
The KYC service exposes REST API for interaction. The data payload of requests should be JSON encoded. The API responds with JSON-encoded payload as well.
Our API makes available the following Endpoints:
Method | Route | Description |
---|---|---|
GET | / |
Answers with the welcome message in plain text format |
GET | /Ping |
Answers with the "Pong!" response in plain text format |
GET | /Provider |
Check whether a specified provider is implemented |
POST | /CheckCustomer |
Send KYC verification requests |
POST | /CheckStatus |
Send KYC verification current status check requests |
The models for requests and responses are provided.
CheckCustomer request fields description
Name | Type | Description |
---|---|---|
Provider | KYCProvider | The identificator for the KYC provider name |
UserData | UserData | A verification data of the customer |
CheckStatus request fields description
Name | Type | Description |
---|---|---|
Provider | KYCProvider | The identificator for the KYC provider name |
ReferenceID | string | The identificator of the verification submission. Its value is specific for a provider |
API response fields description
Name | Type | Description |
---|---|---|
Result | *Result | A result of the KYC verification |
Error | string | A text of an error message if the error has occured during the verification |
If a KYC provider doesn't support the instant result response then check and use the Result.StatusCheck field for the info required for the KYC verification status check requests.
API Error response fields description
Name | Type | Description |
---|---|---|
Error | string | A text of an error |
Code | Description |
---|---|
200 | A request has been successfully processed. The response should be inspected for possible KYC verification errors |
400 | It happens when something wrong with the request. If the request is somehow malformed or missed a required param |
404 | It happens when a KYC provider in the request is unknown for the API |
422 | It happens when a KYC provider doesn't support requested method or it isn't implemented yet |
500 | It happens when something goes wrong in the server (serialization errors, KYC config's errors, etc...) |
The service accepts only one param for this kind of check - name
. Other params are ignored. If the request is valid then the JSON response will be returned showing whether the specified provider is implemented:
{
"Implemented": true
}
This example represents the positive response.
If the request performed without params then the sorted list of implemented KYC providers will be returned in the response:
[
"ComplyAdvantage",
"IDology",
...
"ThomsonReuters",
"Trulioo"
]
This part may be of interest mainly to developers.
- Integration interface
- KYC request
- KYC response
- Applicable fields grouped per provider
- The countries supported by KYC providers and the fields variability
All KYC providers implement common.KYCPlatform interface for the verification process:
type KYCPlatform interface {
CheckCustomer(customer *UserData) (KYCResult, error)
CheckStatus(referenceID string) (KYCResult, error)
}
KYC providers handle KYC process differently. Some return KYC result instantly in the response. Some require to poll the customer verification status to check if the process is completed. For this purpose the *common.KYCResponse.Result.StatusCheck field is provided. If a polling is required and no error has occured then this field will be non-nil.
The rest required for interaction with KYC providers is in the common
package including request and response structures.
For the verification request use a request of the common.UserData type.
UserData fields description
Name | Type | Description |
---|---|---|
FirstName | string | Required. First name (FN) of the customer, for ex. "John" |
LastName | string | Required. Last name (LN) of the customer, for ex. "Doe" |
MaternalLastName | string | Maternal (second) last name (MatN) of the customer |
MiddleName | string | Middle name (MidN) of the customer, for ex. "Benedikt" |
FullName | string | Full name as found on identification documents (if it isn't composed as FN+MidN+LN+MatN) |
LegalName | string | Legal name of the customer, for ex. "Astrid Lindgren" |
LatinISO1Name | string | Latin ISO1 name of the customer, for ex. russian "Иван Сидоров" be "IVAN SIDOROV" |
AccountName | string | Account name for the customer, for ex. "john_doe" |
string | Email of the customer | |
IPaddress | string | Customer’s IP address |
Gender | Gender | Gender of the customer |
DateOfBirth | Time | Date of birth of the customer in RFC3339 format, for ex. "2006-01-02T15:04:05Z07:00" |
PlaceOfBirth | string | Place of birth of the customer |
CountryOfBirthAlpha2 | string | Country of birth of the customer in ISO 3166-1 alpha-2 format, for ex. "US" |
StateOfBirth | string | State of birth of the customer, for ex. "GA" |
CountryAlpha2 | string | Country of the customer in ISO 3166-1 alpha-2 format, for ex. "DE" |
Nationality | string | Citizenship of the customer. ISO 3166-1 alpha-2 format, for ex. "TH" |
Phone | string | Primary phone of the customer. It isn't the mobile phone! |
MobilePhone | string | Mobile phone of the customer |
BankAccountNumber | string | Chinese bank account number |
VehicleRegistrationPlate | string | New Zealand vehicle registration plate |
CurrentAddress | Address | Current address of the customer |
SupplementalAddresses | []Address | List of supplemental addresses of the customer |
Location | *Location | Geopositional data of the customer |
Business | *Business | The business which the customer is linked to or is one of the owners |
Passport | *Passport | Passport of the customer |
IDCard | *IDCard | National ID Number (Malaysia NRIC Number, Swedish PIN, etc...) |
SNILS | *SNILS | SNILS (Russian insurance number of individual ledger account) of the customer |
HealthID | *HealthID | National Health Service Identification |
SocialServiceID | *SocialServiceID | National Social Service Identification (Social Security Number, Social Insurance Number, National Insurance Number) |
TaxID | *TaxID | National Taxpayer Personal Identification Number |
DriverLicense | *DriverLicense | Driver license of the customer |
DriverLicenseTranslation | *DriverLicenseTranslation | Driver license translation of the customer (translation of the driving license required in the target country) |
CreditCard | *CreditCard | Banking credit card of the customer |
DebitCard | *DebitCard | Banking debit card of the customer |
UtilityBill | *UtilityBill | Utility bill |
ResidencePermit | *ResidencePermit | Residence permit of the customer |
Agreement | *Agreement | Agreement of some sort, e.g. for processing personal info |
EmploymentCertificate | *EmploymentCertificate | Employment certificate of the customer (a document from an employer, e.g. proof that a user works there) |
Contract | *Contract | Some sort of contract |
DocumentPhoto | *DocumentPhoto | Document photo of the customer (like a photo from the passport) |
Selfie | *Selfie | Selfie image of the customer |
Avatar | *Avatar | A profile image aka avatar of the customer |
Other | *Other | Other document (should be used only when nothing else applies) |
VideoAuth | *VideoAuth | Short authorization video of the customer (up to 5 seconds) |
CompanyName | string | Company full name |
Website | string | Company's website URL |
CompanyBoard | *CompanyBoard | A certified document containing a list of members of company's board of directors (e.g. an extract from company register or an officially certified document) |
CompanyRegistration | *CompanyRegistration | A certificate of company registration |
Address fields description
Name | Type | Description |
---|---|---|
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "FR" |
County | string | County if applicable |
State | string | Name of the state, for ex. "Alabama" |
Town | string | City or town name |
Suburb | string | Suburb if applicable |
Street | string | Street name, for ex. "PeachTree Place", "7th street" |
StreetType | string | Street type, for ex. "Avenue" |
SubStreet | string | Substreet if applicable |
BuildingName | string | Building or house name |
BuildingNumber | string | Building or house number |
FlatNumber | string | Apartment number |
PostOfficeBox | string | Post office box |
PostCode | string | Zip or postal code |
StateProvinceCode | string | Abbreviated name of the state or province, for ex. "CA" |
StartDate | Time | When the customer settled at this address, in RFC3339 format |
EndDate | Time | When the customer moved out from this address, in RFC3339 format |
Business fields description
Name | Type | Description |
---|---|---|
Name | string | Name of the Enterprise the customer relates to |
RegistrationNumber | string | Registration number of the Enterprise |
IncorporationDate | Time | Incorporation date of the Enterprise, in RFC3339 format |
IncorporationJurisdiction | string | Incorporation jurisdiction of the Enterprise |
Passport fields description
Name | Type | Description |
---|---|---|
Number | string | Passport number without whitespaces and dashes |
Mrz1 | string | First line of the Machine Readable Zone (MRZ) of passport, 44 letters and digits, i.e. "P<CZESPECIMEN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<" |
Mrz2 | string | Second line of the Machine Readable Zone (MRZ) of passport, 44 letters and digits, i.e. "99003853<1CZE1101018M1207046110101111<<<<<94" |
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "SG" |
State | string | Abbreviated name of the state or province, for ex. "TX" |
IssuedDate | Time | Issued date, in RFC3339 format |
ValidUntil | Time | Valid until date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the passport |
IDCard fields description
Name | Type | Description |
---|---|---|
Number | string | Id card number without whitespaces and dashes |
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "CN" |
IssuedDate | Time | Issued date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the card |
SNILS fields description
Name | Type | Description |
---|---|---|
Number | string | SNILS number without whitespaces and dashes |
IssuedDate | Time | Issued date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the SNILS |
HealthID fields description
Name | Type | Description |
---|---|---|
Number | string | Number of the document |
Image | *DocumentFile | Scan or photo of the document |
SocialServiceID fields description
Name | Type | Description |
---|---|---|
Number | string | Number of the document |
IssuedDate | Time | Issued date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the document |
TaxID fields description
Name | Type | Description |
---|---|---|
Number | string | Number of the document |
Image | *DocumentFile | Scan or photo of the document |
DriverLicense fields description
Name | Type | Description |
---|---|---|
Number | string | Driver license number |
Version | string | New Zealand driver license version number (this number changes each time a new card is issued) |
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "DE" |
State | string | Abbreviated name of the state or province, for ex. "KY" |
IssuedDate | Time | Issued date, in RFC3339 format |
ValidUntil | Time | Valid until date, in RFC3339 format |
FrontImage | *DocumentFile | Scan or photo of the front side of the driver license |
BackImage | *DocumentFile | Scan or photo of the back side of the driver license |
DriverLicenseTranslation fields description
Name | Type | Description |
---|---|---|
Number | string | Driver license translation number |
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "LV" |
State | string | Abbreviated name of the state or province, for ex. "MT" |
IssuedDate | Time | Issued date, in RFC3339 format |
ValidUntil | Time | Valid until date, in RFC3339 format |
FrontImage | *DocumentFile | Scan or photo of the front side of the driver license translation |
BackImage | *DocumentFile | Scan or photo of the back side of the driver license translation |
CreditCard fields description
Name | Type | Description |
---|---|---|
Number | string | Credit card number without whitespaces and dashes |
ValidUntil | Time | Valid until date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the face side of the credit card |
DebitCard fields description
Name | Type | Description |
---|---|---|
Number | string | Debit card number without whitespaces and dashes |
ValidUntil | Time | Valid until date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the face side of the debit card |
UtilityBill fields description
Name | Type | Description |
---|---|---|
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "ID" |
Image | *DocumentFile | Scan or photo of the utility bill |
ResidencePermit fields description
Name | Type | Description |
---|---|---|
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "GB" |
IssuedDate | Time | Issued date, in RFC3339 format |
ValidUntil | Time | Valid until date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the residence permit |
Agreement fields description
Name | Type | Description |
---|---|---|
Image | *DocumentFile | Scan or photo of the agreement |
EmploymentCertificate fields description
Name | Type | Description |
---|---|---|
IssuedDate | Time | Issued date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the employment certificate |
Contract fields description
Name | Type | Description |
---|---|---|
Image | *DocumentFile | Scan or photo of the contract |
DocumentPhoto fields description
Name | Type | Description |
---|---|---|
Image | *DocumentFile | Scan or photo of the photo from a document |
Selfie fields description
Name | Type | Description |
---|---|---|
Image | *DocumentFile | Selfie image |
Avatar fields description
Name | Type | Description |
---|---|---|
Image | *DocumentFile | Profile image aka avatar |
Other fields description
Name | Type | Description |
---|---|---|
Number | string | Document number without whitespaces and dashes |
CountryAlpha2 | string | Country in ISO 3166-1 alpha-2 format, for ex. "ES" |
State | string | Abbreviated name of the state or province, for ex. "PA" |
IssuedDate | Time | Issued date, in RFC3339 format |
ValidUntil | Time | Valid until date, in RFC3339 format |
Image | *DocumentFile | Scan or photo of the document |
DocumentFile fields description
Name | Type | Description |
---|---|---|
Filename | string | File name of the document image, for ex. "passport_front.jpg" |
ContentType | string | MIME type of the content, for ex. "image/jpeg" |
Data | []byte | Raw content of the document image file |
VideoAuth fields description
Name | Type | Description |
---|---|---|
Filename | string | Name of the video file, for ex. "auth_video.mp4" |
ContentType | string | MIME type of the content, for ex. "video/mp4" |
Data | []byte | Raw content of the video file |
Location fields description
Name | Type | Description |
---|---|---|
Latitude | string | The location latitude, for ex. "55.678849" |
Longitude | string | The location longitude, for ex. "52.327662" |
The verification response consist of two elements: a result and an error if occurred. The result is of the type common.Result.
Some KYC providers might require to poll the customer verification status to check if the process is completed. For this purpose the *StatusCheck field is provided. If a polling is required and no error has occured then this field will be non-nil.
common.Result fields description
Name | Type | Description |
---|---|---|
Status | string | Status of the verification |
Details | *Details | Details of the verification if provided |
ErrorCode | string | Error code returned by a KYC provider if the provider support error codes |
StatusCheck | *KYCStatusCheck | Data required to do the customer verification status check requests if needed |
Status possible values description
Value | Description |
---|---|
Error | Verification has failed. Probably, some error has occurred. Returned error value must be non-nil and common.Result.ErrorCode may contain error code value |
Approved | Successful verification with approved result. The details maybe non-nil and contain additional info about the verification |
Denied | Successful verification with rejected result. The details should be non-nil and contain additional info about the verification |
Unclear | Needs subsequent status polling or the verification completed with an indefinite result. That might mean that some additional info is required. The details should be non-nil and contain additional info. If status polling is required then common.Result.StatusCheck must be non-nil |
Details fields description
Name | Type | Description |
---|---|---|
Finality | string | Rejection type of the result (if the negative answer is given) |
Reasons | []string | List of additional response info describing result-related circumstances |
Finality possible values description
Value | Description |
---|---|
Final | Final reject, e.g. when a person is a fraudster, or a client does not want to accept such kind of clients in his/her system |
NonFinal | A reject that can be fixed, e.g. by uploading an image of better quality |
Unknown | The provider doesn't support Finality feature |
KYCStatusCheck fields description
Name | Type | Description |
---|---|---|
Provider | KYCProvider | An identificator for the KYC provider name |
ReferenceID | string | An identificator that references to this verification submission. It mention in docs as applicantId/mtid/jumioIdScanReference/etc. Its value is specific for a provider |
LastCheck | time.Time | Last time a verification status was checked, in RFC3339 format |
common.UserData provides a wide range of possible data that might require the verification. However, not every KYC provider will surely use all available fields of the model. Therefore, to ease the process of integration for administrators, here you'll find the grouping of applicable fields per provider.
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | Yes | |
LastName | string | Yes | |
MiddleName | string | ||
string | Yes | ||
IPaddress | string | ||
DateOfBirth | Time | Yes | |
CountryAlpha2 | string | Yes | |
Nationality | string | Yes | |
Phone | string | ||
MobilePhone | string | ||
CurrentAddress | Address | Yes | |
Passport | *Passport | * (see comment) | * Provide anyone of required documents |
IDCard | *IDCard | * (see comment) | |
SNILS | *SNILS | * (see comment) | |
DriverLicense | *DriverLicense | * (see comment) | |
DriverLicenseTranslation | *DriverLicenseTranslation | * (see comment) | |
UtilityBill | *UtilityBill |
Address mandatory fields:
Name | Type |
---|---|
Town | string |
Street | string |
PostCode | string |
DOCUMENTS NOTE: Supported extensions for document files: "jpg", "jpeg", "png", "gif", "bmp", "svg", "psd", "tif", "tiff", "webp", "pdf".
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
string | Yes | ||
IPaddress | string | ||
CountryAlpha2 | string | Yes | |
CurrentAddress | Address | Yes | As for Individual |
Passport | *Passport | * (see comment) | * Provide anyone of required documents |
IDCard | *IDCard | * (see comment) | |
DriverLicense | *DriverLicense | * (see comment) | |
CompanyName | string | Yes | |
Website | string | ||
CompanyBoard | *CompanyBoard | ** (see comment) | ** Provide anyone of required documents |
CompanyRegistration | *CompanyRegistration | ** (see comment) |
DOCUMENTS NOTE: Supported extensions for document files: "jpg", "jpeg", "png", "gif", "bmp", "svg", "psd", "tif", "tiff", "webp", "pdf".
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | (*) | * Either provide first and last names or full name |
LastName | string | (*) | |
MiddleName | string | ||
FullName | string | (*) | * Either provide this or first and last names |
DateOfBirth | Time | Recommend for better results |
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | ||
LastName | string | ||
MiddleName | string | ||
AccountName | string | Yes | |
string | |||
IPaddress | string | ||
Gender | Gender | ||
DateOfBirth | Time | ||
CountryAlpha2 | string | ||
Phone | string | ||
MobilePhone | string | ||
CurrentAddress | Address | ||
Location | *Location | ||
Passport | *Passport | ||
IDCard | *IDCard | ||
SNILS | *SNILS | ||
DriverLicense | *DriverLicense | ||
UtilityBill | *UtilityBill | ||
ResidencePermit | *ResidencePermit | ||
Selfie(*) | *Selfie | See comment(*) | (*)Provide it if using Document Verification |
DOCUMENTS NOTE: Include image file(s) for the document used for the verification.
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | Yes | |
LastName | string | Yes | |
string | |||
DateOfBirth | Time | ||
Phone | string | It will be used if non-empty and has length of 10 | |
MobilePhone | string | It will be used if has lenght of 10 and the Phone field is empty | |
CurrentAddress | Address | Yes | |
SupplementalAddresses | []Address | It might be a shipping address | |
IDCard | *IDCard | Yes |
Address mandatory fields:
Name | Type |
---|---|
Town | string |
StateProvinceCode | string |
PostCode | string |
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | ||
LastName | string | ||
DateOfBirth | Time | ||
Passport(*) | *Passport | See comment(*) | (*)Anyone of documents marked with asterisk |
IDCard(*) | *IDCard | (*) | |
SNILS(*) | *SNILS | (*) | |
DriverLicense(*) | *DriverLicense | (*) | |
Selfie | *Selfie | See comment(*) | (*)Mandatory if Face match enabled |
DOCUMENTS NOTE: Include image file(s) for the document used for the verification.
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | Yes | |
LastName | string | Yes | |
MiddleName | string | ||
string | |||
DateOfBirth | Time | ||
CountryAlpha2 | string | Yes | |
CurrentAddress | Address | ||
Passport(*) | *Passport | See comment(*) | (*)Anyone of documents marked with asterisk |
IDCard(*) | *IDCard | (*) | |
SNILS | *SNILS | ||
DriverLicense(*) | *DriverLicense | (*) | |
CreditCard(*) | *CreditCard | (*) | |
DebitCard(*) | *DebitCard | ||
UtilityBill | *UtilityBill | Can be used in case of address verification | |
Selfie | *Selfie | Yes |
DOCUMENTS NOTE: Include image file(s) for the document used for the verification.
According to the API Reference all fields of UserData are applicable except the following:
- MaternalLastName
- LatinISO1Name
- AccountName
- IPaddress
- Location
- Business
Sum&Substance requires at least one document to be present to start the verification process, so anyone of the following fields should present:
Name | Type |
---|---|
Passport | *Passport |
IDCard | *IDCard |
SNILS | *SNILS |
DriverLicense | *DriverLicense |
DriverLicenseTranslation | *DriverLicenseTranslation |
CreditCard | *CreditCard |
DebitCard | *DebitCard |
UtilityBill | *UtilityBill |
ResidencePermit | *ResidencePermit |
Agreement | *Agreement |
EmploymentCertificate | *EmploymentCertificate |
Contract | *Contract |
DocumentPhoto | *DocumentPhoto |
Selfie | *Selfie |
Avatar | *Avatar |
Other | *Other |
All fields in the Reference are marked as optional but at least first name and last name should be provided in addition to a doc.
UserData applicable fields:
Name | Type | FileType | Required | Comment |
---|---|---|---|---|
FirstName | string | Yes | ||
LastName | string | Yes | ||
MiddleName | string | |||
Gender | Gender | |||
string | Yes | |||
DateOfBirth | Time | Yes | Required for documents only | |
CountryAlpha2 | string | Yes | ||
Phone | string | ()** | (**)Anyone of documents marked with double asterisk | |
Mobile phone | string | ()** | ||
CurrentAddress | Address | Yes | Required for documents only | |
Passport(*) | *Passport | .png/.jpg/.jpeg | (*) | (*)Anyone of documents marked with asterisk |
IDCard(*) | *IDCard | .png/.jpg/.jpeg | (*) | |
DriverLicense(*) | *DriverLicense | .png/.jpg/.jpeg | (*) | |
UtilityBill | *UtilityBill | .png/.jpg/.jpeg/.pdf | ||
Selfie | *Selfie | .png/.jpg/.jpeg | Yes | Deprecated in favor of video authorization |
VideoAuth | *VideoAuth | .mov/.mp4/.webm | Yes | 5 second authorization video of the customer. Requires document with customer photo (passport, etc.) |
DOCUMENTS NOTE: Include image file(s) for the document used for the verification.
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | * (see comment) | * Either use first name and last name or full name |
LastName | string | * (see comment) | if the order of the names is different from western usual composition |
MiddleName | string | or those names are difficult to represent separately | |
FullName | string | * (see comment) | |
Gender | Gender | ||
DateOfBirth | Time | ||
CountryOfBirthAlpha2 | string | ||
CountryAlpha2 | string | ||
Nationality | string |
NOTE: For better result, please, fill as much fields as possible.
UserData applicable fields:
Name | Type | Required | Comment |
---|---|---|---|
FirstName | string | ||
MaternalLastName | string | ||
LastName | string | ||
MiddleName | string | ||
LatinISO1Name | string | ||
string | |||
Gender | Gender | ||
DateOfBirth | Time | ||
CountryAlpha2 | string | Yes | |
Phone | string | ||
MobilePhone | string | ||
BankAccountNumber | string | ||
VehicleRegistrationPlate | string | ||
CurrentAddress | Address | ||
Business | *Business | ||
Passport | *Passport | ||
IDCard | *IDCard | ||
HealthID | *HealthID | ||
SocialServiceID | *SocialServiceID | ||
TaxID | *TaxID | ||
DriverLicense | *DriverLicense | ||
ResidencePermit | *ResidencePermit | ||
Selfie | *Selfie |
DOCUMENTS NOTE: Include image file(s) for a document used in the verification (some documents haven't physical form only a number, for ex. UK NI and NHS Numbers).
KYC providers may require various set of common.UserData
fields depending on the customer country. Also, they may service to the limited number of countries and this number of countries might configurable in a web-interface of the provider.
- International
- No fields variations found in the docs
- International (no list of supported countries)
- No fields variations found in the docs
- International
- No fields variations found in the docs
- USA and Canada
- No fields variations found in the docs
- International
- No fields variations found in the docs
- International ("Shufti Pro provides support for all countries")
- No fields variations found in the docs
- International
- No fields variations found in the docs
- International (no list of supported countries)
- No fields variations found in the docs
- International
- No fields variations found in the docs
These are the countries that supported since last check.
Country code | Country Name |
---|---|
AE | United Arab Emirates |
AR | Argentina |
AT | Austria |
AU | Australia |
BE | Belgium |
BR | Brazil |
CA | Canada |
CH | Switzerland |
CL | Chile |
CN | China |
CO | Colombia |
CR | Costa Rica |
DE | Germany |
DK | Denmark |
EC | Ecuador |
EG | Egypt |
ES | Spain |
FR | France |
GB | United Kingdom of Great Britain and Northern Ireland |
HK | Hong Kong |
IE | Ireland |
IN | India |
IT | Italy |
JP | Japan |
KR | Republic of Korea |
KW | Kuwait |
LB | Lebanon |
MX | Mexico |
MY | Malaysia |
NL | Netherlands |
NZ | New Zealand |
OM | Oman |
PE | Peru |
PT | Portugal |
RO | Romania |
RU | Russian Federation |
SA | Saudi Arabia |
SE | Sweden |
SG | Singapore |
SV | El Salvador |
TH | Thailand |
UA | Ukraine |
US | United States of America |
ZA | South Africa |
- API provides the group of methods for retrieving the lists of:
- Consents
- Supported countries
- Available fields dynamically based on a country
- Document Types available for a country
- Test Entities configured for a country
- Datasource groups configured for a country
UserData applicable fields for all supported countries:
Name | Type | Required | Countries for which the field is required |
---|---|---|---|
FirstName | string | AE, AR, AU, BR, CA, CL, CN, CO, CR, DE, DK, EC, EG, ES, FR, GB, HK, IE, IT, JP, KW, LB, MX, MY, NL, NZ, OM, PE, RU, SA, SE, SG, SV, TH, UA, US, ZA | |
LastName | string | AE, AR, AT, AU, BE, BR, CA, CH, CL, CN, CO, CR, DE, DK, EC, EG, ES, FR, GB, HK, IE, IN, IT, JP, KW, LB, MX, MY, NL, NZ, OM, PE, PE, PT, RO, RU, SA, SE, SG, SV, TH, UA, US, ZA | |
MaternalLastName | string | ||
MiddleName | string | RU | |
LatinISO1Name | string | ||
string | |||
Gender | Gender | GB, MX, MY | |
DateOfBirth | Time | AE, AU, CR, DE, DK, EG, FR, GB, IT, KR, KW, LB, MX, MY, NL, NZ, OM, RU, SA, SE, SV, ZA | |
CountryAlpha2 | string | Yes | |
Phone | string | CR | |
MobilePhone | string | ||
CurrentAddress | Address | AR AU BE CA CH CR DE DK ES FR GB IE IT JP MX NL NZ PE PT SE US ZA | |
Business | *Business | ||
Passport | *Passport | AE, AR, AT, AU, BE, BR, CA, CH, CL, CN, CO, CR, DE, DK, EC, EG, ES, FR, GB, HK, IE, IT, JP, KR, KW, LB, MX, MY, NL, NZ, OM, PE, PT, RU, SA, SE, SG, SV, TH, UA, US, ZA | |
IDCard | *IDCard | AE, AR, BR, CN, CO, CR, DK, EC, EG, FR, HK, KR, KW, LB, MX, MY, NL, OM, RO, SA, SE, SG, SV, TH, ZA | |
SocialServiceID | *SocialServiceID | CA, GB, IE, IT, UA | |
TaxID | *TaxID | ||
DriverLicense | *DriverLicense | GB, KR, NZ, US | |
ResidencePermit | *ResidencePermit | ||
Selfie | *Selfie |
UserData required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
MaternalLastName | string | CO, MX, PE |
FullName | string | MY, SG |
CountryOfBirthAlpha2 | string | MY |
StateOfBirth | string | MX, MY |
BankAccountNumber | string | CN |
VehicleRegistrationPlate | string | NZ |
HealthID | *HealthID | GB |
Address required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
County | string | IE |
Town | string | CA, CH, CR, DE, IE, JP, NZ, PT, SE, US, ZA |
Suburb | string | JP, ZA |
Street | string | AU, CA, CH, DE, DK, ES, FR, GB, IE, MX, NZ, PT, US |
BuildingNumber | string | AU, CA, DE, ES, JP, MX, NL, US |
PostCode | string | AR, AU, BE, CA, CH, DE, ES, FR, GB, IT, JP, MX, NL, NZ, PE, PT, US, ZA |
StateProvinceCode | string | CA, CR, JP, US |
Passport required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
Number | string | AU, RU |
Mrz1 | string | AE, AR, AT, AU, BE, BR, CA, CH, CL, CN, CO, CR, DE, DK, EC, EG, ES, FR, GB, HK, IE, IT, JP, KR, KW, LB, MX, MY, NL, NZ, OM, PE, PT, SA, SE, SG, SV, TH, UA, US, ZA |
Mrz2 | string | AE, AR, AT, AU, BE, BR, CA, CH, CL, CN, CO, CR, DE, DK, EC, EG, ES, FR, GB, HK, IE, IT, JP, KR, KW, LB, MX, MY, NL, NZ, OM, PE, PT, SA, SE, SG, SV, TH, UA, US, ZA |
IssuedDate | Time | RU |
IDCard required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
Number | string | AE, AR, BR, CA, CN, CO, CR, DK, EC, EG, FR, HK, IE, IT, KW, LB, MX, MY, NL, OM, RO, SA, SE, SG, SV, TH, UA, ZA |
HealthID required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
Number | string | GB |
SocialServiceID required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
Number | string | CA, GB, IE, IT, UA |
DriverLicense required fields for the specific countries:
Name | Type | Countries for which the field is required |
---|---|---|
Number | string | GB, KR, NZ, US |
Version | string | NZ |
State | string | US |