API Request & Response

The ID Verification service validate the personal identity of your user in a quick and efficient way to protect your business from potential fraud. We provide you a simple API that can be quickly tested and integrated. Please check the details below on the components of our API.

Endpoint

MethodEndpoint
POSThttps://api.verihubs.com/data-verification/id-verification/verify

Headers

Key

Type

Description

App-ID

String

This is the Application ID that you can generate in the

Application Menu in Verihubs Client Dashboard

. The Client Dashboard have 2 modes, Sandbox and Production. Using the Application ID generated in Sandbox mode will return dummy all-true response in ID Verification Service, while using the Application ID generated in Production mode will process the data with the Authoritative Partner.

API-Key

String

API-Key that generated in the

Application Menu in Verihubs Client Dashboard

that paired to a specific Application ID.

🎈Request

Request Parameter

ParameterTypeDescriptionValidationExample
nikString16 digits of Nomor Induk Kependudukan as stated on the KTP.Must be 16 exact digit.9171022512990011
nameStringFull name as stated on the KTP.Must be alphabet.John Doe
birth_dateStringBirth date in DD-MM-YYYY format as stated on the KTP.Must be in DD-MM-YYYY format.01-01-1901
reference_idStringThis reference_id can be used to indicate your company’s transaction and must be unique. If the reference_id is not inputted, then Verihubs will generate one for youN/AID_CHECK_123

Response

HTTP Code

HTTP Code

Description

Response

200

Successful Transaction; Transaction where the data inputted had been successfully verified by the Authoritative Partner and the response has been returned by Verihubs to client.

{
"message": "ID Check verification has been done",
"data": \{
"id": "e3c0326e-23f7-49d0-8876-71528a860a0c",
"nik": true,
"name": false,
"birth_date": true,
"reference_id": "f3c0326e-23f7-49d0-8876-71528a860a0d"
}
}

400

Invalid Payload

401

Authorization Failed; Unauthorized transaction due to Application ID and/or API-Key issue. If this error appear, please check the possible reason below:

  1. Transaction performed using Sandbox Application ID but Production API-Key, vice versa.
  2. Transaction performed using an API-Key that's not linked to an Application ID, vice versa. This generally occur when a company has more than 1 credential in Verihubs.
{
"message": "Authorization Failed",
"error_code":    "UNAUTHORIZED",
"error_fields": []
}

403

Forbidden; The transaction is in Testing mode and you have 0 (zero) remaining quota. Please contact our team to top up your quota, or go live with the ID Verification service.

This condition only applies in Testing Mode.

{
"message": "Insufficient testing quota",
"error_code": "FORBIDDEN",
"error_fields": []
}

429

Too Many Request; Spam Error as the transaction is read as spam, please wait 10 seconds before re-performing the hit process with the same identity.

{
"message": "Too many request in the allowed time frame",
"error_code":       "TOO_MANY_REQUEST",
"error_fields": []
}

500

Internal Server Error; The transaction failed due to an unexpected error. An message will appear explaining the error with following possible reason:

  1. Access timeout in the Datasource; this means that your request has been forwarded but the server did not reply until the pre-set timeout time thus Verihubs terminate the transaction to prevent client to wait too long to get the conclusion.
  2. Intermittent errors occurred in the Datasource; this means that your request has been forwarded but the server in experiencing interruptions and unable to perform checking to your data.
  3. Internal server error; this means an unpredicted errors occurred in the server.
{
"message": "Internal Server Error",
"error_code":    "INTERNAL_SERVER_ERROR",
"error_fields": []
}

Response Parameter

ParameterTypeDescriptionExample
messagestringThe message of your transaction.ID Check verification has been done
data.idstringVerihubs auto generated Transaction ID. Consist of 36 digit UUID (32 digit exclude stripes).e3c0326e-23f7-49d0-8876-71528a860a0c
data.nikbooleanThe verification result of your NIK.true
data.namebooleanThe verification result of your name.true
data.birth_datebooleanThe verification result of your date of birth.true
data.reference_idbooleanClient inputted unique ID. If you did not input any, Verihubs will auto generate the ID.f3c0326e-23f7-49d0-8876-71528a860a0d

Response Case Example

Case

Description

Response

Verified

All data inputted (NIK, Name, Date of Birth) verified.

{
"message": "Identity verification has been done",
"data": \{
"id": "e3c0326e-23f7-49d0-8876-71528a860a0c",
"nik": true,
"name": true,
"birth_date": true,
"reference_id": "f3c0326e-23f7-49d0-8876-71528a860a0d"
}
}

NIK Not Found

NIK inputted not found in the government database.

{
"message": "Identity verification has been done",
"data": \{
"id": "e3c0326e-23f7-49d0-8876-71528a860a0c",
"nik": false,
"name": null,
"birth_date": null,
"reference_id": "f3c0326e-23f7-49d0-8876-71528a860a0d"
}
}

Name Not Match

Name inputted did not match the name recorded in the government database.

{
"message": "Identity verification has been done",
"data": \{
"id": "e3c0326e-23f7-49d0-8876-71528a860a0c",
"nik": true,
"name": false,
"birth_date": true,
"reference_id": "f3c0326e-23f7-49d0-8876-71528a860a0d"
}
}

Date of Birth Not Match

Date of Birth inputted did not match the date of birth recorded in the government database.

{
"message": "Identity verification has been done",
"data": \{
"id": "e3c0326e-23f7-49d0-8876-71528a860a0c",
"nik": true,
"name": true,
"birth_date": false,
"reference_id": "f3c0326e-23f7-49d0-8876-71528a860a0d"
}
}