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": {
        "front": {
            "statusCode": 5000
        }
    },
    "card": {
        "country": "INDONESIA",
        "type": "KTP",
        "isoAlpha3CountryCode": "IDN",
        "isoAlpha2CountryCode": "ID"
    },
    "ocrResult": {
        "front": {
            "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.

Note:

  • 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.

  • 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