---
title: "CDSL CAS Fetch - Step 1 (Request OTP)"
method: POST
path: "/v4/cdsl/fetch"
tags: ["CAS Fetch"]
---

# CDSL CAS Fetch - Step 1 (Request OTP)

`POST /v4/cdsl/fetch`

**Step 1 of 2**: Request OTP for CDSL CAS fetch.

This endpoint:
1. Solves reCAPTCHA automatically (~15-20 seconds)
2. Submits login credentials to CDSL portal
3. Triggers OTP to user's registered mobile number

After user receives OTP, call `/v4/cdsl/fetch/{session_id}/verify` to complete.

## Request body

- object
  - `bo_id` string, required — CDSL BO ID (16 digits)
  - `dob` string, required — Date of birth (YYYY-MM-DD)
  - `pan` string, required — PAN number

## Response `200`

OTP sent to registered mobile

- object
  - `msg` string
  - `session_id` string — Session ID for verify step
  - `status` string

## Other responses

- `400` — Bad request (Invalid PDF file, missing parameters, or invalid password)
- `401` — Unauthorized. This can happen if the `x-api-key` header is missing.
- `500` — Internal server error

---

[API](https://skmtc.net/casparser/apis/cas-parser-track-portfolios-from-cdsl-nsdl-cams-kfintech.md) · [All operations](https://skmtc.net/casparser/apis/cas-parser-track-portfolios-from-cdsl-nsdl-cams-kfintech/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/casparser/cas-parser-track-portfolios-from-cdsl-nsdl-cams-kfintech/revisions/fa7d3aae2ab9/schema)
