Import Export Certificate Verification (IEC)

1 endpoint · Core API

The Importer-Exporter Code (IEC), issued by the Directorate General of Foreign Trade (DGFT), serves as a crucial business identification number necessary for conducting exports or imports. This API facilitates obtaining detailed information about an importer-exporter by their IEC. It enables businesses and regulatory authorities to verify the legitimacy and compliance status of importers and exporters, ensuring adherence to trade regulations and promoting transparency in international trade transactions, thereby facilitating smoother customs clearance processes, and fostering trust among trading partners.

What you can do

This API streamlines the authentication process and populates a detailed profile of importers or exporters by accessing IEC records maintained by DGFT.

POST

/api/v1/iec/verify

#

Get IEC Verification details

docs.signcare.io/core/api/business-registration/import-export-certificate-verification-iec/#post-api-v1-iec-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
  • iecCode
    stringrequired
    Required. 10-character Importer Exporter Code (IEC): either 10 digits (older IECs) or the firm's PAN in capitals, e.g. ABCDE1234F (IECs issued since 2018).
    length 10pattern ^([0-9]{10}|[A-Z]{5}[0-9]{4}[A-Z])$default 0388000000
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "iecCode": "0388000000" }

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 IEC verification details.
    24 fields
    • file_number
      stringoptional
      Gets or sets the file number associated with the IEC.
      nullable
    • bin_pan_extension
      stringoptional
      Gets or sets the BIN/PAN extension.
      nullable
    • ie_code
      stringoptional
      Gets or sets the Import Export code.
      nullable
    • iec_status
      stringoptional
      Gets or sets the current status of the IEC.
      nullable
    • no_of_branches
      stringoptional
      Gets or sets the number of branches registered under this IEC.
      nullable
    • registration_details
      array<object>optional
      Gets or sets the list of registration details associated with the IEC holder.
      nullable
      Each item: 4 fields
      • reg_no
        stringoptional
        Gets or sets the registration number.
        nullable
      • reg_type
        stringoptional
        Gets or sets the type of registration.
        nullable
      • reg_place
        stringoptional
        Gets or sets the place of registration.
        nullable
      • reg_date
        stringoptional
        Gets or sets the date of registration.
        nullable
    • nature_of_concern
      stringoptional
      Gets or sets the nature of concern (e.g., proprietorship, partnership).
      nullable
    • iecgate_status
      stringoptional
      Gets or sets the IEC Gate status.
      nullable
    • directors
      array<object>optional
      Gets or sets the list of directors associated with the IEC holder.
      nullable
      Each item: 4 fields
      • father_name
        stringoptional
        Gets or sets the father's name of the director.
        nullable
      • dir_name
        stringoptional
        Gets or sets the name of the director.
        nullable
      • address
        stringoptional
        Gets or sets the address of the director.
        nullable
      • contact_no
        stringoptional
        Gets or sets the contact number of the director.
        nullable
    • party_name_and_address
      stringoptional
      Gets or sets the party name and address.
      nullable
    • pan
      stringoptional
      Gets or sets the PAN number of the IEC holder.
      nullable
    • pan_issued_by
      stringoptional
      Gets or sets the authority that issued the PAN.
      nullable
    • date_of_establishment
      stringoptional
      Gets or sets the date of establishment of the entity.
      nullable
    • address
      stringoptional
      Gets or sets the registered address.
      nullable
    • iec_allotment_date
      stringoptional
      Gets or sets the date when the IEC was allotted.
      nullable
    • branches
      array<object>optional
      Gets or sets the list of branches registered under this IEC.
      nullable
      Each item: 2 fields
      • branch_code
        stringoptional
        Gets or sets the branch code.
        nullable
      • address
        stringoptional
        Gets or sets the branch address.
        nullable
    • name
      stringoptional
      Gets or sets the name of the IEC holder.
      nullable
    • e_mail
      stringoptional
      Gets or sets the email address of the IEC holder.
      nullable
    • file_date
      stringoptional
      Gets or sets the file date.
      nullable
    • phone_no
      stringoptional
      Gets or sets the phone number of the IEC holder.
      nullable
    • exporter_type
      stringoptional
      Gets or sets the type of exporter.
      nullable
    • pan_issue_date
      stringoptional
      Gets or sets the date the PAN was issued.
      nullable
    • bank_details
      stringoptional
      Gets or sets the bank details of the IEC holder.
      nullable
    • rcmc_details
      array<object>optional
      Gets or sets the list of RCMC (Registration Cum Membership Certificate) details.
      nullable
      Each item: 5 fields
      • rcmc_type
        stringoptional
        Gets or sets the type of RCMC.
        nullable
      • rcmc_no
        stringoptional
        Gets or sets the RCMC number.
        nullable
      • rcmc_issued_by
        stringoptional
        Gets or sets the authority that issued the RCMC.
        nullable
      • rcmc_issue_date
        stringoptional
        Gets or sets the date the RCMC was issued.
        nullable
      • rcmc_exp_date
        stringoptional
        Gets or sets the expiry date of the RCMC.
        nullable
  • 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": { "file_number": "string", "bin_pan_extension": "string", "ie_code": "string", "iec_status": "string", "no_of_branches": "string", "registration_details": [ { "reg_no": "string", "reg_type": "string", "reg_place": "string", "reg_date": "string" } ], "nature_of_concern": "string", "iecgate_status": "string", "directors": [ { "father_name": "string", "dir_name": "string", "address": "string", "contact_no": "string" } ], "party_name_and_address": "string", "pan": "string", "pan_issued_by": "string", "date_of_establishment": "string", "address": "string", "iec_allotment_date": "string", "branches": [ { "branch_code": "string", "address": "string" } ], "name": "string", "e_mail": "string", "file_date": "string", "phone_no": "string", "exporter_type": "string", "pan_issue_date": "string", "bank_details": "string", "rcmc_details": [ { "rcmc_type": "string", "rcmc_no": "string", "rcmc_issued_by": "string", "rcmc_issue_date": "string", "rcmc_exp_date": "string" } ] }, "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/iec/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", "iecCode": "0388000000" }'