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.

If you need KTP portrait extraction, please contact VIDA support to enable that feature.

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",
    "card": {
        "country": "INDONESIA",
        "type": "KTP",
        "isoAlpha3CountryCode": "IDN",
        "isoAlpha2CountryCode": "ID"
    },
    "imageQualityResult": {
        "front": {
            "blurriness": {
                "score": 0.000002,
                "threshold": 0.95
            },
            "lowLight": {
                "score": 0.418286,
                "threshold": 0.95
            },
            "overExposure": {
                "score": 0.709778,
                "threshold": 0.95
            },
            "cardDimension": {
                "card_coordinates": {
                    "x1": 55,
                    "x2": 987,
                    "y1": 84,
                    "y2": 662
                },
                "card_width": 932,
                "card_height": 578
            }
        }
    },
    "ocrResult": {
        "front": {
            "data": {
                "idNumber": {
                    "value": "ID Number from ID Card",
                    "score": 0.999995,
                    "threshold": 0.95
                },
                "name": {
                    "value": "Name",
                    "score": 0.998702,
                    "threshold": 0.95
                },
                "address": {
                    "value": "Address",
                    "score": 0.959262,
                    "threshold": 0.95
                },
                "dob": {
                    "value": "DD-MM-YYYY",
                    "score": 0.998832,
                    "threshold": 0.95
                },
                "gender": {
                    "value": "Gender from ID Card",
                    "score": 0.994388,
                    "threshold": 0.95
                },
                "religion": {
                    "value": "Religion",
                    "score": 0.999992,
                    "threshold": 0.95
                },
                "province": {
                    "value": "Province",
                    "score": 0.953497,
                    "threshold": 0.95
                },
                "city": {
                    "value": "City",
                    "score": 0.999676,
                    "threshold": 0.95
                },
                "placeOfBirth": {
                    "value": "POB",
                    "score": 0.998832,
                    "threshold": 0.95
                },
                "bloodType": {
                    "value": "Blood Type",
                    "score": 0.99999,
                    "threshold": 0.95
                },
                "neighborhoodAssociationGroup": {
                    "value": "RT/RW",
                    "score": 0.999826,
                    "threshold": 0.95
                },
                "village": {
                    "value": "VILLAGE",
                    "score": 0.962574,
                    "threshold": 0.95
                },
                "subDistrict": {
                    "value": "SUB-DISTRICT",
                    "score": 0.969316,
                    "threshold": 0.95
                },
                "maritalStatus": {
                    "value": "Marital Status",
                    "score": 0.999993,
                    "threshold": 0.95
                },
                "occupation": {
                    "value": "Occupation",
                    "score": 0.999993,
                    "threshold": 0.95
                },
                "nationality": {
                    "value": "Nationality",
                    "score": 0.999996,
                    "threshold": 0.95
                },
                "validUntil": {
                    "value": "DD-MM-YYYY",
                    "score": 0.999999,
                    "threshold": 0.95
                }
            }
        }
    }
}

OCR Warning's for low score

Note: Any field if has a score lower than threshold value of 0.95, we raise a low score warning for the field.

HTTP Status Code: 200

OCR Warning JSON Response

Last updated