Skip to main content

Overview

The KYC PAN Status API queries the CVL KRA public portal to retrieve KYC registration status for a given PAN number across all five SEBI-registered KRAs (CVL, NDML, CAMS, Karvy, KFin). What you get:
  • A normalized kyc_status enum — no raw portal strings to parse
  • A single kyc_compliant boolean for quick onboarding gate decisions
  • Per-KRA breakdown with dates, mode, and remarks
What you need:
  • PAN number (10 characters)
This endpoint queries the CVL KRA portal and may take up to 60 seconds. Set your client timeout to at least 60 seconds.

Quick example

Response structure

All six keys on every KRA object are always present — null when not applicable.

kyc_status values

Handling on_hold

When kyc_status is on_hold, check remarks on the active KRA object for the reason:
remarks may contain multiple comma-separated reasons (e.g. "APPLICANT PHOTO MISMATCH IN THE APPLICATION,FATCA NOT APPLICABLE"). FATCA NOT APPLICABLE is informational and not an error.

raw_status field

For exact-matched statuses (the common case), raw_status is null. raw_status is non-null when the portal returned a string the API hadn’t seen before and used a fuzzy match instead of an exact one. If you see a non-null raw_status in production, please report it so we can add it to the exact map.

Full example

Credit usage

Error handling

Next steps

CAS Parsing

Parse portfolio statements after KYC is verified

CDSL OTP Fetch

Fetch CAS files directly from CDSL