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

# Eligibility Inputs

> Assess eligibility using Bureau, Banking and GST information.

Eligibility and Dedupe are independently optional. Submit at least one of Bureau, Banking or GST, or any combination. Obtain borrower authorization for all supplied financial information. Eligibility is preliminary and does not guarantee an offer or approval.

## Journey creation and reuse

Omit the optional `journeyID` query parameter when Eligibility is your first call. The response returns `data.journeyID`. If Dedupe has already returned an ID, supply it here. Pass the same ID to Create A Journey, offer polling and handoff. You can use Eligibility without completing Dedupe first.

All four examples below are also selectable in the [Eligibility API Reference](/api-reference/hybrid-experience/business-loan/evaluate-hybrid-business-loan-eligibility).

## Input structure

* **Bureau:** `type` is `CIBIL`, `EXPERIAN`, `EQUIFAX`, or `CRIF`. The existing `consentReference` is retained. `data` is a JSON object.
* **Banking:** An array of records. Each record has a `period` with `from` and `to` date-times, a `type` of `CURRENT`, `SAVINGS`, or `CC`, and a `data` JSON object.
* **GST:** An array of records. Each record has a `period`, a `type` of `GSTR-1`, `GSTR-2A_GSTR-2B`, or `GSTR-3B`, and a `data` JSON object.

Period timestamps include a timezone and `from` must not be later than `to`. Each `data` object can contain nested properties. Your data can retain its existing structure. Contact Aarthik Labs to confirm support for your financial data provider. The values below are synthetic and do not prescribe a provider's schema.

The comments beside `data` below explain its free-form shape. They are documentation annotations; omit comments from JSON sent to the API. In the API Reference, select **JavaScript** to see the same inline notes in executable examples.

## Bureau only

```jsonc
{
  "bureau": {
    "type": "EXPERIAN",
    "consentReference": "CONSENT-001",
    "data": {} // This is a free-form key-value pair. Please send any shape/structure.
  }
}
```

## Banking only

```jsonc
{
  "banking": [
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-09-30T23:59:59Z"
      },
      "type": "CURRENT",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    },
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-09-30T23:59:59Z"
      },
      "type": "SAVINGS",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    }
  ]
}
```

## GST only

```jsonc
{
  "gst": [
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-06-30T23:59:59Z"
      },
      "type": "GSTR-1",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    },
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-06-30T23:59:59Z"
      },
      "type": "GSTR-3B",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    }
  ]
}
```

## Bureau, Banking and GST

```jsonc
{
  "bureau": {
    "type": "EXPERIAN",
    "consentReference": "CONSENT-001",
    "data": {} // This is a free-form key-value pair. Please send any shape/structure.
  },
  "banking": [
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-09-30T23:59:59Z"
      },
      "type": "CURRENT",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    },
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-09-30T23:59:59Z"
      },
      "type": "SAVINGS",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    }
  ],
  "gst": [
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-06-30T23:59:59Z"
      },
      "type": "GSTR-1",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    },
    {
      "period": {
        "from": "2026-04-01T00:00:00Z",
        "to": "2026-06-30T23:59:59Z"
      },
      "type": "GSTR-3B",
      "data": {} // This is a free-form key-value pair. Please send any shape/structure.
    }
  ]
}
```

## Start, then read Eligibility

The [Start Eligibility API](/api-reference/hybrid-experience/business-loan/evaluate-hybrid-business-loan-eligibility) accepts the financial inputs with POST and returns HTTP `202`, `data.journeyID`, and a pending operation. The Start response has no polling object. Store the ID and make the first Fetch Eligibility Results GET after acceptance. Follow the polling guidance in that GET response for later reads; do not resend financial information to poll.

```http
GET /api/v1/hybrid/business-loan/borrowers/{borrowerProviderID}/journey/eligibility?journeyID=<returned-journey-id>
Authorization: Bearer <PLATFORM_API_KEY>
```

The [Fetch Eligibility Results API](/api-reference/hybrid-experience/business-loan/read-hybrid-business-loan-eligibility) returns HTTP `200` for a successful read. `data.status` is the journey-level status; each lender has its own `decision` retaining detailed lender-specific values, including `SKIPPED` and `ERROR`.

| Lender results                                                | Journey status |
| ------------------------------------------------------------- | -------------- |
| Any lender is `PENDING`, regardless of other results          | `PENDING`      |
| No pending lenders; at least one is `ELIGIBLE` or `SKIPPED`   | `ELIGIBLE`     |
| No pending lenders; all results are `NOT_ELIGIBLE` or `ERROR` | `NOT_ELIGIBLE` |

`SKIPPED` counts as positive and `ERROR` counts as negative when calculating the journey outcome. The journey can only be `ELIGIBLE`, `NOT_ELIGIBLE`, or `PENDING`; individual lender statuses are preserved.

| Example lender results      | Journey outcome |
| --------------------------- | --------------- |
| `ELIGIBLE` + `PENDING`      | `PENDING`       |
| `SKIPPED` + `PENDING`       | `PENDING`       |
| `ELIGIBLE` + `NOT_ELIGIBLE` | `ELIGIBLE`      |
| `SKIPPED` + `NOT_ELIGIBLE`  | `ELIGIBLE`      |
| `SKIPPED` + `ERROR`         | `ELIGIBLE`      |
| All `SKIPPED`               | `ELIGIBLE`      |
| `NOT_ELIGIBLE` + `ERROR`    | `NOT_ELIGIBLE`  |
| All `ERROR`                 | `NOT_ELIGIBLE`  |

Lender decisions are `ELIGIBLE`, `NOT_ELIGIBLE`, `SKIPPED`, `ERROR`, or `PENDING`. An error is not a credit rejection. Eligibility does not guarantee an offer or approval. Follow `data.polling.nextPoll` while `data.polling.shouldPoll` is true; it is false for every non-pending journey status. Respect `Retry-After` on `429` and use backoff for transient failures. Do not restart the operation to poll.

Once the operation is terminal, use the same `journeyID` for Create A Journey and continue only where the lender result permits it. Retain the original borrower identity. Invalid, unknown or unauthorized journey IDs must not create replacement journeys.

## Provisional terms per lender

Each entry in `data.lenders` includes the following fields alongside its eligibility decision. The terms are indicative, may change after further assessment, and are not a final offer or loan approval. They are populated when available for an eligible lender; otherwise the fields are `null`, including pending and ineligible results. Do not treat `null` as zero.

| Field                  | Format                                 | Example       |
| ---------------------- | -------------------------------------- | ------------- |
| `annualPercentageRate` | Annual percentage as a string          | `"18.50"`     |
| `interestRate`         | Annual interest percentage as a string | `"16.00"`     |
| `amountPrincipal`      | INR amount as a decimal string         | `"500000.00"` |
| `offerTerm`            | Repayment duration with its unit       | `"12 months"` |

The [Fetch Eligibility Results API](/api-reference/hybrid-experience/business-loan/read-hybrid-business-loan-eligibility) shows these in the eligible and pending-with-one-eligible-lender examples. No offer ID or handoff URL is created by this preliminary assessment. Continue with Create A Journey, display the resulting actual offers and terms, and request handoff only after offer selection.