API reference · eKYC

Unified start + eKYC + finish (low-latency)

POST/omni/externalVerification/ekyc/unified

Base URL: https://demo-api.incodesmile.com — Incode demo environment

Runs session start and eKYC verification in parallel and fires finish-status asynchronously, returning once both the start and eKYC legs have resolved.

Path & query parameters

Name In Type Required Description
api-version header string yes

Request body

Field Type Required Description
start StartRequest yes Fields used to initialize the onboarding session (same shape as /omni/start).
start.language string Language code to be used when doing speech to text. Possible values: en-US, es-ES, pt-BR.
start.externalId string Id that identifies user in clients system should be used for externalId. (Deprecated, use externalCustomerId instead)
start.externalCustomerId string Id that identifies user in clients external system.
start.uuid string uuid key used in redis, can be used as an alternative to sending interviewId.
start.configurationId string Id of the flow to be used for this onboarding.
start.redirectionUrl string Url the user will be redirected to after finishing the onboarding successfully.
start.integrationReference string Optional integration reference.
start.urlUuid string Url uuid key used in redis. Will be validated in start if qrPhishingResistance is ON.
start.customFields object Used to send any additional information in key value pair format. Max fields: {maxEntries}, max key length: {keyMaxLength}, max value length: {valueMaxLength}
ekyc EkycVerificationRequest yes Fields used for the eKYC verification (same shape as /omni/externalVerification/ekyc).
ekyc.plugins array[string]
ekyc.firstName string The following special characters are not supported: ^±!@£$%&*_+¡€#¢§¶•ªº«<>?\\/:;|=
ekyc.surName string The following special characters are not supported: ^±!@£$%&*_+¡€#¢§¶•ªº«<>?\\/:;|=
ekyc.middleName string The following special characters are not supported: ^±!@£$%&*_+¡€#¢§¶•ªº«<>?\\/:;|=
ekyc.maternalSurname string The following special characters are not supported: ^±!@£$%&*_+¡€#¢§¶•ªº«<>?\\/:;|=
ekyc.email string
ekyc.street string
ekyc.streetNo string
ekyc.floor string
ekyc.apartment string
ekyc.postalCode string
ekyc.countryCode string ISO 3166-1 alpha-2 format
ekyc.phone string Use E.164 format. Hyphens are optional
ekyc.state string
ekyc.city string
ekyc.idNumber string
ekyc.idNumber1 string
ekyc.gender string
ekyc.taxId string
ekyc.dateOfBirth string (YYYY-MM-DD)
ekyc.dlExpireAt string (YYYY-MM-DD)
ekyc.fullName string
ekyc.panNumber string Indian Permanent Account Number (PAN), format: AAAAANNNNA
ekyc.district string District or Barangay (neighbourhood), used for Philippines KYC
ekyc.idType string National ID type. Supported for Philippines KYC: SSS, TIN, GSIS
ekyc.issueDate string (YYYY-MM-DD) ID document issue date. Required for Colombia Civil Register (CO_CIVIL_REGISTER_1) KYC
finishAsync boolean When true (default), finish-session runs asynchronously after the response is sent.

Responses

200

OK

Response body (application/json):

Field Type Required Description
interviewId string Identifier of the onboarding session created by /start.
token string JWT token for subsequent calls (X-Incode-Hardware-Id header).
interviewCode string Short onboarding code from /start.
flowType string Flow type of the configuration used. Enum: configuration, flow, workflow
ekyc EkycVerificationResponse eKYC verification result.
ekyc.kyc array[EkycVerification]
ekyc.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.
ekyc.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.
ekyc.kyc.sub_label string Additional info on the status.
ekyc.kyc.message string
ekyc.kyc.reasonCodes array[string]
ekyc.income array[EkycVerification]
ekyc.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.
ekyc.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.
ekyc.income.sub_label string Additional info on the status.
ekyc.income.message string
ekyc.income.reasonCodes array[string]
ekyc.additionalVerificationInfo AdditionalVerificationInfo
ekyc.additionalVerificationInfo.creditFileDetails CreditFileDetails
ekyc.additionalVerificationInfo.creditFileDetails.creditFileNumber string
ekyc.additionalVerificationInfo.creditFileDetails.creditFileCreationDate string
ekycStatus string Status of the eKYC verification: SUCCESS, TIMEOUT, or ERROR. Enum: SUCCESS, TIMEOUT, ERROR
finishQueued boolean True when finish-session was queued for asynchronous processing.

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
Was this page helpful?