KYC Check

Check your investor's kyc status

Use this API to check if your investor's identity detail exists in any of the KRAs (KYC Registration Agencies) database. If it exists, you'll get certain demographic information of the investor and the status of the KYC in the response object.

Check kyc status

Call the KYC Check with the investor's Income Tax Permanent Account Number (PAN)

{

    "pan": "ARRPP1115N",
    "date_of_birth": "1955-10-25"

}

date_of_birth is needed only to fetch the KYC data. This is an additional request body parameter along with the PAN number in-order to fetch the data from KRA databases. If you are using this API to check the KYC status alone, then the request body should only contain the PAN number.

Status

# Displaying only a part of the object for brevity
{
  "id": "5620fd1f-eb14-442e-b0ee-da96a6c305c0",
  "pan": "BNBPP9384M",
  "status": false,
  "reason":"unavailable",
  "action":"create"
}

If the status in the response object is true, it means that the investor is either KYC compliant or his KYC application is successfully accepted for review and is under process (with proof of address as any document except Aadhaar). You can go ahead and onboard the investor and place purchase and redemption orders if status is true.

If the value of the status attribute in the response object is false, the investor is not kyc compliant and you cannot accept investments from the investor. In such cases, the value of the attribute reason tells us the reason why the investor is non-compliant and the value of the attribute action tells us what action you can take to help investor become kyc compliant.

Note: If status is true, the values of reason and action will always be null.

Non compliance reasons
Non compliance reason Remarks
unavailable The investor has never submitted his kyc application before.
onhold The investor has submitted the KYC application before, but that application is on hold because of some data issues.
rejected The previous KYC application submitted by investor has been rejected.
deactivated This means that you cannot accept investments from this particular investor. You cannot submit new KYC application also. The reasons for deactivation could be fraud detection or death of an investor.
legacy This means that the investors were KYC compliant according to earlier KYC regulations. However, the investors are not KYC compliant according to the current KYC regulations.
underprocess The investor has submitted the KYC application with Aadhaar as the POA and it is under process at the KRA.
unknown In certain scenarios, we will only be able to determine that the investor is KYC non-compliant without knowing the exact reason for non-compliance.In such cases the reason will be unknown. However, you can refer to action to understand what actions can be taken.
Action required for compliance
Action Remarks
modify Raise a modification request to fix the existing KYC application.
create Submit a new KYC application to KRA. You can use FP APIs to perform digital KYC
disallowed This means that you cannot take any actions to ensure that the investor becomes KYC compliant. You will get this value when the reason is deactivated
none This means that there is no action that can be taken from the investor's end to process the KYC application. You will have to wait for the KYC Status to be updated at KRAs' end. You will get this value when the reason is underprocess
unknown In certain cases if we cannot unambiguously determine the non-compliance reason(i.e.if reason=unknown), we might also not be able to unambiguously detect the action required to ensure compliance. If that is the case, the value of action will be unknown.

Investor Details

The entity_details in the response object will contain the investor's demographic information. If you are checking for the KYC status, you'll get the name of the investor. If you are fetching the KYC details of an investor, then the entity_details list in the response object will contain Identity, Address and Contact information of the investor as shown below:

# Displaying only a part of the object for brevity

"entity_details": {
        "name": "Tony Soprano",
        "gender": "male",
        "date_of_birth": "1955-10-25",
        "father_name": "James Soprano",
        "marital_status": "married",
        "nationality": "indian",
        "residential_status": "resident_individual",
        "correspondence_address": {
            "line_1": "19th main, 33rd cross",
            "line_2": "Jayanagar 4th T block",
            "line_3": null,
            "city": "Bengaluru",
            "pincode": "560041",
            "state": "Karnataka",
            "country": "India"
        },
        "permanent_address": null,
        "email": "tony.soprano@gmail.com",
        "mobile": "9123498765"
}

NOTE: To fetch an investor's demographic information from the KRA databases, you need to be a SEBI registered entity with RIA, AMC or other licences. Currently, AMFI regulated ARN holders cannot avail this feature.

NOTE: If the investor is not KYC compliant yet(Ex: KYC On hold), the investor demographic information will be empty.

NOTE: In cases where the KYC non-compliance reason for a PAN is underprocess, you can accept orders only after the concerned KRA processes the application and the investor becomes KYC compliant. You don't have to take any actions to move a KYC application from underprocess to a final state at the KRA.

Testing

To test the various scenarios in your application during the development process, use the following formats of PAN number and date of birth in the sandbox environment.

Scenario PAN format Date of birth Description
Status Check - KYC compliant investor XXXPX3751X -NOT APPLICABLE- PAN numbers that match XXXPX3751X (replace X with any alphabet) are considered full KYC compliant and the response object will contain status as true, with no constraints. You can also use this to simulate the scenarios where KYC applications are under process at KRA and have not used Aadhaar as thier POA
Status Check - KYC compliant investor with investment constraints XXXPX3752X -NOT APPLICABLE- PAN numbers that match XXXPX3752X (replace X with any alphabet) are considered KYC compliant with restrictions on the investment limit. The response object will contain status as true and constraints will be populated
Status Check - KYC non-compliant investor (KYC not available) XXXPX3753X - KYC applications with PAN numbers that match XXXPX3753X (replace X with any alphabet) are not available in any of the KRAs. You can use FP's KYC APIs to perform digital KYC
Status Check - KYC non-compliant investor (KYC on hold) XXXPX3754X - KYC applications with PAN numbers that match XXXPX3754X (replace X with any alphabet) are on hold in the KRA due to some data issues. Investments against such PANs should not be allowed. You need to raise a modification request with the concerned KRA to have the onhold application processed
Status Check - KYC non-compliant investor (KYC rejected) XXXPX3755X - KYC applications with PAN numbers that match XXXPX3755X (replace X with any alphabet) are rejected by the KRA. You can use FP's KYC APIs to perform digital KYC again before accepting any investments from such PANs
Status Check - KYC non-compliant investor (KYC deactivated) XXXPX3756X - KYC applications with PAN numbers that match XXXPX3756X (replace X with any alphabet) are deactivated by the KRA. You can neither accept any investments against such PANs nor perform a digital KYC as well
Status Check - KYC non-compliant investor (Legacy KYC) XXXPX3757X - KYC applications with PAN numbers that match XXXPX3757X (replace X with any alphabet) are the ones which were compliant with earlier KYC regulations but no longer comply with the current one. You need to raise a modification request with the concerned KRA to have these kind of applications processed
Status Check - KYC non-compliant investor (KYC under process with Aadhaar as POA) XXXPX3758X - KYC applications with PAN numbers that match XXXPX3758X (replace X with any alphabet) are undergoing verifications at the KRA and Aadhaar is used as a POA in such applications. You can accept any investments against these PANs only after Aadhaar details present in such KYC applications are successfully validated and corresponding KYC applications are successfully verified at the KRA
Status Check - KYC non-compliant investor (Reason unknown) Anything - Any other format will mean that the investor's KYC status could not be clearly deciphered. For these scenarios, the action attribute in the response object would also be null
Fetch KYC data - KYC compliant investor's full KYC data XXXPX3751X YYYY-MM-DD PAN numbers that match XXXPX3751X (replace X with any alphabet) and a valid date of birth combination are considered full KYC compliant and the response object will contain status as true, with no constraints. The entity_details list will contain all the data as received on the response from KRA
Fetch KYC data - KYC compliant investor but some data are null XXXPX3752X YYYY-MM-DD PAN numbers that match XXXPX3752X (replace X with any alphabet) and a valid date of birth combination are considered KYC compliant with restrictions on the investment limit. The response object will contain status as true and constraints will be populated. The entity_details list will have some or all data as null depending on the response from KRA
Fetch KYC data - KYC non-compliant investor Anything YYYY-MM-DD Any other format will mean that the investor has not done his/her KYC and so the response object will contain status as false