Before you begin:
- You must have generated the Form 26Q TXT file using the TDS Reports API.
- You must have a valid Sandbox
authorizationtoken. - You must know the correct
TAN,financial_year, andquarter.
Prepare TDS return (generate TXT)
Ensure that you have generated the Form 26Q TXT file using the TDS Reports APIs.If you’ve already completed the Prepare Form 26Q TDS Return recipe, you can reuse the TXT file and continue to the next step.
Generate OTP for CSI download
To fetch the CSI file, you must first generate an OTP.
This OTP is sent by TRACES to the TAN’s registered email/mobile.Endpoint:
POST /tds/compliance/download-csi/generate_otpcURL Request - Generate CSI OTP
cURL Request - Generate CSI OTP
This step only triggers OTP delivery.
No CSI file or download URL is returned here.
Verify OTP and get CSI download URL
Verify the OTP received to obtain a signed CSI download URL.Endpoint:
A successful response includes:
POST /tds/compliance/download-csi/verify_otpcURL Request - Verify CSI OTP
cURL Request - Verify CSI OTP
csi_download_url(signed, time-limited)
Generate FVU
With the TXT and CSI files ready, create an FVU generation job.
The response returns:
cURL Request - Create FVU Job
cURL Request - Create FVU Job
-
txt_file_upload_url -
csi_file_upload_url
Provide TXT and CSI files
Upload the TXT and CSI files using the signed URLs.
cURL - Upload TXT
cURL - Upload TXT
cURL - Upload CSI
cURL - Upload CSI
Fetch FVU generation status
Poll the FVU job until it completes.
When the job
cURL - Fetch FVU Status
cURL - Fetch FVU Status
status is succeeded, download:-
fvu_zip_file_url
E-file TDS return
Create an e-file job for Form 26Q.
The response contains
cURL - Create E-file Job
cURL - Create E-file Job
fvu_upload_file_url.Fetch TDS return status
Poll the e-file job to confirm filing completion.
On success, the response includes:
cURL - Fetch E-file Status
cURL - Fetch E-file Status
-
receipt_number -
receipt_file_url -
form27a_file_url