> ## 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 Aadhaar OTP

> Verify the Aadhaar number by passing the OTP received on the individual's registered mobile number.

<Warning>
  **Deprecation Notice:** This Aadhaar verification endpoint has been deprecated by UIDAI. While it remains operational, reliability and response times may be impacted. For a more reliable verification experience, we recommend migrating to the [DigiLocker-based](https://developer.sandbox.co.in/api-reference/kyc/digilocker/overview) verification flow.
</Warning>

<Card title="Run in Postman" icon="https://mintcdn.com/sandboxfinancialtechnologiesprivatelimited/gviqebbpT5NUt_6i/static/svg/Postman.svg?fit=max&auto=format&n=gviqebbpT5NUt_6i&q=85&s=da47f2b7e10d87befec951aed9468de3" horizontal arrow="true" href="https://www.postman.com/in-co-sandbox/sandbox-api/request/jr5gzo1/aadhaar-offline-e-kyc-verify-otp" width="2030" height="2031" data-path="static/svg/Postman.svg" />


## OpenAPI

````yaml api-reference/kyc/openapi.json POST /kyc/aadhaar/okyc/otp/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/aadhaar/okyc/otp/verify:
    post:
      tags:
        - kyc
        - aadhaar
      summary: Aadhaar Offline e-KYC Verify OTP
      operationId: verifyOTP
      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
              properties:
                '@entity':
                  type: string
                  const: in.co.sandbox.kyc.aadhaar.okyc.request
                reference_id:
                  type: string
                  description: >-
                    Unique reference identifier returned by the [Generate OTP
                    API](https://developer.sandbox.co.in/api-reference/kyc/aadhaar/endpoints/generate_otp)
                    for this Aadhaar verification flow. Used to correlate the
                    OTP submission with the original request.
                otp:
                  type: string
                  description: >-
                    6-digit one-time password sent to the mobile number linked
                    with the Aadhaar. Must be entered exactly as received and is
                    valid only for the associated reference_id.
                  pattern: ^[0-9]{6}$
                  minLength: 6
                  maxLength: 6
              required:
                - '@entity'
                - reference_id
                - otp
            examples:
              200 - Success:
                value:
                  '@entity': in.co.sandbox.kyc.aadhaar.okyc.request
                  reference_id: '1234567'
                  otp: '121212'
                summary: 200 - Success
              200 - Invalid OTP:
                value:
                  '@entity': in.co.sandbox.kyc.aadhaar.okyc.request
                  reference_id: '1234568'
                  otp: '121211'
                summary: 200 - Invalid OTP
              200 - OTP Expired:
                value:
                  '@entity': in.co.sandbox.kyc.aadhaar.okyc.request
                  reference_id: '1234569'
                  otp: '121711'
                summary: 200 - OTP Expired
              200 - Request under process:
                value:
                  '@entity': in.co.sandbox.kyc.aadhaar.okyc.request
                  reference_id: '1234570'
                  otp: '121811'
                summary: 200 - Request under process
              422 - OTP missing in request:
                value:
                  '@entity': in.co.sandbox.kyc.aadhaar.okyc.request
                  ref_id: '1234567'
                  otp: ''
                summary: 422 - OTP missing in request
              503 - Source Unavailable:
                value:
                  '@entity': in.co.sandbox.kyc.aadhaar.okyc.request
                  reference_id: '1234567'
                  otp: '112233'
                summary: 503 - Source Unavailable
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  data:
                    type: object
                    properties:
                      '@entity':
                        type: string
                        const: in.co.sandbox.kyc.aadhaar.okyc
                      reference_id:
                        type: integer
                      status:
                        type: string
                      message:
                        type: string
                      care_of:
                        type: string
                      full_address:
                        type: string
                      date_of_birth:
                        type: string
                      email_hash:
                        type: string
                      gender:
                        type: string
                      name:
                        type: string
                      address:
                        type: object
                        properties:
                          '@entity':
                            type: string
                          country:
                            type: string
                          district:
                            type: string
                          house:
                            type: string
                          landmark:
                            type: string
                          pincode:
                            type: string
                          post_office:
                            type: string
                          state:
                            type: string
                          street:
                            type: string
                          subdistrict:
                            type: string
                          vtc:
                            type: string
                        required:
                          - '@entity'
                          - country
                          - district
                          - house
                          - landmark
                          - pincode
                          - post_office
                          - state
                          - street
                          - subdistrict
                          - vtc
                      year_of_birth:
                        type: string
                      mobile_hash:
                        type: string
                      photo:
                        type: string
                      share_code:
                        type: string
                    required:
                      - '@entity'
                      - reference_id
                      - status
                      - message
                      - care_of
                      - full_address
                      - date_of_birth
                      - email_hash
                      - gender
                      - name
                      - address
                      - year_of_birth
                      - mobile_hash
                      - photo
                      - share_code
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - data
              examples:
                200 - Success:
                  summary: 200 - Success
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 90d6ea41-210f-43c2-b830-83d6a03aaa77
                    data:
                      '@entity': in.co.sandbox.kyc.aadhaar.okyc
                      reference_id: 1234567
                      status: VALID
                      message: Aadhaar Card Exists
                      care_of: 'S/O: Johnny Doe'
                      full_address: >-
                        Mangal Kanaka Niwas, Main Cross 3rd, Bengaluru,
                        Bengaluru-Karnataka, India 
                      date_of_birth: 21-04-1985
                      email_hash: 044917e2c4c62a439d068.......d9f71bbde10b1d227a914e
                      gender: M
                      name: John Doe
                      address:
                        '@entity': in.co.sandbox.kyc.aadhaar.okyc.address
                        country: India
                        district: Bengaluru
                        house: Mangal Kanaka Niwas
                        landmark: ''
                        pincode: '581615'
                        post_office: Bengaluru
                        state: Karnataka
                        street: Main Cross 3rd
                        subdistrict: ''
                        vtc: Bengaluru
                      year_of_birth: '1985'
                      mobile_hash: 044917e2c4c62a439d068.......d9f71bbde10b1d227a914e
                      photo: data:image/jpeg;base64,/9j/4AAQSk.......mj/2Q==
                      share_code: '1234'
                200 - Invalid OTP:
                  summary: 200 - Invalid OTP
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 93589946-3cbd-4a3d-863d-0157e8572047
                    data:
                      '@entity': in.co.sandbox.kyc.aadhaar.okyc
                      message: Invalid OTP
                200 - OTP Expired:
                  summary: 200 - OTP Expired
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: bacdbbc4-8fc7-4f95-8d3a-b19b466657d2
                    data:
                      '@entity': in.co.sandbox.kyc.aadhaar.okyc
                      message: OTP Expired
                200 - Request under process:
                  summary: 200 - Request under process
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: d51b4e29-0388-4bfb-9daf-aae713e95438
                    data:
                      '@entity': in.co.sandbox.kyc.aadhaar.okyc
                      message: Request under process, please try after 30 seconds
          headers: {}
        '422':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
              examples:
                422 - OTP missing in request:
                  summary: 422 - OTP missing in request
                  value:
                    code: 422
                    timestamp: 1000000000000
                    transaction_id: 19df85de-0ed5-43a0-afa3-fced43eef994
                    message: OTP missing in request
          headers: {}
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                    format: uuid
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
              examples:
                503 - Source Unavailable:
                  summary: 503 - Source Unavailable
                  value:
                    code: 503
                    timestamp: 1000000000000
                    transaction_id: da6d6d57-5215-41eb-94cb-cb543966734e
                    message: Source Unavailable
          headers: {}
      deprecated: false
      security: []

````