Skip to main content

Criminal Risk Verification API

This document highlights the Criminal Risk Verification API details.

API Description

Objective

The Criminal Risk Verification API takes in information such as an individual's name, date of birth, and address as its inputs, and delivers a detailed risk assessment of their potential involvement in criminal activities.

InputOutput
The details of the individual being assessed for potential criminal involvementThe details corresponding to the criminal records fetched for the individual. The complete list of output fields is available in the Success Response Details section.
info
The Criminal Risk Verification API employs fuzzy matching techniques to compare the input details against the database. The API also provides a match score, which indicates the degree of similarity between the input details and the database records.

API URL

https://ind-engine.thomas.hyperverge.co/v1/criminalRiskCheck

API Endpoint

criminalRiskCheck

Overview

The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.

Authentication

You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.

Method - POST

Headers

ParameterMandatory or OptionalDescriptionAllowed Values
content-type MandatoryThis parameter defines the media type for the request payloadapplication/json
appId MandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
appKey MandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Inputs

The following table outlines the parameters required in the API's request body:

ParameterDescriptionMandatory or OptionalAllowed ValuesDefault Value
nameThe name of the individualMandatoryNot ApplicableNot Applicable
addressThe residential address of the individualMandatoryNot ApplicableNot Applicable
fathernameThe father name of the individualOptionalNot ApplicableNot Applicable

Request

The following code snippet demonstrates a standard curl request for the API:

curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/criminalRiskCheck' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"name": "<Enter_the_name>",
"address": "<Enter_the_address>",
"fatherName": "<Enter_the_father_name>"
}'

Success Responses

The following JSON code snippet demonstrates a success response from the API:

{
"status": "success",
"statusCode": "200",
"result": {
"color": "<Risk_Color>",
"numberOfCases": <Number_Of_Cases>,
"result": [
{
"address": "<Address_As_Found_In_Case_Details>",
"addressScore": <Address_Similarity_Score>,
"algoRisk": "<Risk_Level_From_Algorithm>",
"asrInfo": "<Additional_ASR_Info>",
"businessCategory": "<Business_Category>",
"caseCategory": "<Category_Of_The_Case>",
"caseFilter": "<Applied_Case_Filter>",
"caseNo": "<Case_Number>",
"caseStatus": "<Status_Of_The_Case>",
"caseTypeDescription": "<Case_Type_Description>",
"caseTypeName": "<Case_Type_Name>",
"caseYear": "<Year_Of_The_Case>",
"cnr": "<CNR_Number>",
"courtCode": <Court_Code>,
"courtName": "<Name_Of_The_Court>",
"decisionDate": "<Decision_Date_If_Available>",
"distCode": <District_Code>,
"distMatch": "<District_Match_Status>",
"distName": "<District_Name>",
"falconScore": <Falcon_Score>,
"fatherMatchType": "<Father_Name_Match_Type>",
"firNo": "<FIR_Number>",
"firstHearingDate": "<First_Hearing_Date>",
"isDistrict": <Is_District_Level_Case>,
"isState": <Is_State_Level_Case>,
"jurisdiction": <Jurisdiction_Flag>,
"jurisdictionType": "<Jurisdiction_Type>",
"link": "<Case_Link_URL>",
"matchedAddress": "<Matched_Address>",
"matchedName": "<Matched_Name>",
"maxWordsMatched": <Maximum_Words_Matched>,
"md5": "<MD5_Hash_Of_Case>",
"name": "<Name_Of_The_Person>",
"nameMatchType": "<Name_Match_Type>",
"nameScore": <Name_Similarity_Score>,
"natureOfDisposal": "<Nature_Of_Disposal>",
"oparty": "<Opposing_Party>",
"policeStation": "<Police_Station_Name>",
"purposeOfHearing": "<Purpose_Of_Hearing>",
"rawAddress": "<Raw_Address_From_Record>",
"registrationDate": "<Registration_Date>",
"score": <Overall_Case_Score>,
"source": "<Case_Source>",
"stateCode": <State_Code>,
"stateMatch": "<State_Match_Status>",
"stateName": "<State_Name>",
"totalNameMatch": <Total_Name_Matches>,
"type": <Case_Type_ID>,
"underActs": "<Acts_Under_Which_Case_Is_Registered>",
"underSections": "<Sections_Under_Which_Case_Is_Registered>",
"uniqCaseId": "<Unique_Case_Identifier>",
"verifycode": "<Verification_Code>",
"wordsMatched": [
"<Matched_Word_1>",
"<Matched_Word_2>"
],
"caseColor": "<Case_Color>"
}
]
},
"metaData": {
"requestId": "<Request_ID>"
}
}

Success Response Details

The following table outlines the details of the success response from the API:

ParameterTypeDescription
statusstringThe status of the request
statusCodeintegerThe HTTP status code returned by the API
colorstringThe risk color assigned to the individual based on the overall details and severity of all associated cases
numberOfCasesintegerThe total number of cases found
addressstringThe address found in the case record
addressScoreintegerThe confidence score for the address match
algoRiskstringThe algorithmically derived risk level
asrInfostringAdditional source registry information
businessCategorystringThe business category, if available
caseCategorystringThe category of the case
caseFilterstringThe filter applied for the type of case
caseNostringThe unique case number
caseStatusstringThe current status of the case
caseTypeDescriptionstringThe description of the case type
caseTypeNamestringThe name of the case type
caseYearstringThe year the case was registered
cnrstringThe unique case reference number
courtCodeintegerThe code of the court where the case was filed
courtNamestringThe name of the court handling the case
decisionDatestringThe date on which the decision was made
distCodeintegerThe code of the district where the case is registered
distMatchstringThe match result for the district name
distNamestringThe name of the district
falconScorenumberThe score computed by the Falcon algorithm
fatherMatchTypestringThe type of match found for the father's name
firNostringThe FIR number related to the case
firstHearingDatestringThe date of the first hearing for the case
isDistrictintegerIndicates if the jurisdiction is based on district (1 or 0)
isStateintegerIndicates if the jurisdiction is based on state (1 or 0)
jurisdictionbooleanSpecifies whether the case falls under jurisdiction
jurisdictionTypestringThe level of jurisdiction such as state or district
linkstringThe link to view the case document
matchedAddressstringThe address matched during verification
matchedNamestringThe name matched during verification
maxWordsMatchedintegerThe maximum number of words matched in the input
md5stringThe MD5 hash of the case document
namestringThe name involved in the case
nameMatchTypestringThe type of name match found
nameScoreintegerThe score for the name match
natureOfDisposalstringThe nature of the case disposal
opartystringThe name of the opposing party
policeStationstringThe name of the police station associated with the case
purposeOfHearingstringThe stated purpose for the court hearing
rawAddressstringThe unprocessed address data
registrationDatestringThe date when the case was registered
scorenumberThe final score used to determine risk
sourcestringThe source from which the case was fetched
stateCodeintegerThe code of the state where the case is registered
stateMatchstringThe match result for the state name
stateNamestringThe name of the state
totalNameMatchintegerThe total number of words matched in the name
typeintegerThe case type indicator
underActsstringThe acts under which the case is filed
underSectionsstringThe sections under which the case is filed
uniqCaseIdstringThe unique identifier for the case
verifycodestringThe verification code for the case report
wordsMatchedarrayThe list of matched words from the name or address
caseColorstringThe color indicating the severity of the case
requestIdstringThe unique request identifier provided in metadata

Error Responses

The following are the error responses from the API:

{
"message": "name should not be empty",
"statusCode": 400,
"status": "failure",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Error Response Details

A failure or error response from the module contains a failure status, with a relevant status code and error message. The following table lists all error responses:

Status CodeError MessageError Description
400name should not be emptyThe request has null or undefined value for name parameter
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid values
500Internal Server ErrorPlease check the request headers or contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: