Skip to main content
AVnesterDevelopers
← All tools

simulate_loan_prepayment

Simulate prepaying a home loan — interest saved and tenure/EMI impact for a lump-sum or recurring prepayment. Not financial advice.

Endpoint POST https://api.avnester.com/public/v1/simulate_loan_prepayment

Parameters

The most-used parameters. Full schema in the OpenAPI document.

outstandingPrincipalnumberrequired
Current outstanding principal in INR.
remainingTenureYearsnumberrequired
Years left at the current EMI.
annualRatePercentnumberoptional
Annual interest rate. Defaults to the indicative market rate.
prepaymentAmountnumberoptional
One-time lump-sum prepayment in INR.
recurringAnnualAmountnumberoptional
Recurring yearly prepayment in INR.
prepaymentModestringoptional
one_time · recurring_annual · one_time_plus_recurring.
strategystringoptional
reduce_tenure · reduce_emi · compare_both (default).

Worked example

# ₹5L one-time prepayment on a ₹52L loan, 20 years left at 8.5%
curl -X POST https://api.avnester.com/public/v1/simulate_loan_prepayment \
  -H 'Content-Type: application/json' \
  -d '{
       "outstandingPrincipal": 5200000,
       "remainingTenureYears": 20,
       "annualRatePercent": 8.5,
       "prepaymentAmount": 500000,
       "strategy": "compare_both"
     }'
Response
{
  "baseline": { "emi": 45127, "payoffMonths": 240, "totalInterest": 5630434 },
  "reduceTenure": { "emi": 45127, "finalEmi": 45127, "payoffMonths": 190, "interestSaved": 1773475, "monthsSaved": 50 },
  "reduceEmi": { "emi": 40788, "finalEmi": 40788, "payoffMonths": 240, "interestSaved": 541388, "monthsSaved": 0 },
  "attribution": "AVnester",
  "disclaimer": "..."
}

Run this example in the playground

Rate limits

OAuth (Developer)

30 / min

The same ceiling applies to every tool on a given plan, on both the MCP and REST transports; every plan’s is on Pricing. OAuth registration is free and self-serve. Calls made without signing in have their own per-IP limits — see the quickstart.

Common errors

  • 400Invalid request body

    Check required parameters and types. The error.message field will name the offending parameter.

  • 429Rate limit exceeded

    Back off until the time in the Retry-After header. Signed in with OAuth, the per-tool limit is counted per user instead of per address; a paid plan raises it.

  • 429Daily call limit reached (calls without signing in)

    Retry-After counts to 00:00 UTC, and only calls that returned an answer count. Signed in, calls count against your plan instead of your IP address.

Next steps