> 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.

# Hybrid Experience

> Own the pre-offer borrower journey in your product, then hand off selected-offer execution to Aarthik Labs.

Hybrid Experience lets you collect borrower information and present credit offers in your own product, then continue the selected application in Aarthik Labs' Hosted Experience.

Your product owns borrower onboarding, profile capture, offer wait states, lender-grouped offer presentation, and offer selection. After the borrower selects an offer, your back-end requests a Hosted Experience URL and your app opens that URL so Aarthik Labs can continue the selected-offer journey.

Hybrid Experience product paths use the same three back-end calls: start or resume the journey, poll offers, and request a Hosted handoff URL after offer selection. The API Reference includes Personal Loan, Gold Loan, Loan Against Mutual Funds, and Business Loan.

Business Loan offer discovery can return both `BUSINESS_LOAN` offers and `PERSONAL_LOAN` offers suitable for self-employed borrowers. Use each offer's `productType` to show the correct product. Keep the `data.journey.id` returned by Create A Journey and pass it as `journeyID` when polling and requesting a Hosted handoff. Availability depends on your application and its enabled lending partners.

This is the middle path between a fully Hosted integration and a fully API-owned integration. You keep control where brand, conversion, and borrower trust matter most, while Aarthik Labs owns the lender-specific complexity that begins after offer selection.

## Business Loan capabilities

The Business Loan experience brings these capabilities together around one `journeyID`:

1. **Dedupe (optional):** Check whether participating lenders permit the borrower to continue. Start with hashed or unhashed identifiers, then read lender results with GET.
2. **Eligibility (optional):** Assess preliminary eligibility using Bureau, Banking or GST information independently or together. Dedupe is not a prerequisite. Start with POST and read the assessment with GET.
3. **Create A Journey:** Submit the borrower profile and begin offer discovery.
4. **Poll for Offers:** Retrieve available offers and their current status.
5. **Poll for Offer & Hand-Off Link:** Retrieve the selected offer and open its Hosted Experience URL.

Dedupe and Eligibility are independently optional. The first call creates a journey when `journeyID` is omitted. Reuse its returned ID as the query parameter on each subsequent call, including Create A Journey. See [Business Loans](/documentation/hybrid-experience/integrations-guide/business-loans) for all four sequences.

## Where Hybrid Fits

| Experience        | Best for                                                                                                                     |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Hosted Experience | Teams that want the fastest launch and are happy for Aarthik Labs to own the full borrower journey UI.                       |
| Hybrid Experience | Teams that want a branded borrower acquisition and offer-selection flow, with Aarthik Labs taking over downstream execution. |
| API Experience    | Teams that want to own every borrower-facing screen and every orchestration decision end-to-end.                             |

## Supported Product Paths

| Product                                                          | Start path                                                                             |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Personal Loan                                                    | `POST /api/v1/hybrid/personal-loan/borrowers/{borrowerProviderID}/journey`             |
| Gold Loan                                                        | `POST /api/v1/hybrid/gold-loan/borrowers/{borrowerProviderID}/journey`                 |
| Loan Against Mutual Funds, including Credit Lines and Term Loans | `POST /api/v1/hybrid/loan-against-mutual-funds/borrowers/{borrowerProviderID}/journey` |
| Business Loan                                                    | `POST /api/v1/hybrid/business-loan/borrowers/{borrowerProviderID}/journey`             |

Use the matching product prefix for the offers and Hosted handoff calls. The request body does not need to choose the product again unless your integration sends `journeyType`; if it does, it must match the URL product.

## Architecture

```mermaid
flowchart LR
  A["Borrower"] --> B["Your product UI"]
  B --> C["Your back-end"]
  C --> D["Hybrid Experience APIs"]
  D --> C
  C --> B
  B --> E["Offer selection"]
  E --> C
  C --> F["Hosted handoff URL"]
  B --> G["Hosted Experience"]
  G --> H["KFS, KYC, mandates, agreements, lender redirects"]
  G --> I["Post-disbursal servicing"]
```

## Journey Sequence

```mermaid
sequenceDiagram
  participant Borrower
  participant UI as Your Product UI
  participant Backend as Your Backend
  participant Hybrid as Hybrid Experience API
  participant Hosted as Hosted Experience

  Borrower->>UI: Start credit journey
  UI->>Backend: Submit borrower profile
  Backend->>Hybrid: Start or resume journey
  Hybrid-->>Backend: Offer fetch accepted
  Backend-->>UI: Show wait state

  loop Until offers or next action are ready
    UI->>Backend: Refresh journey state
    Backend->>Hybrid: Poll offers
    Hybrid-->>Backend: Lender groups, offers, or AA action
    Backend-->>UI: Update borrower-facing state
  end

  Borrower->>UI: Select offer
  UI->>Backend: Continue with selected offer
  Backend->>Hybrid: Request Hosted URL
  Hybrid-->>Backend: Short-lived hosted_url
  Backend-->>UI: Hosted URL
  UI->>Hosted: Open Hosted Experience
  Hosted-->>Borrower: Continue selected-offer journey
```

> **Important for mobile apps:** The Hosted handoff URL starts the selected-offer execution journey; it does not complete the loan journey by itself. If your Hybrid flow runs inside a mobile app, your app must support the Mobile App Bridge before opening Hosted Experience. Hosted may emit bridge events for lender verification steps such as KYC, e-mandate, e-sign, lender redirection, or exit handling. Read [Mobile App Bridge](/documentation/common/mobile-applications/bridge) before launching mobile Hybrid journeys.

## Ownership Boundaries

| Stage                                            | Primary surface   | Primary owner |
| ------------------------------------------------ | ----------------- | ------------- |
| Borrower entry                                   | Your product UI   | Your team     |
| Profile capture                                  | Your product UI   | Your team     |
| Offer wait states                                | Your product UI   | Your team     |
| Lender-grouped offer list                        | Your product UI   | Your team     |
| Offer selection                                  | Your product UI   | Your team     |
| Hosted handoff                                   | Hosted Experience | Aarthik Labs  |
| KFS, KYC, mandates, agreements, lender redirects | Hosted Experience | Aarthik Labs  |
| Post-disbursal servicing                         | Hosted Experience | Aarthik Labs  |

## What You Build

Your product should build:

* borrower entry and onboarding screens
* profile capture and validation
* offer-fetch loading and retry states
* lender-grouped offer display
* branch display for Gold Loan lender groups when branches are returned
* optional Account Aggregator call-to-action when the API returns one
* offer selection and confirmation
* hosted handoff opening behavior
* web-hook receiver for lifecycle updates

## What Aarthik Labs Handles

Aarthik Labs handles:

* credit offer discovery
* Account Aggregator handoff URLs when required for a product/lender flow
* Hosted handoff URL generation after offer selection
* selected-offer execution inside Hosted Experience
* product-specific Hosted continuation, tracking, and post-disbursal access after handoff
* KFS, KYC, mandate, agreement, and lender redirect handling
* post-disbursal servicing, including IGM and supported collection flows
* journey lifecycle web-hooks

## Start Here

* [Integrations Guide](/documentation/hybrid-experience/integrations-guide/overview) explains how to start offer discovery, poll offers, and continue a selected offer.
* [Business Loans](/documentation/hybrid-experience/integrations-guide/business-loans) explains the Business Loan integration and product types.
* [Offer Polling & Rate Limits](/documentation/hybrid-experience/integrations-guide/offer-polling-rate-limits) explains the offer-fetch SLA, Account Aggregator timing, accepted poll cadence, and 429 handling.
* [Buyer-Supplied Bureau Data](/documentation/common/buyer-supplied-bureau-data) explains how to pass optional bureau report data when starting a journey.
* [Account Aggregator Flow](/documentation/hybrid-experience/account-aggregator-flow) explains how AA readiness, consent, callback, and offer polling work.
* [Hosted Handoff](/documentation/hybrid-experience/hosted-handoff) explains how to move the borrower from your UI into Hosted Experience.
* [Web-Hooks](/documentation/web-hooks-v-1) explains lifecycle updates your back-end should receive.
* [Post-Disbursal Servicing](/documentation/hybrid-experience/post-disbursal-servicing/overview) explains IGM and collection actions after disbursal.