Skip to main content

Prefill Orchestration API

The following document outlines the details of the Prefill Orchestration API.

API Description

Objective

The Prefill Orchestration API, also known as Prefill PAN API, retrieves user data using their name and mobile number. The retrieved details of the user enable automated form pre-filling and identity verification processes.

InputOutput
The user's name and mobile numberThe complete user profile including personal details, contact information, address history, email data, and identity documents. The complete list of output fields is available in the Success Response Details section

API URL

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

API Endpoint

prefillOrchestration

Overview

The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should send all data in JSON format 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.

API Request Details

Method - POST

Headers

ParameterMandatory or OptionalDescriptionValid Values
content-typeMandatoryThis parameter defines the media type for the request payloadapplication/json
appIdMandatoryThe application ID shared by HyperVergeNot Applicable - this is a unique value
appKeyMandatoryThe application key shared by HyperVergeNot Applicable - this is a unique value
transactionidMandatoryThe unique transaction ID for the user journeyNot Applicable - this is a unique value

Input

The following table provides the details of the parameters required for the API's request body:

ParameterMandatory or OptionalDescriptionAllowed ValuesDefault Value
nameMandatoryThe user's full nameNot ApplicableNot Applicable
mobileMandatoryThe user's mobile number10-digit mobile number formatNot 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/prefillOrchestration' \
--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_user_name>",
"mobile": "<Enter_the_mobile_number>"
}'

Success Response

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

{
"status": "success",
"statusCode": 200,
"result": {
"personalInfo": {
"fullName": "<Full_Name>",
"gender": "<Gender>",
"totalIncome": "XXXXX",
"occupation": "<Occupation>",
"age": "XX",
"dateOfBirth": "XX-XX-XXXX",
"mobile": "<Mobile_Number>"
},
"phoneInfo": [
{
"sequence": "1",
"typeCode": "H",
"reportedDate": "<Reported_Date>",
"number": "<Phone_Number>"
}
],
"emailInfo": [
{
"sequence": "1",
"reportedDate": "<Reported_Date>",
"emailAddress": "<Email_Address>"
}
],
"identityInfo": {
"passportNumber": [],
"aadhaarNumber": [
{
"sequence": "1",
"reportedDate": "<Reported_Date>",
"idNumber": "XXXXXXXXXXXX"
}
],
"rationCard": [],
"otherId": [
{
"sequence": "1",
"reportedDate": "<Reported_Date>",
"idNumber": "<ID_Number>"
}
],
"drivingLicense": [],
"voterId": [],
"panNumber": [
{
"sequence": "1",
"reportedDate": "<Reported_Date>",
"idNumber": "<PAN_Number>"
}
]
},
"addressInfo": [
{
"sequence": "1",
"reportedDate": "<Reported_Date>",
"address": "<Full_Address>",
"state": "<State>",
"postal": "<Postal_Code>",
"type": "<Address_Type>"
}
]
},
"metadata": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Success Response Details

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

ParameterTypeDescription
statusstringThe status of the request
statusCodenumberThe HTTP status code of the response
result.personalInfo.fullNamestringThe user's full legal name
result.personalInfo.genderstringThe user's gender
result.personalInfo.totalIncomestringThe reported or estimated monthly total income
result.personalInfo.occupationstringThe user's occupation or job title
result.personalInfo.agestringThe user's age
result.personalInfo.dateOfBirthstringThe user's date of birth
result.personalInfo.mobilestringThe user's mobile number
result.phoneInfo[].sequencestringThe sequence number of the phone record
result.phoneInfo[].typeCodestringThe phone type: H (Home), M (Mobile), T (Telephone)
result.phoneInfo[].reportedDatestringThe date when the phone number was last reported
result.phoneInfo[].numberstringThe phone number
result.emailInfo[].sequencestringThe sequence number of the email record
result.emailInfo[].reportedDatestringThe date when the email was last reported
result.emailInfo[].emailAddressstringThe email address
result.identityInfo.aadhaarNumber[].sequencestringThe sequence number for Aadhaar records
result.identityInfo.aadhaarNumber[].reportedDatestringThe date when Aadhaar was reported (if available)
result.identityInfo.aadhaarNumber[].idNumberstringThe Aadhaar number (masked)
result.identityInfo.panNumber[].sequencestringThe sequence number for PAN records
result.identityInfo.panNumber[].reportedDatestringThe date when PAN was reported
result.identityInfo.panNumber[].idNumberstringThe PAN number
result.identityInfo.otherId[].sequencestringThe sequence number for other IDs
result.identityInfo.otherId[].reportedDatestringThe date when other IDs were reported
result.identityInfo.otherId[].idNumberstringThe other ID numbers (e.g., user-specific IDs)
result.addressInfo[].sequencestringThe sequence number of the address record
result.addressInfo[].reportedDatestringThe date when the address was last reported
result.addressInfo[].addressstringThe full address details
result.addressInfo[].statestringThe state associated with the address
result.addressInfo[].postalstringThe postal or ZIP code
result.addressInfo[].typestringThe address type (e.g., Permanent, Owns)
metadata.requestIdstringThe unique request identifier
metadata.transactionIdstringThe transaction identifier

Error Responses

The following are some error responses from the API:

{
"status": "failure",
"statusCode": 400,
"error": "Name cannot be empty",
"metadata": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"status": "failure",
"statusCode": 404,
"error": "Customer not found",
"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 cannot be emptyThis error occurs when the name parameter is passed as an empty string
400Input Validation Error: mobile does not meet minimum length of 10This error occurs when the mobile number is not in 10-digit format
400Invalid mobile number formatThis error occurs when the mobile number format is invalid
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid values
404Customer not foundThis error occurs when the given mobile number is not found in the credit bureau
500Internal Server ErrorPlease contact HyperVerge for investigation
503External source downtimeThis error occurs when the external source is down
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: