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

# Verify

> Use this API to verify if a given PAN exists. You will receive the name registered with the PAN and the PAN type (Individual or Business) in the response for a valid PAN. 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 are usable only in the test environment sandbox.



## OpenAPI

````yaml post /pan
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: 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: Liveliness
    description: Operation related to Liveliness.
  - 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: BharatOCR
    description: Operations related to BharatOCR.
paths:
  /pan:
    post:
      tags:
        - PAN
      summary: Verify
      description: >-
        Use this API to verify if a given PAN exists. You will receive the name
        registered with the PAN and the PAN type (Individual or Business) in the
        response for a valid PAN. 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 are
        usable only in the test environment sandbox.
      operationId: VrsPanVerification
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
        - $ref: '#/components/parameters/x_api_version'
      requestBody:
        $ref: '#/components/requestBodies/PanVerificationRequest'
      responses:
        '200':
          $ref: '#/components/responses/GetVerifyPanResponse'
        '400':
          $ref: '#/components/responses/Response400Pan'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500AllCases'
        '502':
          $ref: '#/components/responses/Response502V2AuthorizedSourceDown'
      security:
        - XClientID: []
          XClientSecret: []
components:
  parameters:
    x_cf_signature:
      description: Send the signature if IP is not whitelisted.
      name: x-cf-signature
      in: header
      required: false
      schema:
        type: string
      example: ''
    x_api_version:
      description: >-
        It is the API version. To receive the aadhaar seeding status in the
        response, use any date after 2022-09-12
      name: x-api-version
      in: header
      required: false
      schema:
        type: string
      example: '2022-10-26'
  requestBodies:
    PanVerificationRequest:
      description: Find the request parameters to verify PAN.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PanRequestSchema'
  responses:
    GetVerifyPanResponse:
      description: Success response for verifiying PAN information
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GetVerifyPanResponseSchema'
          examples:
            Valid PAN Individual:
              value:
                pan: ABCPV1234D
                type: Individual
                reference_id: 161
                name_provided: JOHN DOE
                registered_name: JOHN DOE
                valid: true
                message: PAN verified successfully
                name_match_score: 100
                name_match_result: DIRECT_MATCH
                aadhaar_seeding_status: 'Y'
                last_updated_at: 01/01/2019
                name_pan_card: JOHN DOE
                pan_status: VALID
                aadhaar_seeding_status_desc: Aadhaar is linked to PAN
            Valid PAN Business:
              value:
                pan: AAOCS4553K
                type: Company
                reference_id: 1318808
                name_provided: saanchi
                registered_nam: SAANCHI ENERGY PRIVATE LIMITED
                valid: true
                message: PAN verified successfully
                name_match_score: 60
                name_match_result: MODERATE_PARTIAL_MATCH
                aadhaar_seeding_status: NA
                last_updated_at: 25/05/2017
                name_pan_card: null
                pan_status: VALID
                aadhaar_seeding_status_desc: Aadhar Seeding is not Applicable
            Invalid PAN:
              value:
                pan: ABCPV1234D
                reference_id: 17974435
                name_provided: null
                valid: false
                message: Invalid PAN
                name_match_score: 0
                name_match_result: '-'
    Response400Pan:
      description: Validation errors for Verify PAN Sync API
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Invalid PAN Format:
              $ref: '#/components/examples/InvalidPanFormat'
            Empty PAN field:
              $ref: '#/components/examples/EmptyPanField'
            Client ID/Client Secret in Missing:
              $ref: '#/components/examples/XClientIdMissing'
            Using-Test-Credentials-in-Prod:
              $ref: '#/components/examples/UsingTestCredentialsInProd'
    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
    Response403:
      description: Authentication error (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
    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
    Response500AllCases:
      description: Internal errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Internal Server Error:
              value:
                type: internal_error
                code: verification_failed
                message: Unable to validate, please retry later
                error:
                  refId: 209
            Unknown Error Occured:
              value:
                type: internal_error
                code: api_error
                message: something went wrong, please try after some time
    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:
    PanRequestSchema:
      type: object
      example:
        pan: ABCPV1234D
        name: Gurav
      required:
        - pan
      properties:
        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: ABCPV1234D
          default: ABCPV1234D
        name:
          description: It is the name of the individual.
          type: string
          example: Gurav
          default: Gurav
    GetVerifyPanResponseSchema:
      type: object
      properties:
        pan:
          type: string
          example: ABCPV1234D
          description: >-
            It displays the unique 10-character alphanumeric identifier issued
            by the Income Tax Department.
        type:
          type: string
          description: It displays the type of the PAN issued.
          example: Individual
        reference_id:
          type: integer
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          format: int64
          example: 161
        name_provided:
          type: string
          description: It displays the name entered in the API request.
          example: JOHN DOE
        registered_name:
          type: string
          description: It displays the PAN registered name.
          example: JOHN DOE
        valid:
          type: boolean
          description: It displays the status of the PAN card.
          example: true
        father_name:
          type: string
          description: It displays the father's name of the PAN card holder.
          example: ''
        message:
          type: string
          description: It displays details about the success or failure of the API request.
          example: PAN verified successfully
        name_match_score:
          type: string
          description: It displays the score for the name match verification.
          example: '100.00'
        name_match_result:
          type: string
          description: >-
            It displays the result of the name match verification. Possible
            values are:

            - `DIRECT_MATCH`

            - `GOOD_PARTIAL_MATCH`

            - `MODERATE_PARTIAL_MATCH`

            - `POOR_PARTIAL_MATCH`

            - `NO_MATCH`
          example: DIRECT_MATCH
        aadhaar_seeding_status:
          type: string
          description: >-
            It displays additional information of the linking of aadhaar and PAN
            card. Possible values are:

            - `Y`: "Aadhaar is linked to pan"

            - `R`: "Aadhaar is not linked to pan"

            - `NA`: "Not applicable, in case of business pan"
          example: 'Y'
        last_updated_at:
          type: string
          description: It displays the last updated date.
          example: 01/01/2019
        name_pan_card:
          type: string
          description: It displays the name displayed on the PAN card.
          example: JOHN DOE
        pan_status:
          type: string
          description: |-
            It displays the status of the PAN card. Possible values are:
            - `VALID`
            - `INVALID`
            - `DELETED`
            - `DEACTIVATED`
          example: VALID
        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:
    InvalidPanFormat:
      value:
        type: validation_error
        code: pan_length_short
        message: Enter valid PAN.
    EmptyPanField:
      value:
        type: validation_error
        code: pan_missing
        message: pan is missing in the request.
    XClientIdMissing:
      value:
        type: validation_error
        code: x-client-id_missing
        message: x-client-id is missing in the request.
    UsingTestCredentialsInProd:
      value:
        type: validation_error
        code: x-client-secret_value_invalid
        message: Client secret belongs to test environment
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Client ID. You can find your ID in the [Merchant
        Dashboard](https://telr.cashfree.com/verificationsuite/developers/api-keys).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        Client secret key. You can find your secret key in the [Merchant
        Dashboard](https://telr.cashfree.com/verificationsuite/developers/api-keys).

````