Base URL: https://demo-api.incodesmile.com — Incode demo environment
This endpoint verifies phone, email, address, date of birth and tax numbers, specifically social security number (ssn). When making a request use "kyc" in the plugins array. To have the API return specific risk scores for phone, email, ssn (taxId) and address, see examples below.
Path & query parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
api-version |
header | string | yes |
Request body
Note: When fields are provided they will override field values derived from a document scan. Examples Check address: { "plugins": ["kyc"], "firstName": "Jon", "surName": "Hasselhoff", "street": "101 Beach Highway", "postalCode": "90210", "state": "CA", "city": "Beverly Hills", "countryCode": "US" } Check email: { "plugins": ["kyc"], "firstName": "Jon", "surName": "Hasselhoff", "email": "david.hasselhoff@email.com" } Check phone: { "plugins": ["kyc"], "firstName": "Jon", "surName": "Hasselhoff", "phone": "+16504463444" "street": "101 Beach Highway", "postalCode": "90210", "state": "CA", "city": "Beverly Hills", "countryCode": "US" } Check SSN (taxId): { "plugins": ["kyc"], "firstName": "Jon", "surName": "Hasselhoff", "street": "101 Beach Highway", "postalCode": "90210", "state": "CA", "city": "Beverly Hills", "countryCode": "US", "taxId": "123456789", "dateOfBirth": "1980-06-01" } Full eKYC check: { "plugins": ["kyc"], "firstName": "Jon", "middleName": "Michael", "surName": "Hasselhoff", "street": "101 Beach Highway", "postalCode": "90210", "state": "CA", "city": "Beverly Hills", "countryCode": "US", "phone": "+16504463444", "email": "david.hasselhoff@email.com" "taxId": "123456789", "dateOfBirth": "1980-06-01" }
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
plugins |
array[string] | ||
firstName |
string | The following special characters are not supported: `^±!@£$%&*_+¡€#¢§¶•ªº«<>?/:; | |
surName |
string | The following special characters are not supported: `^±!@£$%&*_+¡€#¢§¶•ªº«<>?/:; | |
middleName |
string | The following special characters are not supported: `^±!@£$%&*_+¡€#¢§¶•ªº«<>?/:; | |
maternalSurname |
string | The following special characters are not supported: `^±!@£$%&*_+¡€#¢§¶•ªº«<>?/:; | |
email |
string | ||
street |
string | ||
streetNo |
string | ||
floor |
string | ||
apartment |
string | ||
postalCode |
string | ||
countryCode |
string | ISO 3166-1 alpha-2 format | |
phone |
string | Use E.164 format. Hyphens are optional | |
state |
string | ||
city |
string | ||
idNumber |
string | ||
idNumber1 |
string | ||
gender |
string | ||
taxId |
string | ||
dateOfBirth |
string (YYYY-MM-DD) | ||
dlExpireAt |
string (YYYY-MM-DD) | ||
fullName |
string | ||
panNumber |
string | Indian Permanent Account Number (PAN), format: AAAAANNNNA | |
district |
string | District or Barangay (neighbourhood), used for Philippines KYC | |
idType |
string | National ID type. Supported for Philippines KYC: SSS, TIN, GSIS |
Responses
200
OK
Response body (application/json):
| Field | Type | Required | Description |
|---|---|---|---|
kyc |
array[EkycVerification] | ||
kyc.key |
string | Indicates a type of risk, such as addressRiskLevel. The overallLevel key name is an aggregate risk score for all risk types. It can be used to obtain a single risk score for a whole result set. | |
kyc.status |
string | Explains the risk level, ie "low", "medium", or "high". When doing a social security number check, the API will return status values of nomatch, fuzzy or exact. Fuzzy means there is plausible match between the name and the social security number, like Dave and David both resolve to the same SSN. | |
kyc.sub_label |
string | Additional info on the status. | |
kyc.message |
string | ||
kyc.reasonCodes |
array[string] | ||
income |
array[EkycVerification] | ||
income.key |
string | Indicates a type of risk, such as addressRiskLevel. The overallLevel key name is an aggregate risk score for all risk types. It can be used to obtain a single risk score for a whole result set. | |
income.status |
string | Explains the risk level, ie "low", "medium", or "high". When doing a social security number check, the API will return status values of nomatch, fuzzy or exact. Fuzzy means there is plausible match between the name and the social security number, like Dave and David both resolve to the same SSN. | |
income.sub_label |
string | Additional info on the status. | |
income.message |
string | ||
income.reasonCodes |
array[string] | ||
additionalVerificationInfo |
object | ||
additionalVerificationInfo.creditFileDetails |
object | ||
additionalVerificationInfo.creditFileDetails.creditFileNumber |
string | ||
additionalVerificationInfo.creditFileDetails.creditFileCreationDate |
string |
400
Bad Request
Response body (application/json):
| Field | Type | Required | Description |
|---|---|---|---|
timestamp |
integer (int64) | UTC timestamp in milliseconds | |
status |
integer (int32) | Custom error code or HTTP status code | |
error |
string | HTTP status error | |
message |
string | Custom error message | |
path |
string | Endpoint path | |
details |
object | Custom error details |