---
title: "E-Challan Verification API Reference"
description: "Fetch pending traffic challans for any vehicle using its registration number — challan number, offence, fine amount, date, status, and issuing authority returned in a single API call."
canonical: "https://eps.eko.in/docs/e-challan"
---


> **Canonical URL:** https://eps.eko.in/docs/e-challan
> 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.

# E-Challan Verification API Reference

`POST https://staging.eko.in/ekoapi/v3/tools/kyc/touras/e-challan`

Fetch pending traffic challans for any vehicle using its registration number — challan number, offence, fine amount, date, status, and issuing authority returned in a single API call.

Send a vehicle registration number to the E-Challan Verification API and receive a complete list of pending traffic violations from the national e-challan system (Parivahan). The response includes each challan's unique number, offence description, fine amount, date of violation, payment status, and issuing state/authority. Use it to automate fleet compliance checks, assess driver risk during onboarding, support motor insurance underwriting, or surface challan data in used-vehicle platforms.

> View product & pricing details: [E-Challan Verification](https://eps.eko.in/products/e-challan-verification-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 |
| registration_number | string | yes | Vehicle registration number to look up challans for (e.g. MH02AB1234). e.g. MH02AB1234 |

## 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.vehicle_number ⭐ | string | Registration number of the vehicle as echoed back from the source system. |
| data.pending_challans ⭐ | number | Total count of pending (unpaid) challans found for the vehicle. |
| data.total_fine_amount ⭐ | number | Aggregate fine amount in INR across all pending challans. |
| data.challans ⭐ | array | List of individual challan records. Each element represents one traffic violation. |
| data.challans.challan_number ⭐ | string | Unique challan reference number issued by the traffic authority. |
| data.challans.challan_id | string | Internal challan ID in the national e-challan system. |
| data.challans.violation ⭐ | string | Description of the traffic offence (e.g. 'Overspeeding', 'Red Light Jump', 'No Helmet'). |
| data.challans.date ⭐ | string | Date on which the violation was recorded (YYYY-MM-DD). |
| data.challans.fine ⭐ | number | Fine amount in INR for this individual challan. |
| data.challans.status ⭐ | string | Payment status of the challan — typically 'Pending' or 'Paid'. |
| data.challans.state | string | State in which the challan was issued. |
| data.challans.issuing_authority | string | Traffic police unit or RTO that issued the challan. |
| data.challans.payment_source | string | Payment channel through which the fine can be paid (e.g. 'Online', 'Court'). |

## Example request

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

## Example response

```json
{
  "status": 0,
  "response_status_id": 0,
  "message": "E-Challan check successful",
  "response_type_id": 1388,
  "data": {
    "vehicle_number": "MH02AB1234",
    "pending_challans": 2,
    "total_fine_amount": 3500,
    "challans": [
      {
        "challan_number": "MH2024001234",
        "challan_id": "EC20241210",
        "violation": "Overspeeding",
        "date": "2024-12-10",
        "fine": 2000,
        "status": "Pending",
        "state": "Maharashtra",
        "issuing_authority": "Mumbai Traffic Police",
        "payment_source": "Online"
      },
      {
        "challan_number": "MH2024000987",
        "challan_id": "EC20241105",
        "violation": "Red Light Jump",
        "date": "2024-11-05",
        "fine": 1500,
        "status": "Pending",
        "state": "Maharashtra",
        "issuing_authority": "Mumbai Traffic Police",
        "payment_source": "Online"
      }
    ]
  }
}
```

## Error scenarios

| Status | Scenario |
| --- | --- |
| 200 | Vehicle registration number not found in the national e-challan system |
| 200 | Missing required parameter — registration_number not supplied |
| 200 | No pending challans found for the vehicle (clean record) |
| 403 | Authentication failure — wrong or expired secret-key |
| 200 | E-challan source (Parivahan) temporarily unavailable |
