This utility generates an amortization schedule for an installment loan or line of credit draw.
The atOrigination
field is where you specify various loan or draw-specific inputs such as the
start date, amount to be financed, and duration.
You can specify generic loan type configurations as part of the request body (or omit these
fields and use the default configurations). Alternatively, you can use predefined loan type
configurations by passing in a loanTypeId
. For a line of credit draw, you can also pass in
a loanId
in place of a loanTypeId
. When a loanId
is provided, the amortization calculation
will reference the configurations of the loan type associated with the loanId
, and will also
use the line of credit start date and rates associated with the loanId
if these fields are
not passed in.
When generating an amortization schedule from a predefined loan type, you can pass in either a
personAddress
or personAddressId
to check the amortization output against any existing rate
caps associated with the loan type.
Success
{- "loanTypeId": "string",
- "atOrigination": {
- "startDate": "2019-08-24",
- "amountFinanced": 0,
- "interestRates": [
- {
- "interestType": "absolute",
- "days": 0,
- "rate": 0
}
], - "promoRates": [
- {
- "days": 0,
- "rate": 0
}
], - "fees": {
- "originationFeeAmount": 0,
- "dynamicFees": [
- {
- "apiName": "string",
- "feeAmount": 0,
- "feeCapAmount": 0
}
], - "serviceFeeAmount": 0,
- "serviceFeeCapAmount": 0
}, - "specificDays": [
- null
], - "bufferToPushOutSchedule": 0,
- "discountProgramIds": [
- 0
], - "totalInterestCapAmount": 0,
- "duration": 0,
- "periodicPaymentAmount": 0,
- "paymentFrequency": "weekly",
- "personAddressId": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "countyOrRegion": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "POBox": "string"
}, - "advanceSchedule": [
- {
- "externalId": "string",
- "status": "scheduled",
- "amount": 0,
- "advanceDate": "2019-08-24",
- "advanceTimeOfDay": {
- "hour": 23,
- "minute": 59,
- "second": 0
}, - "advanceDetails": {
- "description": "Advance",
- "pointOfSaleType": "online",
- "categoryId": "string",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}, - "metadata": { }
}
]
}
}
{- "status": 0,
- "message": "string",
- "data": {
- "aprEffective": 0,
- "aprNominal": 0,
- "aprEffectiveExceedsMax": true,
- "aprNominalExceedsMax": true,
- "forgoneInterestAmount": 0,
- "interestRateExceedsMax": true,
- "numberPayments": 0,
- "amountFinanced": 0,
- "totalPaymentsAmount": 0,
- "periodicPaymentAmount": 0,
- "totalInterestAmount": 0,
- "totalDiscountAmount": 0,
- "fees": {
- "originationFeeAmount": 0,
- "totalOtherFeesAmount": 0
}, - "schedule": [
- {
- "date": "2019-08-24",
- "paymentType": "periodicPayment",
- "amount": 0,
- "principalAmount": 0,
- "interestAmount": 0,
- "interestBeforeDiscountAmount": 0,
- "unroundedPrincipalAmount": "string",
- "unroundedInterestAmount": "string",
- "unroundedInterestBeforeDiscountAmount": "string",
- "dynamicFeeDetails": {
- "dynamicFeeTypeId": "string",
- "apiName": "string",
- "displayName": "string"
}
}
]
}
}