Muti-Bureau API
Introduction:
The MultiBureau API is a comprehensive solution that enhances credit risk management by providing seamless access to credit reports from multiple bureaus. This API is designed for businesses looking to automate and optimize their underwriting processes by utilizing credit scores and insights from agencies such as CIBIL, Experian, CRIF, and Equifax. The MultiBureau API offers an efficient, unified format for bureau data, making credit assessments more robust and accurate, ultimately helping to minimize bad debts and streamline decision-making.
Key Features
- Automated Data Formatting: Inputs from multiple credit bureaus are parsed and structured into a single, consistent format, ensuring easy integration and uniformity.
- Enhanced Predictive Capabilities: By combining insights from multiple sources, predictive accuracy nearly doubles, leading to more informed lending decisions.
- Customizable Orchestration: Clients can configure specific rules to orchestrate calls to different bureaus based on product or customer segment, optimizing both soft and hard pulls based on the lending stage.
- Comprehensive Data Insights: The API includes additional credit predictors, such as Days Past Due (DPD) and bureau income indicators, to provide a fuller borrower profile.
- Increased Hit Rate: Parallel strategies and orchestration maximize data coverage and improve the likelihood of successful credit report retrieval.
Benefits
- Improved Underwriting Efficiency
- : Multi-bureau insights allow for better credit assessments, reducing the limitations associated with relying on a single bureau.
- Higher Approval Rates: Expanded data sources increase the likelihood of comprehensive borrower profiles, enabling higher approval rates without sacrificing risk standards.
- Reduced Operational Costs: Automated workflows minimize the need for manual data entry and reconciliation, freeing up staff resources.
- Fraud Reduction: Consistent data and comprehensive borrower insights mitigate the risk of fraud by eliminating discrepancies and errors associated with single-bureau data.
- Scalable Integration: The API can be seamlessly embedded into your loan origination system, facilitating ease of use without extensive development resources.
How It Works
- Configuring Client Multi-Bureau Credentails: Signzy representatives will configure client's credentials with respective bureaus. API calls to respective bureaus will be made using client's credentials.
- Single Entry Source: Signzy Multi-Bureau API has a uniform request schema for all bureaus. Clients can control product configuration by passing requite multibureauflow across different bureaus.
- MultiBureau Orchestration: The API configures and sends requests to the relevant bureaus based on predefined rules, either through parallel or sequential calls. Signzy representatives will assist clients in configuring the rules to manage these orchestration.
- Data Parsing and Formatting: Each bureau’s response is processed and standardized into a unified format.
- Testing Signzy Multi-Bureau API: After onboarding please use the curl provided, and use the configured multibureauflow to test different configurations.
Conclusion
The MultiBureau API transforms credit assessment by leveraging a multi-source data approach, providing clients with comprehensive, accurate, and actionable insights. With advanced orchestration capabilities and automated workflows, the MultiBureau API is ideal for financial institutions, insurers, and FinTechs aiming to enhance their credit risk evaluation processes. By implementing this solution, clients can make faster, data-driven lending decisions with reduced operational risks and improved cost-efficiency.

FAQs
1. What types of credit bureaus does the MultiBureau API support? The API integrates with major credit bureaus, including CIBIL, Experian, CRIF, and Equifax, providing a broad data spectrum for comprehensive retail borrower profiling.
2. Can I customize the orchestration rules for bureau data requests? Yes, the API allows you to set rules based on specific products or customer segments, enabling you to select primary and secondary bureaus dynamically based on these configurations. Please get in touch with Signzy representative to understand your requirements and enable configuration.
3. How does the MultiBureau API handle data consistency across different bureaus? The API automatically harmonizes data by standardizing requests and response from multiple bureaus into a unified format, ensuring that data from each bureau is comparable and compatible for use in credit assessments.
4. Is this solution suitable for businesses outside the banking industry? Yes, while ideal for banks, the MultiBureau API is also highly suitable for insurers, FinTech companies, and other entities requiring reliable credit risk assessments.

Sample cURL:
curl --location 'https://api-preproduction.signzy.app/api/v3/bureau/soft-pull-multi-bureau' \
--header 'Authorization: <auth-token>' \
--header 'multibureauflow: signzy_1' \
--header 'Content-Type: application/json' \
--data '{
"phoneNumber": "*****",
"name": "*****",
"dateOfBirth": "*****",
"pan": "*****",
"voterId": "*****",
"address": "*****",
"state": "*****",
"pincode": "*****",
"consent": {
"consentFlag": true,
"consentTimestamp": **********,
"consentIpAddress": "*****",
"consentMessageId": "CM_1"
}
}'Request Headers:
Key | Value |
|---|---|
Authorization | shared by Signzy |
Content-Type | application/json |
multibureauflow | This will be passed in the header of the API request |
Onboarding Details Required for Individual Bureaus:
Experian Credential Mapping
type | key | value |
|---|---|---|
EXPERIAN | USERNAME | <issued by EXPERIAN> |
EXPERIAN | PASSWORD | <issued by EXPERIAN> |
EXPERIAN | DURATION_OF_AGREEMENT | <issued by EXPERIAN> |
CRIF Credential Mapping
type | key | value |
|---|---|---|
HM | RES_FRMT_EMBD | Y |
HM | PRODUCT_TYPE | INDV |
HM | AUTH_FLG | Y |
HM | MEMBER_PRE_OVERRIDE | N |
HM | USER_ID | <issued by CRIF> |
HM | PRODUCT_VERSION | 1 |
HM | PASSWORD | <issued by CRIF> |
HM | IOI | TRUE |
HM | TEST_FLG | HMTEST |
HM | RES_FRMT | XML/HTML |
HM | REQ_ACTN_TYP | SUBMIT |
HM | REQ_VOL_TYPE | C01 |
HM | AUTH_TITLE | USER |
HM | LOS_APP_ID | <user generated Id> |
HM | CREDIT_INQUIRY_STAGE | PRE-DISB |
HM | MBR_ID | <issued by CRIF> |
HM | SUB_MBR_ID | <issued by CRIF> |
HM | CREDT_REQ_TYP | INDV |
HM | CREDT_INQ_PURPS_TYP | ACCT-ORIG |
CIBIL Credential Mapping
type | key | value |
|---|---|---|
TU | AUTH_USER | <issued by CIBIL> |
TU | MOCK_RESPONSE | Y |
TU | AUTH_PWD | <issued by CIBIL> |
TU | MBR_CODE | <issued by CIBIL> |
TU | MBR_PWD | <issued by CIBIL> |
TU | SOLUTION_SET_ID | 129 |
TU | SOLUTION_SET_VERSION | 3 |
TU | INCLUDE_TUEF_RESPONSE | Y |
TU | STANDARDIZATION_TYPE | CCR |
Request Body:
{
"phoneNumber": "*****",
"name": "*****",
"dateOfBirth": "*****",
"pan": "*****",
"voterId": "*****",
"address": "*****",
"state": "*****",
"pincode": "*****",
"consent": {
"consentFlag": true,
"consentTimestamp": **********,
"consentIpAddress": "*****",
"consentMessageId": "CM_1"
}
}Input Parameters:
Parameter | Type | Mandatory/Optional | Description |
|---|---|---|---|
phoneNumber | string | Mandatory | Phone number of the user |
name | string | Mandatory | Name of the user |
dateOfBirth | string | Mandatory | Date of Birth of the user yyyy-mm-dd |
pan | string | Conditional Mandatory(Either of PAN or VoterID is mandatory) | Pan of the user |
voterId | string | Conditional Mandatory(Either of PAN or VoterID is mandatory) | VoterID of the user |
address | string | Mandatory | Address |
state | string | Optional | State |
pincode | string | Mandatory | Pincode |
consent | object | Mandatory | Consent object by the user. |
consent[consentFlag] | boolean | Mandatory | A boolean flag representing if consent is present or not. |
consent[consentTimestamp] | number | Mandatory | Timestamp of the consent. (In seconds consisting of 10 digits) |
consent[consentIpAddress] | string | Mandatory | Ip address of the user's device giving the consent. |
consent[consentMessageId] | string | Mandatory | "CM_1" : "I hereby consent that I am sharing my consent to signzy to collect my bureau report" |
Response Body:
{
"statusCode": 200,
"message": "SUCCESS",
"data": {
"multiBureauReport": [
{
"PCS": {
"IDAndContactInfo": {
"PersonalInfo": {
"Name": {
"FullName": "Al Zeimers"
},
"DateOfBirth": "1944-05-19",
"Gender": "Female",
"Age": {
"Age": "80"
}
},
"IdentityInfo": {
"PANId": [
{
"seq": "1",
"ReportedDate": "2019-09-30",
"IdNumber": "ALYPK1260G"
}
],
"VoterID": [
{
"seq": "1",
"ReportedDate": "2019-11-30",
"IdNumber": "KKK1197874"
}
],
"NationalIDCard": [
{
"seq": "1",
"ReportedDate": "2019-06-30",
"IdNumber": "XXXXXXXXXXXX"
}
]
},
"AddressInfo": [
{
"Seq": "1",
"ReportedDate": "2019-11-30",
"Address": "4 47B KEELA STREET RARAMUTHIRAKKOTTAI PAPANASAM TANJORE",
"State": "TN",
"Postal": "613501"
},
{
"Seq": "2",
"ReportedDate": "2019-08-31",
"Address": "4/47B KEELATHERU RARAMUTHIRAKOTAI PAPANASAM PAPANASAM DISTRICT",
"State": "TN",
"Postal": "613501",
"Type": "Owns"
},
{
"Seq": "3",
"Address": "4 47B KEELA STREET RARAMUTHIRAKKOTTAI PAPANASAM TANJOR"
},
{
"Seq": "4",
"Address": "4/47B KEELATHERU RARAMUTHIRAKOTAI PAPANASAM PAPANASAM D"
}
],
"PhoneInfo": [
{
"seq": "1",
"typeCode": "M",
"ReportedDate": "2019-11-30",
"Number": "8850407851"
}
]
},
"RetailAccountDetails": [
{
"seq": "1",
"id": "1484329714",
"AccountNumber": "252233000000026",
"Institution": "Indian Overseas Bank",
"AccountType": "Other",
"OwnershipType": "Joint Account",
"Balance": "130567",
"PastDueAmount": "0",
"Open": "Yes",
"SanctionAmount": "130000",
"DateReported": "2019-08-31",
"DateOpened": "2019-08-05",
"InterestRate": "7",
"DisputeCode": "08",
"CollateralValue": "130000",
"AccountStatus": "New Account",
"AssetClassification": "Standard",
"source": "INDIVIDUAL",
"History48Months": [
{
"key": "08-19",
"PaymentStatus": "NEW",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "STD"
}
]
},
{
"seq": "2",
"id": "1314840154",
"AccountNumber": "L9TNJ00038200574 Terminated CI",
"Institution": "ICICI BANK LIMITED",
"AccountType": "Other",
"OwnershipType": "Joint Account",
"Balance": "0",
"Open": "No",
"SanctionAmount": "77000",
"LastPaymentDate": "2019-11-05",
"DateReported": "2019-11-30",
"DateOpened": "2018-10-30",
"DateClosed": "2019-11-08",
"Reason": "Closed Account",
"DisputeCode": "09",
"AccountStatus": "Closed Account",
"source": "INDIVIDUAL",
"History48Months": [
{
"key": "11-19",
"PaymentStatus": "CLSD",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "10-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "09-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "08-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "07-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "06-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "05-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "04-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "03-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "02-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "01-19",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
},
{
"key": "12-18",
"PaymentStatus": "000",
"SuitFiledStatus": "*",
"AssetClassificationStatus": "*"
}
]
}
],
"RetailAccountsSummary": {
"NoOfAccounts": "2",
"NoOfActiveAccounts": "1",
"NoOfWriteOffs": "0",
"TotalPastDue": "0.00",
"SingleHighestCredit": "0.00",
"SingleHighestSanctionAmount": "130000.00",
"TotalHighCredit": "0.00",
"AverageOpenBalance": "130567.00",
"SingleHighestBalance": "130567.00",
"NoOfPastDueAccounts": "0",
"NoOfZeroBalanceAccounts": "0",
"RecentAccount": "Other on 05-08-2019",
"OldestAccount": "Other on 30-10-2018",
"TotalBalanceAmount": "130567.00",
"TotalSanctionAmount": "130000.00",
"TotalCreditLimit": "0.0",
"TotalMonthlyPaymentAmount": "0.00"
},
"ScoreDetails": [
{
"Type": "ERS",
"Version": "4.0",
"Name": "ERS4.0",
"Value": "720",
"ScoringElements": [
{
"type": "RES",
"seq": "1",
"code": "200",
"Description": "No Live Accounts"
},
{
"type": "RES",
"seq": "2",
"code": "204",
"Description": "Number of Home Loans"
},
{
"type": "RES",
"seq": "3",
"code": "205",
"Description": "Delinquency presence"
}
]
}
],
"EnquirySummary": {
"Purpose": "ALL",
"Total": "0",
"Past30Days": "0",
"Past12Months": "0",
"Past24Months": "0"
},
"OtherKeyInd": {
"AgeOfOldestTrade": "71",
"NumberOfOpenTrades": "0",
"AllLinesEVERWritten": "0.00",
"AllLinesEVERWrittenIn9Months": "0",
"AllLinesEVERWrittenIn6Months": "0"
},
"RecentActivities": {
"AccountsDeliquent": "0",
"AccountsOpened": "0",
"TotalInquiries": "0",
"AccountsUpdated": "0"
}
}
}
]
}
}Status Codes:
CODE | MESSAGE |
|---|---|
200 400 404 409 500 | Request successful Validation Error Resource not found Upstream is down  |