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 keyHeader ValueDescription
AuthorizationBearer <JWT>Include the JWT access token to support request authentication

Request objects

metadata

The metadata object taken by Index faces and eKYC full checks.

NameTypeRequiredDescription
client_uidstringRequiredID of a user or application or any unique token
national_idstringOptionalID number of the user's ID card
unique_tokenstringOptionalThe 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

verdictDescription
pendingThe user has not completed the flow
approveOur recommendation to approve this application
reviewOur recommendation to review this application
rejectOur recommendation to reject this application

file_ids

keyDescriptionPresent in
id_front_img_uuidThe image id of front sideID Only, Full Flow
id_back_img_uuidThe image id of back sideID Only, Full Flow
qr1_img_uuidThe image id of QR codeID Only, Full Flow
selfie_image_uuidThe image id of selfie that use to compare facesSelfie Only, Full Flow
gesture_imagesList images during user do livenessSelfie Only, Full Flow
sequence_framesList frames video during user do livenessSelfie Only, Full Flow
liveness_transformed_video_idThe video id merge from sequence framesSelfie Only, Full Flow

form_data

JSON
{
  "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.

NameDescriptionStatus codeResponse Body
Bad RequestInvalid parameters400{"data":{},"message":"","verdict":"invalid_parameters"}
UnauthorizedInvalid authentication token401{"data":{},"message":"authorization header is missing","time":"2024-10-31T07:50:22Z","verdict":"missing_authorization"}
Token ExpiredToken expired. Client should login again401{"data":{},"message":"Provided token is expired","time":"2024-10-31T07:50:22Z","verdict":"expired_token"}
Invalid MethodInvalid URL or method405{"data":{},"message":"method is not correct for the requested route","time":"2024-11-06T03:23:26Z","verdict":"invalid_method"}
Too many requestsToo many failed login attempts429{"data":{},"message":"too many failed login attempts","time":"2024-11-06T03:33:43Z","verdict":"limit_exceeded"}
Internal Server ErrorInternal Server Error500{"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.