API Request & Response (ID Forgery)
This method helps you to detect forgery attempt from KTP Image.
🎈Endpoint
| Method | Endpoint |
|---|---|
| POST | https://api.verihubs.com/v2/ktp/idforgery |
🎈Request
Headers
| Key | Type | Notes | Description |
|---|---|---|---|
| App-ID | String | Required | Application ID that generated from Application Menu in Verihubs Client Dashboard. To hit in Testing and Live mode you need a Production Application ID. |
| API-Key | String | Required | API-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
| Parameter | Type | Notes | Default | Description |
|---|---|---|---|---|
| image | String | Required | - |
|
| is_quality | boolean | optional | false | Determines whether Image Quality (blur, dark, flashlight, and grayscale) will be computed and return as result |
| validate_quality | boolean | optional | false | Determines whether Quality validation will be executed. The validation consists of checking blur, dark, flashlight, and grayscale. validate_quality can be TRUE only when is_quality is TRUE. |
| validate_ktp | boolean | optional | false | Determinse wether KTP (indonesian ID) detection will be excecuted. The validation will check whether the image in input payload consist KTP. |
🎈Responses
Response Code
| Code | Description |
|---|---|
| 200 | Successful Response |
| 400 | Bad Request |
| 401 | Unauthorized |
| 500 | Internal Server Error |
Details for 200
| Key | Type | Description |
|---|---|---|
| message | string | Message that describe the overall response. |
| status_code | string | Status that indicate the billing calculation. See status code list in https://docs.verihubs.com/docs/status-code-id-forgery |
| reference_id | string | Used as the identity of the forgery check result. |
| image_quality | object | Describes image quality detail |
| blur | boolean | Describes whether input image is considered as blur (If it exceeds the threshold, it will detected as blur) |
| dark | boolean | Describes whether input image is considered as dark (If it exceeds the threshold, it will detected as dark) |
| flashlight | boolean | Detects whether flashlight is detected or not |
| grayscale | boolean | Detects whether KTP is black & white or no |
| forgery | boolean | Detects whether the KTP image is genuine or not |
Error Code
| Response Code | Error Message | Description |
|---|---|---|
| 400 | INVALID_PAYLOAD | no value in payload or empty string more than 1 |
| 400 | INVALID_PAYLOAD_IMAGE_MISSING | invalid payload image not a standard b64/url or image empty string |
| 400 | INVALID_PAYLOAD_IMAGE_SIZE | invalid payload image size too large |
| 400 | INVALID_PAYLOAD_IMAGE_FORMAT | image unable to be decoded/got from url OR invalid image extension |
| 400 | MISSING_PAYLOAD_IMAGE | missing payload image |
| 400 | INVALID_PAYLOAD_QUALITY_VALIDATION_DEPENDENCY | is_quality must be true if validate_quality true |
| 403 | INSUFFICIENT_QUOTA | quota for extract/quality is not sufficient to further continue the request (Only appears on testing mode) |
| 400 | KTP_NOT_DETECTED | ktp is not detected in the image |
| 200 | FAIL_ON_1 | fail on quality |
| 200 | FAIL_ON_2 | forgery detected |
| 500 | INTERNAL_SERVER_ERROR | internal server error |
Sample Responses
| Response Code | Response | Description |
|---|---|---|
| 200 | { "status_code": "FRG-1", "message": "Forgery detected", "error_code": "FAIL_ON_2", "data": { "reference_id": "d6dc256e-254b-41de-9ffa-cb63682b57be", "forgery": true, "image_quality": { "blur": true, "dark": false, "grayscale": false, "blur_score": 99.351166, "dark_score": 23.05619, "flashlight": false } } } | Request data parameter is valid. |
| 400 | { "message": "Invalid Payload", "data": { "message": "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. |
Updated 4 days ago
Did this page help you?
