Loan products
Create a loan product
Field description
1
name
Product display name
string
2
type
Product type (FIXED_TERM_LOAN or INTEREST_FREE_TERM_LOAN)
enum
3
description
Product description
string
4
userType
Type of user (CLIENTS, COMPANIES)
enum
5
minAmount
Minimum product loan amount (in major)
decimal
6
maxAmount
maxium product loan amount (in major)
decimal
7
interest
Interest configuration (sub-fields below)
object
8
scheduling
Repayment scheduling (sub-fields below)
object
9
collection
Collection and prepayment rules
object
10
penalty
Penalty configuration
object
11
fees
Fees definitions
array(object)
Interest
1
daysInAYear
Day-count convention for interest calculations. 365 = actual/365 fixed; 360 = 30/360.
enum
2
interestType
Simple = interest on principal only; compound = interest on principal + accrued interest.
enum
3
interestCharged
The time period the interest rate applies to. (%_PER_WEEK, %_PER_MONTH, %_PER_YEAR)
enum
4
interestPosting
How interest is calculated. FLAT = fixed amount on original principal; DECLINING_BALANCE = interest on remaining balance.
enum
5
maxInterestRate
Highest interest rate allowed. Must be ≥ defaultInterestRate.
enum
6
minInterestRate
Lowest interest rate allowed when creating/editing a loan. Must be ≤ defaultInterestRate.
decimal
7
repaymentInterest
Basis for interest per repayment by repayment period or by number of days. (REPAYMENT_PERIOD, NUMBER_OF_DAYS)
enum
8
defaultInterestRate
Default interest rate applied to loans under this product.
decimal
9
interestCalculation
How interest is calculated. FLAT = fixed amount on original principal; DECLINING_BALANCE = interest on remaining balance.
enuum
Scheduling
1
paymentMade
Numeric value for the payment frequency (e.g. every 2 weeks).
object (value, peroid)
2
paymentMethod
Repayment structure. Standard = equal installments; balloon = smaller payments with a large final payment.(STANDARD_PAYMENT, BALLON_PAYMENT)
enum
3
maxInstallments
Maximum installments allowed. Must be ≥ defaultInstallments.
integer
4
minInstallments
Minimum installments allowed. Must be ≤ defaultInstallments.
integer
5
paymentInterval
When repayments fall due — on a fixed interval or at end of month. (INTERVAL, END_OF_MONTH)
enum
6
maxDueDateOffset
Maximum days after disbursement before the first repayment is due. Must be ≥ defaultDueDateOffset.
integer
7
minDueDateOffset
Minimum days after disbursement before the first repayment is due. Must be ≤ defaultDueDateOffset.
integer
8
defaultInstallments
Default number of repayment installments for a loan.
integer
9
currencyRoundingSchedule
How currency amounts are rounded in the repayment schedule (NO_ROUNDING, TO_NEAREST_WHOLE_UNIT, UP_TO_NEAREST_WHOLE_UNIT)
enum
10
principalRoundingSchedule
How leftover principal from rounding is handled across installments (NO_ROUNDING, PRINCIPAL_REMAINDER_TO_LAST_REPAYMENT, PRINCIPAL_REMAINDER_WITH_INTEREST_TO_LAST_REPAYMENT)
enum
11
maxGracePeriod
Maximum grace period (days). Must be ≥ defaultGracePeriod.
integer
12
minGracePeriod
Minimum grace period (days) before repayments start. Must be ≤ defaultGracePeriod.
integer
13
enableGracePeriod
Whether a grace period before repayments is allowed.
boolean
14
defaultGracePeriod
Default grace period in days. Required in practice when grace period is enabled.
integer
Collection
1
acceptPrepayment
Whether borrowers can pay before the due date. If false, repayments before the next scheduled due date are rejected.
boolean
2
paymentAllocation
How payments are applied across installments. HORIZONTAL = pay each installment fully before moving to the next. VERTICAL = pay one component (e.g. all principal) across installments before moving to the next component. (HORIZONTAL, VERTICAL)
enum
3
prepaymentAllocationOrder
Priority order for applying payment across components. Lower number = paid first.
object { fee, penalty, interest, principal }
Fees
1
value
The fee amount. For FLAT = fixed amount; for PERCENTAGE_0F_DISBURSE_AMOUNT and percentage-based calculations = percentage value (e.g. 2.5 = 2.5%).
decimal
2
feeName
Label for the fee (e.g. "Processing Fee", "Admin Fee").
string
3
feeType
When the fee is charged. (ON_DISBURSEMENT, ON_PRE_LIQUIDATION, ONE_OFF_ON_FIRST_REPAYMENT, ON_EVERY_REPAYMENT)
enum
4
feePayment
Used specifically for ON_PRE_LIQUIDATION fees calculated on principal balance. (FLAT, PERCENTAGE_0F_DISBURSE_AMOUNT, PRINCIPAL, INTEREST, PRINCIPAL_AND_INTEREST)
enum
Penalty
1
enablePenalty
Whether late-payment penalties are applied to overdue loans.
boolean
2
penaltyTolerancePeriod
Grace period in days after the due date before penalties start accruing.
integer
3
defaultPenaltyRate
Default penalty rate (percentage) applied to overdue amounts.
decimal
4
minPenaltyRate
Minimum allowed penalty rate. Must be ≤ defaultPenaltyRate.
decimal
5
maxPenaltyRate
Maximum allowed penalty rate. Must be ≥ defaultPenaltyRate.
decimal
Security
The API security is a bearer token using your organisation's API Key obtained here
API Url
Sample request
Update loan product
Send only fields to update (same shape as create, all optional).
List products
Query params
search
Search term
productType
Filter by type
page
Page number
limit
Items per page
organizationName
Filter by org name
startDate
Filter start date
endDate
Filter end date
Get single product details
Last updated