REST · JSON · HTTPS

API Reference

Every Shadoweye endpoint with its parameters, sample requests in six languages and real response shapes. One key works for all of them.

38

Endpoints

5

Categories

6

Languages

Authentication

Send your secret API key in the header of every request. Never expose it in browser or app code.

X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY
Get key

HTTP status codes

200 OK Request successful.
400 Bad Request Missing or invalid parameters.
401 Unauthorized Invalid or missing API Key.
402 Payment Req Insufficient wallet balance.
403 Forbidden Server IP is not whitelisted.
502 Bad Gateway Upstream data provider failed.
GST & Business
POST

GST Turnover API

Provides financial turnover details of businesses registered under GST. Useful for compliance checks and B2B risk assessment.

URL https://api.shadoweye.in/v1/gst-turnover

Body Parameters

GST_Number
Required
Valid 15-character GSTIN.
Financial_Year
Optional
e.g., "Previous Financial", "2022-23", "2023-24".
POST /v1/gst-turnover HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "GST_Number": "07AABCU3721E1ZP", "Financial_Year": "Previous Financial" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/gst-turnover", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "GST_Number": "07AABCU3721E1ZP", "Financial_Year": "Previous Financial"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/gst-turnover" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "GST_Number": "07AABCU3721E1ZP", "Financial_Year": "Previous Financial"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/gst-turnover', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "GST_Number": "07AABCU3721E1ZP", "Financial_Year": "Previous Financial"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "GST_Number": "07AABCU3721E1ZP", "Financial_Year": "Previous Financial"}) }; fetch("https://api.shadoweye.in/v1/gst-turnover", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/gst-turnover" payload = json.dumps({ "GST_Number": "07AABCU3721E1ZP", "Financial_Year": "Previous Financial"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "turnOvers": { "2022-23": { "gst_estimated_turnover": 21524461.25, "legal_name": "UNIFIERS SOCIAL VENTURES PRIVATE LIMITED" } } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
GST & Business
POST

GST Info API

Offers basic GST-related information like GSTIN validity, business constitution, and registration status.

URL https://api.shadoweye.in/v1/gst-info

Body Parameters

GST_Number
Optional
Valid 15-character GSTIN.
CIN_Number
Optional
Valid Corporate Identity Number (Provide GST or CIN).
POST /v1/gst-info HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "GST_Number": "33AALCV5175D1Z9" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/gst-info", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "GST_Number": "33AALCV5175D1Z9"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/gst-info" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "GST_Number": "33AALCV5175D1Z9"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/gst-info', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "GST_Number": "33AALCV5175D1Z9"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "GST_Number": "33AALCV5175D1Z9"}) }; fetch("https://api.shadoweye.in/v1/gst-info", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/gst-info" payload = json.dumps({ "GST_Number": "33AALCV5175D1Z9"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "business_constitution": "Private Limited Company", "legal_name": "VISIT HEALTH PRIVATE LIMITED", "current_status": "Active" } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Invalid ID Number or Combination of Inputs", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
GST & Business
POST

GST Contact Details

Retrieves the registered email address and mobile number associated with a specific GST Number.

URL https://api.shadoweye.in/v1/gst-contact

Body Parameters

GST_Number
Required
Valid 15-character GSTIN.
POST /v1/gst-contact HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "GST_Number": "29AABCZ2616B1ZK" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/gst-contact", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "GST_Number": "29AABCZ2616B1ZK"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/gst-contact" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "GST_Number": "29AABCZ2616B1ZK"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/gst-contact', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "GST_Number": "29AABCZ2616B1ZK"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "GST_Number": "29AABCZ2616B1ZK"}) }; fetch("https://api.shadoweye.in/v1/gst-contact", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/gst-contact" payload = json.dumps({ "GST_Number": "29AABCZ2616B1ZK"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "email": "accounts@zerodha.com", "mobile": "9066327355" } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Invalid ID Number", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
GST & Business
POST

Find GST by Mobile

Performs a reverse lookup to find all GST Numbers associated with a specific Indian mobile number.

URL https://api.shadoweye.in/v1/get-gst

Body Parameters

Mobile_Number
Required
10-digit Indian Mobile Number.
POST /v1/get-gst HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Mobile_Number": "9599667779" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/get-gst", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Mobile_Number": "9599667779"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/get-gst" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Mobile_Number": "9599667779"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/get-gst', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Mobile_Number": "9599667779"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Mobile_Number": "9599667779"}) }; fetch("https://api.shadoweye.in/v1/get-gst", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/get-gst" payload = json.dumps({ "Mobile_Number": "9599667779"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "gst_data": [ { "gst_no": "07AAFCI1307N1ZK", "status": "Active", "legal_name": "Invincible Publication" } ] } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
GST & Business
POST

CIN Details

Fetches corporate information, registered addresses, capital structure, and current active directors using a CIN.

URL https://api.shadoweye.in/v1/cin-details

Body Parameters

CIN_Number
Required
Valid Corporate Identity Number.
POST /v1/cin-details HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "CIN_Number": "U80301HR2011PTC044069" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/cin-details", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "CIN_Number": "U80301HR2011PTC044069"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/cin-details" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "CIN_Number": "U80301HR2011PTC044069"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/cin-details', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "CIN_Number": "U80301HR2011PTC044069"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "CIN_Number": "U80301HR2011PTC044069"}) }; fetch("https://api.shadoweye.in/v1/cin-details", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/cin-details" payload = json.dumps({ "CIN_Number": "U80301HR2011PTC044069"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "companyName": "UNIFIERS SOCIAL VENTURES PRIVATE LIMITED", "status": "Active", "directorDetails": [ { "name": "VIKRANT ABROL", "designation": "Director" } ] } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Unable to Fetch", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Intelligence
POST

Vehicle Chassis Search

Retrieves strict manufacturing details like Registration Date, Engine Number, and Chassis Number.

URL https://api.shadoweye.in/v1/vehicle-chassis

Body Parameters

Vehicle_Number
Required
Valid Indian License Plate.
POST /v1/vehicle-chassis HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Vehicle_Number": "WB96K9493" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/vehicle-chassis", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Vehicle_Number": "WB96K9493"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/vehicle-chassis" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Vehicle_Number": "WB96K9493"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/vehicle-chassis', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Vehicle_Number": "WB96K9493"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Vehicle_Number": "WB96K9493"}) }; fetch("https://api.shadoweye.in/v1/vehicle-chassis", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/vehicle-chassis" payload = json.dumps({ "Vehicle_Number": "WB96K9493"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "registration_date": "2019-03-19", "chassis_number": "MD625GF13J1LA8167", "engine_number": "JF1LJ15A4959" } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Intelligence
POST

RC by Mobile Number

Finds all Vehicle Registration Certificate (RC) numbers linked to a specific mobile number.

URL https://api.shadoweye.in/v1/rc-by-mobile

Body Parameters

Mobile_Number
Required
10-digit Indian Mobile Number.
POST /v1/rc-by-mobile HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Mobile_Number": "8763452837" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/rc-by-mobile", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Mobile_Number": "8763452837"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/rc-by-mobile" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Mobile_Number": "8763452837"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/rc-by-mobile', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Mobile_Number": "8763452837"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Mobile_Number": "8763452837"}) }; fetch("https://api.shadoweye.in/v1/rc-by-mobile", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/rc-by-mobile" payload = json.dumps({ "Mobile_Number": "8763452837"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "total_rc_records": 2, "data": [ { "regNo": "UP11EJ8342", "mobileNo": "9876543210" } ] } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Invalid Mobile_Number", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Intelligence
POST

Vehicle Details Basic (V2)

A lighter, faster API offering standard vehicle details, insurance, PUC status, and basic owner info.

URL https://api.shadoweye.in/v1/vehicle-details-basic

Body Parameters

Vehicle_Number
Required
Valid Indian License Plate.
POST /v1/vehicle-details-basic HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Vehicle_Number": "UP16EJ8913" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/vehicle-details-basic", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Vehicle_Number": "UP16EJ8913"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/vehicle-details-basic" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Vehicle_Number": "UP16EJ8913"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/vehicle-details-basic', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Vehicle_Number": "UP16EJ8913"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Vehicle_Number": "UP16EJ8913"}) }; fetch("https://api.shadoweye.in/v1/vehicle-details-basic", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/vehicle-details-basic" payload = json.dumps({ "Vehicle_Number": "UP16EJ8913"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "owner_details": { "name": "ANKIT AGARWAL" }, "vehicle_details": { "maker": "TOYOTA", "model": "INNOVA CRYSTA" } } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Intelligence
POST

Vehicle Details (V3)

Comprehensive vehicle lookup including deep RTO info, detailed Insurance, PUC, and full Owner Information.

URL https://api.shadoweye.in/v1/vehicle-details

Body Parameters

Vehicle_Number
Required
Valid Indian License Plate.
POST /v1/vehicle-details HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Vehicle_Number": "UP16EJ8913" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/vehicle-details", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Vehicle_Number": "UP16EJ8913"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/vehicle-details" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Vehicle_Number": "UP16EJ8913"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/vehicle-details', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Vehicle_Number": "UP16EJ8913"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Vehicle_Number": "UP16EJ8913"}) }; fetch("https://api.shadoweye.in/v1/vehicle-details", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/vehicle-details" payload = json.dumps({ "Vehicle_Number": "UP16EJ8913"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "owner_details": { "name": "HARI SINGH", "status": "ACTIVE" }, "vehicle_details": { "maker": "BAJAJ AUTO LTD" } } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Intelligence
POST

Vehicle Details (V4)

Alternative provider route for deep vehicle information and current RTO status.

URL https://api.shadoweye.in/v1/vehicle-details-v4

Body Parameters

Vehicle_Number
Required
Valid Indian License Plate.
POST /v1/vehicle-details-v4 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Vehicle_Number": "RJ59EG0302" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/vehicle-details-v4", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Vehicle_Number": "RJ59EG0302"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/vehicle-details-v4" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Vehicle_Number": "RJ59EG0302"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/vehicle-details-v4', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Vehicle_Number": "RJ59EG0302"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Vehicle_Number": "RJ59EG0302"}) }; fetch("https://api.shadoweye.in/v1/vehicle-details-v4", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/vehicle-details-v4" payload = json.dumps({ "Vehicle_Number": "RJ59EG0302"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "owner_details": { "name": "HARI SINGH" }, "vehicle_details": { "registration_date": "2024-06-21" } } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Intelligence
POST

RC Advance

Fetches extended RC validation data including owner profile, insurance, permit, blacklist, and financer information through the srv2 provider.

URL https://api.shadoweye.in/v1/rc-advance

Body Parameters

reg_no
Required
Valid Indian vehicle registration number.
POST /v1/rc-advance HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "reg_no": "DL2CAD7689" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/rc-advance", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "reg_no": "DL2CAD7689"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/rc-advance" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "reg_no": "DL2CAD7689"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/rc-advance', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "reg_no": "DL2CAD7689"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "reg_no": "DL2CAD7689"}) }; fetch("https://api.shadoweye.in/v1/rc-advance", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/rc-advance" payload = json.dumps({ "reg_no": "DL2CAD7689"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "status": { "code": 200, "type": "success", "message": "RC validation successful." }, "message": "RC validation successful.", "data": { "reg_no": "DL2CAD7689", "owner_name": "Vikas Singla", "model": "Tata Nexon Xm 1.5 Rtq Bs6", "status": "Active", "financed": true } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "status_code": 422, "success": false, "message": "Verification Failed.", "message_code": "verification_failed", "data": { "rc_number": "MH12AB4321", "owner_name": null } } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Document Generation
POST

Aadhaar PDF to PVC Extract

Uploads an e-Aadhaar PDF, validates the PDF password, extracts front/back card images, and returns card previews plus an A4 PDF in base64. Pass your API key in the X-Shadoweye-Api-Key header. If the PDF password is invalid, the API returns an error and wallet balance is not deducted.

URL https://api.shadoweye.in/api/aadhaar_pvc.php

Form Data Parameters

pdf_file
Required
Aadhaar PDF file uploaded as multipart file field.
password
Required
Exact Aadhaar PDF password. Invalid password returns an error and no balance deduction.
new_design
Optional
Use "true" for the new background design, or "false" for the old design. Default is false.
design_mode
Optional
Alternative to new_design. Accepted values: "old" or "new".
POST /api/aadhaar_pvc.php HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: multipart/form-data pdf_file: <aadhaar.pdf binary> password: VIKA1995 new_design: false <?php $curl = curl_init(); $postFields = [ 'pdf_file' => new CURLFile('/absolute/path/to/eaadhaar.pdf', 'application/pdf', 'eaadhaar.pdf'), 'password' => 'VIKA1995', 'new_design' => 'false' ]; curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/api/aadhaar_pvc.php", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => [ "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/api/aadhaar_pvc.php" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -F "pdf_file=@/absolute/path/to/eaadhaar.pdf;type=application/pdf" \ -F "password=VIKA1995" \ -F "new_design=false" const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('pdf_file', fs.createReadStream('/absolute/path/to/eaadhaar.pdf')); form.append('password', 'VIKA1995'); form.append('new_design', 'false'); axios.post('https://api.shadoweye.in/api/aadhaar_pvc.php', form, { headers: { ...form.getHeaders(), 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } }) .then((response) => { console.log(response.data); }) .catch((error) => { console.error(error.response?.data || error.message); }); const formData = new FormData(); formData.append('pdf_file', fileInput.files[0]); formData.append('password', 'VIKA1995'); formData.append('new_design', 'false'); fetch("https://api.shadoweye.in/api/aadhaar_pvc.php", { method: "POST", headers: { "X-Shadoweye-Api-Key": "YOUR_SECRET_API_KEY" }, body: formData }) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests url = "https://api.shadoweye.in/api/aadhaar_pvc.php" headers = {'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY'} data = {'password': 'VIKA1995', 'new_design': 'false'} with open('eaadhaar.pdf', 'rb') as pdf_file: files = {'pdf_file': ('eaadhaar.pdf', pdf_file, 'application/pdf')} response = requests.post(url, headers=headers, data=data, files=files) print(response.text)
// 200 HTTP OK { "error": false, "message": "Aadhaar processed successfully.", "data": { "design_mode": "old", "new_design_applied": false, "front_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "back_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_preview_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_base64": "data:application/pdf;base64,[BASE64_PDF_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_filename": "aadhaar_a4_print.pdf" } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid Aadhaar PDF password." } { "error": true, "message": "Insufficient wallet balance." } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Document Generation
POST

Aadhaar PDF to PVC Extract V2

Uploads an official UIDAI e-Aadhaar PDF, validates its password, detects older A4 and newer 612x792 UIDAI layouts automatically, extracts structured fields with text/OCR/QR fallbacks, and prints a fixed PVC V2 design with front/back card previews plus an A4 PDF download in base64.

URL https://api.shadoweye.in/v1/aadhaar-pdf-extract-v2

Form Data Parameters

pdf_file
Required
Aadhaar PDF file uploaded as multipart file field.
password
Required
Exact Aadhaar PDF password. Invalid password returns an error and no balance deduction.
new_design
Optional
Use "true" for the PVC V2 design.
design_mode
Optional
Alternative to new_design. Accepted values: "old" or "new".
include_a4_preview
Optional
Use "true" only when you also need the A4 preview PNG. Default is false for faster responses.
POST /v1/aadhaar-pdf-extract-v2 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: multipart/form-data pdf_file: <aadhaar.pdf binary> password: VIKA1995 new_design: false <?php $curl = curl_init(); $postFields = [ 'pdf_file' => new CURLFile('/absolute/path/to/eaadhaar.pdf', 'application/pdf', 'eaadhaar.pdf'), 'password' => 'VIKA1995', 'new_design' => 'false' ]; curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/aadhaar-pdf-extract-v2", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => [ "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/aadhaar-pdf-extract-v2" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -F "pdf_file=@/absolute/path/to/eaadhaar.pdf;type=application/pdf" \ -F "password=VIKA1995" \ -F "new_design=false" const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('pdf_file', fs.createReadStream('/absolute/path/to/eaadhaar.pdf')); form.append('password', 'VIKA1995'); form.append('new_design', 'false'); axios.post('https://api.shadoweye.in/v1/aadhaar-pdf-extract-v2', form, { headers: { ...form.getHeaders(), 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } }) .then((response) => { console.log(response.data); }) .catch((error) => { console.error(error.response?.data || error.message); }); const formData = new FormData(); formData.append('pdf_file', fileInput.files[0]); formData.append('password', 'VIKA1995'); formData.append('new_design', 'false'); fetch("https://api.shadoweye.in/v1/aadhaar-pdf-extract-v2", { method: "POST", headers: { "X-Shadoweye-Api-Key": "YOUR_SECRET_API_KEY" }, body: formData }) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests url = "https://api.shadoweye.in/v1/aadhaar-pdf-extract-v2" headers = {'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY'} data = {'password': 'VIKA1995', 'new_design': 'false'} with open('eaadhaar.pdf', 'rb') as pdf_file: files = {'pdf_file': ('eaadhaar.pdf', pdf_file, 'application/pdf')} response = requests.post(url, headers=headers, data=data, files=files) print(response.text)
// 200 HTTP OK { "error": false, "message": "Aadhaar V2 processed successfully.", "data": { "design_mode": "new", "new_design_applied": true, "front_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "back_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_base64": "data:application/pdf;base64,[BASE64_PDF_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_filename": "aadhaar_a4_print_v2.pdf", "extracted_data": { "render_mode": "normalized_fields" } } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid Aadhaar PDF password." } { "error": true, "message": "Aadhaar data extraction incomplete. Missing: name, address. Install pdftotext and tesseract on the server, or use a supported UIDAI e-Aadhaar PDF." } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Document Generation
POST

Aadhaar PVC V5

Same processing flow as Aadhaar PVC V2, but the front and back card backgrounds use afrontv4.jpg and abackv4.jpg.

URL https://api.shadoweye.in/v1/aadhaar-pvc-v5

Form Data Parameters

pdf_file
Required
Aadhaar PDF file uploaded as multipart file field.
password
Required
Exact Aadhaar PDF password. Invalid password returns an error and no balance deduction.
new_design
Optional
Use "true" for the PVC V5 design.
design_mode
Optional
Alternative to new_design. Accepted values: "old" or "new".
include_a4_preview
Optional
Use "true" only when you also need the A4 preview PNG. Default is false for faster responses.
POST /v1/aadhaar-pvc-v5 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: multipart/form-data pdf_file: <aadhaar.pdf binary> password: VIKA1995 new_design: false <?php $curl = curl_init(); $postFields = [ 'pdf_file' => new CURLFile('/absolute/path/to/eaadhaar.pdf', 'application/pdf', 'eaadhaar.pdf'), 'password' => 'VIKA1995', 'new_design' => 'false' ]; curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/aadhaar-pvc-v5", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => [ "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/aadhaar-pvc-v5" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -F "pdf_file=@/absolute/path/to/eaadhaar.pdf;type=application/pdf" \ -F "password=VIKA1995" \ -F "new_design=false" const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('pdf_file', fs.createReadStream('/absolute/path/to/eaadhaar.pdf')); form.append('password', 'VIKA1995'); form.append('new_design', 'false'); axios.post('https://api.shadoweye.in/v1/aadhaar-pvc-v5', form, { headers: { ...form.getHeaders(), 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } }) .then((response) => { console.log(response.data); }) .catch((error) => { console.error(error.response?.data || error.message); }); const formData = new FormData(); formData.append('pdf_file', fileInput.files[0]); formData.append('password', 'VIKA1995'); formData.append('new_design', 'false'); fetch("https://api.shadoweye.in/v1/aadhaar-pvc-v5", { method: "POST", headers: { "X-Shadoweye-Api-Key": "YOUR_SECRET_API_KEY" }, body: formData }) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests url = "https://api.shadoweye.in/v1/aadhaar-pvc-v5" headers = {'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY'} data = {'password': 'VIKA1995', 'new_design': 'false'} with open('eaadhaar.pdf', 'rb') as pdf_file: files = {'pdf_file': ('eaadhaar.pdf', pdf_file, 'application/pdf')} response = requests.post(url, headers=headers, data=data, files=files) print(response.text)
// 200 HTTP OK { "error": false, "message": "Aadhaar V5 processed successfully.", "data": { "design_mode": "new", "new_design_applied": true, "front_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "back_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_base64": "data:application/pdf;base64,[BASE64_PDF_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_filename": "aadhaar_a4_print_v5.pdf" } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid Aadhaar PDF password." } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Document Generation
POST

Aadhaar PVC Print V3

Uploads an official UIDAI e-Aadhaar PDF, validates its password, renders matched PVC front/back PNG images and an A4 print PDF, and returns every output as base64. Service price is Rs 4. Optional calibration JSON can adjust crop, photo, QR, text block, and A4 print position/size without changing code.

URL https://api.shadoweye.in/v1/aadhaar-pvc-print-v3

Form Data Parameters

pdf_file
Required
Aadhaar PDF file uploaded as multipart file field.
password
Required
Exact Aadhaar PDF password. Invalid password returns an error and no balance deduction.
extractor_mode
Optional
V3 render mode: "exact" keeps attachment-style printed regions, "fields" rebuilds from extracted photo/QR/text, and "auto" uses fields only when extraction is complete. Default is exact.
calibration
Optional
Optional JSON for alignment/size tuning. Supports layout.front, layout.back, source_regions.front, source_regions.back, crop, text, and a4 keys.
calibrator
Optional
Alias for calibration JSON.
POST /v1/aadhaar-pvc-print-v3 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: multipart/form-data pdf_file: <aadhaar.pdf binary> password: VIKA1995 new_design: false <?php $curl = curl_init(); $postFields = [ 'pdf_file' => new CURLFile('/absolute/path/to/eaadhaar.pdf', 'application/pdf', 'eaadhaar.pdf'), 'password' => 'VIKA1995', 'new_design' => 'false' ]; curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/aadhaar-pvc-print-v3", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => [ "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/aadhaar-pvc-print-v3" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -F "pdf_file=@/absolute/path/to/eaadhaar.pdf;type=application/pdf" \ -F "password=VIKA1995" \ -F "new_design=false" const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('pdf_file', fs.createReadStream('/absolute/path/to/eaadhaar.pdf')); form.append('password', 'VIKA1995'); form.append('new_design', 'false'); axios.post('https://api.shadoweye.in/v1/aadhaar-pvc-print-v3', form, { headers: { ...form.getHeaders(), 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } }) .then((response) => { console.log(response.data); }) .catch((error) => { console.error(error.response?.data || error.message); }); const formData = new FormData(); formData.append('pdf_file', fileInput.files[0]); formData.append('password', 'VIKA1995'); formData.append('new_design', 'false'); fetch("https://api.shadoweye.in/v1/aadhaar-pvc-print-v3", { method: "POST", headers: { "X-Shadoweye-Api-Key": "YOUR_SECRET_API_KEY" }, body: formData }) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests url = "https://api.shadoweye.in/v1/aadhaar-pvc-print-v3" headers = {'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY'} data = {'password': 'VIKA1995', 'new_design': 'false'} with open('eaadhaar.pdf', 'rb') as pdf_file: files = {'pdf_file': ('eaadhaar.pdf', pdf_file, 'application/pdf')} response = requests.post(url, headers=headers, data=data, files=files) print(response.text)
// 200 HTTP OK { "error": false, "message": "Aadhaar PVC Print V3 processed successfully.", "data": { "design_mode": "new", "new_design_applied": true, "front_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "back_card_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "front_png_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "back_png_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_preview_base64": "data:image/png;base64,[BASE64_IMAGE_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_base64": "data:application/pdf;base64,[BASE64_PDF_DATA_HIDDEN_FOR_PERFORMANCE]", "a4_pdf_filename": "aadhaar_pvc_print_v3_a4.pdf", "calibration_applied": false, "extractor_mode": "exact", "resolved_extractor_mode": "exact" } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid Aadhaar PDF password." } { "error": true, "message": "Insufficient wallet balance. Required: Rs 4.00" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Document Generation
GET

RC PDF Print Advance (PVC)

Generates a PVC-sized RC PDF using the RC Advance dataset. This endpoint streams a binary PDF file.

URL https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=pvc&api_key=YOUR_SECRET_API_KEY

Query Parameters

vehicle
Required
Valid Indian License Plate passed in URL.
format
Required
Pass "pvc" in URL.
api_key
Required
Your secret API Key passed in URL.
GET /v1/print-rc-advance HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json <?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=pvc&api_key=YOUR_SECRET_API_KEY", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=pvc&api_key=YOUR_SECRET_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=pvc&api_key=YOUR_SECRET_API_KEY', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify() }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify() }; fetch("https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=pvc&api_key=YOUR_SECRET_API_KEY", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=pvc&api_key=YOUR_SECRET_API_KEY" payload = json.dumps() headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK // RAW PDF BINARY STREAM %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R /MediaBox [0 0 242.64 153.07] /Contents 4 0 R >> ...
// 402/502/404 API Error (No Record Found, Low Balance, etc) API Error: Service endpoint not found or inactive. Provider Error: Verification Failed. // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Document Generation
GET

RC PDF Print Advance (A4)

Generates an A4 RC PDF using the RC Advance dataset. This endpoint streams a binary PDF file.

URL https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=a4&api_key=YOUR_SECRET_API_KEY

Query Parameters

vehicle
Required
Valid Indian License Plate passed in URL.
format
Required
Pass "a4" in URL.
api_key
Required
Your secret API Key passed in URL.
GET /v1/print-rc-advance HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json <?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=a4&api_key=YOUR_SECRET_API_KEY", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=a4&api_key=YOUR_SECRET_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=a4&api_key=YOUR_SECRET_API_KEY', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify() }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify() }; fetch("https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=a4&api_key=YOUR_SECRET_API_KEY", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/print-rc-advance?vehicle=DL2CAD7689&format=a4&api_key=YOUR_SECRET_API_KEY" payload = json.dumps() headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK // RAW PDF BINARY STREAM %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R /MediaBox [0 0 595.28 841.89] /Contents 4 0 R >> ...
// 402/502/404 API Error (No Record Found, Low Balance, etc) API Error: Service endpoint not found or inactive. Provider Error: Verification Failed. // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Document Generation
GET

RC Pdf Print server 3 (PVC)

Generates a PVC-sized RC PDF using the RC Advance Verification API and the RC PDF Print Advance layout.

URL https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=pvc&api_key=YOUR_SECRET_API_KEY

Query Parameters

vehicle
Required
Valid Indian License Plate passed in URL.
format
Required
Pass "pvc" in URL.
api_key
Required
Your secret API Key passed in URL.
GET /v1/print-rc-server-3 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json <?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=pvc&api_key=YOUR_SECRET_API_KEY", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=pvc&api_key=YOUR_SECRET_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=pvc&api_key=YOUR_SECRET_API_KEY', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify() }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify() }; fetch("https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=pvc&api_key=YOUR_SECRET_API_KEY", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=pvc&api_key=YOUR_SECRET_API_KEY" payload = json.dumps() headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK // RAW PDF BINARY STREAM %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R /MediaBox [0 0 242.64 153.07] /Contents 4 0 R >> ...
// 402/502/404 API Error (No Record Found, Low Balance, etc) API Error: Service endpoint not found or inactive. Provider Error: Verification Failed. // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Vehicle Document Generation
GET

RC Pdf Print server 3 (A4)

Generates an A4 RC PDF using the RC Advance Verification API and the RC PDF Print Advance layout.

URL https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=a4&api_key=YOUR_SECRET_API_KEY

Query Parameters

vehicle
Required
Valid Indian License Plate passed in URL.
format
Required
Pass "a4" in URL.
api_key
Required
Your secret API Key passed in URL.
GET /v1/print-rc-server-3 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json <?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=a4&api_key=YOUR_SECRET_API_KEY", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=a4&api_key=YOUR_SECRET_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=a4&api_key=YOUR_SECRET_API_KEY', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify() }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify() }; fetch("https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=a4&api_key=YOUR_SECRET_API_KEY", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/print-rc-server-3?vehicle=HR12AT4846&format=a4&api_key=YOUR_SECRET_API_KEY" payload = json.dumps() headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK // RAW PDF BINARY STREAM %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R /MediaBox [0 0 595.28 841.89] /Contents 4 0 R >> ...
// 402/502/404 API Error (No Record Found, Low Balance, etc) API Error: Service endpoint not found or inactive. Provider Error: Verification Failed. // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Document Generation
GET

DL PDF Print (PVC)

Generates a PVC-sized Driving Licence PDF using DL Verification Plus data. This endpoint streams a binary PDF file.

URL https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=pvc&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY

Query Parameters

dlNumber
Required
Driving licence number passed in URL.
dob
Required
Date of birth in DD-MM-YYYY format.
format
Required
Pass "pvc" in URL.
address
Optional
Optional address override when the DL provider does not return address.
api_key
Required
Your secret API Key passed in URL.
GET /v1/print-dl HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json <?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=pvc&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=pvc&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=pvc&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify() }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify() }; fetch("https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=pvc&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=pvc&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY" payload = json.dumps() headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK // RAW PDF BINARY STREAM %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R /MediaBox [0 0 485.48 306.14] /Contents 4 0 R >> ...
// 402/502/404 API Error (No Record Found, Low Balance, etc) Error: DOB must be in DD-MM-YYYY format. Provider Error: Invalid DL number or combination of inputs. // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Document Generation
GET

DL PDF Print (A4)

Generates an A4 Driving Licence PDF containing front and back sides. This endpoint streams a binary PDF file.

URL https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=a4&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY

Query Parameters

dlNumber
Required
Driving licence number passed in URL.
dob
Required
Date of birth in DD-MM-YYYY format.
format
Required
Pass "a4" in URL.
address
Optional
Optional address override when the DL provider does not return address.
api_key
Required
Your secret API Key passed in URL.
GET /v1/print-dl HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json <?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=a4&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=a4&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=a4&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify() }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify() }; fetch("https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=a4&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/print-dl?dlNumber=KA25201XXXXXXX&dob=22-05-2000&format=a4&address=OPTIONAL_ADDRESS&api_key=YOUR_SECRET_API_KEY" payload = json.dumps() headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK // RAW PDF BINARY STREAM %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R /MediaBox [0 0 595.28 841.89] /Contents 4 0 R >> ...
// 402/502/404 API Error (No Record Found, Low Balance, etc) Error: DOB must be in DD-MM-YYYY format. Provider Error: Invalid DL number or combination of inputs. // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Mobile Prefill

BilAPI Mobile Prefill V2 lookup returning personal, phone, address, email, and linked identity information.

URL https://api.shadoweye.in/v1/mobile-prefill

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/mobile-prefill HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/mobile-prefill", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/mobile-prefill" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/mobile-prefill', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/mobile-prefill", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/mobile-prefill" payload = json.dumps({ "mobile": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "message": "Success", "data": { "mobile": "9876543210", "details": { "personal_info": {}, "phone_info": [], "address_info": [], "email_info": [], "identity_info": {} } } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Mobile Data

Returns the complete BilAPI Mobile Prefill V2 response for a mobile number.

URL https://api.shadoweye.in/v1/mobile-data

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/mobile-data HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/mobile-data", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/mobile-data" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/mobile-data', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/mobile-data", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/mobile-data" payload = json.dumps({ "mobile": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "message": "Success", "data": {"mobile": "9876543210", "details": {}} }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for mobile" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Mobile to PAN Find

Returns PAN numbers and personal information linked to a mobile number through BilAPI Mobile Prefill V2.

URL https://api.shadoweye.in/v1/mobile-to-pan-find

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/mobile-to-pan-find HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/mobile-to-pan-find", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/mobile-to-pan-find" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/mobile-to-pan-find', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/mobile-to-pan-find", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/mobile-to-pan-find" payload = json.dumps({ "mobile": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "data": {"mobile": "9876543210", "name": "RAM SINGH", "pan": "ABCDE1234F", "pan_number": ["ABCDE1234F"]} }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for mobile" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Find Address

Returns addresses reported against a mobile number through BilAPI Mobile Prefill V2.

URL https://api.shadoweye.in/v1/find-address

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/find-address HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/find-address", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/find-address" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/find-address', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/find-address", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/find-address" payload = json.dumps({ "mobile": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "data": {"mobile": "9876543210", "addresses": []} }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for mobile" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Mobile to DL

Returns driving-licence numbers linked to a mobile number through BilAPI Mobile Prefill V2.

URL https://api.shadoweye.in/v1/mobile-to-dl

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/mobile-to-dl HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/mobile-to-dl", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/mobile-to-dl" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/mobile-to-dl', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/mobile-to-dl", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/mobile-to-dl" payload = json.dumps({ "mobile": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "data": {"mobile": "9876543210", "dl_number": "HR2220170001329", "driving_license": ["HR2220170001329"]} }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for mobile" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Mobile to Ration Card Number

Returns ration-card numbers linked to a mobile number through BilAPI Mobile Prefill V2.

URL https://api.shadoweye.in/v1/mobile-to-ration-card-no

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/mobile-to-ration-card-no HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/mobile-to-ration-card-no", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/mobile-to-ration-card-no" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/mobile-to-ration-card-no', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/mobile-to-ration-card-no", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/mobile-to-ration-card-no" payload = json.dumps({ "mobile": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "data": {"mobile": "9876543210", "ration_card_number": "RC123456789", "ration_card": ["RC123456789"]} }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for mobile" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Mobile by DIN/LinkedIn

Attempts to resolve a mobile number using either a Director Identification Number (DIN) or LinkedIn Username.

URL https://api.shadoweye.in/v1/mobile-number

Body Parameters

DIN_Number
Optional
Valid DIN Number.
Linkedin_Username
Optional
Valid LinkedIn Profile Handle.
POST /v1/mobile-number HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "DIN_Number": "07109534" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/mobile-number", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "DIN_Number": "07109534"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/mobile-number" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "DIN_Number": "07109534"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/mobile-number', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "DIN_Number": "07109534"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "DIN_Number": "07109534"}) }; fetch("https://api.shadoweye.in/v1/mobile-number", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/mobile-number" payload = json.dumps({ "DIN_Number": "07109534"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "mobileNumber": "9876543210" } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Unable to Fetch", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

People Address

Returns addresses reported against a mobile number using BilAPI Mobile Prefill V2.

URL https://api.shadoweye.in/v1/people-address

Body Parameters

mobile
Required
10-digit Indian mobile number.
POST /v1/people-address HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "mobile": "6009246863" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/people-address", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "mobile": "6009246863"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/people-address" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "mobile": "6009246863"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/people-address', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "mobile": "6009246863"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "mobile": "6009246863"}) }; fetch("https://api.shadoweye.in/v1/people-address", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/people-address" payload = json.dumps({ "mobile": "6009246863"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "success": true, "status_code": 200, "data": { "mobile": "6009246863", "addresses": [ {"address": "Example address", "state": "TR", "postal": "799001"} ] } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for mobile" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Voter Mobile Instant

Instant voter mobile linking through the active admin-selected provider. QRHUB keeps the previous flow, while RCVERIFICATION uses a built-in default signer name and returns an eSign URL.

URL https://api.shadoweye.in/v1/voter-mobile-instant

Body Parameters

epic_no
Required
EPIC / voter number.
mobile_no
Required
10-digit mobile number.
POST /v1/voter-mobile-instant HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/voter-mobile-instant", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/voter-mobile-instant" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/voter-mobile-instant', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090"}) }; fetch("https://api.shadoweye.in/v1/voter-mobile-instant", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/voter-mobile-instant" payload = json.dumps({ "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "status": { "code": 200, "type": "success", "message": "Voter Mobile Instant completed successfully." }, "message": "Voter Mobile Instant completed successfully.", "data": { "epic_no": "JKLJD998/09NK/SSD", "mobile_no": "9090909090", "signer_name": "namematchasperaadhaar", "ref_id": "S24042O8C1607261200034", "request_id": "REQ202607161829189779", "provider_message": "Form 8 submitted successfully and mobile number changed instantly", "esign_url": "https://api.kyc-api.co.in/api/eci_app/main/generate_e_sign.php?requestid=REQ202607161829189779&signerName=namematchasperaadhaar", "request_status": "success", "billable": true, "provider": "RCVERIFICATION" } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for epic_no" } { "error": true, "message": "Invalid parameter format or length for mobile_no" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

Voter Mobile Instant V2

Dedicated RCVERIFICATION-based instant voter mobile linking API. Uses the built-in default signer name and returns eSign details in the same response.

URL https://api.shadoweye.in/v1/voter-mobile-instant-v2

Body Parameters

epic_no
Required
EPIC / voter number.
mobile_no
Required
10-digit mobile number.
POST /v1/voter-mobile-instant-v2 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "epic_no": "IWM0004127", "mobile_no": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/voter-mobile-instant-v2", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "epic_no": "IWM0004127", "mobile_no": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/voter-mobile-instant-v2" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "epic_no": "IWM0004127", "mobile_no": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/voter-mobile-instant-v2', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "epic_no": "IWM0004127", "mobile_no": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "epic_no": "IWM0004127", "mobile_no": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/voter-mobile-instant-v2", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/voter-mobile-instant-v2" payload = json.dumps({ "epic_no": "IWM0004127", "mobile_no": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "status": { "code": 200, "type": "success", "message": "Voter Mobile Instant V2 completed successfully." }, "message": "Voter Mobile Instant V2 completed successfully.", "data": { "epic_no": "IWM0004127", "mobile_no": "9876543210", "signer_name": "namematchasperaadhaar", "ref_id": "S24042O8C1607261200034", "request_id": "REQ202607161829189779", "provider_message": "Form 8 submitted successfully and mobile number changed instantly", "esign_url": "https://api.kyc-api.co.in/api/eci_app/main/generate_e_sign.php?requestid=REQ202607161829189779&signerName=namematchasperaadhaar", "request_status": "success", "billable": true, "provider": "RCVERIFICATION" } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "error": true, "message": "Invalid parameter format or length for epic_no" } { "error": true, "message": "Invalid parameter format or length for mobile_no" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

PAN Details (V2)

Offers basic PAN verification, returning Full Name, Father Name, DOB, and masked Aadhaar linkage.

URL https://api.shadoweye.in/v1/pan-details

Body Parameters

PAN_Number
Required
Valid 10-character PAN.
POST /v1/pan-details HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "PAN_Number": "CMAPR8492K" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/pan-details", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "PAN_Number": "CMAPR8492K"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/pan-details" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "PAN_Number": "CMAPR8492K"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/pan-details', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "PAN_Number": "CMAPR8492K"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "PAN_Number": "CMAPR8492K"}) }; fetch("https://api.shadoweye.in/v1/pan-details", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/pan-details" payload = json.dumps({ "PAN_Number": "CMAPR8492K"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "full_name": "RAMESH KUMAR SINGH", "dob": "1999-05-10", "masked_aadhaar": "80XXXXXXXX67" } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Invalid PAN", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

PAN Details (V3)

Deep PAN verification. Returns standard data plus linked address details and tax filing status.

URL https://api.shadoweye.in/v1/pan-details-v3

Body Parameters

PAN_Number
Required
Valid 10-character PAN.
POST /v1/pan-details-v3 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "PAN_Number": "CMAPR8492K" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/pan-details-v3", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "PAN_Number": "CMAPR8492K"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/pan-details-v3" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "PAN_Number": "CMAPR8492K"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/pan-details-v3', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "PAN_Number": "CMAPR8492K"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "PAN_Number": "CMAPR8492K"}) }; fetch("https://api.shadoweye.in/v1/pan-details-v3", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/pan-details-v3" payload = json.dumps({ "PAN_Number": "CMAPR8492K"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "full_name": "KARTHIKEYAN RAMAN ABDULLAH", "aadhar_linked": true, "tax": true, "address": { "pin_code": "600024", "state": "Tamil Nadu" } } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "Invalid PAN", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

PAN Details (V5)

Advanced PAN profile lookup through the srv2 provider with PAN status, Aadhaar linkage, name breakup, DOB, and allotment details.

URL https://api.shadoweye.in/v1/pan-details-v5

Body Parameters

pan
Required
Valid 10-character PAN.
POST /v1/pan-details-v5 HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "pan": "ASWFU7648N" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/pan-details-v5", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "pan": "ASWFU7648N"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/pan-details-v5" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "pan": "ASWFU7648N"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/pan-details-v5', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "pan": "ASWFU7648N"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "pan": "ASWFU7648N"}) }; fetch("https://api.shadoweye.in/v1/pan-details-v5", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/pan-details-v5" payload = json.dumps({ "pan": "ASWFU7648N"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "status": { "code": 200, "type": "success", "message": "Pan details validation successful." }, "message": "Pan details validation successful.", "data": { "pan": "ASWFU7648N", "pan_status": "Active and operative", "fullname": "VIKAS SINGLA", "aadhaar_linked": true, "dob": "02/05/1995" } }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "http_response_code": 200, "result_code": 103, "message": "Invalid Pan", "result": { "pan": "CRAPP6025Q", "pan_status": "Invalid" } } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

DL Verify

Driving licence verification through the srv2 provider with validity blocks, address details, COV classes, and licence profile information.

URL https://api.shadoweye.in/v1/dl-verify

Body Parameters

dlNumber
Required
Driving licence number.
dob
Required
Date of birth in DD-MM-YYYY format.
POST /v1/dl-verify HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "dlNumber": "KA25201XXXXXXX", "dob": "22-05-2000" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/dl-verify", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "dlNumber": "KA25201XXXXXXX", "dob": "22-05-2000"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/dl-verify" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "dlNumber": "KA25201XXXXXXX", "dob": "22-05-2000"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/dl-verify', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "dlNumber": "KA25201XXXXXXX", "dob": "22-05-2000"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "dlNumber": "KA25201XXXXXXX", "dob": "22-05-2000"}) }; fetch("https://api.shadoweye.in/v1/dl-verify", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/dl-verify" payload = json.dumps({ "dlNumber": "KA25201XXXXXXX", "dob": "22-05-2000"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "status": "success", "message": "Driving License details fetched successfully", "data": { "raw": { "dl_number": "KA25201XXXXXXX", "dob": "22-05-2000", "details_of_driving_licence": { "name": "NAME KR", "status": "Active", "expiry_date": "21-07-2039" } } }, "status_code": 200 }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "http_response_code": 200, "result_code": 102, "message": "Invalid DL number or combination of inputs" } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

LPG Connection Details

Retrieves active gas connections, consumer ID, and distributor details linked to a phone number.

URL https://api.shadoweye.in/v1/lpg-connection

Body Parameters

Mobile_Number
Required
10-digit Indian Mobile Number.
POST /v1/lpg-connection HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Mobile_Number": "9876543210" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/lpg-connection", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Mobile_Number": "9876543210"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/lpg-connection" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Mobile_Number": "9876543210"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/lpg-connection', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Mobile_Number": "9876543210"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Mobile_Number": "9876543210"}) }; fetch("https://api.shadoweye.in/v1/lpg-connection", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/lpg-connection" payload = json.dumps({ "Mobile_Number": "9876543210"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "gas_connections": [ { "gas_provider": "HP Gas", "name": "RAYACHOTI PRAKASAMMA", "consumer_details": { "consumer_status": "ACTIVE" } } ] } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

User UPI Lookup

Retrieves active UPI IDs and associated bank account names for a mobile number.

URL https://api.shadoweye.in/v1/user-upi

Body Parameters

Mobile_Number
Required
10-digit Indian Mobile Number.
POST /v1/user-upi HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Mobile_Number": "7240995099" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/user-upi", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Mobile_Number": "7240995099"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/user-upi" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Mobile_Number": "7240995099"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/user-upi', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Mobile_Number": "7240995099"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Mobile_Number": "7240995099"}) }; fetch("https://api.shadoweye.in/v1/user-upi", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/user-upi" payload = json.dumps({ "Mobile_Number": "7240995099"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "data": { "result": { "name": "AKASH DEY", "upi": "akashdey91@axisbank", "bank": "UTIB" } }, "error": false }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }
Identity Enrichment
POST

CIBIL Report

Triggers an asynchronous fetch of a user's credit history. Report is sent to your callback URL.

URL https://api.shadoweye.in/v1/cibil-report

Body Parameters

Mobile_Number
Required
10-digit Indian Mobile Number.
Callback_Url
Required
Your webhook URL to receive the async report.
POST /v1/cibil-report HTTP/1.1 Host: api.shadoweye.in X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY Content-Type: application/json { "Mobile_Number": "7240995099", "Callback_Url": "https://yourdomain.com/webhook" }<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.shadoweye.in/v1/cibil-report", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{ "Mobile_Number": "7240995099", "Callback_Url": "https://yourdomain.com/webhook"}', CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" ], ]); $response = curl_exec($curl); curl_close($curl); echo $response; curl -X POST "https://api.shadoweye.in/v1/cibil-report" \ -H "Content-Type: application/json" \ -H "X-Shadoweye-Api-Key: YOUR_SECRET_API_KEY" \ -d '{ "Mobile_Number": "7240995099", "Callback_Url": "https://yourdomain.com/webhook"}' const axios = require('axios'); let config = { method: 'post', url: 'https://api.shadoweye.in/v1/cibil-report', headers: { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' }, data: JSON.stringify({ "Mobile_Number": "7240995099", "Callback_Url": "https://yourdomain.com/webhook"}) }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.error(error); }); const headers = new Headers(); headers.append("Content-Type", "application/json"); headers.append("X-Shadoweye-Api-Key", "YOUR_SECRET_API_KEY"); const options = { method: "POST", headers: headers, body: JSON.stringify({ "Mobile_Number": "7240995099", "Callback_Url": "https://yourdomain.com/webhook"}) }; fetch("https://api.shadoweye.in/v1/cibil-report", options) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); import requests import json url = "https://api.shadoweye.in/v1/cibil-report" payload = json.dumps({ "Mobile_Number": "7240995099", "Callback_Url": "https://yourdomain.com/webhook"}) headers = { 'Content-Type': 'application/json', 'X-Shadoweye-Api-Key': 'YOUR_SECRET_API_KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
// 200 HTTP OK { "error": false, "requestId": 34825 }
// 402/502/404 API Error (No Record Found, Low Balance, etc) { "data": { "errorMessage": "No Record Found", "errorType": "API_ERROR" }, "error": false } // 400 Validation Error (Bad Input) { "error": true, "message": "Invalid parameter format or length" }