curl --request GET \
--url https://bgv.konnectnxt.com/api/recruiter/v2/report-json/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://bgv.konnectnxt.com/api/recruiter/v2/report-json/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://bgv.konnectnxt.com/api/recruiter/v2/report-json/', 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://bgv.konnectnxt.com/api/recruiter/v2/report-json/",
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: Bearer <token>"
],
]);
$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://bgv.konnectnxt.com/api/recruiter/v2/report-json/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://bgv.konnectnxt.com/api/recruiter/v2/report-json/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://bgv.konnectnxt.com/api/recruiter/v2/report-json/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "success",
"code": 200,
"message": "Report JSON fetched successfully.",
"data": {
"reference_id": "2605310236148021",
"generated_at": "2026-06-15T10:30:00.123456+00:00",
"status": "completed",
"result": "clear",
"candidate": {
"name": "Vivek Patel",
"photo": "https://storage.googleapis.com/konnectnxt/profile_pictures/abc.png"
},
"summary": {
"total": 2,
"clear": 2,
"minor_discrepancy": 0,
"discrepancy": 0,
"unable_to_verify": 0,
"not_available": 0,
"pending": 0
},
"checks": [
{
"type": "criminal",
"name": "Criminal Record Check",
"category": "Criminal & Compliance",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"documents": [
"https://storage.googleapis.com/konnectnxt/criminal/page_1.png"
]
},
{
"type": "identity_aadhaar",
"name": "Aadhaar Verification",
"category": "Identity",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"fields": [
{
"label": "Name",
"value": "Nallala Vivek"
},
{
"label": "Date of Birth",
"value": "08-01-2001"
},
{
"label": "Gender",
"value": "Male"
},
{
"label": "Aadhaar Number",
"value": "xxxxxxxx8300"
}
]
}
]
},
"errors": null
}Fetch BGV Report (JSON)
Fetch the background verification report for a case as structured JSON instead of a PDF. Call this endpoint after submitting a candidate via BGVSubmitViewV2 to check progress and view results using the case_id returned in data.cases_created[].case_id.
The report is available as soon as the case exists — check data.status to know whether results are still in progress or final.
curl --request GET \
--url https://bgv.konnectnxt.com/api/recruiter/v2/report-json/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://bgv.konnectnxt.com/api/recruiter/v2/report-json/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://bgv.konnectnxt.com/api/recruiter/v2/report-json/', 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://bgv.konnectnxt.com/api/recruiter/v2/report-json/",
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: Bearer <token>"
],
]);
$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://bgv.konnectnxt.com/api/recruiter/v2/report-json/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://bgv.konnectnxt.com/api/recruiter/v2/report-json/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://bgv.konnectnxt.com/api/recruiter/v2/report-json/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "success",
"code": 200,
"message": "Report JSON fetched successfully.",
"data": {
"reference_id": "2605310236148021",
"generated_at": "2026-06-15T10:30:00.123456+00:00",
"status": "completed",
"result": "clear",
"candidate": {
"name": "Vivek Patel",
"photo": "https://storage.googleapis.com/konnectnxt/profile_pictures/abc.png"
},
"summary": {
"total": 2,
"clear": 2,
"minor_discrepancy": 0,
"discrepancy": 0,
"unable_to_verify": 0,
"not_available": 0,
"pending": 0
},
"checks": [
{
"type": "criminal",
"name": "Criminal Record Check",
"category": "Criminal & Compliance",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"documents": [
"https://storage.googleapis.com/konnectnxt/criminal/page_1.png"
]
},
{
"type": "identity_aadhaar",
"name": "Aadhaar Verification",
"category": "Identity",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"fields": [
{
"label": "Name",
"value": "Nallala Vivek"
},
{
"label": "Date of Birth",
"value": "08-01-2001"
},
{
"label": "Gender",
"value": "Male"
},
{
"label": "Aadhaar Number",
"value": "xxxxxxxx8300"
}
]
}
]
},
"errors": null
}Overview
Fetch the background verification report for a BGV case as structured JSON instead of a PDF. Call this endpoint with thecase_id returned by the Submit Candidates for BGV (Bulk) endpoint to check progress and read results directly in your own application.
When to Call This Endpoint
POST /api/recruiter/v2/bgv-submit/
│
▼
cases_created[].case_id returned here
│
▼
GET /api/recruiter/v2/report-json/?case_id=<case_id>
│
│ data.status == "in_progress"?
▼
wait, then poll again
│
▼
data.status == "completed"
data.status on each call to know whether the case is still in_progress, under review (in_audit), or completed. Within a case, individual checks may also still show result: "pending" even after others have finished — don’t treat a 200 response alone as a sign that verification is done.
Poll on a backoff interval (for example 30s → 60s → 5m) rather than continuously. Avoid polling more than once every 15 seconds.
Response Format
| Field | Description |
|---|---|
reference_id | Reference number for the case. |
generated_at | Timestamp for this report snapshot. |
status | Case status: in_progress, in_audit, or completed. |
result | Overall result for the case (see below). |
candidate | { name, photo } for the candidate. |
summary | Count of checks by result. |
checks | List of requested checks with their individual results. |
Result values
| Value | Meaning |
|---|---|
clear | Verified with no issues. |
minor_discrepancy | A small, non-blocking mismatch. |
discrepancy | A material mismatch requiring attention. |
unable_to_verify | The check could not reach a conclusion. |
not_available | Not enough information was available to perform the check. |
pending | The check has not finished yet. |
Each item in checks
| Field | Description |
|---|---|
type | Check type, e.g. identity_aadhaar, criminal, employment. |
name | Display name, e.g. “Aadhaar Verification”. |
category | Display group, e.g. “Identity”, “Criminal & Compliance”. |
status | in_progress or completed. |
result | One of the result values above. |
completed_at | When the check finished, or null if not yet. |
fields | Verified details (name, DOB, masked ID number, etc.), where applicable. |
documents | Document/report page image URLs, where applicable. |
remark | A short note about the outcome, where applicable. |
entries | Per-item results for multi-part checks (employment, reference, address, social/professional), where applicable. |
{
"status": "success",
"code": 200,
"message": "Report JSON fetched successfully.",
"data": {
"reference_id": "2605310236148021",
"generated_at": "2026-06-15T10:30:00.123456+00:00",
"status": "completed",
"result": "clear",
"candidate": {
"name": "Vivek Patel",
"photo": "https://storage.googleapis.com/konnectnxt/profile_pictures/abc.png"
},
"summary": {
"total": 2,
"clear": 2,
"minor_discrepancy": 0,
"discrepancy": 0,
"unable_to_verify": 0,
"not_available": 0,
"pending": 0
},
"checks": [
{
"type": "criminal",
"name": "Criminal Record Check",
"category": "Criminal & Compliance",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"documents": [
"https://storage.googleapis.com/konnectnxt/criminal/page_1.png"
]
},
{
"type": "identity_aadhaar",
"name": "Aadhaar Verification",
"category": "Identity",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"fields": [
{ "label": "Name", "value": "Nallala Vivek" },
{ "label": "Date of Birth", "value": "08-01-2001" },
{ "label": "Gender", "value": "Male" },
{ "label": "Aadhaar Number", "value": "xxxxxxxx8300" }
]
}
]
},
"errors": null
}
{
"status": "success",
"code": 200,
"message": "Report JSON fetched successfully.",
"data": {
"reference_id": "2605310236148021",
"generated_at": "2026-06-15T09:05:00.000000+00:00",
"status": "in_progress",
"result": "pending",
"candidate": { "name": "Vivek Patel", "photo": "" },
"summary": {
"total": 2,
"clear": 1,
"minor_discrepancy": 0,
"discrepancy": 0,
"unable_to_verify": 0,
"not_available": 0,
"pending": 1
},
"checks": [
{
"type": "criminal",
"name": "Criminal Record Check",
"category": "Criminal & Compliance",
"status": "in_progress",
"result": "pending",
"completed_at": null,
"remark": "Criminal verification is still in progress."
},
{
"type": "identity_aadhaar",
"name": "Aadhaar Verification",
"category": "Identity",
"status": "completed",
"result": "clear",
"completed_at": "13 May, 2026, 11:02",
"fields": [{ "label": "Name", "value": "Nallala Vivek" }]
}
]
},
"errors": null
}
Authorizations
API key issued by KonnectNXT. Pass as Authorization: Bearer <your_api_key>.
Query Parameters
UUID of the case to fetch. Obtained from the BGVSubmitViewV2 response (data.cases_created[].case_id).
"6bc26096-dfe5-4c44-937b-27063820dc28"
Response
Report fetched successfully. Note: a 200 does not imply the verification is finished — inspect data.status and each check's status/result.
Success response. The report is in data.
Was this page helpful?

