> ## Documentation Index
> Fetch the complete documentation index at: https://www.cashfree.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# PAN Lite

> Use this API to validate PAN information of individuals. The API helps verify the unique identifier, name of the individual, date of birth, and other information that helps you in customer onboarding, KYC verification, and other fraud prevention security measures.

View the [test data](https://www.cashfree.com/docs/api-reference/vrs/data-to-test-integration#pan) and use the information to trigger the validations.The test data can be used only in the sandbox environment.

<Note>
  The name returned by the API may differ from the name printed on the physical PAN card. The API returns the registered name from the Income Tax Department's records, which is the authoritative source and may not match the name displayed on the card.
</Note>


## OpenAPI

````yaml post /pan-lite
openapi: 3.0.0
info:
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    email: developers@cashfree.com
    name: API Support
    url: https://discord.com/invite/QdZkNSxXsB
  title: Cashfree Verification API's.
  version: '2023-12-18'
  description: >-
    Cashfree's Verification APIs provide different types of verification to our
    merchants.
servers:
  - description: Sandbox Server
    url: https://sandbox.cashfree.com/verification
  - description: Production Server
    url: https://api.cashfree.com/verification
security: []
tags:
  - name: Aadhaar
    description: Operations related to Aadhaar verification.
  - name: BAV V2
    description: Operations related to Bank account verification v2.
  - name: PAN
    description: Operations related to PAN verification.
  - name: Digilocker
    description: Operations related to Digilocker verification.
  - name: E-sign
    description: Operations related to E-sign verification.
  - name: Reverse Penny Drop
    description: Operations related to Reverse Penny Drop verification.
  - name: UPI Penny Drop
    description: Operations related to UPI Penny Drop verification.
  - name: Mobile Penny Drop
    description: Operations related to Mobile Penny Drop verification.
  - name: IP
    description: Operation related to IP verification.
  - name: UPI
    description: Operations related to UPI verification.
  - name: Passport
    description: Operation related to Passport verification.
  - name: CIN
    description: Operation related to CIN verification.
  - name: Name Match
    description: Operation related to Name Match verification.
  - name: PAN to GSTIN
    description: Operation related to PAN to GSTIN.
  - name: Face Match
    description: Operation related to Face Match verification.
  - name: Voter ID
    description: Operation related to Voter ID verification.
  - name: Reverse Geocoding
    description: Operation related to Reverse Geocoding.
  - name: Vehicle RC
    description: Operation related to Vehicle RC verification.
  - name: Driving License
    description: Operation related to Driving License verification.
  - name: GSTIN
    description: Operation related to GSTIN verification.
  - name: Account Aggregator
    description: Operations related to Account aggregator.
  - name: OTPLess
    description: Operations related to OTPLess Verification.
  - name: 1-Click
    description: Operations related to 1-Click.
  - name: Smart OCR
    description: Operations related to Smart OCR.
  - name: Geocoding
    description: Operations related to Geocoding.
  - name: Udyam
    description: Operation related to Udyam verification.
  - name: PAN to Udyam
    description: Operation related to PAN to Udyam.
paths:
  /pan-lite:
    post:
      tags:
        - PAN
      summary: PAN Lite
      description: >-
        Use this API to validate PAN information of individuals. The API helps
        verify the unique identifier, name of the individual, date of birth, and
        other information that helps you in customer onboarding, KYC
        verification, and other fraud prevention security measures.


        View the [test
        data](https://www.cashfree.com/docs/api-reference/vrs/data-to-test-integration#pan)
        and use the information to trigger the validations.The test data can be
        used only in the sandbox environment.
      operationId: PanLiteAPI,
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
      requestBody:
        $ref: '#/components/requestBodies/PanLiteRequest'
      responses:
        '200':
          $ref: '#/components/responses/PanLiteResponse'
        '400':
          $ref: '#/components/responses/400PanLiteAPI'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/403'
        '409':
          $ref: '#/components/responses/Response409DuplicateId'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500V2'
        '502':
          $ref: '#/components/responses/Response502V2AuthorizedSourceDown'
      security:
        - XClientID: []
          XClientSecret: []
components:
  parameters:
    x_cf_signature:
      description: >-
        Send the signature if two-factor authentication is selected as Public
        Key.  [More
        details](https://www.cashfree.com/docs/api-reference/vrs/getting-started#2fa-api-signature-generation).
      name: x-cf-signature
      in: header
      required: false
      schema:
        type: string
      example: ''
  requestBodies:
    PanLiteRequest:
      description: Request body for PAN Lite.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PanLiteRequestSchema'
          examples:
            Valid:
              $ref: '#/components/examples/PanLiteExisting'
            Invalid:
              $ref: '#/components/examples/PanLiteInvalidRequest'
            Fake:
              $ref: '#/components/examples/PanLiteFakeRequest'
            Deleted:
              $ref: '#/components/examples/PanLiteDeletedRequest'
            Deactivated:
              $ref: '#/components/examples/PanLiteDeactivatedRequest'
  responses:
    '403':
      description: Authentication Error because IP not whitelisted.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            IP not whitelisted:
              value:
                type: authentication_error
                code: ip_validation_failed
                message: >-
                  IP not whitelisted your current ip is 106.51.91.104.For IP
                  whitelisting assistance, visit our guide at
                  https://www.cashfree.com/docs/secure-id/get-started/integration/ip-whitelisting-verification
    PanLiteResponse:
      description: Success response for retrieving PAN Lite information.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PanLiteResponseSchema'
          examples:
            Valid:
              value:
                verification_id: test001
                reference_id: 21637861
                pan: ABCTY1234D
                name: John Doe
                dob: '1993-06-30'
                name_match: 'Y'
                dob_match: 'Y'
                pan_status: E
                status: VALID
                aadhaar_seeding_status: 'Y'
                aadhaar_seeding_status_desc: Aadhaar is linked to PAN
            Invalid Pan:
              value:
                verification_id: test001
                reference_id: 21637861
                pan: DEFPV0126D
                name: John Doe
                dob: '1993-06-30'
                name_match: null
                dob_match: null
                pan_status: 'N'
                status: INVALID
                aadhaar_seeding_status: null
                aadhaar_seeding_status_desc: null
            Deactivated Pan:
              value:
                verification_id: test001
                reference_id: '21637861'
                pan: ABCDX1234F
                name: John Doe
                dob: '1993-06-30'
                name_match: null
                dob_match: null
                pan_status: X
                status: INVALID
                aadhaar_seeding_status: null
                aadhaar_seeding_status_desc: null
            Fake Pan:
              value:
                verification_id: test001
                reference_id: '21637861'
                pan: ABCDF1234F
                name: John Doe
                dob: '1993-06-30'
                name_match: null
                dob_match: null
                pan_status: F
                status: INVALID
                aadhaar_seeding_status: null
                aadhaar_seeding_status_desc: null
            Deleted Pan:
              value:
                verification_id: test001
                reference_id: '21637861'
                pan: ABCDD1234F
                name: John Doe
                dob: '1993-06-30'
                name_match: null
                dob_match: null
                pan_status: D
                status: INVALID
                aadhaar_seeding_status: null
                aadhaar_seeding_status_desc: null
    400PanLiteAPI:
      description: Validation errors for PAN Lite API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Empty PAN Field:
              value:
                type: validation_error
                code: pan_missing
                message: pan is missing in the request.
            Empty NAME Field:
              value:
                type: validation_error
                code: name_missing
                message: name is missing in the request.
            Empty DOB Field:
              value:
                type: validation_error
                code: dob_missing
                message: dob is missing in the request.
            Invalid DOB Field:
              value:
                type: validation_error
                code: dob_value_invalid
                message: dob should be of type YYYY-MM-DD.
            Verification Id Missing:
              value:
                type: validation_error
                code: verification_id_missing
                message: verification_id is missing in the request.
            Verification Id character limit exceeded:
              value:
                type: validation_error
                code: verification_id_length_exceeded
                message: verification_id can include a maximum of 50 characters.
            Invalid Verification ID:
              value:
                type: validation_error
                code: verification_id_value_invalid
                message: >-
                  verification_id can include only alphanum, dot, hyphen and
                  underscores.
            Client ID/Client Secret Missing:
              value:
                type: validation_error
                code: x-client-id_missing
                message: x-client-id is missing in the request.
    Response401:
      description: Invalid client ID and client secret combination.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Invalid client ID and client secret combination:
              value:
                type: authentication_error
                code: authentication_failed
                message: Invalid clientId and clientSecret combination
    Response409DuplicateId:
      description: Conflict error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Conflict Error:
              value:
                type: validation_error
                code: verification_id_already_exists
                message: verification ID already exists
    Response422:
      description: >-
        Validation error because of insufficient balance to process this
        request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Insufficient balance:
              value:
                type: validation_error
                code: insufficient_balance
                message: Insufficient balance to process this request
    Response429:
      description: Rate limit exceed error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Rate limit error per operation:
              value:
                type: rate_limit_error
                code: too_many_requests_per_operation
                message: Too many requests for this operation, rate limit reached
            Rate limit error per IP:
              value:
                type: rate_limit_error
                code: too_many_requests_per_ip
                message: Too many requests from the IP, rate limit reached
    Response500V2:
      description: Internal error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Internal Server Error:
              value:
                type: internal_error
                code: verification_failed
                message: something went wrong
    Response502V2AuthorizedSourceDown:
      description: Gateway error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Bad Gateway:
              value:
                type: internal_error
                code: verification_failed
                message: >-
                  Authorised source is temporarily unavailable, please try again
                  shortly
  schemas:
    PanLiteRequestSchema:
      type: object
      required:
        - verification_id
        - pan
        - name
        - dob
      properties:
        verification_id:
          description: >-
            It is the unique ID you create to identify the API request. The
            maximum character limit is 50. Only alphanumeric, hyphen (-), period
            (.), and underscore ( _ ) are allowed.
          type: string
          example: test001
          default: test001
        pan:
          description: >-
            It is the unique 10-character alphanumeric identifier of the
            individual issued by the Income Tax Department. The first 5 should
            be alphabets followed by 4 numbers and the 10th character should
            again be an alphabet.
          type: string
          example: ABCTY1234D
          default: ABCTY1234D
        name:
          description: >-
            It is the name of the individual as per the PAN records. In case of
            special characters, only space, dot (.), hyphen (-), slash (/), and
            ampersand (&) are allowed.
          type: string
          example: John Doe
          default: John Doe
        dob:
          description: >-
            It is the date of birth of the individual as per the PAN records.
            The format is YYYY-MM-DD.
          type: string
          example: '1993-06-30'
          default: '1993-06-30'
    PanLiteResponseSchema:
      type: object
      properties:
        reference_id:
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          type: integer
          example: 21637861
        verification_id:
          description: >-
            It is the unique ID you create to identify the API request. The
            maximum character limit is 50. Only alphanumeric, hyphen (-), period
            (.), and underscore ( _ ) are allowed.
          type: string
          example: test001
        pan:
          description: >-
            It is the unique 10-character alphanumeric identifier of the
            individual issued by the Income Tax Department. The first 5 should
            be alphabets followed by 4 numbers and the 10th character should
            again be an alphabet.
          type: string
          example: ABCTY1234D
        name:
          description: It is the name of the individual as per the PAN information.
          type: string
          example: John Doe
        dob:
          description: >-
            It is the date of birth of the individual as per the PAN
            information. The format is YYYY-MM-DD.
          type: string
          example: '1993-06-30'
        name_match:
          description: |-
            It displays the result of name match verification.
            The possible values are:

             - `Y` : The name entered matches with the name present on the PAN.

             - `N` : The name entered does matches with the name present on the PAN.
          type: string
          example: 'Y'
        dob_match:
          description: |-
            It displays the result of the date of birth verification.
            The possible values are:

             - `Y` : The date of birth of the individual matches with the date of birth present on PAN.

             - `N` : The date of birth of the individual does not matches with the date of birth present on PAN.
          type: string
          example: 'Y'
        pan_status:
          description: |-
            It displays the status of the PAN information.
            The possible values are:

             - `E` : The entered PAN information is valid.

             - `EC`: The entered PAN information exists and is valid but marked as Acquisition.

             - `N` : The entered PAN information does not exist in the database.

             - `X` : The entered PAN information has been deactivated.

             - `F` : The entered PAN information is fake.

             - `D` : The entered PAN information has been deleted.

             - `EA` : The entered PAN information is valid but marked as Amalgamation.

             - `ED` : The entered PAN information is valid but marked as Death.

             - `EI` : The entered PAN information is valid but marked as Dissolution.

             - `EL` : The entered PAN information is valid but marked as Liquidated.

             - `EM` : The entered PAN information is valid but marked as Merger.

             - `EP` : The entered PAN information is valid but marked as Partition.

             - `ES` : The entered PAN information is valid but marked as Split.

             - `EU` : The entered PAN information is valid but marked as Under Liquidation.
          type: string
          example: E
        status:
          description: |-
            It displays status of PAN.
            The Possible Values are:
            - `VALID`
            - `INVALID`
          type: string
          example: VALID
        aadhaar_seeding_status:
          description: >-
            It displays whether the individual linked the aadhaar information
            with PAN.

            The possible values are:

            - `Y`: Aadhaar is linked to PAN

            - `R`: Aadhaar is not linked to PAN

            - `NA`: Not applicable, in case of business PAN
          type: string
          example: 'Y'
        aadhaar_seeding_status_desc:
          type: string
          description: >-
            It displays additional information of the linking of aadhaar and PAN
            card.
          example: Aadhaar is linked to PAN
    ErrorResponseSchema:
      type: object
      properties:
        code:
          type: string
          example: x-client-id_missing
        error:
          type: object
          example:
            ref_id: 102
        message:
          type: string
          example: x-client-id is missing in the request.
          description: It displays the outcome of the error.
        type:
          type: string
          example: validation_error
          description: It displays the type of error.
  examples:
    PanLiteExisting:
      description: Valid PAN.
      value:
        verification_id: test002
        pan: ABCPV1234D
        name: John Doe
        dob: '1993-06-30'
    PanLiteInvalidRequest:
      description: Invalid PAN.
      value:
        verification_id: test003
        pan: DEFPV0126D
        name: John Doe
        dob: '1993-06-30'
    PanLiteFakeRequest:
      description: Fake PAN.
      value:
        verification_id: test003
        pan: ABCDF1234F
        name: John Doe
        dob: '1993-06-30'
    PanLiteDeletedRequest:
      description: Deleted PAN.
      value:
        verification_id: test003
        pan: ABCDD1234F
        name: John Doe
        dob: '1993-06-30'
    PanLiteDeactivatedRequest:
      description: Deactivated PAN.
      value:
        verification_id: test003
        pan: ABCDX1234F
        name: John Doe
        dob: '1993-06-30'
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Your unique client identifier issued by Cashfree. You can find this in
        your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        The secret key associated with your client ID. Use this to authenticate
        your API requests. You can find this in your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).

````