Service API · 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
abandonedThe user abandoned the flow

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.