ICSI Verification

1 endpoint · Core API

The Institute of Company Secretaries of India (ICSI), overseen by the Ministry of Corporate Affairs, is a leading professional organization in India. Authenticate the legitimacy of an ICSI membership number and member details via the ICSI verification API. It ensures swift validation of membership credentials, facilitating efficient verification processes. By integrating this API, organizations can streamline onboarding procedures and mitigate the risk of fraudulent activities.

What you can do

This API authenticates Membership Numbers of Company Secretaries of India based on either the Membership Number or Certificate of Practice (CP) Number, ensuring reliable verification of CS credentials

POST

/api/v1/icsi/verify

#

Get ICSI Verification details

docs.signcare.io/core/api/professional-bodies/icsi-verification/#post-api-v1-icsi-verify

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. 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_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • membershipNo
    stringrequired
    Gets or sets the ICSI membership number to verify. Must start with 'A' or 'F' followed by digits.
    minLength 5maxLength 7pattern ^(A|F)\d{4,6}$default A4567
  • cpNo
    stringoptional
    Gets or sets the optional Certificate of Practice number.
    nullable
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "membershipNo": "A4567" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model containing ICSI membership verification details.
    12 fields
    • organization
      stringoptional
      Gets or sets the organization the member is associated with.
      nullabledefault COCHIN MINERALS & RUTILE LTD.
    • city
      stringoptional
      Gets or sets the city of the member.
      nullabledefault KOCHI
    • designation
      stringoptional
      Gets or sets the designation of the member.
      nullabledefault CHIEF GEN MANAGER(FIN)&CO SECY
    • benevolentMember
      stringoptional
      Gets or sets the benevolent member status.
      nullable
    • phone
      stringoptional
      Gets or sets the phone number of the member.
      nullable
    • membershipNumber
      stringoptional
      Gets or sets the ICSI membership number.
      nullabledefault A4567
    • cpNumber
      stringoptional
      Gets or sets the Certificate of Practice number.
      nullabledefault 0
    • address
      stringoptional
      Gets or sets the address of the member.
      nullabledefault P.B. NO.73,,VIII / 224,MARKET ROAD,K…
    • mobile
      stringoptional
      Gets or sets the mobile number of the member.
      nullabledefault 9447021114
    • email
      stringoptional
      Gets or sets the email address of the member.
      nullabledefault SKUMARPAI@GMAIL.COM
    • memberName
      stringoptional
      Gets or sets the full name of the member.
      nullabledefault CS P SURESHKUMAR
    • memberImage
      stringoptional
      Gets or sets the Base64-encoded image of the member.
      nullabledefault /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgG…
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether 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": { "organization": "COCHIN MINERALS & RUTILE LTD.", "city": "KOCHI", "designation": "CHIEF GEN MANAGER(FIN)&CO SECY", "benevolentMember": null, "phone": null, "membershipNumber": "A4567", "cpNumber": "0", "address": "P.B. NO.73,,VIII / 224,MARKET ROAD,Kerala,,KOCHI,683101", "mobile": "9447021114", "email": "SKUMARPAI@GMAIL.COM", "memberName": "CS P SURESHKUMAR", "memberImage": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgK..." }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No 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/icsi/verify' \ -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", "membershipNo": "A4567" }'