# Retrieve Loan Product Details Template (V2)

`GET /lokta-lms/api/v2/loanproducts/template`

This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:

Field Defaults
Allowed description Lists
Example Request:

v2/loanproducts/template

## Parameters
- `isProductMixTemplate` (query, boolean): isProductMixTemplate

## Responses
- `200`: OK

## Response fields
- `accountingMappingOptions` (GetLoanProductsAccountingMappingOptions)
- `accountingRule` (GetLoanProductsAccountingRule)
- `accountingRuleOptions` (array of GetLoanProductsAccountingRule)
- `advancedPaymentAllocationFutureInstallmentAllocationRules` (array of EnumOptionData)
- `advancedPaymentAllocationTransactionTypes` (array of EnumOptionData)
- `advancedPaymentAllocationTypes` (array of EnumOptionData)
- `amortizationType` (GetLoanProductsAmortizationType)
- `amortizationTypeOptions` (array of GetLoanProductsAmortizationType)
- `buyDownFeeCalculationType` (StringEnumOptionData)
- `buyDownFeeCalculationTypeOptions` (array of StringEnumOptionData)
- `buyDownFeeIncomeType` (StringEnumOptionData)
- `buyDownFeeIncomeTypeOptions` (array of StringEnumOptionData)
- `buyDownFeeStrategy` (StringEnumOptionData)
- `buyDownFeeStrategyOptions` (array of StringEnumOptionData)
- `buydownFeeClassificationOptions` (array of GetCodeValuesDataResponse)
- `capitalizedIncomeCalculationType` (StringEnumOptionData)
- `capitalizedIncomeCalculationTypeOptions` (array of StringEnumOptionData)
- `capitalizedIncomeClassificationOptions` (array of GetCodeValuesDataResponse)
- `capitalizedIncomeStrategy` (StringEnumOptionData)
- `capitalizedIncomeStrategyOptions` (array of StringEnumOptionData)
- `capitalizedIncomeType` (StringEnumOptionData)
- `capitalizedIncomeTypeOptions` (array of StringEnumOptionData)
- `chargeOffBehaviour` (StringEnumOptionData)
- `chargeOffBehaviourOptions` (array of StringEnumOptionData)
- `chargeOffReasonOptions` (array of GetLoanProductsChargeOffReasonOptions)
- `chargeOptions` (array of GetLoanProductsChargeOptions)
- `creditAllocationAllocationTypes` (array of EnumOptionData)
- `creditAllocationTransactionTypes` (array of EnumOptionData)
- `currency` (GetLoanProductsTemplateCurrency)
- `currencyOptions` (array of GetLoanProductsCurrencyOptions)
- `daysInMonthType` (GetLoanProductsDaysInMonthType)
- `daysInMonthTypeOptions` (array of StringEnumOptionData)
- `daysInYearCustomStrategy` (StringEnumOptionData)
- `daysInYearType` (GetLoanProductsDaysInYearType)
- `daysInYearTypeCustomStrategyOptions` (array of StringEnumOptionData)
- `daysInYearTypeOptions` (array of GetLoanProductsInterestTemplateType)
- `enableBuyDownFee` (boolean)
- `enableIncomeCapitalization` (boolean)
- `includeInBorrowerCycle` (boolean)
- `interestCalculationPeriodType` (GetLoansProductsInterestCalculationPeriodType)
- `interestCalculationPeriodTypeOptions` (array of GetLoansProductsInterestCalculationPeriodType)
- `interestRateFrequencyType` (GetLoanProductsInterestRateTemplateFrequencyType)
- `interestRateFrequencyTypeOptions` (array of GetLoanProductsInterestRateTemplateFrequencyType)
- `interestRateVariationsForBorrowerCycle` (array)
- `interestRecalculationCompoundingTypeOptions` (array of GetLoanProductsInterestRecalculationCompoundingType)
- `interestRecalculationData` (GetLoanProductsInterestRecalculationTemplateData)
- `interestRecalculationFrequencyTypeOptions` (array of GetLoanProductsInterestRecalculationCompoundingFrequencyType)
- `interestType` (GetLoanProductsInterestTemplateType)
- `interestTypeOptions` (array of GetLoanProductsInterestTemplateType)
- `isInterestRecalculationEnabled` (boolean)
- `loanScheduleProcessingTypeOptions` (array of EnumOptionData)
- `loanScheduleTypeOptions` (array of EnumOptionData)
- `merchantBuyDownFee` (boolean)
- `numberOfRepaymentVariationsForBorrowerCycle` (array)
- `paymentTypeOptions` (array of GetLoanProductsPaymentTypeOptions)
- `preClosureInterestCalculationStrategyOptions` (array of GetLoanProductsPreClosureInterestCalculationStrategy)
- `principalVariationsForBorrowerCycle` (array)
- `repaymentFrequencyType` (GetLoanProductsRepaymentTemplateFrequencyType)
- `repaymentFrequencyTypeOptions` (array of GetLoanProductsRepaymentTemplateFrequencyType)
- `repaymentStartDateTypeOptions` (array of GetLoanProductsRepaymentStartDateType)
- `rescheduleStrategyTypeOptions` (array of GetLoanProductsRescheduleStrategyType)
- `supportedInterestRefundTypes` (array of StringEnumOptionData)
- `supportedInterestRefundTypesOptions` (array of StringEnumOptionData)
- `transactionProcessingStrategyOptions` (array of GetLoanProductsTransactionProcessingStrategyOptions)
- `useBorrowerCycle` (boolean)
- `valueConditionTypeOptions` (array of GetLoanProductsValueConditionTypeOptions)
- `writeOffReasonOptions` (array of GetLoanProductsWriteOffReasonOptions)
- `beneficiaryTypeOptions` (array of LoanProductV2CodeOption)
- `bpiMethodOptions` (array of LoanProductV2EnumOption): Allowed bpiMethod choices: stable code (the only value the write API accepts) + display name + one-line description.
- `brokenPeriodDayCountOptions` (array of LoanProductV2EnumOption): Allowed brokenPeriodDayCount choices — identical to dayCountConventionOptions (parity by design).
- `dayCountConventionOptions` (array of LoanProductV2EnumOption): Allowed dayCountConvention choices: stable code (the only value the write API accepts) + display name + one-line description.
- `pmtTypeOptions` (array of LoanProductV2EnumOption): Allowed pmtType choices.
- `productCategoryTagOptions` (array of LoanProductV2CodeOption)
- `productTypeOptions` (array of LoanProductV2CodeOption)
- `roundingModeOptions` (array): The rounding-mode validation whitelist — java.math.RoundingMode names the backend accepts. No profile ids, codes or names exist externally.
- `scheduleSolverOptions` (array of LoanProductV2EnumOption): Allowed scheduleSolver choices — exactly five, stable code (the only value the write API accepts) + display name + one-line description. All five are storable declarative configuration with no backend derivation; which values a client presents as engine-native is managed outside the backend. The backend never derives Loan terms from scheduleSolver.

## Example request (cURL)
```bash
curl -X GET \
  'http://localhost:8080/lokta-lms/api/v2/loanproducts/template' \
  -u '{username}:{password}' \
  -H 'Tenant-Identifier: default'
```

## Example response
```json
{}
```

Interactive: https://developer.lokta.ai/reference.html#operation/retrieveTemplateLoanProductV2
