Simulate Borrower
Simulates the status of a borrower with the new items provided in the request
Path parameters
-
borrower_id
string Required The id of the borrower to simulate.
Body
-
allocations
array[object] | null The payment allocations to simulate. If not provided, no payment allocations will be simulated.
-
calculation_date
string(date-time) The date to use for the simulation. If not provided, the current date will be used.
-
payments
array[object] | null The payments to simulate. If not provided, no payments will be simulated.
-
request_id
string Optional field that will be returned unmodified in each response. Especially useful for keeping track of responses in batch requests.
-
restructurings
array[object] | null The restructurings to simulate. If not provided, no restructurings will be simulated.
-
waivers
array[object] | null The waivers to simulate. If not provided, no waivers will be simulated.
POST
/v1/borrowers/{borrower_id}/simulate
curl \
--request POST 'https://sandbox.lms.kordev.io/v1/borrowers/{borrower_id}/simulate' \
--header "Content-Type: application/json" \
--data '{"allocations":[{"payment_allocations":[{"amount":163333.34,"loan_id":"string"}],"payment_id":"string"}],"calculation_date":"2025-05-04T09:42:00Z","payments":[{"amount_paid":163333.34,"config_id":"default_payment_config","payment_date":"2020-01-01T00:00:00-05:00","payment_id":"string"}],"request_id":"string","restructurings":[{"amortization_method":null,"amount_financed":null,"config_id":"string","delinquency_interest_rate":null,"due_dates":[null],"effective_date":"2025-05-04T09:42:00Z","installment_fee":null,"interest_rate":null,"loan_id":"string","manual_pmts":{"additionalProperty1":42,"additionalProperty2":42}}],"waivers":[{"amount":163333.34,"bucket":"all","config_id":"DEFAULT_WAIVER_CONFIG","effective_date":"2020-01-01T00:00:00-05:00","loan_id":"string","percentage":0.2,"reason":"DEFAULT","type":"percentage"}]}'
Request examples
{
"allocations": [
{
"payment_allocations": [
{
"amount": 163333.34,
"loan_id": "string"
}
],
"payment_id": "string"
}
],
"calculation_date": "2025-05-04T09:42:00Z",
"payments": [
{
"amount_paid": 163333.34,
"config_id": "default_payment_config",
"payment_date": "2020-01-01T00:00:00-05:00",
"payment_id": "string"
}
],
"request_id": "string",
"restructurings": [
{
"amortization_method": null,
"amount_financed": null,
"config_id": "string",
"delinquency_interest_rate": null,
"due_dates": [
null
],
"effective_date": "2025-05-04T09:42:00Z",
"installment_fee": null,
"interest_rate": null,
"loan_id": "string",
"manual_pmts": {
"additionalProperty1": 42,
"additionalProperty2": 42
}
}
],
"waivers": [
{
"amount": 163333.34,
"bucket": "all",
"config_id": "DEFAULT_WAIVER_CONFIG",
"effective_date": "2020-01-01T00:00:00-05:00",
"loan_id": "string",
"percentage": 0.2,
"reason": "DEFAULT",
"type": "percentage"
}
]
}
Response examples (200)
{
"borrower_id": "string",
"calculation_date": "2025-05-04T09:42:00Z",
"loans": [
{
"attributes": {
"amount_financed": 300000,
"chargeoff_date": "null",
"config_id": "string",
"due_dates": [
"2024-02-02T23:59:59.999999-05:00, 2024-03-02T23:59:59.999999-05:00 2024-04-02T23:59:59.999999-05:00]"
],
"fixed_installment_amount": 102354.51,
"id": "106b07e9-3113-4068-a327-6e3b284f704d",
"installment_amount_at_origination": 100000,
"interest_rates": {
"applicable": 42.0,
"fixed": 42.0
},
"is_cancelled": false,
"kordev_id": 3617888273932,
"origination_date": "2024-01-02T23:59:59.999999-05:00",
"owner": "BANK_1",
"paid_off_date": "2024-04-02T23:59:59.999999-05:00"
},
"balance_detail": {
"at_calculation_date": {
"daily_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"delinquency_interest": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"initial_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"installment_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"installment_fee_2": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"interest": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"late_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"principal": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
}
},
"at_next_due_date": {
"daily_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"delinquency_interest": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"initial_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"installment_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"installment_fee_2": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"interest": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"late_fee": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
},
"principal": {
"charged_off": 42.0,
"current": 42.0,
"initial_balance": 42.0,
"overdue": 42.0,
"paid": 42.0,
"unpaid": 42.0,
"waived_off": 42.0
}
}
},
"summary": {
"days_past_due_at_chargeoff": 0,
"full_payment": {
"amount": 42.0,
"breakdown_by_bucket": {
"benefit": 42.0,
"daily_fee": 42.0,
"delinquency_interest": 42.0,
"initial_fee": 42.0,
"installment_fee": 42.0,
"installment_fee_2": 42.0,
"interest": 42.0,
"late_fee": 42.0,
"principal": 42.0
},
"date": "2025-05-04T09:42:00Z"
},
"immediate_payment": {
"amount": 42.0,
"breakdown_by_bucket": {
"benefit": 42.0,
"daily_fee": 42.0,
"delinquency_interest": 42.0,
"initial_fee": 42.0,
"installment_fee": 42.0,
"installment_fee_2": 42.0,
"interest": 42.0,
"late_fee": 42.0,
"principal": 42.0
},
"date": "2025-05-04T09:42:00Z"
},
"next_payment": {
"amount": 42.0,
"breakdown_by_bucket": {
"benefit": 42.0,
"daily_fee": 42.0,
"delinquency_interest": 42.0,
"initial_fee": 42.0,
"installment_fee": 42.0,
"installment_fee_2": 42.0,
"interest": 42.0,
"late_fee": 42.0,
"principal": 42.0
},
"date": "2025-05-04T09:42:00Z"
},
"number_of_covered_installments": 1,
"number_of_elapsed_due_dates": 1,
"simple_days_past_due": 0,
"total_imputed_payment": 200000.5,
"total_waived_off": 10000.31,
"weighted_days_past_due": 0
}
}
],
"payments": [
{
"amount_paid": 100.5,
"effective_date": "2022-01-02T00:00:00Z",
"is_cancelled": false,
"leftover": 0,
"loan_allocation": [
{
"daily_fee": {
"charged_off": 200,
"current": 150,
"overdue": 50,
"total": 250
},
"delinquency_interest": {
"charged_off": 200,
"overdue": 50,
"total": 250
},
"installment_fee": {
"charged_off": 200,
"current": 150,
"overdue": 50,
"total": 250,
"unpaid": 100
},
"interest": {
"charged_off": 200,
"current": 150,
"overdue": 50,
"total": 250
},
"late_fee": {
"charged_off": 200,
"overdue": 50,
"total": 250
},
"loan_id": "8adbca06-1d13-49b6-a391-d02d106047b3",
"principal": {
"charged_off": 200,
"current": 150,
"overdue": 50,
"total": 250,
"unpaid": 100
},
"total": 102100.5
}
],
"payment_id": "47bc57c4-4ef8-4978-8819-ca9516cb5a46",
"received_on": "2022-01-03T05:32:00Z"
}
],
"request_id": "string",
"summary": {
"borrower_full_payment": {
"amount": 42.0,
"breakdown_by_bucket": {
"benefit": 42.0,
"daily_fee": 42.0,
"delinquency_interest": 42.0,
"initial_fee": 42.0,
"installment_fee": 42.0,
"installment_fee_2": 42.0,
"interest": 42.0,
"late_fee": 42.0,
"principal": 42.0
},
"date": "2025-05-04T09:42:00Z"
},
"borrower_immediate_payment": {
"amount": 42.0,
"breakdown_by_bucket": {
"benefit": 42.0,
"daily_fee": 42.0,
"delinquency_interest": 42.0,
"initial_fee": 42.0,
"installment_fee": 42.0,
"installment_fee_2": 42.0,
"interest": 42.0,
"late_fee": 42.0,
"principal": 42.0
},
"date": "2025-05-04T09:42:00Z"
},
"borrower_next_payment": {
"amount": 42.0,
"breakdown_by_bucket": {
"benefit": 42.0,
"daily_fee": 42.0,
"delinquency_interest": 42.0,
"initial_fee": 42.0,
"installment_fee": 42.0,
"installment_fee_2": 42.0,
"interest": 42.0,
"late_fee": 42.0,
"principal": 42.0
},
"date": "2025-05-04T09:42:00Z"
},
"excess_reimbursement": 1000,
"positive_balance": 1000
}
}
Response examples (400)
{
"code": 42,
"context": {},
"error": "string",
"status": "string"
}
Response examples (404)
{
"code": 42,
"context": {},
"error": "string",
"status": "string"
}
Response examples (409)
{
"code": 42,
"context": {},
"error": "string",
"status": "string"
}
Response examples (500)
{
"code": 42,
"context": {},
"error": "string",
"status": "string"
}