> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sandbox.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify User Account

> Check whether a user account exists on DigiLocker using their mobile number or Aadhaar number.

> [!WARNING]
>
> This endpoint is deprecated. DigiLocker is enforcing its new specification from October 21st, 2026. After that date, this endpoint is no longer officially supported. We recommend removing it from your integration before then.

> **[Run in Postman](https://www.postman.com/in-co-sandbox/workspace/sandbox-api/request/29708799-b700987e-fe24-475d-8d16-63a89e0e9d1e?action=share\&source=copy-link\&creator=29708799\&ctx=documentation)**

> [!NOTE]
>
> At least one of the fields `aadhaar_number` or `mobile` must be provided in the request.


## OpenAPI

````yaml api-reference/kyc/openapi.json POST /kyc/digilocker/user/verify
openapi: 3.1.0
info:
  title: in-co-sandbox-kyc
  description: ''
  version: 1.0.0
servers:
  - url: https://test-api.sandbox.co.in
    description: test
  - url: https://api.sandbox.co.in
    description: prod
security: []
tags:
  - name: kyc
  - name: digilocker-sdk
  - name: digilocker
  - name: aadhaar
  - name: bank
  - name: pan
  - name: mca
  - name: entitylocker
  - name: entitylocker-sdk
paths:
  /kyc/digilocker/user/verify:
    post:
      tags:
        - kyc
        - digilocker
      summary: Verify User Account
      description: >-
        **Deprecated.** DigiLocker is enforcing its new specification from
        October 21st, 2026. After that date, this endpoint is no longer
        officially supported. We recommend removing it from your integration
        before then.


        Verifies if a user with the provided credentials exists on DigiLocker.
      operationId: verifyUserAccount
      parameters:
        - name: Authorization
          in: header
          description: >-
            JWT access token. For token-generation steps, refer to the
            [Quickstart
            Guide](https://developer.sandbox.co.in/guides/get-started/quickstart).
          required: true
          example: '{{access_token}}'
          schema:
            type: string
        - name: x-api-key
          in: header
          description: API key used to identify and authenticate the client.
          required: true
          example: '{{api_key}}'
          schema:
            type: string
        - name: x-api-version
          in: header
          description: Specifies the API version for the request.
          required: false
          example: 1.0.0
          schema:
            type: string
        - name: Content-Type
          in: header
          description: Media type of the request body.
          required: false
          example: application/json
          schema:
            type: string
            enum:
              - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: >-
                Request payload for Digilocker user verification. At least one
                of the fields 'aadhaar_number' or 'mobile' must be provided.
              properties:
                '@entity':
                  type: string
                  enum:
                    - in.co.sandbox.kyc.digilocker.user.verification.request
                  description: >-
                    Entity identifier that specifies the type of request being
                    made.
                aadhaar_number:
                  type: string
                  pattern: ^[0-9]{12}$
                  description: 12-digit Aadhaar number without spaces or separators.
                mobile:
                  type: string
                  pattern: ^[0-9]{10}$
                  description: 10-digit Indian mobile number without country code.
              required:
                - '@entity'
              anyOf:
                - required:
                    - aadhaar_number
                - required:
                    - mobile
            examples:
              User exists - validated with mobile:
                value:
                  '@entity': in.co.sandbox.kyc.digilocker.user.verification.request
                  mobile: '9687205427'
                summary: User exists - validated with mobile
              User does not exist - validated with mobile:
                value:
                  '@entity': in.co.sandbox.kyc.digilocker.user.verification.request
                  mobile: '9999999999'
                summary: User does not exist - validated with mobile
              User exists - validated with Aadhaar number:
                value:
                  '@entity': in.co.sandbox.kyc.digilocker.user.verification.request
                  aadhaar_number: '1234567890123'
                summary: User exists - validated with Aadhaar number
              User does not exist - validated with Aadhaar number:
                value:
                  '@entity': in.co.sandbox.kyc.digilocker.user.verification.request
                  aadhaar_number: '987654321098'
                summary: User does not exist - validated with Aadhaar number
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code.
                  timestamp:
                    type: integer
                    description: >-
                      Unix timestamp (in milliseconds) indicating when the
                      server generated the response.
                  data:
                    type: object
                    description: >-
                      Response payload containing the requested data or error
                      details.
                    properties:
                      '@entity':
                        type: string
                        enum:
                          - >-
                            in.co.sandbox.kyc.digilocker.user.verification.response
                        description: >-
                          Entity identifier that specifies the type of response
                          being returned.
                      user_exists:
                        type: boolean
                        description: >-
                          Indicates whether a Digilocker account exists for the
                          provided Aadhaar number or mobile number.
                    required:
                      - '@entity'
                      - user_exists
                  transaction_id:
                    type: string
                    description: Unique identifier for tracking the request across systems.
                required:
                  - code
                  - timestamp
                  - data
                  - transaction_id
              examples:
                User exists - validated with mobile:
                  summary: User exists - validated with mobile
                  value:
                    code: 200
                    timestamp: 1751975600361
                    data:
                      '@entity': in.co.sandbox.kyc.digilocker.user.verification.response
                      user_exists: true
                    transaction_id: a11c4e00-fae1-4092-a55f-b4f0be92ffeb
                User does not exist - validated with mobile:
                  summary: User does not exist - validated with mobile
                  value:
                    code: 200
                    timestamp: 1751975600361
                    data:
                      '@entity': in.co.sandbox.kyc.digilocker.user.verification.response
                      user_exists: false
                    transaction_id: a11c4e00-fae1-4092-a55f-b4f0be92ffeb
                User exists - validated with Aadhaar number:
                  summary: User exists - validated with Aadhaar number
                  value:
                    code: 200
                    timestamp: 1751975600361
                    data:
                      '@entity': in.co.sandbox.kyc.digilocker.user.verification.response
                      user_exists: true
                    transaction_id: a11c4e00-fae1-4092-a55f-b4f0be92ffeb
                User does not exist - validated with Aadhaar number:
                  summary: User does not exist - validated with Aadhaar number
                  value:
                    code: 200
                    timestamp: 1751975600361
                    data:
                      '@entity': in.co.sandbox.kyc.digilocker.user.verification.response
                      user_exists: false
                    transaction_id: a11c4e00-fae1-4092-a55f-b4f0be92ffeb
          headers: {}
        '429':
          description: >-
            There were too many requests to DigiLocker. Wait, then send the
            request again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    const: 429
                    description: The HTTP status code.
                  timestamp:
                    type: integer
                    description: >-
                      The time of the response. The unit is milliseconds from
                      the Unix epoch.
                  message:
                    type: string
                    description: The error message.
                  transaction_id:
                    type: string
                    description: The unique identifier of the request.
                required:
                  - code
                  - timestamp
                  - message
                  - transaction_id
              examples:
                Too Many Requests:
                  summary: Too Many Requests
                  value:
                    code: 429
                    timestamp: 1782806266274
                    message: Too Many Requests
                    transaction_id: b1e2c3d4-3333-4a5b-8c6d-7e8f9a0b1c2d
          headers: {}
        '500':
          description: The request failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    const: 500
                    description: The HTTP status code.
                  timestamp:
                    type: integer
                    description: >-
                      The time of the response. The unit is milliseconds from
                      the Unix epoch.
                  message:
                    type: string
                    description: The error message.
                  transaction_id:
                    type: string
                    description: The unique identifier of the request.
                required:
                  - code
                  - timestamp
                  - message
                  - transaction_id
              examples:
                Failed to verify user:
                  summary: Failed to verify user
                  value:
                    code: 500
                    timestamp: 1782806266274
                    message: Failed to verify user
                    transaction_id: b1e2c3d4-4444-4a5b-8c6d-7e8f9a0b1c2d
                'Failed to verify user in VerifyUserManager: Source Unavailable':
                  summary: >-
                    Failed to verify user in VerifyUserManager: Source
                    Unavailable
                  value:
                    code: 500
                    timestamp: 1782806266274
                    message: >-
                      Failed to verify user in VerifyUserManager: Source
                      Unavailable
                    transaction_id: b1e2c3d4-4444-4a5b-8c6d-7e8f9a0b1c2d
                Internal Server Error:
                  summary: Internal Server Error
                  value:
                    code: 500
                    timestamp: 1782806266274
                    message: Internal Server Error
                    transaction_id: b1e2c3d4-4444-4a5b-8c6d-7e8f9a0b1c2d
          headers: {}
        '503':
          description: DigiLocker is not available. Send the request again later.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    const: 503
                    description: The HTTP status code.
                  timestamp:
                    type: integer
                    description: >-
                      The time of the response. The unit is milliseconds from
                      the Unix epoch.
                  message:
                    type: string
                    description: The error message.
                  transaction_id:
                    type: string
                    description: The unique identifier of the request.
                required:
                  - code
                  - timestamp
                  - message
                  - transaction_id
              examples:
                Source Unavailable:
                  summary: Source Unavailable
                  value:
                    code: 503
                    timestamp: 1782806266274
                    message: Source Unavailable
                    transaction_id: b1e2c3d4-5555-4a5b-8c6d-7e8f9a0b1c2d
          headers: {}
      deprecated: true
      security: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.