CIBIL Transunion NEE V2 (PDF)
Banking & CreditReviews an individual’s credit history using a TransUnion CIBIL credit report obtained through an authorized process. The check covers the available credit score, loan and credit card accounts, repayment history, outstanding balances and reported adverse account statuses. Processing is subject to the individual’s consent, permitted purpose and applicable access requirements.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
pan_card_number
required
|
string | PAN Card Number |
phone_number
required
|
phone | Mobile Number |
Example request
curl -X POST https://app.emver.io/api/sandbox/v2/cibil-transunion-nee-v2-pdf \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"pan_card_number": "string",
"phone_number": "9999999999"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v2/cibil-transunion-nee-v2-pdf",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"pan_card_number": "string",
"phone_number": "9999999999"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v2/cibil-transunion-nee-v2-pdf", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"pan_card_number": "string",
"phone_number": "9999999999"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v2/cibil-transunion-nee-v2-pdf', {
"pan_card_number": "string",
"phone_number": "9999999999"
});
$data = $response->json();
Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.
Response
Structure · 200
{
"status": STRING,
"message": STRING,
"report_url": STRING,
"report": {
"format": STRING,
"mime": STRING,
"filename": STRING,
"size": INTEGER,
"url": STRING,
"expires_at": STRING,
"base64": STRING
}
}
Example · 200
{
"status": "string",
"message": "string",
"report_url": "string",
"report": {
"format": "string",
"mime": "string",
"filename": "string",
"size": 200,
"url": "string",
"expires_at": "string",
"base64": "string"
}
}
This API answers with a PDF document. report.base64 is the file itself — no second call is needed.
report_url is optional: GET it with the same API key to download the file (raw bytes, not JSON) at any time within 72 hours (report.expires_at); after that it answers 410.
A negative outcome (no record) is a plain {status, message} body without a report block.
Error · 4xx / 5xx
{
"status": INTEGER,
"message": STRING
}
See Errors & status codes for what each status means and which calls are billed.