MCA Signatories
1 endpoint · Core API
The MCA Signatory Verification API provides access to master data user services offered by the Ministry of Corporate Affairs (MCA). This allows users to verify details of private companies or LLPs, helping prevent fraudulent activities. Additionally, it enables verification of signatory details through the official MCA website. This API enhances transparency and integrity in business transactions, ensuring compliance with regulations and fostering trust among stakeholders in the corporate sector.
What you can do
Verify company/LLP directors/partners' authenticity through this API, ensuring reliable and accurate information
Get MCA signatories details
docs.signcare.io/core/api/company-data/mca-signatories/#post-api-v1-mcasignatory
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
- cinstringrequiredRequired. 21-character Corporate Identification Number (CIN) in uppercase, starting with U or L (for example U12345MH2000PTC123456).length 21pattern ^[UL][0-9]{5}[A-Z]{2}[0-9]{4}[A-Z]{3}[0-…default U74999MH2020PTC338257
Sample request body
{
"consent": "Y",
"consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API",
"cin": "U74999MH2020PTC338257"
}
Responses
200OK
- successbooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 200
- messagestringoptionalNo description.nullabledefault XXXXX
- dataobjectoptionalResponse model containing MCA signatory verification results.
1 field
- resultarray<object>optionalGets or sets the list of signatory details for the company.nullable
Each item: 7 fields
- date_of_appointmentstringoptionalNo description.nullable
- designationstringoptionalNo description.nullable
- dsc_expiry_datestringoptionalNo description.nullable
- wheather_dsc_registeredstringoptionalNo description.nullable
- DIN/DPIN/PANstringoptionalNo description.nullable
- full_namestringoptionalNo description.nullable
- addressstringoptionalNo description.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.
Example
{
"success": false,
"statusCode": 200,
"message": "XXXXX",
"data": {
"result": [
{
"date_of_appointment": "string",
"designation": "string",
"dsc_expiry_date": "string",
"wheather_dsc_registered": "string",
"DIN/DPIN/PAN": "string",
"full_name": "string",
"address": "string"
}
]
},
"messages": [
"string"
],
"request_id": "string",
"isBillable": false
}
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
Example
{
"data": {},
"messages": [
"string"
],
"request_id": "string",
"success": false,
"message": "XXXXX",
"isBillable": false,
"statusCode": 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
Example
{
"data": {},
"messages": [
"string"
],
"request_id": "string",
"success": false,
"message": "XXXXX",
"isBillable": false,
"statusCode": 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
Example
{
"data": {},
"messages": [
"string"
],
"request_id": "string",
"success": false,
"message": "XXXXX",
"isBillable": false,
"statusCode": 500
}
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/McaSignatory' \
-H 'X-API-KEY: YOUR_API_KEY' \
-H 'X-API-APP-ID: YOUR_APP_ID' \
-H 'Content-Type: application/json' \
-d '{
"consent": "Y",
"consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API",
"cin": "U74999MH2020PTC338257"
}'