---
title: "ITR Compliance Check API Reference"
description: "Check income tax return filing and compliance status for a PAN holder in real time — ideal for lending, credit assessment, and financial due-diligence workflows."
canonical: "https://eps.eko.in/docs/itr-compliance"
---


> **Canonical URL:** https://eps.eko.in/docs/itr-compliance
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# ITR Compliance Check API Reference

`POST https://staging.eko.in/ekoapi/v3/tools/kyc/touras/itr-compliance`

Check income tax return filing and compliance status for a PAN holder in real time — ideal for lending, credit assessment, and financial due-diligence workflows.

The ITR Compliance Check API verifies whether a given PAN holder has filed income tax returns and returns their compliance status, ITR filing flag, and the relevant assessment year. Built on the Eko TOURAS network, it gives lenders, NBFCs, and compliance teams an instant signal of a borrower's or vendor's tax-filing behaviour without requiring manual document collection. A single PAN input is all that is needed — no document uploads or consent flows.

> View product & pricing details: [ITR Compliance Check](https://eps.eko.in/products/itr-compliance-api.md)

## Body parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| initiator_id | string | yes | Registered mobile number of the API user (see Platform Credentials). e.g. 9962981729 |
| user_code | string | yes | User code of the retailer/agent the service is run for. e.g. 20810200 |
| client_ref_id | string | no | Unique reference id per API call, generated by your system. e.g. REQ-20260101-001 |
| pan_number | string | yes | PAN number of the individual or entity to check for ITR compliance (10-character alphanumeric, e.g. ABCDE1234F). e.g. ABCDE1234F |

## Headers

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| developer_key | string | yes | Static API key issued to your account after KYC. |
| secret-key | string | yes | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
| secret-key-timestamp | string | yes | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
| content-type | string | yes | application/json e.g. application/json |

## Response

⭐ marks fields highlighted as verifiable.

| Field | Type | Description |
| --- | --- | --- |
| status | number | Primary success indicator (0 = success). |
| message | string | Human-readable response / error message. |
| response_status_id | number | Granular status id; see the shared error-codes table. |
| response_type_id | number | A unique id for every possible response shape (success or error) — useful for client logic branching and analytics. |
| data | object | API-specific response payload. |
| data.pan_number ⭐ | string | The PAN number that was queried, echoed back from the source for confirmation. |
| data.itr_filed ⭐ | boolean | Indicates whether the PAN holder has filed an income tax return for the queried assessment year. true = filed; false = not filed. |
| data.assessment_year ⭐ | string | The income-tax assessment year for which the ITR status is reported (e.g. '2024-25' corresponds to FY 2023-24). |
| data.compliance_status ⭐ | string | Overall tax compliance standing of the PAN holder as returned by the authority (e.g. Compliant, Non-Compliant, Pending). |
| data.filing_status ⭐ | string | Granular ITR filing status string as returned by the source — may carry values such as 'Filed', 'Not Filed', 'Under Processing', or 'Defective'. |
| data.filing_date | string | Date on which the ITR was filed (YYYY-MM-DD), if available from the source. |
| data.acknowledgement_number | string | ITR acknowledgement number issued by the Income Tax Department upon successful e-filing, if returned by the source. |

## Example request

```json
{
  "initiator_id": "9962981729",
  "user_code": "20810200",
  "client_ref_id": "REQ-20260101-001",
  "pan_number": "ABCDE1234F"
}
```

## Example response

```json
{
  "status": 0,
  "response_status_id": 0,
  "message": "ITR compliance check successful",
  "response_type_id": 1388,
  "data": {
    "pan_number": "ABCDE1234F",
    "itr_filed": true,
    "assessment_year": "2024-25",
    "compliance_status": "Compliant",
    "filing_status": "Filed",
    "filing_date": "2024-07-25",
    "acknowledgement_number": "123456789012345"
  }
}
```

## Error scenarios

| Status | Scenario |
| --- | --- |
| 200 | PAN not found in Income Tax Department records |
| 200 | ITR not filed for the queried assessment year |
| 200 | Invalid PAN format — must be 10 alphanumeric characters matching AAAAA9999A pattern |
| 400 | Missing required field — pan_number not supplied in the request body |
| 403 | Authentication failure — wrong or expired secret-key or timestamp |
| 200 | Upstream ITR source temporarily unavailable |
