Service API · API Docs · eKYC Platform
Common objects & errors
Every Service API endpoint except Log in is authenticated the same way and fails the same way at the transport layer — all of it defined once, here, and referred to by name from each endpoint page.
Authorization
| Header key | Header Value | Description |
|---|---|---|
Authorization | Bearer <JWT> | Include the JWT access token to support request authentication |
Request objects
metadata
The metadata object taken by Index faces and eKYC full checks.
| Name | Type | Required | Description |
|---|---|---|---|
client_uid | string | Required | ID of a user or application or any unique token |
national_id | string | Optional | ID number of the user's ID card |
unique_token | string | Optional | The application_unique_token token from Application detail |
The application result
Application detail and Full verification both return the TS-native application result. These are the mappings for its verdict, file_ids and form_data fields.
verdict
| verdict | Description |
|---|---|
| pending | The user has not completed the flow |
| approve | Our recommendation to approve this application |
| review | Our recommendation to review this application |
| reject | Our recommendation to reject this application |
file_ids
| key | Description | Present in |
|---|---|---|
| id_front_img_uuid | The image id of front side | ID Only, Full Flow |
| id_back_img_uuid | The image id of back side | ID Only, Full Flow |
| qr1_img_uuid | The image id of QR code | ID Only, Full Flow |
| selfie_image_uuid | The image id of selfie that use to compare faces | Selfie Only, Full Flow |
| gesture_images | List images during user do liveness | Selfie Only, Full Flow |
| sequence_frames | List frames video during user do liveness | Selfie Only, Full Flow |
| liveness_transformed_video_id | The video id merge from sequence frames | Selfie Only, Full Flow |
form_data
{
"contactInfo": {
"familyAddress": "CABAROAN SAN ESTEBAN ILOCOS SUR PHL 2706"
},
"personalInfo": {
"birthday": "1990/01/01",
"fullName": "JOSE CRUZ SANTOS",
"gender": "",
"idCard": "0123456789"
}
}
Shared response errors
The parameter, auth, method, rate-limit and server errors documented for the JWT-authenticated endpoints. A code an endpoint adds beyond this set is documented under Failure codes on that endpoint's own page.
| Name | Description | Status code | Response Body |
|---|---|---|---|
| Bad Request | Invalid parameters | 400 | {"data":{},"message":"","verdict":"invalid_parameters"} |
| Unauthorized | Invalid authentication token | 401 | {"data":{},"message":"authorization header is missing","time":"2024-10-31T07:50:22Z","verdict":"missing_authorization"} |
| Token Expired | Token expired. Client should login again | 401 | {"data":{},"message":"Provided token is expired","time":"2024-10-31T07:50:22Z","verdict":"expired_token"} |
| Invalid Method | Invalid URL or method | 405 | {"data":{},"message":"method is not correct for the requested route","time":"2024-11-06T03:23:26Z","verdict":"invalid_method"} |
| Too many requests | Too many failed login attempts | 429 | {"data":{},"message":"too many failed login attempts","time":"2024-11-06T03:33:43Z","verdict":"limit_exceeded"} |
| Internal Server Error | Internal Server Error | 500 | {"data":{},"message":"Unexpected error. Error ID: ff4d5572d9df4560bb6dabc2eadd5a1e","time":"2024-11-06T03:32:09Z","verdict":"failure"} |
Log in and Full verification document their own error sets on their own pages.