Skip to main content

PAN to Udyam Details API

This document highlights the PAN to Udyam Details API details.

API Description

Objective

The PAN to Udyam Details API retrieves the Udyam Aadhaar (MSME) registration details associated with a Permanent Account Number (PAN)

InputOutput
The 10-digit PAN of the user and consentThe Udyam Aadhaar registration details corresponding to the PAN including enterprise information, addresses, and classification history. A complete list of details returned by the API is provided under the Success Response Details section
Udyam Registration

Udyam Registration is a system for registering Micro, Small, and Medium Enterprises (MSMEs) in India. The "Udyam" or "MSME" registration number is a unique 19-digit identification number given to entities registered under this system.

API URL

https://ind-thomas.hyperverge.co/v1/panToUdyamDetails

API Endpoint

panToUdyamDetails

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.

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)

Input

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

ParameterDescriptionMandatory or OptionalAllowed ValuesDefault Value
panThe PAN of the user, which is a unique identifier for taxpayers in IndiaMandatoryFormat: 'CCCCCDDDDC' format, where 'C' represents a character and 'D' represents a digitNot Applicable
consentThe user's consent for accessing Udyam detailsMandatoryyes, noNot Applicable

Request

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

curl --location --request POST 'https://ind-thomas.hyperverge.co/v1/panToUdyamDetails' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"pan": "<Enter_the_PAN>",
"consent": "<Enter_yes_or_no>"
}'

Success Response

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

{
"status": "success",
"statusCode": 200,
"result": {
"pan": "<Masked_PAN_Number>",
"udyamList": [
{
"udyamNumber": "<Udyam_Registration_Number>",
"enterpriseName": "<Enterprise_Name>",
"udyamDetails": {
"udyamRegNo": "<Udyam_Registration_Number>",
"dateOfReg": "<Registration_Date>",
"districtIndustriesCenter": "<DIC_Name>",
"msmeDfo": "<MSME_DFO>",
"profile": {
"enterpriseName": "<Enterprise_Name>",
"enterpriseType": "<Enterprise_Type>",
"majorActivity": "<Major_Activity>",
"organizationType": "<Organization_Type>",
"socialCategory": "<Social_Category>",
"dateOfIncorporation": "<Incorporation_Date>",
"dateOfCommencement": "<Commencement_Date>"
},
"branchDetails": [
{
"name": "<Branch_Name>",
"flat": "<Flat_Number>",
"premises": "<Premises_Name>",
"village": "<Village_Name>",
"block": "<Block_Name>",
"road": "<Road_Name>",
"city": "<City_Name>",
"pincode": "<Pincode>",
"state": "<State_Name>",
"district": "<District_Name>"
}
],
"officialAddress": {
"flat": "<Flat_Number>",
"premises": "<Premises_Name>",
"village": "<Village_Name>",
"block": "<Block_Name>",
"road": "<Road_Name>",
"city": "<City_Name>",
"state": "<State_Name>",
"pincode": "<Pincode>",
"district": "<District_Name>",
"email": "<Email_Address>",
"mobile": "<Mobile_Number>"
},
"enterpriseTypeHistory": [
{
"classificationYear": "<Classification_Year>",
"enterpriseType": "<Enterprise_Type>",
"classificationDate": "<Classification_Date>"
}
]
}
}
]
},
"metaData": {
"requestId": "<Unique_Request_Identifier>",
"transactionId": "<Unique_Transaction_Identifier>"
}
}

Success Response Details

ParameterTypeDescription
statusstringThe status of the request
statusCodeintegerThe HTTP status code of the response
panstringThe PAN for which Udyam details are fetched
udyamNumberstringThe unique Udyam Registration Number
enterpriseNamestringThe name of the registered MSME enterprise
udyamRegNostringThe registration number of the MSME enterprise
dateOfRegstringThe date on which the Udyam was registered
districtIndustriesCenterstringThe name of the DIC (District Industries Center) handling the registration
msmeDfostringThe MSME District Facilitation Office jurisdiction
enterpriseTypestringThe classification of the enterprise
majorActivitystringThe major business activity of the enterprise
organizationTypestringThe legal structure of the enterprise
socialCategorystringThe social category of the owner
dateOfIncorporationstringThe company incorporation date
dateOfCommencementstringThe business commencement date
branchDetailsarrayThe list of branch office addresses
officialAddressobjectThe registered office address details
enterpriseTypeHistoryarrayThe history of MSME classification with year and type
requestIdstringThe unique identifier for the request
transactionIdstringThe transaction ID associated with the request

Failure Response

The following is a failure response from the API:

{
"status": "failure",
"statusCode": 404,
"error": "No record found",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Error Responses

The following are the error responses from the API:

{
"status": "failure",
"statusCode": 400,
"error": "Invalid pan",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Failure and 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
400Invalid PANThe PAN format is invalid or incorrect
400consent is missingThe consent value is not one of the allowed enum values: yes, no
400Consent is missing or invalidThe request is missing the required consent parameter or has an invalid value
400PAN is missingThe PAN field is empty in the request body
400PAN undefinedThe PAN field is not defined in the request body
400Consent undefinedThe consent field is not defined in the request body
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid values
404No record foundNo Udyam details found for the given PAN
422Inactive PANThe provided PAN is inactive
500Internal server errorPlease check the request headers or contact the HyperVerge team for resolution
503External source downtimePlease 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: