Documentation & Guides

Build with eChallanDeveloper Resources

Comprehensive documentation, guides, and tools to help you integrate vehicle compliance features into your applications quickly and efficiently.

Quick Start Guide

Get up and running with the eChallan API in just a few minutes

1

Get API Keys

Sign up and generate your API credentials from the dashboard

// Get your API key from dashboard
const API_KEY = 'your_api_key_here';
2

Make First Call

Test the API with a simple vehicle data fetch

curl -X GET 'https://echallan.app/vehicle/DL01AA1234' \
  -H 'Authorization: Bearer YOUR_API_KEY'
3

Handle Response

Process the JSON response in your application

{
  "vehicle_number": "DL01AA1234",
  "rc_status": "valid",
  "pending_challans": 2
}

API Reference

Comprehensive reference for all available API endpoints

GET/v1/vehicle/{number}

Fetch complete vehicle information including RC and challan data

GET/v1/challans/{vehicle}

Get all pending challans for a specific vehicle

POST/v1/challans/pay

Process challan payment through the platform

GET/v1/renewals/{vehicle}

Check renewal status for fitness, permit, and insurance

Official SDKs

Use our official SDKs to integrate faster in your preferred programming language

Node.js

Installation:

npm install echallan

Usage:

import { EChallanApiClient } from "echallan";

const client = new EChallanApiClient("YOUR_API_KEY", "https://app.echallan.app");

// Health check
await client.getHealth().then(console.log).catch(console.error);

// Call an endpoint by id (low-level):
const vehicle = await client.callEndpoint("vehicle_lookup", {
  pathParams: { registration_number: "MH01AB1234" },
});
console.log(vehicle);

// Use the auto-generated helpers (object style).
// Helpers are available inside the package under `src/endpoints.js`.
const viaHelper = await endpointHelpers.vehicle_lookup(client, {
  pathParams: { registration_number: "MH01AB1234" },
  dryRun: true, // preview URL & payload without sending
});
console.log(viaHelper);

// Named helper exports (Python-style) are available too:
const preview = vehicle_lookup(client, { pathParams: { registration_number: "MH01AB1234" }, dryRun: true });
console.log(preview);

Python

Installation:

pip install echallan

Usage:

from echallan_api.client import EChallanApiClient
from echallan_api import endpoints

client = EChallanApiClient(api_key="YOUR_KEY", base_url="https://app.echallan.app")

# Health check
print(client.get_health())

# Call a specific endpoint helper
resp = endpoints.vehicle_lookup(client, registration_number="MH01AB1234")
print(resp)

# List all documented endpoints
print([e["id"] for e in client.list_endpoints()])

PHP

Installation:

composer require echallan/api

Usage:

<?php
require "vendor/autoload.php";

use EChallanApiClient;
use EChallanApiEndpoints;

$client = new Client("YOUR_KEY", "https://app.echallan.app");
$health = $client->getHealth();
print_r($health);

// Call any documented endpoint by id
$vehicle = $client->callEndpoint("vehicle_lookup", [
    "path_params" => ["registration_number" => "MH01AB1234"],
]);
print_r($vehicle);

// Or use the generated helper functions
$vehicleHelper = Endpoints::vehicle_lookup($client, registration_number: "MH01AB1234");
print_r($vehicleHelper);

print_r($client->listEndpoints());

Developer-Friendly Features

Built with developers in mind, our platform offers everything you need for seamless integration

Fast Response Times

Sub-200ms API response times for all endpoints

Secure Authentication

OAuth 2.0 and JWT-based secure authentication

Real-time Data

Live data directly from government databases

24/7 Support

Developer support available round the clock

Ready to Start Building?

Get your API keys and start integrating vehicle compliance features into your application today