Aadhaar Verification API
POST
Aadhaar verification API is a crucial API for every financial entity for Aadhaar card verification. This is the most fundamental identity that is required everywhere.
Name: Send OTP
Type: POST
Request: https://planapi.in/Api/Ekyc/AdharVerification
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Header |
Required |
Enter Genrated TokenId Credentials |
| ApiUserID | string |
Header |
Required |
Enter given USERID Credentials |
| ApiPassword | string |
Header |
Required |
Enter given PASSWORD Credentials |
| Aadhaarid | string |
Body |
Required |
"XXXXXXXXX1234" |
| ApiMode | string |
Body |
Optional |
0 for Test API/1 for Prodution |
Response : 200
{
"code": 200,
"status": "success",
"response": {
"ref_id": "63d0f0762264c",
"message": "OTP has been sent"
}
}
Response : 404
{
"Errorcode": 404,
"status": "failed",
"responce": {
"ref_id": null,
"message": "Error message"
}
}
Aadhaar Verification API
POST
Aadhaar verification API is a crucial API for every financial entity for Aadhaar card verification. This is the most fundamental identity that is required everywhere.
Name: Verify OTP
Type: POST
Request: https://planapi.in/Api/Ekyc/AdharVerificationSubmitOtp
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Header |
Required |
Enter Genrated TokenId Credentials |
| ApiUserID | string |
Header |
Required |
Enter given USERID Credentials |
| ApiPassword | string |
Header |
Required |
Enter given PASSWORD Credentials |
| Aadhaarid | string |
Body |
Required |
"XXXXXXXXX1234" |
| OTP | string |
Body |
Required |
Enter 4 Digit OTP |
| ReqId | string |
Body |
Required |
Enter the ref_id returned by the Aadhaar Send OTP API. |
| ApiMode | string |
Body |
Optional |
0 for Test API/1 for Prodution |
Response : 200
{
"status": "Success",
"Errorcode": 200,
"aadhar": "XXXXXXXX0791",
"response": {
"care": "dummy care of",
"name": "Dummy Name",
"gender": "M",
"dob": "1601-05-16",
"share_code": "9999",
"zip_file": "{{zip file url}}",
"country": "India",
"address": {
"state": "Delhi-state",
"dist": "Delhi-dist",
"subdist": "",
"po": "Pitampura",
"house": "121",
"street": "Pitampura",
},
"landmark": "Near Pitampura"
}
"Image": null
}
Response : 404
{
"Errorcode": 404,
"status": "failed",
"aadhar": null,
"response": {[]
},
"landmark": null
}
"Image": null
}
FETCH AADHAAR CARD DETAILS BY AADHAAR IMAGE REQUEST URL
POST
This API helps entities fetching aadhar card details by upload aadhar card front and back image.
Name: FETCH AADHAAR CARD DETAILS BY AADHAAR IMAGE
Type: POST
Request: https://planapi.in/Api/Ekyc/AadhaarOCR
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Headers |
Required |
Enter Your Generated TokenID |
| ApiUserID | string |
Headers |
Required |
Enter Genrated Your 4 Digit API Member credentials |
| ApiPassword | string |
Headers |
Required |
Enter Your api password credentials |
| FrontImage | string |
Body(FormData) |
Required |
Upload Your Aadhar Front Image |
| BackImage | string |
Body(FormData) |
Required |
Upload Your Aadhar Back Image |
Response : 100
{
"Errorcode": 100,
"Status": "Success",
"Message": "Done Successfully",
"data": {
"AadharNumber": "XXXXXXXX9258",
"Name": "Dummy Name",
"DOB": "1993",
"Address": "S/O: XXXXXX XXXXXX, XXXX, XXX, XX, XXX, XXXX, XXXX, 111111",
"State": "Rajasthan",
"Pincode": "111111",
"Valid": "True"
}
}
Response : 104
{
"Errorcode": 104,
"Status": "Failed",
"Message": "Please check with all required parameters",
"data": {
"AadharNumber": null,
"Name": null,
"DOB": null,
"Address": null,
"State": null,
"Pincode": null,
"Valid": null
}
}
Aadhaar Masking API
POST
This API is an effective tool that has the capability to mask the first eight digits of an Aadhaar Card. This is the most fundamental identity that is required everywhere.
Name: Aadhaar Masking
Type: POST
Request: https://planapi.in/Api/Ekyc/AadhaarMasking
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Header |
Required |
Enter Genrated TokenId Credentials |
| ApiUserID | string |
Header |
Required |
Enter given USERID Credentials |
| ApiPassword | string |
Header |
Required |
Enter given PASSWORD Credentials |
| FrontImage | string |
Form-Data |
Required |
Aadhar front image file |
Response : 200
{
"Errorcode": 100,
"Status": "Failed",
"Message": null,
"MaskImageUrl": "https://aadhaar-kyc-docs.s3.amazonaws.com/username_2h3x6ojnlin3khky6hsunhudbrp/aadhaar_masking_YfpKjZJKlhkffKsatjDI/masked_1760521767615.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY5K3QRM5KVPBYKKE%2F20251015%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20251015T094927Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=b802aef388a021ed80ad0ff883236264e2bb5d9765e38648f51976641fc26d69"
}
Response : 404
{
"Errorcode": 101,
"Status": "failed",
"Message": "Authentication Error",
"MaskImageUrl": null
}
Aadhaar Pan Link Check API
POST
An Ideal solution for the business to simplify financial operations and fraud prevention. Integrate this API into your system and eliminate time-consuming manual delays.
Name: Aadhaar Pan Link Check
Type: POST
Request: https://planapi.in/Api/Ekyc/AadharPanLinkCheck
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Header |
Required |
Enter Genrated TokenId Credentials |
| ApiUserID | string |
Header |
Required |
Enter given USERID Credentials |
| ApiPassword | string |
Header |
Required |
Enter given PASSWORD Credentials |
| Aadhaarid | string |
Body |
Required |
Enter Your Aadhar Number |
| ApiMode | string |
Body |
Required |
Enter Your ApiMode |
Response : 200
{
"Errorcode": 100,
"status": "Success",
"msg": "done",
"data": {
"Masked_Pan": "ABXXXXXX1C",
"Linking_Status": true,
"Reason": "linked",
"Detailed_Reason": null
}
}
Response : 404
{
"Errorcode": 101,
"status": "failed",
"msg": "Authentication Error",
"data": {
"Masked_Pan": null,
"Linking_Status": false,
"Reason": null,
"Detailed_Reason": null
}
}
DIGI LOCKER INITIALIZE REQUEST URL
POST
This API endpoint initiates the DigiLocker integration process by generating an OAuth URL that allows end users to authenticate and authorize access to their DigiLocker documents. It serves as the first step in a multi-stage workflow for securely retrieving documents from DigiLocker.
Name: DIGI LOCKER INITIALIZE REQUEST URL
Type: POST
Request: https://planapi.in/Api/Ekyc/DigiLockerInitialize
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Headers |
Required |
Enter Your Generated TokenID |
| ApiUserID | string |
Headers |
Required |
Enter Genrated Your 4 Digit API Member credentials |
| ApiPassword | string |
Headers |
Required |
Enter Your api password credentials |
| Name | string |
Body |
Optional |
Enter Your Name |
string |
Body |
Optional |
Enter Your Email |
|
| MobileNo | string |
Body |
Optional |
Enter Your MobileNo |
| RedirectUrl | string |
Body |
Optional |
Enter Your RedirectUrl |
Response : 100
{
"Errorcode": 100,
"status": "success",
"msg": "done",
"response": {
"client_id": "digilocker_pBHUoazjGtjyxdBcBbGZ",
"url": "https://digilocker-sdk.notbot.in/?gateway=production&type=digilocker&token=.eJyrVkrOyUzNK4nPTFGyUkrJTM_MyU_OTi2KL3DyCM1PrMpyL8mqrEhxSnZKco9S0lFKTyxJLU-sBKotKMpPKU0uyczPAwqXVBakouhXqgUAxzYgPQ.aHncbw.59JKrr1xmrhOuNaFboy6j9Txmq0&auth_type=web",
"expiry_seconds": "600.00"
}
}
Response : 101
{
"Errorcode": 101,
"status": "failed",
"msg": "Authentication Error",
"response": {
"client_id": null,
"url": null,
"expiry_seconds": null
}
}
DIGI LOCKER STATUS CHECK REQUEST URL
POST
This endpoint checks the current status of a DigiLocker session for a client. It shows if authentication is complete, failed, or if the Aadhaar is linked. Use it to track the progress of DigiLocker login.
Name: DIGI LOCKER STATUS CHECK REQUEST URL
Type: POST
Request: https://planapi.in/Api/Ekyc/DigiLockerStatus
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Headers |
Required |
Enter Your Generated TokenID |
| ApiUserID | string |
Headers |
Required |
Enter Genrated Your 4 Digit API Member credentials |
| ApiPassword | string |
Headers |
Required |
Enter Your api password credentials |
| Digilocker_Client_Id | string |
Body |
Required |
Enter Your Digilocker_Client_Id |
Response : 100
{
"Errorcode": 100,
"Status": "success",
"Message": "done",
"Data": {
"Status": "",
"Completed": false,
"Failed": false,
"Error_Count": "0",
"Aadhaar_Linked": false
}
}
Response : 101
{
"Errorcode": 101,
"Status": "failed",
"Message": "Authentication Error",
"Data": {
"Status": null,
"Completed": false,
"Failed": false,
"Error_Count": null,
"Aadhaar_Linked": false
}
}
DIGI LOCKER DOWNLOAD AADHAR REQUEST URL
POST
This API lets you download a user's document from DigiLocker using the Client ID and File ID. It returns a temporary download link and file type so your app can fetch the document securely.
Name: DIGI LOCKER DOWNLOAD AADHAR REQUEST URL
Type: POST
Request: https://planapi.in/Api/Ekyc/DigiLockerDownloadAadhar
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Headers |
Required |
Enter Your Generated TokenID |
| ApiUserID | string |
Headers |
Required |
Enter Genrated Your 4 Digit API Member credentials |
| ApiPassword | string |
Headers |
Required |
Enter Your api password credentials |
| Digilocker_Client_Id | string |
Body |
Required |
Enter Your Digilocker_Client_Id |
Response : 100
{
"Aadhaar_Xml_Data": {
"Full_Name": "Rahul Kumar",
"Care_Of": "S/O: Mohan Kumar",
"Dob": "1995-05-15",
"Yob": "1995",
"Zip": "110001",
"Profile_Image": "base64_encoded_image_string",
"Gender": "M",
"Masked_Aadhaar": "XXXXXXXX1234",
"Full_Address": "Connaught Place, New Delhi, Delhi, India",
"Father_Name": "S/O: Mohan Kumar",
"Address": {
"Country": "India",
"Dist": "New Delhi",
"State": "Delhi",
"Po": "Connaught Place",
"House": "12B",
"Loc": "Central Delhi",
"Vtc": "Connaught Place",
"Subdist": "New Delhi",
"Street": "Main Road",
"Landmark": "Near Metro Station"
}
},
"Xml_Url": "https://dummy-url.com/rahul/aadhaar.xml",
"Errorcode": 100,
"Status": "success",
"Message": "done"
}
Response : 101
{
"Aadhaar_Xml_Data": null,
"Xml_Url": null,
"Errorcode": 101,
"Status": "failed",
"Message": "Please check with all header parameters"
}
DIGI LOCKER DOCUMENT LIST REQUEST URL
POST
This API fetches a list of all documents in a user's DigiLocker account, along with details like type, issuer, and download status. It's useful for viewing or managing documents for verification or processing.
Name: DIGI LOCKER DOCUMENT LIST REQUEST URL
Type: POST
Request: https://planapi.in/Api/Ekyc/DigiLockerDocumentList
| Parameter | Type | Position | # | Description |
|---|---|---|---|---|
| TokenID | string |
Headers |
Required |
Enter Your Generated TokenID |
| ApiUserID | string |
Headers |
Required |
Enter Genrated Your 4 Digit API Member credentials |
| ApiPassword | string |
Headers |
Required |
Enter Your api password credentials |
| Digilocker_Client_Id | string |
Body |
Required |
Enter Your Digilocker_Client_Id |
Response : 100
{
"Data": [
{
"file_id": "digilocker_file_PjorZrpBQQSSbquyTPav",
"name": "PAN Verification Record",
"doc_type": "PANCR",
"downloaded": true,
"issuer": "Income Tax Department",
"description": "PAN Verification Record"
},
{
"file_id": "digilocker_file_gjMycCOuvUTyifttXXDk",
"name": "Aadhaar Card",
"doc_type": "ADHAR",
"downloaded": true,
"issuer": "Unique Identification Authority of India (UIDAI)",
"description": "Aadhaar Card"
}
],
"Errorcode": 100,
"Status": "success",
"Message": "done"
}
Response : 101
{
"Data": [],
"Errorcode": 101,
"Status": "failed",
"Message": "Please check with all header parameters"
}








