> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lms.bsa.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List loan products

> Fetch all configured loan products.

Returns every loan product configured in the deployment. Loan products
are administrative templates — partners cannot create or modify them
through this API; they are configured by the operator team.

A loan product defines the constraints and defaults that loans
submitted against it must satisfy: principal range, term, interest
rate, amortization, etc.

## Example

```bash theme={null}
curl -sf "$BASE/v1/loan-products" \
  -H "Authorization: Bearer $TOKEN"
```

## Response

```json theme={null}
{
  "items": [
    {
      "id": "1",
      "name": "Standard 12-Month",
      "shortName": "STD12",
      "description": "Standard individual loan, 12 months, monthly repayments",
      "currencyCode": "TZS",
      "principal": 5000,
      "minPrincipal": 1000,
      "maxPrincipal": 50000,
      "numberOfRepayments": 12,
      "repaymentEvery": 1,
      "repaymentFrequencyType": "Months",
      "interestRatePerPeriod": 1.5,
      "interestRateFrequencyType": "Per month",
      "amortizationType": "Equal installments",
      "interestType": "Declining Balance",
      "interestCalculationPeriodType": "Same as repayment period",
      "status": "active"
    }
  ]
}
```

<Note>
  This endpoint returns all products in a single response (no
  pagination). Loan-product catalogs are small — typically 5–50 items.
</Note>

## Fields

<ResponseField name="id" type="string" />

<ResponseField name="name" type="string" />

<ResponseField name="shortName" type="string">
  Short code suitable for display/log lines.
</ResponseField>

<ResponseField name="description" type="string" />

<ResponseField name="currencyCode" type="string">
  ISO-4217.
</ResponseField>

<ResponseField name="principal" type="number">
  Default principal — partners typically override this per loan.
</ResponseField>

<ResponseField name="minPrincipal" type="number" />

<ResponseField name="maxPrincipal" type="number" />

<ResponseField name="numberOfRepayments" type="integer" />

<ResponseField name="repaymentEvery" type="integer" />

<ResponseField name="repaymentFrequencyType" type="string" />

<ResponseField name="interestRatePerPeriod" type="number" />

<ResponseField name="interestRateFrequencyType" type="string" />

<ResponseField name="amortizationType" type="string" />

<ResponseField name="interestType" type="string" />

<ResponseField name="interestCalculationPeriodType" type="string" />

<ResponseField name="status" type="string" />
