PAN Card · PAN Card Services
PAN Correction / Changes
Generate a white-label redirection URL for an existing PAN card correction application.
POST request
URL: https://uat-api.vizodigital.com/api/v1/pancard/correction
Body
{
"number": "9876543210",
"mode": "EKYC",
"orderid": "PAN_CORR_2001"
}
Include a valid Bearer token with every request
Code sample
curl -X POST "https://uat-api.vizodigital.com/api/v1/pancard/correction" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"number": "9876543210",
"mode": "EKYC",
"orderid": "PAN_CORR_2001"
}'
Success Response
{
"txid": 898495,
"status": "Success",
"opid": "Order is under process",
"message": "Pan Redirection url created",
"url": "https://api.vizodigital.com/api/v1/pancard/redirect/PAN_CORR_2001",
"number": "9876543210",
"amount": "107.00",
"orderid": "PAN_CORR_2001"
}
Failure response
{
"status": "Failure",
"message": "Please enter correct Mobile number, it must be 10 digit"
}
Overview
Generate an instant NSDL redirection URL for Correction or Changes in an existing PAN Card (CSF Form).
Use this endpoint when:
- Applicant already has a PAN card and wants to update their Name, Father's Name, Date of Birth, Address, or Photo/Signature.
- Applicant wants a reprint of a lost or damaged PAN card.
Path Aliases:
POST /api/v1/pancard/correctionGET /api/v1/pancard/correction?number=9876543210&mode=EKYC&orderid=PAN_CORR_2001POST /api/v1/nsdl/correction
Headers
-
Authorization · string required
Sanctum Bearer token: `Bearer <your_token>`. Generated from `POST /api/v1/auth/client-credentials` using your production client credentials.
Example: Bearer 1|abc123xyz789token...
-
Content-Type · string required
Must be `application/json` for POST requests.
Example: application/json
-
Accept · string required
Must be `application/json`.
Example: application/json
Parameters
-
number · query · string required
Applicant's 10-digit mobile number
Example: 9876543210
Schema
{ "type": "string" } -
mode · query · string required
EKYC or ESIGN
Example: EKYC
Schema
{ "type": "string" } -
orderid · query · string required
Unique order reference ID
Example: PAN_CORR_2001
Schema
{ "type": "string" }
Body
PAN Correction / Changes JSON request payload
Schema
{
"type": "object",
"required": [
"number",
"mode",
"orderid"
],
"properties": {
"number": {
"type": "string",
"description": "Applicant's 10-digit mobile number (e.g. `9876543210`)."
},
"mode": {
"type": "string",
"enum": [
"EKYC",
"ESIGN"
],
"description": "`EKYC` = Instant paperless application using Aadhaar OTP / Biometric. No physical signature or photo upload required. `ESIGN` = Application with scanned signature and photo upload."
},
"orderid": {
"type": "string",
"maxLength": 64,
"description": "Your unique order/transaction reference ID for this application. Max 64 alphanumeric characters."
}
}
}
Example
{
"number": "9876543210",
"mode": "EKYC",
"orderid": "PAN_CORR_2001"
}
Responses
-
200 · application/json default
Redirection URL generated successfully.
Example
{ "txid": 898495, "status": "Success", "opid": "Order is under process", "message": "Pan Redirection url created", "url": "https://api.vizodigital.com/api/v1/pancard/redirect/PAN_CORR_2001", "number": "9876543210", "amount": "107.00", "orderid": "PAN_CORR_2001" } -
422 · application/json
Validation error.
Example
{ "status": "Failure", "message": "Please enter correct Mobile number, it must be 10 digit" } -
422 · application/json
Insufficient wallet balance.
Example
{ "status": "Failure", "message": "Insufficient wallet balance. Required: ₹107.00, Available: ₹50.00" }
Errors
-
INVALID_INPUT · HTTP 422
Please enter correct Mobile number, it must be 10 digit
The mobile number provided does not match 10-digit Indian mobile format.
{ "status": "Failure", "message": "Please enter correct Mobile number, it must be 10 digit" } -
INSUFFICIENT_BALANCE · HTTP 422
Insufficient wallet balance. Required: ₹107.00, Available: ₹25.00
Developer wallet does not have sufficient balance to cover the ₹107 application fee.
{ "status": "Failure", "message": "Insufficient wallet balance. Required: ₹107.00, Available: ₹25.00" } -
DUPLICATE_ORDER_ID · HTTP 422
Duplicate orderid
The orderid has already been used for a previous transaction by your account.
{ "status": "Failure", "message": "Duplicate orderid" } -
SERVICE_NOT_ENABLED · HTTP 403
PAN Card is not enabled for your account. Contact your account manager to activate it.
PAN Card service has not been activated for your user account by the platform administrator.
{ "status": "error", "code": "service_not_enabled", "message": "PAN Card is not enabled for your account." } -
PRODUCTION_CREDENTIALS_REQUIRED · HTTP 403
PAN Card has no sandbox. Use your production credentials.
NSDL PAN Card is a live-only service. Calls using UAT sandbox tokens are rejected.
{ "status": "error", "code": "production_credentials_required", "message": "PAN Card has no sandbox. Use your production credentials." } -
UNAUTHENTICATED · HTTP 401
Unauthenticated.
Missing or invalid Bearer token in Authorization header.
{ "message": "Unauthenticated." }
Notes
Wallet Billing (₹107.00) Flat ₹107.00 is debited from your developer wallet upon application URL creation. Please ensure your wallet balance is maintained before calling this endpoint.
Automated Refund Guarantee
- Immediate Failure Refund: If the upstream gateway fails to create the redirection URL (gateway timeout, network failure), the ₹107 fee is refunded to your wallet immediately.
- Cancellation / Timeout Refund: If the customer abandons the application, closes the browser, or denies geolocation, once the NSDL session expires or reports failure, the ₹107 fee is automatically credited back to your developer wallet.
- Client Webhook Notification: When a refund occurs, an automated webhook event (
transaction.failed) is dispatched to your registered webhook URL.
White-label Redirection Bridge
The returned url is a white-label bridge (https://api.vizodigital.com/api/v1/pancard/redirect/{orderid}) that seamlessly redirects the applicant's browser to the official government NSDL portal (onlineservices.nsdl.com) without revealing aggregator branding.
Mandatory Browser Geolocation
NSDL government guidelines strictly require browser location access. If the applicant denies geolocation, NSDL terminates the transaction with error code GLA002. Always instruct applicants to allow location access when prompted.
Rate Limits
60/min
Webhooks
Webhook details for this endpoint can be documented in the CMS.