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

# Get Verification Status

> Use this API to fetch the current status of a DigiLocker verification request by passing either the `verification_id` used during DigiLocker URL creation or the `reference_id` returned in the Cashfree response.



## OpenAPI

````yaml get /digilocker
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:
  /digilocker:
    get:
      tags:
        - Digilocker
      summary: Get Verification Status
      description: >-
        Use this API to fetch the current status of a DigiLocker verification
        request by passing either the `verification_id` used during DigiLocker
        URL creation or the `reference_id` returned in the Cashfree response.
      operationId: VrsDigilockerVerificationFetchStatus
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
        - name: reference_id
          in: query
          description: >-
            It is the unique ID created by Cashfree Payments that you received
            in the Create DigiLocker URL API response.

            format: `int64`
          example: 12345
          schema:
            type: integer
        - name: verification_id
          in: query
          description: >-
            It is the unique ID you created to identify the Create DigiLocker
            URL API request.
          example: ABC00123
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/DigiLockerVerificationGetStatusResponse'
        '400':
          $ref: '#/components/responses/Response400DigiLockerVerificationGetStatus'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
        '404':
          $ref: '#/components/responses/Response404DigiLockerResponse'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500V2'
      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: ''
  responses:
    DigiLockerVerificationGetStatusResponse:
      description: Success response for retrieving status of the DigiLocker request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DigiLockerVerificationGetStatusResponseSchema'
          examples:
            Pending:
              value:
                user_details: {}
                status: PENDING
                document_requested:
                  - AADHAAR
                  - PAN
                  - DRIVING_LICENSE
                document_consent: null
                document_consent_validity: null
                verification_id: ABC00123
                reference_id: 12345
            Authenticated:
              value:
                user_details:
                  name: John Doe
                  dob: 02-02-1995
                  gender: M
                  eaadhaar: 'Y'
                  mobile: '9999999999'
                status: AUTHENTICATED
                document_requested:
                  - AADHAAR
                  - PAN
                  - DRIVING_LICENSE
                document_consent:
                  - AADHAAR
                  - PAN
                document_consent_validity: '2025-09-30T07:10:00.000Z'
                verification_id: ABC00123
                reference_id: 12345
            Expired:
              value:
                user_details: {}
                status: EXPIRED
                document_requested:
                  - AADHAAR
                  - PAN
                  - DRIVING_LICENSE
                document_consent: null
                document_consent_validity: null
                verification_id: ABC00123
                reference_id: 12345
            Consent Denied:
              value:
                user_details: {}
                status: CONSENT_DENIED
                document_requested:
                  - AADHAAR
                  - PAN
                  - DRIVING_LICENSE
                document_consent: null
                document_consent_validity: null
                verification_id: ABC00123
                reference_id: 12345
            eaadhaar is N:
              value:
                user_details:
                  name: John Doe
                  dob: 02-02-1995
                  gender: M
                  eaadhaar: 'N'
                  mobile: '9999999999'
                status: AUTHENTICATED
                document_requested:
                  - AADHAAR
                  - PAN
                  - DRIVING_LICENSE
                document_consent: null
                document_consent_validity: '2025-09-30T07:10:00.000Z'
                verification_id: ABC00123
                reference_id: 12345
    Response400DigiLockerVerificationGetStatus:
      description: Validation errors for Get DigiLocker Verification Status API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Request Params Missing:
              $ref: '#/components/examples/RequestParamsMissing'
            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
    Response404DigiLockerResponse:
      description: Not found errors when IDs don't exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Validation Id not Found:
              value:
                type: not_found_error
                code: verification_id_value_invalid
                message: Please enter a valid verification_id
            Reference Id not Found:
              value:
                type: not_found_error
                code: reference_id_value_invalid
                message: Please enter a valid reference_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
    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
  schemas:
    DigiLockerVerificationGetStatusResponseSchema:
      type: object
      properties:
        user_details:
          type: object
          description: It displays the details of the individual(user).
          properties:
            name:
              type: string
              description: It displays the name of the individual.
              example: John Doe
            dob:
              type: string
              description: It displays the date of birth of the individual.
              example: 02-02-1995
            gender:
              type: string
              description: It displays the gender of the individual.
              example: M
            eaadhaar:
              type: string
              description: >-
                It displays the e-Aadhaar availability of the individual.
                Possible values are:
                  - `Y`: e-Aadhaar is available.
                  - `N`: e-Aadhaar is not available.
              example: 'Y'
            mobile:
              type: string
              description: It displays the mobile number of the individual.
              example: '9999999999'
          example:
            name: John Doe
            dob: 02-02-1995
            gender: M
            eaadhaar: 'Y'
            mobile: '9999999999'
        status:
          type: string
          description: |-
            Indicates the status of the DigiLocker request. Possible values are:
              - `PENDING`: The user has not yet given document consent.
              - `AUTHENTICATED`: The user has logged in and provided document consent.
              - `EXPIRED`: The DigiLocker url has expired because the user did not take any action within the 10-minute validity window.
              - `CONSENT_DENIED`: The user explicitly denied document consent by clicking the "Deny" button on the DigiLocker consent screen.
          example: PENDING
        document_requested:
          type: array
          description: >-
            It contains the information of the requested document(s) for
            verification.
          items:
            type: string
          example:
            - AADHAAR
        document_consent:
          type: array
          description: >-
            It displays the consent of the individual(user) for document
            verification.
          items:
            type: string
          example:
            - AADHAAR
        document_consent_validity:
          type: string
          format: date-time
          description: >-
            It displays the date and time until which the document consent is
            valid.
          example: '2025-09-30T07:10:00.000Z'
        verification_id:
          type: string
          description: >-
            It displays the unique ID you created to identify the verification
            request.
          example: ABC00123
        reference_id:
          type: integer
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          example: 1234
    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:
    RequestParamsMissing:
      value:
        type: validation_error
        code: invalid_request
        message: Please provide verification_id or reference_id
    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).

````