DL Print API

Returns a print-ready driving licence card as a base64 PDF data URI.

v1
GET https://www.versatile-lavender-rat.163-61-39-39.cpanel.site/api/v1/dl-print

Authentication

API key + API secret headers, or a Bearer JWT. Obtain the JWT from POST /api/v1/auth/token using your key and secret; tokens are valid for 3600 seconds.

SchemeLocationValue
JWT bearerHeaderAuthorization: Bearer <token>
API keyHeaderX-API-Key: pk_xxxxxxxx
API secretHeaderX-API-Secret: sk_xxxxxxxx

Headers

HeaderRequiredDescription
AuthorizationOptionalBearer JWT issued by the token endpoint.
X-API-KeyYesYour API key (pk_…).
X-API-SecretYesYour API secret (sk_…), shown once at creation.
Content-TypeYesapplication/json
X-Request-IdNoYour idempotency key; echoed back in the response.

Parameters & validation rules

NameTypeRequiredValidationDescription
api_key string Yes Your API key.
dlno string Yes Driving Licence number.
dob string Yes DD-MM-YYYY Date of birth in DD-MM-YYYY format.
cardtype string No 1 or 2 1 = White Background, 2 = Light Blue Background.
state string No state code JK = Jammu & Kashmir design layout.

Example request

curl -X GET \
  "https://www.apicentre.in/api/dl?api_key=YOUR_API_KEY&dlno=DLNO&dob=DOB&cardtype=CARDTYPE&state=STATE" \
  -H "Accept: application/json"
<?php
$ch = curl_init("https://www.apicentre.in/api/dl?api_key=YOUR_API_KEY&dlno=DLNO&dob=DOB&cardtype=CARDTYPE&state=STATE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);
const res  = await fetch("https://www.apicentre.in/api/dl?api_key=YOUR_API_KEY&dlno=DLNO&dob=DOB&cardtype=CARDTYPE&state=STATE");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://www.apicentre.in/api/dl?api_key=YOUR_API_KEY&dlno=DLNO&dob=DOB&cardtype=CARDTYPE&state=STATE")
print(res.json())

Responses

Success 200
{
    "status": "200",
    "pdf": "data:application/pdf;base64,JVBERi0xLjQKJb662+=",
    "application_no": "RCPRINT_4601717997098",
    "message": "DL Print Successfully"
}
Error 4xx
{
    "status": "404",
    "message": "DL Not found"
}

HTTP status codes

CodeMeaning
200Success - verification completed and wallet debited.
400Validation failed - check the parameter rules below.
401Missing or invalid JWT / API key.
402Insufficient wallet balance.
403API not purchased or key not permitted for this endpoint.
404Record not found at the source registry.
422Upstream provider returned an unprocessable response.
429Rate limit exceeded - retry after the window resets.
500Unexpected server error - safe to retry with the same request_id.
503Upstream registry temporarily unavailable.

Rate limit & billing

Rate limit
60 req/min per key
Charge
₹4.50 per successful call
Failed calls
Not charged (4xx/5xx)

When throttled, the API returns 429 with X-RateLimit-Limit, X-RateLimit-Remaining and Retry-After headers.