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

> Use this API to verify the PAN information of a customer. You can retrieve more information such as first name, last name, masked aadhaar number,masked email, masked mobile number and other contact information and more. Please note that, mobile number, email, and address fields have an approximate fill rate of 45%, based on recent changes in the underlying data sources.

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/advance
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/advance:
    post:
      tags:
        - PAN
      summary: PAN 360
      description: >-
        Use this API to verify the PAN information of a customer. You can
        retrieve more information such as first name, last name, masked aadhaar
        number,masked email, masked mobile number and other contact information
        and more. Please note that, mobile number, email, and address fields
        have an approximate fill rate of 45%, based on recent changes in the
        underlying data sources.


        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: VrsPanAdvanceVerification
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
      requestBody:
        $ref: '#/components/requestBodies/PanAdvanceRequest'
      responses:
        '200':
          $ref: '#/components/responses/PanAdvanceResponse'
        '400':
          $ref: '#/components/responses/Response400PanAdvance'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
        '409':
          $ref: '#/components/responses/Response409Conflict'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500'
        '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:
    PanAdvanceRequest:
      description: Find the request parameters to retrieve the PAN information.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PanAdvanceRequestSchema'
  responses:
    PanAdvanceResponse:
      description: Success response for retrieving the PAN information.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PanAdvanceResponseSchema'
          examples:
            Valid PAN:
              value:
                status: VALID
                message: PAN verified successfully
                reference_id: 21637861
                verification_id: testverificationId
                name_provided: JOHN SNOW
                pan: LMNCD8010T
                registered_name: JOHN SNOW
                name_pan_card: JOHN SNOW
                first_name: JOHN
                last_name: SNOW
                type: Individual or Person
                gender: Male
                date_of_birth: 27-10-2004
                masked_aadhaar_number: XXXXXXXX8848
                email: a*c@gmail.com
                mobile_number: 99XXXXXX99
                aadhaar_linked: true
                address:
                  full_address: >-
                    Quarter - A, Block - B Sample Area, ABC Street 700011
                    KOLKATA WEST BENGAL INDIA
                  street: ABC Street
                  city: KOLKATA
                  state: WEST BENGAL
                  pincode: 700011
                  country: India
            Invalid PAN:
              value:
                status: INVALID
                message: Invalid PAN
                reference_id: 21637861
                verification_id: testverificationId
                name_provided: JOHN SNOW
                pan: LMNCD8010T
    Response400PanAdvance:
      description: Validation errors for PAN 360 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
            x-cf-signature header missing:
              value:
                type: validation_error
                code: authentication_failed
                message: x-cf-signature missing in the request header
    Response409Conflict:
      description: Conflict error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Duplicate Verification ID:
              value:
                type: validation_error
                code: invalid_verification_id
                message: This Verification ID already exists. Provide a different ID.
    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
    Response500:
      description: Internal error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Internal Server Error:
              value:
                type: internal_error
                code: request_failed
                message: Unable to process your request. Try again 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:
    PanAdvanceRequestSchema:
      type: object
      example:
        pan: AZJPG7110R
        verification_id: testverificationid
        name: JOHN SNOW
      required:
        - pan
        - verification_id
      properties:
        pan:
          type: string
          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.
          example: AZJPG7110R
          default: AZJPG7110R
        verification_id:
          type: string
          description: >-
            It is the unique ID you create to identify the verification request.
            The maximum character limit is 50. Only alphanumeric, period (.),
            hyphen (-), and underscore ( _ ) are allowed.
          example: testverificationid
          default: testverificationid
        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
    PanAdvanceResponseSchema:
      type: object
      example:
        value:
          status: VALID
          message: PAN verified successfully
          reference_id: 21637861
          verification_id: testverificationId
          name_provided: JOHN SNOW
          pan: LMNCD8010T
          registered_name: JOHN SNOW
          name_pan_card: JOHN SNOW
          first_name: JOHN
          last_name: SNOW
          type: Individual or Person
          gender: Male
          date_of_birth: 27-10-2004
          masked_aadhaar_number: XXXXXXXX8848
          email: a*c@gmail.com
          mobile_number: 99XXXXXX99
          aadhaar_linked: true
          address:
            full_address: >-
              Quarter - A, Block - B Sample Area, ABC Street 700011 KOLKATA WEST
              BENGAL INDIA
            street: ABC Street
            city: KOLKATA
            state: WEST BENGAL
            pincode: 700011
            country: India
      properties:
        reference_id:
          type: integer
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          example: 1358
        verification_id:
          type: string
          description: >-
            It displays the unique ID you created to identify the verification
            request.
          example: testverificationid
        status:
          type: string
          description: |-
            It displays the status of the API request.
            Possible values are
            - `VALID`: The provided PAN is valid.
            - `INVALID`: The provided PAN is invalid.
          example: VALID
        message:
          type: string
          description: It displays details about the success or failure of the API request.
          example: PAN verified successfully
        pan:
          type: string
          description: It displays the PAN information entered in the API request.
          example: AZJPG7110R
        name_provided:
          type: string
          description: It displays the name entered in the API request.
          example: JOHN SNOW
        registered_name:
          type: string
          description: This refers to the name officially registered with the PAN database.
          example: JOHN SNOW
        name_pan_card:
          type: string
          description: This refers to the name as it appears on the physical PAN card.
          example: JOHN SNOW
        first_name:
          type: string
          description: It displays the first name as present in the PAN information.
          example: JOHN
        last_name:
          type: string
          description: It displays the last name as present in the PAN information.
          example: SNOW
        type:
          type: string
          description: It displays the type of the PAN issued.
          example: Individual or Person
        gender:
          type: string
          description: >-
            It displays the gender of the individual as present in the PAN
            information.
          example: Male
        date_of_birth:
          type: string
          description: It displays the date of birth of the individual.
          example: 01/02/1990
        masked_aadhaar_number:
          type: string
          description: It displays the masked aadhaar number of the individual.
          example: XXXXXXXX8848
        email:
          type: string
          description: It displays the masked email ID of the individual.
          example: a*c@gmail.com
        mobile_number:
          type: string
          description: It displays the masked mobile number of the individual.
          example: 99XXXXXX99
        aadhaar_linked:
          type: boolean
          description: It displays the aadhaar and PAN link status.
          example: true
        address:
          type: object
          description: It displays the address information of the individual.
          properties:
            full_address:
              type: string
              description: It displays the complete address of the individual.
              example: >-
                Quarter - A, Block - B Sample Area, ABC Street 700011 KOLKATA
                WEST BENGAL INDIA
            street:
              type: string
              description: It displays the street name from the individual's address.
              example: ABC Street
            city:
              type: string
              description: It displays the city name from the individual's address.
              example: KOLKATA
            state:
              type: string
              description: It displays the state name from the individual's address.
              example: WEST BENGAL
            pincode:
              type: integer
              description: It displays the PIN code from the individual's address.
              example: 700011
            country:
              type: string
              description: It displays the country name from the individual's address.
              example: India
          example:
            full_address: >-
              Quarter - A, Block - B Sample Area, ABC Street 700011 KOLKATA WEST
              BENGAL INDIA
            street: ABC Street
            city: KOLKATA
            state: WEST BENGAL
            pincode: 700011
            country: India
    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: >-
        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).

````