Get Document
curl --request GET \
--url https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type} \
--header 'Authorization: <authorization>' \
--header 'x-api-key: <x-api-key>'import requests
url = "https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}"
headers = {
"Authorization": "<authorization>",
"x-api-key": "<x-api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: '<authorization>', 'x-api-key': '<x-api-key>'}
};
fetch('https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}")
.header("Authorization", "<authorization>")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"code": 200,
"timestamp": 1751975529441,
"data": {
"files": [
{
"@entity": "org.quicko.drive.file",
"url": "https://in-co-sandbox-kyc-digilocker-dev.s3.ap-south-1.amazonaws.com/non-persistent/e385432b-575c-4b6f-8928-79136dbc0d4f/4b4bf7aa-f4da-47a8-9b32-895edfc03630/in.gov.uidai-ADHAR-0d5fe4d692c73e23c59a694eaaabc75a.xml?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=%2F20250708%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20250708T115214Z&X-Amz-Expires=3600&X-Amz-Signature=8cc4b0e8eb3794601c7fdb7e85f3a6bb3a8e1842403c8aeae5c05b7af03bdadb&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject",
"size": 16598,
"metadata": {
"ContentType": "application/xml",
"issuer_id": "in.gov.uidai",
"issuer": "Unique Identification Authority of India (UIDAI)",
"LastModified": "09/05/2025",
"description": "Aadhaar Card"
}
}
]
},
"transaction_id": "a4d43b74-0f9c-480c-9300-f011100b674b"
}{
"code": 400,
"timestamp": 1760432035872,
"message": "Consent for pan not provided",
"transaction_id": "3d1d2d37-3179-4a3c-8397-2287084d1de1"
}{
"code": 503,
"timestamp": 1000000000000,
"transaction_id": "6c05f692-c32f-4de0-92b4-56684bdf16f0",
"message": "Source Unavailable"
}{
"code": 521,
"timestamp": 1782806266274,
"message": "Data not found for: 55470e27-3d8a-451f-ac1e-9c0f3d1454821",
"transaction_id": "a599615c-c732-4538-9840-4bb5cd3c19d2"
}{
"code": 523,
"timestamp": 1782806184804,
"message": "Invalid session status: created",
"transaction_id": "de90173f-8255-4ac0-b26b-a41b8a872fee"
}Get Document
Description of your new file.
GET
/
kyc
/
digilocker-sdk
/
sessions
/
{session_id}
/
documents
/
{doc_type}
Get Document
curl --request GET \
--url https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type} \
--header 'Authorization: <authorization>' \
--header 'x-api-key: <x-api-key>'import requests
url = "https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}"
headers = {
"Authorization": "<authorization>",
"x-api-key": "<x-api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: '<authorization>', 'x-api-key': '<x-api-key>'}
};
fetch('https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}")
.header("Authorization", "<authorization>")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://test-api.sandbox.co.in/kyc/digilocker-sdk/sessions/{session_id}/documents/{doc_type}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"code": 200,
"timestamp": 1751975529441,
"data": {
"files": [
{
"@entity": "org.quicko.drive.file",
"url": "https://in-co-sandbox-kyc-digilocker-dev.s3.ap-south-1.amazonaws.com/non-persistent/e385432b-575c-4b6f-8928-79136dbc0d4f/4b4bf7aa-f4da-47a8-9b32-895edfc03630/in.gov.uidai-ADHAR-0d5fe4d692c73e23c59a694eaaabc75a.xml?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=%2F20250708%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20250708T115214Z&X-Amz-Expires=3600&X-Amz-Signature=8cc4b0e8eb3794601c7fdb7e85f3a6bb3a8e1842403c8aeae5c05b7af03bdadb&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject",
"size": 16598,
"metadata": {
"ContentType": "application/xml",
"issuer_id": "in.gov.uidai",
"issuer": "Unique Identification Authority of India (UIDAI)",
"LastModified": "09/05/2025",
"description": "Aadhaar Card"
}
}
]
},
"transaction_id": "a4d43b74-0f9c-480c-9300-f011100b674b"
}{
"code": 400,
"timestamp": 1760432035872,
"message": "Consent for pan not provided",
"transaction_id": "3d1d2d37-3179-4a3c-8397-2287084d1de1"
}{
"code": 503,
"timestamp": 1000000000000,
"transaction_id": "6c05f692-c32f-4de0-92b4-56684bdf16f0",
"message": "Source Unavailable"
}{
"code": 521,
"timestamp": 1782806266274,
"message": "Data not found for: 55470e27-3d8a-451f-ac1e-9c0f3d1454821",
"transaction_id": "a599615c-c732-4538-9840-4bb5cd3c19d2"
}{
"code": 523,
"timestamp": 1782806184804,
"message": "Invalid session status: created",
"transaction_id": "de90173f-8255-4ac0-b26b-a41b8a872fee"
}Run in Postman
A document can only be fetched if the user has provided consent for it.
Sample Responses
See sample XML responses returned by DigiLocker for Aadhaar, PAN and Driving License.
Headers
JWT access token. For token-generation steps, refer to the Quickstart Guide.
API key used to identify and authenticate the client.
Specifies the API version for the request.
Path Parameters
Session identifier generated during DigiLocker SDK Create Session API .
Document type identifying which DigiLocker document to retrieve. Must match one of the consented doc_types values.
Available options:
aadhaar, pan, driving_license Was this page helpful?
āI