Feel free to reach techsupport@surepass.io for any technical support or guidance.
html report type as well as mock mode for sandbox testing without consuming live bureau credits.client_id for traceability, and the report link is time-scoped using AWS Signature V4 for secure access.Authorization header as Bearer TOKEN.https://sandbox.surepass.apphttps://kyc-api.surepass.app⚠️ Never use your production JWT token in sandbox environments, and vice versa. Tokens are environment-scoped and non-interchangeable.
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token in the format Bearer <JWT_TOKEN>. Use the token corresponding to your target environment (sandbox or production). |
Content-Type | Yes | Must be set to application/json. |
| Parameter | Type | Required | Description |
|---|---|---|---|
business_name | String | Yes | The registered legal name of the business entity whose credit report is being requested. Example: "ABC PRIVATE LIMITED". |
pan | String | Yes | The Permanent Account Number (PAN) of the business entity. Must follow the standard PAN format. Example: "ABCCP1234L". |
report_type | String | Yes | Specifies the type of report to fetch. Accepted values: "html" (live bureau report rendered as HTML) or "mock" (simulated report for production env mock response for testing). |
raw | String | No | Optional parameter. When set to "true", the response includes both the JSON data and the HTML report content together. Omit this field to receive only the default report link. |
consent | String | Yes | Explicit user/business consent for fetching the credit report. Must be set to "Y" to indicate consent has been obtained. |
{
"business_name": "ABC PRIVATE LIMITED",
"pan": "ABCCP1234L",
"report_type": "html",
"consent": "Y"
}💡 To also receive the raw HTML report body in the response alongside the JSON, include "raw": "true"in the request body.
| Parameter | Type | Description |
|---|---|---|
data | Object | Top-level container for all report data returned by the API. |
data.client_id | String | A unique identifier assigned to this specific report fetch request. Format: credit_report_commercial_pdf_<unique_id>. Useful for logging, support, and audit trails. |
data.pan | String | The PAN of the business entity for which the report was fetched, as provided in the request. |
data.business_name | String | The business name as provided in the request. |
data.credit_score | Array | An array of credit score objects returned by the bureau. Each object represents a score model applied to the entity or its associated individuals. |
data.credit_score[].score_name | String | The name of the credit scoring model used. Example: "ERS 4.0 (retail)". |
data.credit_score[].score_entity | String | The name of the entity or individual to whom this score applies. |
data.credit_score[].relationship | String | Describes the relationship of the scored entity to the business. Example: "Individual Relation Others". |
data.credit_score[].credit_score | String | The numeric credit score value assigned by the bureau under the specified scoring model. |
data.credit_report | Object | Contains the raw structured credit report data as returned by the bureau. This field may be empty ({}) when raw is not set to "true". |
data.credit_report_link | String | A time-limited pre-signed AWS S3 URL pointing to the rendered credit report file (HTML format). The URL expires after a short period (typically 600 seconds). |
status_code | Integer | HTTP-equivalent status code for the API operation. 200 indicates a successful response. |
success | Boolean | true if the request was processed successfully; false on failure. |
message | String | Human-readable description of the response outcome. Example: "Success". |
message_code | String | Machine-readable code corresponding to the outcome. Example: "success". |
{
"data": {
"client_id": "credit_report_commercial_pdf_cvyjdevFbVdFoclGqaaY",
"pan": "ABCCP1234L",
"business_name": "ABC PRIVATE LIMITED",
"credit_score": [
{
"score_name": "ERS 4.0 (retail)",
"score_entity": "DUMMY COMPANY NAME",
"relationship": "Individual Relation Others",
"credit_score": "852"
}
],
"credit_report": {},
"credit_report_link": "https://aadhaar-kyc-docs.s3.amazonaws.com/ritik123/credit_report_commercial/credit_report_commercial_pdf_cvyjdevFbVdFoclGqaaY/commercial_report_1777120420221221.html?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY5K3QRM5KVPBYKKE%2F20260425%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20260425T123341Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=7611497397439d1d3e6354ee6b68df05c8be7ec31bc4ff4270e9089b55230265"
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}{
"status_code": 401,
"success": false,
"message": "Authentication credentials were not provided or are invalid.",
"message_code": "unauthorized"
}Authorization header is missing, malformed, or the JWT token is invalid or expired. Ensure you are using the correct Bearer token for the target environment (sandbox vs. production).401 responses gracefully by re-authenticating before retrying the request.credit_report_link in the response is a pre-signed S3 URL with a short expiry (typically 600 seconds). Download or cache the report within this window; do not store the raw link for long-term access.business_name on the client side before sending the request to minimize unnecessary API calls and error responses.report_type to "mock" during development and QA to avoid consuming live bureau credits and to ensure deterministic test results.credit_score array is returned inline in the response — surface the bureau score to end users immediately, before they click through to the full report link, to provide a fast and informative experience.credit_score field is an array and may contain more than one score entry (e.g., for different bureau models or associated individuals). Ensure your UI handles and renders all entries rather than assuming a single score.message_code values to user-friendly messages in your frontend. Avoid exposing raw API error strings directly to end users.curl --location 'https://kyc-api.surepass.app/api/v1/credit-report-commercial/fetch-report-pdf' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"business_name": "ABC PRIVATE LIMITED",
"pan": "ABCCP1234L",
"report_type": "html",
"consent": "Y"
}'{
"data": {
"client_id": "credit_report_commercial_pdf_cvyjdevFbVdFoclGqaaY",
"pan": "ABCCP1234L",
"business_name": "ABC PRIVATE LIMITED",
"credit_score": [
{
"score_name": "ERS 4.0 (retail)",
"score_entity": "DUMMY COMPANY NAME",
"relationship": "Individual Relation Others",
"credit_score": "852"
}
],
"credit_report": {},
"credit_report_link": "https://aadhaar-kyc-docs.s3.amazonaws.com/credit_report_commercial/credit_report_commercial_pdf_cvyjdevFbVdFoclGqaaY/commercial_report_1777120420221221.html?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=7611497397439d1d3e6354ee6b68df05c8be7ec31bc4ff4270e9089b55230265"
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}