Introducing VIDA Identity Stack: All of VIDA, in one place 🎉
For the complete documentation index, see llms.txt. This page is also available as Markdown.

KTP

Note: Some cards may have the blood group recorded as '-'. This can happen for two reasons:

  1. The card explicitly lists the blood group as '-'.

  2. The blood group is difficult to read, making it unclear in the extracted data.

Request

Request
{
  "operations": ["ocr"],
  "payload": {
    "partnerTrxId": "random-uuid",
    "groupId": "random-uuid",
    "idType": "ID_CARD",
    "country": "IDN",
    "idSubtype": "KTP",
    "idFrontSideImage": "Base64 encoded image of ID front side"
  },
  "userConsent": {
    "userIP": "0.0.0.0",
    "country": "MYS",
    "obtained": true,
    "obtainedAt": "1680700959"
  }
}

Success Response

HTTP Status Code: 200

Success JSON Response
{
  "transactionId": "unique transaction id generated to identify this transaction",
  "partnerTrxId": "partner transaction id submitted by customer in request",
  "groupId": "partner group id submitted by customer in request",
  "imageQualityResult": {
    "statusCode": 5000
  },
  "card": {
    "country": "INDONESIA",
    "type": "KTP",
    "isoAlpha3CountryCode": "IDN",
    "isoAlpha2CountryCode": "ID"
  },
  "ocrResult": {
    "idNumber": "ID-Number",
    "name": "NAME",
    "address": "Address",
    "dob": "DD-MM-YYYY",
    "gender": "Gender from id card (M/F/O)",
    "religion": "Religion",
    "province": "Provience",
    "city": "City",
    "placeOfBirth": "Place Of Birth",
    "bloodType": "Blood type",
    "neighborhoodAssociationGroup": "Neighborhood Assocaition Group",
    "village": "Village",
    "subDistrict": "Sub District",
    "maritalStatus": "Marital Status",
    "occupation": "Occupation",
    "nationality": "Nationality",
    "validUntil": "Validity",
  }
}

Error 5026 - Extraction failed for the below ocr field. Please make sure the fields are properly visible on the card.

This error is raised only for the critical fields of KTP cards. For other fields, no error will be thrown; instead, the response will contain EXTRACTION_ERROR.

Note: Critical Fields for KTP cards are:

  1. IdNumber

  2. Name

  3. DOB

  4. ValidUntil

HTTP Status Code: 400

Error 5026 - Critical field extraction failed

HTTP Status Code: 200

Success response - Extraction failed only for non critical field

Last updated