Vizo Digital Api
Sign in

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 orderid generates 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/incomplete
  • GET /api/v1/pancard/incomplete?orderid=PAN_ORD_1001
  • POST /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

application/json required

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.