Get MSME Status Using PAN API

AI Tools

API v1 Flow v1

VERIFY IF A GIVEN PAN NUMBER IS REGISTERED AS MSME IN UDYAM DATABASE


Description

Under the new law imposed under Section 43B(h) of the Income Tax Act, the payments to Micro and Small enterprise vendors must be made within 45 days of delivery in order to claim tax deductions. The requirement to contact all of the existing vendors and request that they produce the MSME certificate has presented difficulties for the companies. Finding out if a seller is already registered under the MSME category may take a while.

This API provide the live MSME status for a given vendor PAN number. By offering an automation, it resolves the ordinarily challenging issue of manually verifying the MSME status of vendors. If a PAN number is entered, this API returns whether or not the PAN is already listed in the UDYAM database as an MSME.


The legacy data processing model is being formally deprecated.

In order to ensure continued compliance with the Digital Personal Data Protection Act, 2023 (DPDP Act), we are implementing DPDP V3 (Consent-Driven Processing). Under this framework, clients are required to obtain explicit, informed, and verifiable consent from the data principal prior to accessing, processing, viewing, or storing any personal data through the platform. This regulatory transition may require modifications to existing configurations and workflows. Clients are advised to review and update their implementations to ensure ongoing compliance with applicable data protection obligations. Further information regarding this transition can be enquired here. Learn more about this change here.

API Details


Request

Type

URL

POST

https://api.attestr.com/api/{version}/public/corpx/pan-msme-status

Request Body Parameters

Type

Name

Description

Optional (default)

Min Version

Max Version

String

pan

PAN number to be checked in MSME database.

Required

v1


String

birthOrIncorporatedDate

Date of birth for individual PAN or incorporation date in case of company PAN ( DD/MM/YYYY )

Required

v1


String

name

Registered legal name as per PAN records

Required

v1


Request Header Parameters

Type

Name

Value / Description

Optional

Min Version

Max Version

String

Content-Type

application/json

Required

v1


String

Authorization

Basic {authToken}

Required

v1


Info

If you do not have the authentication token, please refer to Register App to generate one.

Sample Request Payload

{ "pan": "ABCDP1234R", "birthOrIncorporatedDate": "13/07/2017", "name": "Acme Corporations" }

Response

HTTP status code 200

Key

Description

Type

Min Version

Max Version

valid

True | false indicating if the provided PAN is valid.

Boolean

v1


message

Detail message explaining the outcome

String

v1


status

Status code. Possible values are -

ALREADY_REGISTERED Provided PAN is already registered as MSME. NOT_REGISTERED PAN is not registered as MSME.

INVALID_PAN Provided PAN is invalid / inactive

MAX_LIMIT_EXCEEDED Daily limit exceeded for the provided PAN number.

String

v1


msmeRegistered

Flag indicating is registered as MSME or not.

Boolean

v1


panStatus

Status of the provided PAN details. Possible values are as follows.

VALID_DETAILS_MATCHED Provided details matched

VALID_DETAILS_NOT_MATCHED Provided details do not match

INVALID Provided PAN does not exist

MAX_LIMIT_EXCEEDED Maximum daily attempts exceeded for the provided PAN

String

v1


Sample Response

Sample response for valid PAN number - MSME Registered

{ "valid": true, "message": "PAN is registered as MSME", "status": "ALREADY_REGISTERED", "msmeRegistered": true, "panStatus": "VALID_DETAILS_MATCHED" }

Sample response for valid PAN Number - MSME Not Registered

{ "valid": true, "message": "PAN is not registered as MSME", "status": "NOT_REGISTERED", "msmeRegistered": false, "panStatus": "VALID_DETAILS_MATCHED" }

Sample response for invalid PAN Number

{ "valid": false, "message": "Provided PAN details are invalid / not active", "status": "INVALID_PAN", "msmeRegistered": null, "panStatus": "INVALID" }

Sample response for a particular PAN number daily limit exceeded

{ "valid": false, "message": "Max attempts exceeded for the provided PAN", "status": "MAX_LIMIT_EXCEEDED", "msmeRegistered": null, "panStatus": "MAX_LIMIT_EXCEEDED" }

Error Response

Parameter

Type

Description

code

Number

Unique error codes for different errors. Always available.

message

String

Error message describing the error. Always Available.

details

String

Detail error message. Available only for certain types of errors.

Error Codes

HTTP Status

Error Code

Error Message

400

4001

Malformed data or missing required parameter values

400

4005

Operation could not be performed due to low credits balance

401

4016

Invalid client authorization

403

4031

Unauthorized access

403

4035

Requested service is not provisioned for your account

403

4039

Client's IP address is not whitelisted

403

4035

Requested service is not provisioned for your account

429

4291

Maximum account rate limit exceeded

429

4292

Maximum API rate limit exceeded

429

4293

Maximum account daily limit exceeded

429

4294

Maximum API daily limit exceeded

500

5001

Request could not be processed

Sample Error Response

{ "code": 4001, "message": "Malformed data or missing required parameter values" }


  Last updated