Skip to main content

Establishment Advanced API

The following document highlights the details of the Establishment Advanced API.

API Description

Objective

The Establishment Advanced API retrieves registration details, compliance status, and historical filing information for a given organization (establishment).

InputOutput
Establishment name and establishment details countRegistration details (name, code, address, contact), compliance and exemption status, and historical ECR filing records. The complete list of output fields is available in the Success Response Details section

API URL

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

API Endpoint

establishmentAdvanced

Overview

The Establishment Advanced API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format, and you should send all inputs as a JSON body through a POST request.

Method - POST

Authentication

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

Headers

HeaderMandatory / OptionalDescriptionInput Format
content-typeMandatoryThis parameter defines the media type for the request payloadapplication/json
appIdMandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
appKeyMandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tabThis 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 provides the details of the parameters required for the Establishment Advanced API's request body:

ParameterMandatory / OptionalTypeDescriptionInput FormatDefault Value
establishmentNameMandatorystringThe registered name of the establishmentNot ApplicableNot Applicable
establishmentDetailsCountMandatorystringThe maximum number of matching establishment records to include in the responseNot ApplicableNot Applicable

Request

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

curl --location 'https://ind-engine.thomas.hyperverge.co/v1/establishmentAdvanced' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_App_ID>' \
--header 'appKey: <Enter_the_App_Key>' \
--header 'transactionId: <Enter_the_Transaction_ID>' \
--data '{
"establishmentName": "<Enter_the_Establishment_Name>",
"establishmentDetailsCount": "<Enter_the_Establishment_Details_Count>"
}'

Success Response

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

{
"status": "success",
"statusCode": 200,
"result": [
{
"establishmentDetails": {
"confidenceScore": "<Confidence_Score>",
"establishmentName": "<Establishment_Name>",
"establishmentCode": "<Establishment_Code>",
"cinCode": "<CIN_Code>",
"panStatus": "<PAN_Status>",
"sectionApplicable": "<Section_Applicable>",
"esicCode": "<ESIC_Code>",
"ownershipType": "<Ownership_Type>",
"address": "<Address>",
"district": "<District>",
"city": "<City>",
"state": "<State>",
"country": "<Country>",
"pinCode": "<Pin_Code>",
"epfoOfficeName": "<EPFO_Office_Name>",
"epfoOfficeAddress": "<EPFO_Office_Address>",
"zone": "<Zone>",
"region": "<Region>",
"primaryBusinessActivity": "<Primary_Business_Activity>",
"dateOfSetup": "<Date_Of_Setup>",
"estContact": "<Establishment_Contact>",
"estEmail": "<Establishment_Email>"
},
"establishmentStatus": {
"exemptionStatus": "<Exemption_Status>",
"workingStatus": "<Working_Status>",
"coverageSection": "<Coverage_Section>",
"actionableStatus": "<Actionable_Status>",
"dateOfCoverage": "<Date_Of_Coverage>"
},
"validityStatus": {
"establishmentCode": "<Establishment_Code>",
"establishmentName": "<Establishment_Name>",
"establishmentStatus": "<Establishment_Status>",
"registrationStatusOnEcrPortal": "<Registration_Status_On_ECR_Portal>",
"postCoverageStatus": "<Post_Coverage_Status>"
},
"estHistoryDetails": [
{
"totalAmount": "<Total_Amount>",
"employeesCount": "<Employees_Count>",
"wageMonth": "<Wage_Month>",
"filingDates": "<Filing_Dates>"
}
]
}
],
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Success Response Details

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

ParameterTypeDescription
statusstringThe status of the request
statusCodenumberThe HTTP status code for the response
resultarrayArray of matching establishment records
result[].establishmentDetailsobjectCore registration and contact details of the establishment
result[].establishmentDetails.confidenceScorenumberMatching confidence score indicating how closely the input matched the establishment
result[].establishmentDetails.establishmentNamestringOfficial name of the establishment registered with EPFO
result[].establishmentDetails.establishmentCodestringUnique EPFO code assigned to the establishment
result[].establishmentDetails.cinCodestringCorporate Identification Number (CIN) of the establishment, if available
result[].establishmentDetails.panStatusstringStatus of the PAN associated with the establishment
result[].establishmentDetails.sectionApplicablestringEPFO section under which the establishment is covered
result[].establishmentDetails.esicCodestringESIC code assigned to the establishment, if available
result[].establishmentDetails.ownershipTypestringType of ownership of the establishment
result[].establishmentDetails.addressstringRegistered address of the establishment
result[].establishmentDetails.districtstringDistrict where the establishment is located
result[].establishmentDetails.citystringCity where the establishment operates
result[].establishmentDetails.statestringState where the establishment is registered
result[].establishmentDetails.countrystringCountry where the establishment operates
result[].establishmentDetails.pinCodestringPostal PIN code of the establishment
result[].establishmentDetails.epfoOfficeNamestringName of the EPFO office responsible for the establishment
result[].establishmentDetails.epfoOfficeAddressstringAddress of the EPFO office managing the establishment
result[].establishmentDetails.zonestringEPFO administrative zone covering the establishment
result[].establishmentDetails.regionstringEPFO regional office jurisdiction
result[].establishmentDetails.primaryBusinessActivitystringPrimary business activity of the establishment
result[].establishmentDetails.dateOfSetupstringDate when the establishment was set up
result[].establishmentDetails.estContactstringContact number associated with the establishment
result[].establishmentDetails.estEmailstringEmail address associated with the establishment
result[].establishmentStatusobjectCurrent operational and compliance status of the establishment
result[].establishmentStatus.exemptionStatusstringEPFO exemption status for PF, Pension, and EDLI schemes
result[].establishmentStatus.workingStatusstringCurrent operational status of the establishment
result[].establishmentStatus.coverageSectionstringEPFO coverage section applicable to the establishment
result[].establishmentStatus.actionableStatusstringActionable compliance status for the establishment
result[].establishmentStatus.dateOfCoveragestringDate on which the establishment was brought under EPFO coverage
result[].validityStatusobjectValidity and registration status of the establishment on EPFO portals
result[].validityStatus.establishmentCodestringEPFO code used for validity verification
result[].validityStatus.establishmentNamestringEstablishment name used for validity verification
result[].validityStatus.establishmentStatusstringValidity status of the establishment
result[].validityStatus.registrationStatusOnEcrPortalstringStatus of registration on the EPFO ECR portal
result[].validityStatus.postCoverageStatusstringPost-coverage compliance status of the establishment
result[].estHistoryDetailsarrayHistorical EPFO filing records for the establishment
result[].estHistoryDetails[].totalAmountstringTotal PF contribution amount filed for the wage month
result[].estHistoryDetails[].employeesCountstringNumber of employees reported for the wage month
result[].estHistoryDetails[].wageMonthstringWage month for which the EPFO filing was submitted
result[].estHistoryDetails[].filingDatesstringDates on which EPFO filings were submitted for the wage month
metaDataobjectMetadata associated with the API transaction
metaData.requestIdstringUnique identifier for the API request
metaData.transactionIdstringTransaction identifier associated with the user journey

Error Responses

The following are some error responses from the Establishment Advanced API:

{
"message": "Input Validation Error: requires property \"establishmentName\"",
"statusCode": 400,
"status": "failure"
}
{
"status": "failure",
"statusCode": 404,
"error": "No record found",
"metadata": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Error Response Details

A failure or error response contains a failure status with a relevant status code and error message. The following table lists the error responses for the Establishment Advanced API:

Status CodeError MessageError DescriptionError Resolution
400Input Validation Error: requires property "establishmentName"The establishmentName field is missing from the request payloadInclude the establishmentName field in the request body
400Input Validation Error: requires property "establishmentDetailsCount"The establishmentDetailsCount field is missing from the request payloadInclude the establishmentDetailsCount field in the request body
400Invalid input parameterThe establishmentName or establishmentDetailsCount field is present but emptyProvide a non-empty value for the field
401Missing/Invalid credentialsThe request is missing the mandatory appId and appKey combination or has invalid valuesVerify and provide valid credentials
404No record foundNo establishment record matching the provided input exists in the source systemVerify the establishment name and retry with a valid input
429Maximum retry limit exceededToo many requests were sent in a short periodReduce the request frequency and retry after some time
500Internal Server ErrorKindly check the request headers or contact the HyperVerge team for resolutionCheck the request headers or contact the HyperVerge team for resolution
503External source downtimeThe upstream EPFO source is unavailable or experiencing downtimeRetry after some time or contact the HyperVerge team if the issue persists
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: