---
title: "DigiLocker Verification Status API Reference"
description: "Check whether a user has completed the DigiLocker consent and verification flow."
canonical: "https://eps.eko.in/docs/digilocker-verification-status"
---


> **Canonical URL:** https://eps.eko.in/docs/digilocker-verification-status
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# DigiLocker Verification Status API Reference

`GET https://staging.eko.in/ekoapi/v3/tools/kyc/digilocker/status`

Check whether a user has completed the DigiLocker consent and verification flow.

Poll this endpoint after redirecting the user to the DigiLocker URL. Returns the user's consent status and basic identity details (name, DOB, gender, mobile) once the consent flow is complete. Use reference_id from the Create DigiLocker URL response.

> View product & pricing details: [DigiLocker Integration](https://eps.eko.in/products/digilocker-api.md)

## Query parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| initiator_id | string | yes | Registered mobile number of the API user (see Platform Credentials). e.g. 9962981729 |
| reference_id | number | yes | Unique identifier received from the Create DigiLocker URL API response. e.g. 12345 |

## Headers

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| developer_key | string | yes | Static API key issued to your account after KYC. |
| secret-key | string | yes | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
| secret-key-timestamp | string | yes | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
| content-type | string | yes | application/json e.g. application/json |

## Response

⭐ marks fields highlighted as verifiable.

| Field | Type | Description |
| --- | --- | --- |
| status | number | Primary success indicator (0 = success). |
| message | string | Human-readable response / error message. |
| response_status_id | number | Granular status id; see the shared error-codes table. |
| response_type_id | number | A unique id for every possible response shape (success or error) — useful for client logic branching and analytics. |
| data | object | API-specific response payload. |
| data.user_details ⭐ | object | Identity details of the individual who completed the DigiLocker consent flow. |
| data.user_details.name ⭐ | string | Full name of the individual as registered in DigiLocker. |
| data.user_details.dob ⭐ | string | Date of birth in DD-MM-YYYY format. |
| data.user_details.gender ⭐ | string | Gender of the individual (M / F / T). |
| data.user_details.eaadhaar ⭐ | string | Indicates whether the individual's e-Aadhaar is available in DigiLocker. |
| data.user_details.mobile | string | Mobile number linked to the individual's DigiLocker account. |
| data.document_requested | array | List of document types that were requested in the original session. |
| data.document_consent ⭐ | array | Consent status objects per requested document type. Indicates which documents the user approved for sharing. |

## Example response

```json
{
  "status": 0,
  "response_status_id": 0,
  "message": "Verification status fetched successfully",
  "response_type_id": 1389,
  "data": {
    "user_details": {
      "name": "Rahul Sharma",
      "dob": "15-08-1990",
      "gender": "M",
      "eaadhaar": "Y",
      "mobile": "98XXXXXXXX"
    },
    "document_requested": [
      "AADHAAR"
    ],
    "document_consent": [
      {
        "document_type": "AADHAAR",
        "consent": "Y"
      }
    ]
  }
}
```

## Error scenarios

| Status | Scenario |
| --- | --- |
| 200 | Consent flow not yet completed by user |
| 200 | Invalid or expired reference_id |
