PAN Card · PAN Card Services
Resume Incomplete PAN
Fetch a redirection URL to resume an incomplete or abandoned PAN application.
POST request
URL: https://uat-api.vizodigital.com/api/v1/pancard/incomplete
Body
{
"orderid": "PAN_ORD_1001"
}
Include a valid Bearer token with every request
Code sample
curl -X POST "https://uat-api.vizodigital.com/api/v1/pancard/incomplete" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"orderid": "PAN_ORD_1001"
}'
Success Response
{
"txid": "898494",
"status": "Success",
"opid": "Order is under process",
"message": "Pan Redirection url created",
"url": "https://api.vizodigital.com/api/v1/pancard/redirect/PAN_ORD_1001"
}
Failure response
{
"status": "Failure",
"message": "Order ID not found"
}
Overview
Resume an Incomplete or Disconnected PAN Card application that was previously initiated.
Use this endpoint when:
- The applicant started a New PAN or Correction application, but closed the browser tab, lost internet connectivity, or timed out before completion.
- NSDL stores pending sessions for up to 24 hours. Calling this endpoint with the original
orderidgenerates a fresh redirection URL allowing the applicant to continue from where they left off without paying the ₹107 fee again.
Path Aliases:
POST /api/v1/pancard/incompleteGET /api/v1/pancard/incomplete?orderid=PAN_ORD_1001POST /api/v1/nsdl/incomplete
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
-
orderid · query · string required
The orderid originally submitted during New PAN or Correction
Example: PAN_ORD_1001
Schema
{ "type": "string" }
Body
Resume Incomplete PAN JSON request payload
Schema
{
"type": "object",
"required": [
"orderid"
],
"properties": {
"orderid": {
"type": "string",
"maxLength": 64,
"description": "The original orderid of the incomplete application."
}
}
}
Example
{
"orderid": "PAN_ORD_1001"
}
Responses
-
200 · application/json default
Redirection URL to resume application generated successfully.
Example
{ "txid": "898494", "status": "Success", "opid": "Order is under process", "message": "Pan Redirection url created", "url": "https://api.vizodigital.com/api/v1/pancard/redirect/PAN_ORD_1001" } -
404 · application/json
Order ID not found for your account.
Example
{ "status": "Failure", "message": "Order ID not found" } -
422 · application/json
Application expired or already completed.
Example
{ "status": "Failure", "message": "URL Expired or session already finalized" }
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.