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.

HTTP Status and Error Codes

The APIs utilize HTTPS response codes to indicate the outcome of an API request, signaling either success or failure. In addition to these standard codes, VIDA also provides internal custom codes that are specifically designed to identify and categorize any encountered errors.

Error Codes

The below tables offers a clear overview of the various error codes, their corresponding HTTP status codes, and the associated error messages. This can be particularly useful for developers for debugging and error handling.

Note: For detailed examples of different scenarios please refer to the below pages:

OCR+IDV : All Error Scenarios related to OCR+IDV

Also each error code mentioned in the table is already linked to the appropriate example in the page above.

Generic Code for MyKad, NonMyKad, Passport and KTP cards

Note: The messages mentioned in the below table's may vary depending on validation checks, flow errors, and other conditions. This message is intended to provide a general idea of what the error code represents. Sample messages can be found on the referenced page above. Please do not use the error messages for the processing of the requests instead rely on the error codes.

Error Code
HTTP Status Code
Message

200

Success

400

Missing required field

400

Unable to decode string.

400

Invalid request parameter or Missing request parameter.

500

Internal server error

400

Unsupported image format detected.

5007

400

Score is below threshold

500

Data processing error.

400

Wrong input format

400

Invalid Image Specification

400

Score is above threshold

400

Image Quality is too low, Kindly ensure the image is well lit and is placed in the right angle

400

Invalid card, Kindly ensure the image is well lit and is placed in the right angle

400

No card detected

500

Internal server error while fetching the details.

400

The given card is forged

400

Critical landmarks are not visible. Please make sure the landmarks are properly visible on the card

Generic Code for KTP cards

Error Code
Http Status Code
Message

400

No portrait is present on the card

400

Image Quality check failed as image is too blurry

400

Image of the card is too dark

400

Image of the card is too bright

400

Image of card is too small, try taking a closer image

400

No PROVINSI title is present, make sure all card’s edge is present within the image

400

Card resolution is smaller than (400x300), the recommended image size is (800x600))

400

Card resolution is larger than (4000x3000), the recommended image size is (800x600))

400

Image size is larger than max allowed 3MB

400

Card back side verification is not supported on V1 endpoint, please switch to V2.

400

Orientation unknown, take image of card on a flat surface in upright position

400

Landmark positions are not in correct arrangement

Specific Code for Non-Malaysian & NonKTP cards

Error Code
HTTP Status Code
Message

500

extraction_failed

Error codes for document verification via Summary endpoint

Error Code
Http Status Code
Message

400

"The card failed the idVerification"

400

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

Generic OCR Codes for Malaysian card and KTP cards

Error Code
Http Status Code
Message

400

"Bad Quality Image , Id Number Extraction Failed"

400

"No card detected"

500

"Error processing input/output"

Specific OCR Codes for KTP cards

Error Code
Http Status Code
Message

400

Bad Quality Image, Portrait Extraction Failed

Warning Codes

Image Quality Check for MyKad Cards

For the V1 endpoint, the following warning codes will be returned. These warnings will be accompanied by additional error codes which will result in transaction failure.

Warning Code
HTTP status code
Message

10024

400

Image submitted is blurred

10025

400

Image submitted has glare

10026

400

Image submitted is too dark to process

10027

400

Input card image is too small in resolution to process. min resolution : [275 * 176]

OCR warning code for Malaysian cards and NonKTP cards

Warning Code
HTTP status code
Message

10028

200

Low confidence score for ocr, please check [name] from ocrResult for more details

10029

200

Low confidence score for ocr, please check [address] from ocrResult for more details

10030

200

Low confidence score for ocr, please check [citizenship] from ocrResult for more details

10031

200

Low confidence score for ocr, please check [dob] from ocrResult for more details

10032

200

Low confidence score for ocr, please check [gender] from ocrResult for more details

10033

200

Low confidence score for ocr, please check [idNumber] from ocrResult for more details

10034

200

Low confidence score for ocr, please check [religion] from ocrResult for more details

10119

200

Low confidence score for ocr, please check [personalIdNumber] from ocrResult for more details

10120

200

Low confidence score for ocr, please check [dateOfExpiry] from ocrResult for more details

10121

200

Low confidence score for ocr, please check [dateOfIssuance] from ocrResult for more details

10122

200

Low confidence score for ocr, please check [issuerName] from ocrResult for more details

10123

200

Low confidence score for ocr, please check [issuerCountry] from ocrResult for more details

10124

200

Low confidence score for ocr, please check [issuingAuthority] from ocrResult for more details

10125

200

Low confidence score for ocr, please check [militaryId] from ocrResult for more details

10126

200

Low confidence score for ocr, please check [militaryRank] from ocrResult for more details

10127

200

Low confidence score for ocr, please check [militaryDivision] from ocrResult for more details

10128

200

Low confidence score for ocr, please check [extendedIdNumber] from for more details

10129

200

Low confidence score for ocr, please check [countryOfOrigin] from for more details

10130

200

Low confidence score for ocr, please check [address1] from for more details

10131

200

Low confidence score for ocr, please check [address2] from for more details

10132

200

Low confidence score for ocr, please check [zipCode] from for more details

10133

200

Low confidence score for ocr, please check [state] from for more details

Spoof codes for Malaysian cards

In the V1 endpoint, a single spoof detection returns HTTP 200 with a warning code, while multiple spoof detections result in HTTP 400.

Warning Code
HTTP status code
Message

10007

200

Image submitted is either B&W or Photocopy

10008

200

Image submitted is Recaptured

10207

200

Image submitted is color reprint

Landmark codes for Malaysian cards

Warning Code
HTTP status code
Message

10012

200

Image has Occlusion [kad_pengenalan_header], please check landmark details for more details

10013

200

Image has Occlusion [card_logo], please check landmark details for more details

10014

200

Image has Occlusion [hibiscus], please check landmark details for more details

10015

200

Image has Occlusion [microchip], please check landmark details for more details

10017

200

Image has Occlusion [msg_logo], please check landmark details for more details

10018

200

Image has Occlusion [my_flag], please check landmark details for more details

10020

200

Image has Occlusion [ghost], please check landmark details for more details

10021

200

Image has Occlusion [portrait], please check landmark details for more details

10022

200

Image has Occlusion [name], please check landmark details for more details

10023

200

Image has Occlusion [id_number], please check landmark details for more details

Image Quality Check for KTP Card

For the V1 endpoint, the following warning codes will be returned. These warnings will be accompanied by additional error codes which will result in transaction failure.

Warning Code
HTTP status code
Message

10004

200

"Image submitted is too bright to process"

10005

200

"Incorrect card supplied"

10006

200

"Unknown Orientation"

10024

200

"Image submitted is blurred"

10025

200

"Image submitted has glare"

10026

200

"Image submitted is too dark to process"

10027

200

"Submitted card image is too small in resolution to process. min resolution : [275 * 176]"

OCR Codes for KTP cards

Warning Code
Http Status Code
Message

10028

200

"Low confidence score for ocr, please check [name] from ocrResult for more details"

10029

200

"Low confidence score for ocr, please check [address] from ocrResult for more details"

10031

200

"Low confidence score for ocr, please check [dob] from ocrResult for more details"

10032

200

"Low confidence score for ocr, please check [gender] from ocrResult for more details"

10033

200

"Low confidence score for ocr, please check [idNumber] from ocrResult for more details"

10034

200

"Low confidence score for ocr, please check [religion] from ocrResult for more details"

10108

200

"Low confidence score for ocr, please check [province] from ocrResult for more details"

10109

200

"Low confidence score for ocr, please check [city] from ocrResult for more details"

10110

200

"Low confidence score for ocr, please check [placeOfBirth] from ocrResult for more details"

10111

200

"Low confidence score for ocr, please check [bloodType] from ocrResult for more details"

10112

200

"Low confidence score for ocr, please check [neighborhoodAssociationGroup] from ocrResult for more details"

10113

200

"Low confidence score for ocr, please check [village] from ocrResult for more details"

10114

200

"Low confidence score for ocr, please check [subDistrict] from ocrResult for more details"

10115

200

"Low confidence score for ocr, please check [maritalStatus] from ocrResult for more details"

10116

200

"Low confidence score for ocr, please check [occupation] from ocrResult for more details"

10117

200

"Low confidence score for ocr, please check [nationality] from ocrResult for more details"

10118

200

"Low confidence score for ocr, please check [validUntil] from ocrResult for more details"

Spoof codes for KTP Card

In the V1 endpoint, a single spoof detection returns HTTP 200 with a warning code, while multiple spoof detections result in HTTP 400.

Warning Code
HTTP status code
Message

10007

200

"Image submitted is either B&W or Photocopy"

10008

200

"Image submitted is Recaptured"

10207

200

"Image submitted is color reprint"

10208

200

"Image submitted is screenshot"

Landmark codes for KTP Card

Warning Code
HTTP status code
Message

10411

200

"Image has Occlusion, please check [provinsi] from landmarkResult for more details"

10412

200

"Image has Occlusion, please check [nik] from landmarkResult for more details"

10413

200

"Image has Occlusion, please check [nama] from landmarkResult for more details"

10414

200

"Image has Occlusion, please check [tampat-tgl-lahir] from landmarkResult for more details"

10415

200

"Image has Occlusion, please check [jenis-kelamin] from landmarkResult for more details"

10416

200

"Image has Occlusion, please check [alamat] from landmarkResult for more details"

10417

200

"Image has Occlusion, please check [rt-rw] from landmarkResult for more details"

10418

200

"Image has Occlusion, please check [kel-desa] from landmarkResult for more details"

10419

200

"Image has Occlusion, please check [kecamatan] from landmarkResult for more details"

10420

200

"Image has Occlusion, please check [agama] from landmarkResult for more details"

10421

200

"Image has Occlusion, please check [status-perkawinan] from landmarkResult for more details"

10422

200

"Image has Occlusion, please check [pekerjaan] from landmarkResult for more details"

10423

200

"Image has Occlusion, please check [kewarganegaraan] from landmarkResult for more details"

10424

200

"Image has Occlusion, please check [berlaku-hingga] from landmarkResult for more details"

10425

200

"Image has Occlusion, please check [gol-darah] from landmarkResult for more details"

10435

200

Image has Occlusion, please check [signature] from landmark Result for more details

10436

200

Landmark positions are not in correct arrangement

Last updated