POST/Submission/Step 1
Last updated
Last updated
KYC submission process is divided into 2 steps, Step1 -> Step 2.
Step 1 is the process where we extract text from the ID and get confirmation from users.
For Step 1 process, data should be submitted in 'form-data' format.
If a submission ID is not created at Step 1, Step 2 can not proceed.
For Step 1, issuingCountry/email/idType/dImage must be submitted.
The recommended standard for 'idImage' and 'idBackImage' is 640 x 480 pixels.
userid, cf1, cf2, cf3 are options. Please refer to the Input Data table for detail.
Refer to Retry & Error Codes page for retry codes and error codes.
* means required parameters.
Parameter | Type | Description |
---|---|---|
Detailed explanation of 'customOptions':
'customOptions' itself is an object containing a boolean property indicating the use of options internally.
However, the entire object must be converted to a string for transmission.
It can only be submitted in Step 1 and also referenced in Step 2.
Only 'rejectDuplicateUser' can be toggled ON/OFF.
Example
For 'issuingCountry', 'idType' and rear side collection, please check the file at ID Type & Rearside Collection page.
When Step 1 is successfully completed, documnt_fields, missing_fields, reviewOCRData, SubmissionId, idImage will be returned.
'document_fields' for confirmable data from the submitted ID, 'missing_fields' for data that exist on the ID but failed to read, 'reviewOCRData' for data extracted from the ID.
Refer to Retry & Error Codes page for retry codes and error codes.
For OCR engine to well-function, it needs to recognize a rectangle ID in the image. To do this, it's better that the image has a little bit of padding around the ID. With an image without any buffer, there might be no OCR response.
For the IDs with 'ID Card Back' column 'True', we collect the back of the ID. It will be saved depending on the detailed type. Please check the file at ID Type & Rearside Collection.
Response | Description |
---|---|
*issuingCountry
string (ISO alpha3)
ISO alpha 3 format of the country the ID card is issued.
string
email address of the KYC applicant
*idType
string
passport, government_id, drivers_license,
residence_permit, visa, vehicle_registration_certificate,
aadhaar, pancard, universal
*idImage
file
jpg, jpeg, png file format of the ID front image
(recommendation: 1mb, limit: 2mb)
idBackImage
file
jpg, jpeg, png file format of the ID back image
(recommendation: 1mb, limit: 2mb)
submissionId
string
Unique veirifying ID needed for further steps, it is valid for 4 hours.
userid
string
custom optional unique identifier of the user
cf1
string
custom optional field
cf2
string
custom optional field
cf3
string
custom optional field
customOptions
serialized JSON object in string
Regardless of project options, an object to apply options for each submission. Convert to string and transmit.
customOptions. blacklistCountries
boolean
Turn OFF options for blacklisted countries for the respective submission ('false' only possible).
customOptions. approvePeriod
boolean
Turn OFF options for the approved duplicate submission prevention period for the respective submission ('false' only possible).
customOptions. rejectPeriod
boolean
Turn OFF options for the rejected duplicate submission prevention period for the respective submission ('false' only possible).
customOptions. ageLimit
boolean
Turn OFF options for age restrictions for the respective submission ('false' only possible).
customOptions. rejectDuplicateUser
boolean
Turn ON/OFF options for duplicate submission prevention for the respective submission ('true' and 'false' both possible).
Submissionid
submission의 ID.
*It will be needed at Step 1 retry and Step 2
reviewOCRData
OCR object that contains ID card information. If OCR fails, this parameter is not returned.
reviewOCRData.ocr_birthDate
YYYY-MM-DD format date of birth
reviewOCRData.accepted_ocr_birthDate
Birthdate recognition: true/false
reviewOCRData.ocr_issueDate
Issued date
reviewOCRData.accepted_ocr_issueDate
Issue date recognition: true/false
reviewOCRData.ocr_expireDate
Expiary date
reviewOCRData.accepted_ocr_expireDate
Expiary date recognition: true/false
reviewOCRData.ocr_lastName
Last name
reviewOCRData.accepted_ocr_lastName
Last name recognition: true/false
reviewOCRData.ocr_firstName
First name
reviewOCRData.accepted_ocr_firstName
First name recognition: true/false
reviewOCRData.ocr_name
Full name
reviewOCRData.accepted_ocr_name
Name recognition: true/false
reviewOCRData.ocr_gender
Gender
reviewOCRData.accepted_ocr_gender
Gender recognition: true/false
reviewOCRData.ocr_nationality
ISO3 code format of nationality if available
reviewOCRData.accepted_ocr_nationality
Nationality recognition: true/false
reviewOCRData.ocr_identityNumber
Identity number
reviewOCRData.accepted_ocr_identityNumber
Identity number recognition: true/false
reviewOCRData.ocr_licenseNumber
License number(Korean only)
reviewOCRData.accepted_ocr_licenseNumber
License numbe recognition: true/false
idImage
Path of ID front image
idBackImage
Path of ID back image
file_upload
"true" if the ID card front image is successfully received. "false" otherwise.
file_back_upload
"true" if the ID card back image is successfully received. "false" otherwise.
document_fields
Whether the ID has specific information or not. documentnumber, expireDate, gender, identityNumber, issueDate, nationality: true/false 1) When using Universal Mode, Array format when OCR recognition fails 2) Others, single object type
document_fields.expireDate
true/false
document_fields.idNumber
true/false
document_fields.identityNumber
true/false
document_fields.gender
true/false
document_fields.issueDate
true/false
document_fields.nationality
true/false
document_fields.number
true/false
document_fields.name
true/false
document_fields.birthDate
true/false
document_fields.serialNumber
true/false
document_fields.documentNumber
true/false
missing_fields
It should be in the ID, but the returned data due to OCR recognition fail. ex) [gender, documentNumber, identityNumber]
retry
retryCode + retryMsg format text explaining the reason for being 'incomplete'
kycStatus
<pending, approved, rejected, incomplete> incomplete: Due to insufficient KYC data, failed to get final result. We provide 3 chances in total, and recommend not to stop in the middle
retryCount
Tried count for Step 1, when it becomes 3 the KYC submission will be rejected.