Fetch Jobs
curl --request POST \
--url https://test-api.sandbox.co.in/tds/compliance/e-file/search \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"@entity": "in.co.sandbox.tds.compliance.e-file.search"
}
'import requests
url = "https://test-api.sandbox.co.in/tds/compliance/e-file/search"
payload = { "@entity": "in.co.sandbox.tds.compliance.e-file.search" }
headers = {
"authorization": "<authorization>",
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
authorization: '<authorization>',
'x-api-key': '<x-api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({'@entity': 'in.co.sandbox.tds.compliance.e-file.search'})
};
fetch('https://test-api.sandbox.co.in/tds/compliance/e-file/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test-api.sandbox.co.in/tds/compliance/e-file/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'@entity' => 'in.co.sandbox.tds.compliance.e-file.search'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test-api.sandbox.co.in/tds/compliance/e-file/search"
payload := strings.NewReader("{\n \"@entity\": \"in.co.sandbox.tds.compliance.e-file.search\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://test-api.sandbox.co.in/tds/compliance/e-file/search")
.header("authorization", "<authorization>")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"@entity\": \"in.co.sandbox.tds.compliance.e-file.search\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test-api.sandbox.co.in/tds/compliance/e-file/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"@entity\": \"in.co.sandbox.tds.compliance.e-file.search\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"timestamp": 1763035357079,
"data": {
"@entity": "in.co.sandbox.tds.compliance.e-file.paginated_list",
"items": [
{
"created_at": 1763034775467,
"@entity": "in.co.sandbox.tds.compliance.e-file.job",
"job_id": "f139447f-07c0-4de1-9f35-0224e253aeec",
"tan": "AHMA09719B",
"tax_year": "TY 2026-27",
"quarter": "Q2",
"form": "138",
"filing_type": "regular",
"status": "created"
},
{
"created_at": 1763034374362,
"@entity": "in.co.sandbox.tds.compliance.e-file.job",
"job_id": "6cc8a10e-6c09-4c6f-9bfe-d10b6f6afbb0",
"tan": "SRTH05889C",
"tax_year": "TY 2026-27",
"quarter": "Q2",
"form": "140",
"filing_type": "regular",
"status": "created"
},
{
"created_at": 1745588854631,
"updated_at": 1745588884436,
"@entity": "in.co.sandbox.tds.compliance.e-file.job",
"job_id": "8566e974-9f6f-49ca-96cb-c75680261405",
"tan": "SRTH05889C",
"tax_year": "TY 2026-27",
"quarter": "Q2",
"form": "140",
"filing_type": "regular",
"status": "succeeded"
}
]
},
"transaction_id": "a109f017-10ae-44aa-ade7-3902a8cddd6b"
}Search E-File TDS Return Jobs
Fetch all TDS/TCS E-file Jobs through this API
POST
/
tds
/
compliance
/
e-file
/
search
Fetch Jobs
curl --request POST \
--url https://test-api.sandbox.co.in/tds/compliance/e-file/search \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"@entity": "in.co.sandbox.tds.compliance.e-file.search"
}
'import requests
url = "https://test-api.sandbox.co.in/tds/compliance/e-file/search"
payload = { "@entity": "in.co.sandbox.tds.compliance.e-file.search" }
headers = {
"authorization": "<authorization>",
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
authorization: '<authorization>',
'x-api-key': '<x-api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({'@entity': 'in.co.sandbox.tds.compliance.e-file.search'})
};
fetch('https://test-api.sandbox.co.in/tds/compliance/e-file/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test-api.sandbox.co.in/tds/compliance/e-file/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'@entity' => 'in.co.sandbox.tds.compliance.e-file.search'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test-api.sandbox.co.in/tds/compliance/e-file/search"
payload := strings.NewReader("{\n \"@entity\": \"in.co.sandbox.tds.compliance.e-file.search\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://test-api.sandbox.co.in/tds/compliance/e-file/search")
.header("authorization", "<authorization>")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"@entity\": \"in.co.sandbox.tds.compliance.e-file.search\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test-api.sandbox.co.in/tds/compliance/e-file/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"@entity\": \"in.co.sandbox.tds.compliance.e-file.search\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"timestamp": 1763035357079,
"data": {
"@entity": "in.co.sandbox.tds.compliance.e-file.paginated_list",
"items": [
{
"created_at": 1763034775467,
"@entity": "in.co.sandbox.tds.compliance.e-file.job",
"job_id": "f139447f-07c0-4de1-9f35-0224e253aeec",
"tan": "AHMA09719B",
"tax_year": "TY 2026-27",
"quarter": "Q2",
"form": "138",
"filing_type": "regular",
"status": "created"
},
{
"created_at": 1763034374362,
"@entity": "in.co.sandbox.tds.compliance.e-file.job",
"job_id": "6cc8a10e-6c09-4c6f-9bfe-d10b6f6afbb0",
"tan": "SRTH05889C",
"tax_year": "TY 2026-27",
"quarter": "Q2",
"form": "140",
"filing_type": "regular",
"status": "created"
},
{
"created_at": 1745588854631,
"updated_at": 1745588884436,
"@entity": "in.co.sandbox.tds.compliance.e-file.job",
"job_id": "8566e974-9f6f-49ca-96cb-c75680261405",
"tan": "SRTH05889C",
"tax_year": "TY 2026-27",
"quarter": "Q2",
"form": "140",
"filing_type": "regular",
"status": "succeeded"
}
]
},
"transaction_id": "a109f017-10ae-44aa-ade7-3902a8cddd6b"
}Headers
JWT access token
API key for identification
Body
application/json
Available options:
in.co.sandbox.tds.compliance.e-file.search TAN of deductor/collector. Regular Expression: [A-Z]{4}[0-9]{5}[A-Z]{1}
Quarter (e.g. Q2)
Available options:
Q1, Q2, Q3, Q4 TDS/TCS return form. Use 138 for erstwhile 24Q, 140 for erstwhile 26Q, 144 for erstwhile 27Q, and 143 for erstwhile 27EQ.
Available options:
138, 140, 144, 143 Tax Year (e.g. TY 2026-27)
Pattern:
^TY [0-9]{4}-[0-9]{2}$Example:
"TY 2026-27"
Date from which jobs are to be fetched. Value in EPOCH timestamP
Date till which jobs are to be fetched. Value in EPOCH timestamp
Number of records in the API response. Maximum allowed size is 50
Base64 encoding of the stringified JSON object, which includes x-api-key, created_at, and job_id
Was this page helpful?
āI