Udyam Registration Check (OTP Based)
2 endpoints · Core API
Udyam Verification is a pivotal process for Micro, Small, and Medium Enterprises (MSMEs), involving registration with the Ministry of MSMEs to obtain a unique Udyam Registration Number or Udyam Aadhaar Number.
Advantages of Udyam Verification
Access to loans without requiring collateral: MSMEs can secure financial assistance from banks without the need for collateral. Financial incentives and benefits: This verification offers significant subsidies for patent registration, reduced electricity bills, and reimbursement for ISO certification expenses. Expanded business prospects: MSMEs with Udyam Verification gain preferential access to government tenders, facilitating business expansion.
What you can do
Authenticate Udyam registration via mobile OTP and access details of the registered Udyam entity, ensuring streamlined verification processes and facilitating easy access to essential information.
Udyam Registration OTP
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- consentstringrequiredRequired. The end user's consent to this verification. Send `Y`.minLength 1default Y
- consent_textstringrequiredRequired. The consent statement shown to the end user. Send the default text from the sample.minLength 1default I hear by declare my consent agreeme…
- request_idstringoptionalOptional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.nullable
- udyamRegistrationNostringrequiredThe Udyam registration number in the format UDYAM-XX-00-0000000.minLength 1pattern ^UDYAM-[A-Z]{2}-\d{2}-\d{7}$default UDYAM-MP-23-0007772
- mobilestringrequiredThe 10-digit Indian mobile number registered with the Udyam account for OTP delivery.length 10pattern ^[6-9]\d{9}$default 9890019894
- isPDFRequiredstringrequiredIndicates whether a PDF copy of the registration is required ('Y' or 'N').minLength 1pattern ^[YyNn]{1}$default Y
- getEnterpriseDetailsstringrequiredIndicates whether enterprise details should be fetched ('Y' or 'N').minLength 1pattern ^[YyNn]{1}$default Y
Sample request body
Responses
200OK
- successbooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 200
- messagestringoptionalNo description.nullabledefault XXXXX
- dataobjectoptionalResponse model for the Udyam registration OTP request.
4 fields
- request_idstringoptionalUnique identifier for the OTP request to be used in subsequent verification.nullable
- resultanyoptionalThe result payload of the OTP request.nullable
- statusstringoptionalStatus of the OTP request (e.g., success or failure).nullable
- messagestringoptionalDescriptive message about the OTP request outcome.nullable
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- isBillablebooleanoptionalWhether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500
Code samplescurl · Node.js · Python
Udyam Registration OTP Based Verify
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- requestIdstringrequiredThe request ID received from the OTP initiation step.minLength 1
- otpstringrequiredThe OTP received on the registered mobile number.minLength 1default 1060
Sample request body
Responses
200OK
- successbooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 200
- messagestringoptionalNo description.nullabledefault XXXXX
- dataobjectoptionalResponse model containing verified Udyam registration details.
2 fields
- resultanyoptionalThe result payload containing Udyam registration details.nullable
- statusMessagestringoptionalStatus message describing the verification outcome.nullable
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- isBillablebooleanoptionalWhether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500