CAS Generator

Optimizing CAS retrieval from Investors

Architecture: CAS Generator

This guide covers flows for requesting CAS statements when users don't have a PDF file.

Overview

Two methods to retrieve CAS without requiring users to upload a PDF:

Method

Coverage

Delivery

User Input Required

KFintech Mailback

Mutual Funds

Email (2-5 min)

Email, date range, password

CDSL OTP Fetch

Demat holdings

Instant download

PAN, BO ID, DOB, OTP

Method 1: KFintech Email Mailback

Triggers a CAS request via KFintech. The PDF is emailed to the investor.

User Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                                             β”‚
β”‚   User Journey                                                              β”‚
β”‚                                                                             β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚   β”‚             β”‚     β”‚             β”‚     β”‚             β”‚     β”‚         β”‚  β”‚
β”‚   β”‚  Enters     │────►│  Request    │────►│  Receives   │────►│ Uploads β”‚  β”‚
β”‚   β”‚  details    β”‚     β”‚  submitted  β”‚     β”‚  email      β”‚     β”‚ PDF     β”‚  β”‚
β”‚   β”‚             β”‚     β”‚             β”‚     β”‚  (2-5 min)  β”‚     β”‚         β”‚  β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  User    β”‚     β”‚ Your App β”‚     β”‚ CAS Parser  β”‚     β”‚ KFintech  β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
     β”‚                β”‚                  β”‚                  β”‚
     β”‚ Email, dates,  β”‚                  β”‚                  β”‚
     β”‚ password       β”‚                  β”‚                  β”‚
     │───────────────►│                  β”‚                  β”‚
     β”‚                β”‚                  β”‚                  β”‚
     β”‚                β”‚  Request CAS     β”‚                  β”‚
     β”‚                │─────────────────►│                  β”‚
     β”‚                β”‚                  β”‚                  β”‚
     β”‚                β”‚                  β”‚  Submit form     β”‚
     β”‚                β”‚                  │─────────────────►│
     β”‚                β”‚                  β”‚                  β”‚
     β”‚                β”‚     Success      β”‚                  β”‚
     β”‚                │◄─────────────────│                  β”‚
     β”‚                β”‚                  β”‚                  β”‚
     β”‚ "Check email"  β”‚                  β”‚                  β”‚
     │◄───────────────│                  β”‚                  β”‚
     β”‚                β”‚                  β”‚                  β”‚
     β”‚                β”‚                  β”‚    Email PDF     β”‚
     │◄───────────────────────────────────────────────────────  (1-2 min)
     β”‚                β”‚                  β”‚                  β”‚

The user then uploads the received PDF to complete the import.

Method 2: CDSL OTP Fetch

Fetches demat holdings directly via OTP verification. No email wait.

User Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                                             β”‚
β”‚   User Journey                                                              β”‚
β”‚                                                                             β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚   β”‚             β”‚     β”‚             β”‚     β”‚             β”‚     β”‚         β”‚  β”‚
β”‚   β”‚  Enters     │────►│  Receives   │────►│  Enters     │────►│ Views   β”‚  β”‚
β”‚   β”‚  PAN, BO ID β”‚     β”‚  OTP on     β”‚     β”‚  OTP        β”‚     β”‚ data    β”‚  β”‚
β”‚   β”‚  DOB        β”‚     β”‚  mobile     β”‚     β”‚             β”‚     β”‚         β”‚  β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  User    β”‚     β”‚ Your App β”‚     β”‚ CAS Parser  β”‚     β”‚   CDSL   β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
     β”‚                β”‚                  β”‚                 β”‚
     β”‚ PAN, BO ID,    β”‚                  β”‚                 β”‚
     β”‚ DOB            β”‚                  β”‚                 β”‚
     │───────────────►│                  β”‚                 β”‚
     β”‚                β”‚                  β”‚                 β”‚
     β”‚                β”‚  Step 1: Request β”‚                 β”‚
     β”‚                │─────────────────►│                 β”‚
     β”‚                β”‚                  β”‚                 β”‚
     β”‚                β”‚                  β”‚  Login + CAPTCHAβ”‚
     β”‚                β”‚                  │────────────────►│
     β”‚                β”‚                  β”‚                 β”‚
     β”‚   OTP SMS ◄──────────────────────────────────────────
     β”‚                β”‚                  β”‚                 β”‚
     β”‚                β”‚   session_id     β”‚                 β”‚
     β”‚                │◄─────────────────│                 β”‚
     β”‚                β”‚                  β”‚                 β”‚
     β”‚ Enter OTP      β”‚                  β”‚                 β”‚
     │───────────────►│                  β”‚                 β”‚
     β”‚                β”‚                  β”‚                 β”‚
     β”‚                β”‚  Step 2: Verify  β”‚                 β”‚
     β”‚                │─────────────────►│                 β”‚
     β”‚                β”‚                  β”‚                 β”‚
     β”‚                β”‚                  β”‚  Fetch PDFs     β”‚
     β”‚                β”‚                  │────────────────►│
     β”‚                β”‚                  β”‚                 β”‚
     β”‚                β”‚   PDF URLs       β”‚                 β”‚
     β”‚                │◄─────────────────│                 β”‚
     β”‚                β”‚                  β”‚                 β”‚
     β”‚ Portfolio data β”‚                  β”‚                 β”‚
     │◄───────────────│                  β”‚                 β”‚
     β”‚                β”‚                  β”‚                 β”‚

The returned PDF URLs can be passed directly to the parse API.

Combined Flow: Generate + Parse

KFintech (Async)

User enters details
        β”‚
        β–Ό
Request CAS via KFintech ────► Email sent to user
        β”‚
        β–Ό
Show "Check your email"
        β”‚
        β”‚  (user receives email, returns with PDF)
        β–Ό
User uploads PDF or forwards to your inbound mailbox
        β”‚
        β–Ό
Parse PDF ────► Display portfolio

CDSL (Real-time)

User enters PAN, BO ID, DOB
        β”‚
        β–Ό
Request OTP ────► OTP sent to mobile
        β”‚
        β–Ό
User enters OTP
        β”‚
        β–Ό
Verify & fetch PDFs
        β”‚
        β–Ό
Parse each PDF ────► Display portfolio

Comparison

KFintech Mailback

CDSL OTP Fetch

Coverage

Mutual Funds

Equities, ETFs, Bonds, SGBs

Time to data

1-2 minutes

~30 seconds

User action

Wait for email, upload or forward PDF

Enter OTP

Sessions

None

10-minute expiry

API Documentation

Full endpoint documentation and request/response schemas:

docs.casparser.in/reference β†’