Extract - KTP Async

Asynchronous KTP method helps you to recognize text in the KTP image and the response is returned immediately while the request continues to be processed. There is an option to provide a callback URL, so once the process is complete the result will be returned to the given URL. Otherwise, you can call the get result method to pull the result.
If you use a callback URL, we also provide extra authentication using HTTP basic authentication. This allows you to check whether the request sent to your URL is sent by our backend by looking at the Authorization HTTP header. The username and password can be set to an application ID in Verihubs Client dashboard (app.verihubs.com). Please refer to the documentation in this link.

🎈Endpoint

🎈Request

Headers

KeyTypeNotesDescription
App-IDStringRequiredApplication ID that generated from Application Menu in Verihubs Client Dashboard.
To hit in Testing and Live mode you need a Production Application ID.
API-KeyStringRequiredAPI-Key that generated from Application Menu in Verihubs Client Dashboard that related to specific Application ID.

You can generate your Application ID and API-Key in the Application page in Verihubs Client Dashboard..

Body Parameters

ParameterTypeNotesDefaultDescription
imagestringRequired-- A base64 or URL image file. - Image Type JPEG, JPG, PNG - Max File size: 5MB - Minimum KTP image size 720x480 (cropped KTP).
validate_qualitybooleanoptionalfalse- Determines whether Quality validation will be executed. - The validation consists of checking blur, dark, and flashlight
reference_idstringoptional-Used as the identity of the recognition result.
callback_urlstringoptional-Used to send recognition results to a specific url.

🎈Responses

Response Code

CodeDescription
200Successful Response
400Bad Request
401Unauthorized
500Internal Server Error

Details for 200 and 201

KeyTypeDescription
messagestringMessage that describe the overall response.
dataobjectShows the id used to pull the recognition result
reference_idstringused as the identity of the recognition result

Error Code

Response CodeError MessageDescription
400INVALID_PAYLOADno value in payload or empty string more than 1
400INVALID_PAYLOAD_IMAGE_MISSINGinvalid payload image not a standard b64/url or image empty string
400INVALID_PAYLOAD_IMAGE_SIZEinvalid payload image size too large
400INVALID_PAYLOAD_IMAGE_FORMATimage unable to be decoded/got from url OR invalid image extension
400MISSING_PAYLOAD_IMAGEmissing payload image
400INVALID_PAYLOAD_CALLBACK_URLcallback url payload is empty/null/ not url format (https://)
400INVALID_PAYLOAD_REFERENCE_IDreference_id is too short/too long
400INVALID_PAYLOAD_REFERENCE_ID_EXISTSreference_id already exists (not unique)
400INVALID_PAYLOAD_QUALITY_VALIDATION_DEPENDENCYis_quality must be true if validate_quality true
403INSUFFICIENT_QUOTAquota for extract/quality is not sufficient to further continue the request (Only appears on testing mode)
200FAIL_ON_1fail on quality
500INTERNAL_SERVER_ERRORinternal server error

Sample Responses

Response CodeResponseDescription
200{
"message": "accepted",
"data": {
"reference_id": "04ceb099-2b5c-4003-b483-9834a797d5e0"
}
}
Request data parameter is valid.
422{
"message": "Invalid Payload",
"error_code": "BAD_PAYLOAD"
}
Invalid Payload. Transaction that is considered failed due to validation errors.
401{
"message": "Authorization failed"
}
Authorization Failed; Transaction that unauthorized due to Application ID or API-Key issue. To hit in Testing and Live mode you need a Production Application ID and API-Key.
403{
"message": "Insufficient quota",
"error_code": "INSUFFICIENT_QUOTA"
}
The transaction is in Testing mode and not enough remaining quota. Please contact Verihubs Customer Support.
500{
"message": "Internal server error"
}
Internal server error.