TDS Test Certify
Evaluate TSP Executed Testcases & Certify Results
A structured, hands‑on enablement for new TSP (TDS Service Provider) deductors to practice the CPC TDS API workflow in a sandbox, reduce errors, and build confidence for production.
Purpose
Bridge the gap between theoretical understanding and real‑world API execution—ensuring new deductors can use the TDS APIs effectively, not just know about them.
Key Objectives
- Understand the TDS API
- Master request payload creation
- Execute APIs in the sandbox
- Build confidence for production operations
Benefits
- Skill Development: build valid payloads, call APIs, and interpret results
- Error Reduction: practice in sandbox to avoid production errors
- Improved Productivity: automate filing tasks
- Smooth Onboarding: step‑by‑step guidance
- Confidence & Readiness: realistic testing prepares you for production
24Q Test Case Suite (Sandbox)
Execute the scenarios below in sandbox. Important: include the header x-test-case with the respective Test Case ID while calling the API.
Sample Request for TC_24Q_Retrieve_Header testcase.
curl --location 'http://test-api.tdscpc.gov.in/ext/forms/24Q/v1.0/2025/1/header' \
--header 'x-test-case: TC_24Q_Retrieve_Header' \
--header 'Authorization: Bearer yJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ6UW1UYVpOSUs3elhKdkpweE9fak' \
--data ''
| Test Case ID | Test Case Name | Type |
|---|---|---|
| TC_24Q_Create_Header | Create Form 24Q with Header | Positive |
| TC_24Q_Create_Challan | Create Form 24Q with 5 Challans in a single load | Positive |
| TC_24Q_Create_Deductor | Create Form 24Q with Deductor rows | Positive |
| TC_24Q_Create_Header | Update Form 24Q Header | Positive |
| TC_24Q_Create_Challan | Update Form 24Q Challans | Positive |
| TC_24Q_Update_Deductor | Update Form 24Q Deductor rows | Positive |
| TC_24Q_Retrieve_Header | Retrieve Form 24Q Header | Positive |
| TC_24Q_Retrieve_Challan | Retrieve Form 24Q Challans | Positive |
| TC_24Q_Retrieve_Deductor | Retrieve Form 24Q Deductor rows | Positive |
| TC_24Q_Execute_Validate | Execute Validate API | Positive |
| TC_24Q_Retrieve_ErrorFile | Retrieving Error Files | Positive |
| TC_24Q_Statement_Status | Check Validation Status | Positive |
| TC_24Q_Schema_Validation | Schema Validation | Negative |
| TC_24Q_Business_Validation | Business Validation | Negative |
| Test Case ID | Test Case Name | Type |
|---|---|---|
| TC_26Q_Create_Header | Create Form 26Q with Header | Positive |
| TC_26Q_Create_Challan | Create Form 26Q with 5 Challans in a single load | Positive |
| TC_26Q_Create_Deductor | Create Form 26Q with Deductor rows | Positive |
| TC_26Q_Create_Header | Update Form 26Q Header | Positive |
| TC_26Q_Create_Challan | Update Form 26Q Challans | Positive |
| TC_26Q_Update_Deductor | Update Form 26Q Deductor rows | Positive |
| TC_26Q_Retrieve_Header | Retrieve Form 26Q Header | Positive |
| TC_26Q_Retrieve_Challan | Retrieve Form 26Q Challans | Positive |
| TC_26Q_Retrieve_Deductor | Retrieve Form 26Q Deductor rows | Positive |
| TC_26Q_Execute_Validate | Execute Validate API | Positive |
| TC_26Q_Retrieve_ErrorFile | Retrieving Error Files | Positive |
| TC_26Q_Statement_Status | Check Validation Status | Positive |
| TC_26Q_Schema_Validation | Schema Validation | Negative |
| TC_26Q_Business_Validation | Business Validation | Negative |
| Test Case ID | Test Case Name | Type |
|---|---|---|
| TC_27Q_Create_Header | Create Form 27Q with Header | Positive |
| TC_27Q_Create_Challan | Create Form 27Q with 5 Challans in a single load | Positive |
| TC_27Q_Create_Deductor | Create Form 27Q with Deductor rows | Positive |
| TC_27Q_Create_Header | Update Form 27Q Header | Positive |
| TC_27Q_Create_Challan | Update Form 27Q Challans | Positive |
| TC_27Q_Update_Deductor | Update Form 27Q Deductor rows | Positive |
| TC_27Q_Retrieve_Header | Retrieve Form 27Q Header | Positive |
| TC_27Q_Retrieve_Challan | Retrieve Form 27Q Challans | Positive |
| TC_27Q_Retrieve_Deductor | Retrieve Form 27Q Deductor rows | Positive |
| TC_27Q_Execute_Validate | Execute Validate API | Positive |
| TC_27Q_Retrieve_ErrorFile | Retrieving Error Files | Positive |
| TC_27Q_Statement_Status | Check Validation Status | Positive |
| TC_27Q_Schema_Validation | Schema Validation | Negative |
| TC_27Q_Business_Validation | Business Validation | Negative |
| Test Case ID | Test Case Name | Type |
|---|---|---|
| TC_27EQ_Create_Header | Create Form 27EQ with Header | Positive |
| TC_27EQ_Create_Challan | Create Form 27EQ with 5 Challans in a single load | Positive |
| TC_27EQ_Create_Deductor | Create Form 27EQ with Deductor rows | Positive |
| TC_27EQ_Create_Header | Update Form 27EQ Header | Positive |
| TC_27EQ_Create_Challan | Update Form 27EQ Challans | Positive |
| TC_27EQ_Update_Deductor | Update Form 27EQ Deductor rows | Positive |
| TC_27EQ_Retrieve_Header | Retrieve Form 27EQ Header | Positive |
| TC_27EQ_Retrieve_Challan | Retrieve Form 27EQ Challans | Positive |
| TC_27EQ_Retrieve_Deductor | Retrieve Form 27EQ Deductor rows | Positive |
| TC_27EQ_Execute_Validate | Execute Validate API | Positive |
| TC_27EQ_Retrieve_ErrorFile | Retrieving Error Files | Positive |
| TC_27EQ_Statement_Status | Check Validation Status | Positive |
| TC_27EQ_Schema_Validation | Schema Validation | Negative |
| TC_27EQ_Business_Validation | Business Validation | Negative |
Evaluate & Certify Results
After you execute all test cases, call /tspdata/api/certifyResult. The service evaluates the executed calls for your clientId within the provided time window, based on HTTP status codes, and returns the test results in JSON.
For execute the API, you login to the developer portal and go the API document page and then select the TDS-Data-Master from the drop down. Here you can see the Certify Results API.
curl -X POST 'http://test-api.tdscpc.gov.in/tspdata/api/certifyResult' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"clientId": "5aa58413",
"startTime": "2026-02-01T18:30:00.000Z",
"endTime": "2026-02-09T18:29:59.000Z"
}'
Execution Checklist
- For each scenario above, prepare the payload and call the corresponding endpoint in the Sandbox.
- Include the header
x-test-case: <TestCaseID>for every request—this is mandatory for evaluation. - After completing all runs within the agreed window, invoke Certify Results for your
clientIdand the date‑time range you executed. - Review the JSON response to confirm pass/fail status per case (evaluation is based on HTTP status codes).