> ## 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.

# Verify

> Use this API to verify the customer PAN information individually or in bulk by passing either the reference ID or bulk verification ID.

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. 

<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/bulk
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/bulk:
    post:
      tags:
        - PAN
      summary: Verify
      description: >-
        Use this API to verify the customer PAN information individually or in
        bulk by passing either the reference ID or bulk verification ID.


        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: VrsBulkPanVerification
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
        - $ref: '#/components/parameters/x_api_version'
      requestBody:
        $ref: '#/components/requestBodies/BulkPanRequest'
      responses:
        '200':
          $ref: '#/components/responses/PanBulkResponse'
        '400':
          $ref: '#/components/responses/Response400BulkPan'
        '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'
      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: ''
    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:
    BulkPanRequest:
      description: Find the request parameters to verify a large number of PAN information.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BulkPanRequestSchema'
          example:
            bulk_verification_id: 31123
            entries:
              - pan: ABCPV1234D
                name: JOHN DOE
              - pan: ABCPV1234D
                name: JOHN
  responses:
    PanBulkResponse:
      description: Success response for verifying a large number of PAN information.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PostPanBulkResponseSchema'
          examples:
            SUCCESS:
              value:
                reference_id: 612
                message: Request accepted. You can check the status after some time.
    Response400BulkPan:
      description: Validation errors for Verify Bulk PAN API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            No entries to validate:
              $ref: '#/components/examples/NoEntriesToValidate'
            Bulk verification id not present:
              $ref: '#/components/examples/BulkVerificationIdNotPresent'
            Bulk verification id InvalidRefId:
              $ref: '#/components/examples/BulkVerificationIdInvalidRefId'
            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
            x-cf-signature header missing:
              value:
                type: validation_error
                code: authentication_failed
                message: x-cf-signature missing in the request header
    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
  schemas:
    BulkPanRequestSchema:
      type: object
      required:
        - bulk_verification_id
        - entries
      example:
        bulk_verification_id: ABCPV1234D
        entries:
          - pan: ABCPP3011E
            name: John Doe
          - pan: ABCPP3022E
            name: Jane Doe
      properties:
        bulk_verification_id:
          description: >-
            It is the unique ID you create to identify the API request. Only
            alphanumeric and underscore ( _ ) are allowed.
          type: string
          example: ABCPV1234D
          default: ABCPV1234D
        entries:
          description: >-
            It is the array of PAN details for verification. PAN and name should
            be included. The name parameter is optional.
          type: array
          minItems: 2
          items:
            required:
              - name
              - pan
            properties:
              name:
                type: string
                description: >-
                  It is the name of the individual as registered in the PAN
                  information.
                example: John Doe
                default: John Doe
              pan:
                type: string
                description: It is the PAN information of the individual.
                example: ABCPV1234D
                default: ABCPV1234D
          example:
            - name: John Doe
              pan: ABCPP3011E
            - name: Jane Doe
              pan: ABCPP3022E
    PostPanBulkResponseSchema:
      type: object
      properties:
        reference_id:
          format: int64
          type: integer
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          example: 612
        message:
          type: string
          description: It displays details about the success or failure of the API request.
          example: Request accepted. You can check the status after some time.
    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:
    NoEntriesToValidate:
      value:
        type: validation_error
        code: invalid_request
        message: Please provide atleast one entry for verification
    BulkVerificationIdNotPresent:
      value:
        type: validation_error
        code: bulk_verification_id_missing
        message: bulk_verification_id is missing in the request.
    BulkVerificationIdInvalidRefId:
      value:
        type: validation_error
        code: bulk_verification_id_value_invalid
        message: >-
          bulk_verification_id should contain only alphanumeric and underscore
          characters.
    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: >-
        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).

````