> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.credit.aarthiklabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.credit.aarthiklabs.com/_mcp/server.

# Buyer-Supplied Bureau Data

> Pass optional borrower-authorized bureau report data in Hosted or Hybrid journeys.

If your back-end already has borrower-authorized bureau data, you can pass it into supported Aarthik Labs journeys.

This is optional. Hosted and Hybrid journeys can still work when you do not send bureau data.

## When To Use This

Use buyer-supplied bureau data when:

* your application has already received a bureau report for the borrower
* the borrower has authorized your application to share that report with Aarthik Labs
* you want Aarthik Labs to store the report with borrower and journey context

Do not send bureau data directly from a browser or mobile app. Send it only from your trusted back-end.

## Where This Applies

| Experience                       | Support                                                                                                |
| -------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Hosted Experience                | Supported when creating a Hosted Experience URL.                                                       |
| Hybrid Personal Loan             | Supported when starting or resuming the Hybrid journey.                                                |
| Hybrid Loan Against Mutual Funds | Supported when starting or resuming the Hybrid journey.                                                |
| Hybrid Business Loan             | Supported when starting or resuming the Hybrid journey.                                                |
| Hybrid Gold Loan                 | Do not send `bureau` or `journey.bureauConsent`. Use the Gold Loan start shape with `journey.consent`. |

## Hosted Experience Shape

For Hosted Experience, add a top-level `bureau` object when creating the Hosted Experience URL.

```json
{
  "borrowerProviderID": "BORROWER-123",
  "journeyType": "PERSONAL_LOAN",
  "profile": {
    "contactNumber": "9876543210"
  },
  "journey": {
    "endUse": "travel",
    "creditReportConsent": true
  },
  "bureau": {
    "type": "EXPERIAN",
    "data": {
      "score": 742,
      "accounts": [
        {
          "id": "account-1",
          "status": "active"
        }
      ]
    }
  }
}
```

## Hybrid Experience Shape

For supported Hybrid journeys, add a top-level `bureau` object to the journey start or resume call.

```json
{
  "personal": {
    "contactNumber": "9876543210"
  },
  "journey": {
    "endUse": "travel",
    "bureauConsent": true
  },
  "bureau": {
    "type": "EXPERIAN",
    "data": {
      "score": 742,
      "accounts": [
        {
          "id": "account-1",
          "status": "active"
        }
      ]
    }
  }
}
```

## Required Fields

| Field                         | Required                           | Notes                                                                      |
| ----------------------------- | ---------------------------------- | -------------------------------------------------------------------------- |
| `bureau.type`                 | Yes                                | One of `EXPERIAN`, `CIBIL`, `CRIF`, or `EQUIFAX`.                          |
| `bureau.data`                 | Yes                                | Raw bureau report payload as a JSON object.                                |
| `journey.creditReportConsent` | Hosted only, when `bureau` is sent | Must be `true` whenever `bureau` is provided in Hosted Experience.         |
| `journey.bureauConsent`       | Hybrid only, when `bureau` is sent | Must be `true` whenever `bureau` is provided in supported Hybrid journeys. |

## Optional References

You may also send:

| Field                     | Purpose                                                                   |
| ------------------------- | ------------------------------------------------------------------------- |
| `bureau.pulledAt`         | Timestamp for when your application pulled or received the bureau report. |
| `bureau.reportReference`  | Your internal report reference for support and reconciliation.            |
| `bureau.consentReference` | Your internal borrower-consent reference for audit and reconciliation.    |

These fields are optional. If you do not have them, omit them.

## What Happens Next

Aarthik Labs stores the raw bureau data with borrower, tenant, application, and journey context. The raw report is redacted from audit payloads and is not exposed to borrower-facing Hosted screens.

The API still returns the normal journey response for the experience you are using. The `bureau` object is not returned in the response.

> **Note:** Buyer-supplied bureau data is stored safely for audit, provenance, and supported processing. Do not assume it will automatically replace all lender or bureau pulls unless Aarthik Labs has confirmed support for your bureau format.

Read the exact request contract in the [API Reference](/api-reference).