by Profiden

Udyam Advanced Submit OTP

Business & KYB

Step 2 of Udyam Advanced - submits the OTP and returns full Udyam details including owner, PAN, contact, bank, emver and financials.

Endpoint

POST https://app.emver.io/api/sandbox/v1/udyam-advanced-submit-otp
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Request parameters

FieldTypeDescription
udyam_otp_reference_id required string Reference ID reference_id returned by Udyam Advanced (Generate OTP)
udyam_otp_code required string OTP

Example request

cURL
curl -X POST https://app.emver.io/api/sandbox/v1/udyam-advanced-submit-otp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "udyam_otp_reference_id": "string",
    "udyam_otp_code": "string"
}'

Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.

Response

Structure · 200

{
  "status": INTEGER,
  "message": STRING
}

Example · 200

{
  "status": 200,
  "message": "string"
}

Error · 4xx / 5xx

{
  "status": INTEGER,
  "message": STRING
}

See Errors & status codes for what each status means and which calls are billed.

About this API

Udyam Advanced Submit OTP

Step 2 of Udyam Advanced - submits the OTP and returns full Udyam details including owner, PAN, contact, bank, emver and financials.

Endpoint

POST /api/v1/udyam-advanced-submit-otp
Content-Type: application/json

Request parameters

FieldRequiredDescription
udyam_otp_reference_idYesReference ID - reference_id returned by Udyam Advanced (Generate OTP). Example: Reference ID from OTP step
udyam_otp_codeYesOTP. Example: 123456

Sample request

{
  "udyam_otp_reference_id": "Reference ID from OTP step",
  "udyam_otp_code": "123456"
}

Sample success response

{
  "status": 200,
  "message": "Verification successful",
  "data": {
    "udyam_number": "...",
    "registration_date": "...",
    "enterprise_name": "...",
    "enterprise_type": "...",
    "major_activity": "...",
    "organization_type": "...",
    "social_category": "...",
    "date_of_incorporation": "...",
    "date_of_commencement": "...",
    "gender": "...",
    "dob": "...",
    "district_industries_center": "...",
    "msme_dfo": "...",
    "official_address": "...",
    "branch_details": "...",
    "industry": "...",
    "enterprise_type_history": "...",
    "owner_name": "...",
    "pan": "...",
    "mobile": "...",
    "email": "...",
    "specially_abled": "...",
    "itr_status": "...",
    "itr_type": "...",
    "gstin_status": "...",
    "interested_in_treds": "...",
    "interested_in_gem": "...",
    "bank_details": "...",
    "employment_details": "...",
    "financials": "..."
  }
}

Sample error response

{
  "status": 404,
  "message": "No record found for the given input"
}

Response status codes

The status field in the response body indicates the verification outcome.

statusMeaning
200Verification successful
400Invalid input / verification failed
404No record found
422Invalid or missing input parameters
500Source unavailable - retry later