Impact of an index move
How much the monthly instalment changes if the index moves — and, more usefully, how much it actually changed between two real moments.
Two modes. variatie=1 asks „what if the index rises by a point". de_la + pana_la read from the series how much it actually moved — the mode the data makes possible: someone who took out a loan in January 2022 can find out exactly what the rise cost them, not an estimate.
parcurs gives the minimum and maximum over the interval, not just the endpoints. „From 3% to 5%" hides the fact that the index passed through 8%, and anyone paying in those months felt it: 3M ROBOR had a 6.72-point range in 2021–2023. For IRCC, the extremes are taken from the rates APPLICABLE to the quarters, not from the informative daily series.
The comparison holds everything constant except the rate. It does not recompute the schedule — two schedules are obtained by calling /calcul/rata-credit twice.
What is required is the outstanding balance and the remaining months, the figures from the bank statement, not the original principal.
Query parameters
ircc, robor1m, robor3m, robor6m or robor12m.
irccrobor1mrobor3mrobor6mrobor12m
de_la/pana_la.
e.g. 1
pana_la as well.
e.g. 2024-06-15e.g. 2024-01-02
How it behaves
- How much a loan instalment changes if the index moves — and, more usefully, how much it actually changed between two real points in time.
- Two modes.
variatie=1asks "what if the index rises by one point" — the classic stress scenario.de_la+pana_laread from the series how much it actually moved. The second is the mode the data makes possible: someone who took a loan in January 2022 can find out exactly what the rise cost them, not an estimate. parcursgives the minimum and maximum over the interval, not just the endpoints — and that changes the conclusion. Between January 2022 and January 2023, ROBOR 3M went from 3.05% to 7.40%, but touched 8.21% on 26 October 2022: higher than the endpoint. Anyone paying in those months was on a rate that "from 3 to 7.4" hides.- For IRCC the extremes are taken from the rates applicable to the quarters in the interval, not from the informational daily series — a loan is indexed on the quarterly average, not on a day value.
- The difference between indices shows here too: between 10 January 2022 and 10 January 2023, on the same RON 200,000 balance with 240 months remaining, ROBOR 3M + 2 raised the instalment by RON 532, and IRCC + 2 by RON 511.
diferenta.total_luni_ramaseis the figure that matters: the cumulative difference over everything left to pay, not just one month. In the example above, RON 526 per month means RON 126,187 over the remaining 20 years.- The comparison holds everything constant except the rate. It does not recompute the schedule: two schedules are obtained by calling
/calcul/rata-credittwice. This route answers "how much does it change", not "what do I pay month by month". - It takes the remaining balance and remaining months — the figures on a bank statement — not the original principal: the question is asked mid-loan. Anyone needing the balance gets it from
/calcul/rata-credit. - The two modes are mutually exclusive: with both, it would be unclear which wins; with neither, there is nothing to compare.
What it is for
- Exactly what the 2022 rate rise cost.
- Stress test: what happens if the index rises one more point.
- Comparing ROBOR exposure against IRCC, on the same balance.
Response structure
null in hypothetical mode — a hypothesis has no path.
data is null and this says why. No index values at the requested dates (IRCC applies from Q2 2019, ROBOR from August 1995).
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"sold": "100000.00",
"luni_ramase": 12,
"index": "ircc",
"marja": "2.00",
"initial": {
"index": "5.90",
"rata": "7.90",
"rata_lunara": "8694.22",
"la_data": "2024-06-15",
"sursa": {
"trimestru": "2024-T2",
"calculat_din": "2023-T4"
}
},
"final": {
"index": "5.90",
"rata": "7.90",
"rata_lunara": "8694.22",
"la_data": "2024-06-30",
"sursa": {
"trimestru": "2024-T2",
"calculat_din": "2023-T4"
}
},
"diferenta": {
"puncte_index": "0.00",
"pe_luna": "0.00",
"total_luni_ramase": "0.00"
},
"parcurs": {
"minim": "5.90",
"maxim": "5.90",
"la_minim": "2024-T2",
"la_maxim": "2024-T2",
"nota": "Extremele sunt dintre ratele APLICABILE trimestrelor din interval, nu din seria zilnică informativă."
}
},
"meta": {
"sursa": "BNR — serii zilnice ROBOR / IRCC din baza de date interactivă.",
"nota_comparatie": "Comparaţia ţine constante soldul şi lunile rămase; se schimbă doar rata. Nu e un grafic recalculat.",
"nota_parcurs": "Capetele nu spun parcursul — `parcurs` dă minimul şi maximul atinse între cele două date.",
"nota_total": "`diferenta.total_luni_ramase` e cifra care contează: diferenţa cumulată pe tot ce a mai rămas de plătit, nu doar pe o lună.",
"grafic": "Graficul complet, cu rata rezolvată lună cu lună: /financiar/v1/calcul/rata-credit"
}
}
{
"data": {
"sold": "250000.00",
"luni_ramase": 240,
"index": "robor3m",
"marja": "1.50",
"initial": {
"index": "6.22",
"rata": "7.72",
"rata_lunara": "2047.75",
"la_data": "2023-12-29",
"sursa": {
"din_ziua": "2023-12-29"
}
},
"final": {
"index": "6.01",
"rata": "7.51",
"rata_lunara": "2015.51",
"la_data": "2024-06-28",
"sursa": {
"din_ziua": "2024-06-28"
}
},
"diferenta": {
"puncte_index": "-0.21",
"pe_luna": "-32.23",
"total_luni_ramase": "-7736.35"
},
"parcurs": {
"minim": "6.01",
"maxim": "6.21",
"la_minim": "2024-06-18",
"la_maxim": "2024-01-03",
"amplitudine": "0.20"
}
},
"meta": {
"sursa": "BNR — serii zilnice ROBOR / IRCC din baza de date interactivă.",
"nota_comparatie": "Comparaţia ţine constante soldul şi lunile rămase; se schimbă doar rata. Nu e un grafic recalculat.",
"nota_parcurs": "Capetele nu spun parcursul — `parcurs` dă minimul şi maximul atinse între cele două date.",
"nota_total": "`diferenta.total_luni_ramase` e cifra care contează: diferenţa cumulată pe tot ce a mai rămas de plătit, nu doar pe o lună.",
"grafic": "Graficul complet, cu rata rezolvată lună cu lună: /financiar/v1/calcul/rata-credit"
}
}
{
"data": {
"sold": "150000.00",
"luni_ramase": 180,
"index": "robor3m",
"marja": "2.00",
"initial": {
"index": "5.84",
"rata": "7.84",
"rata_lunara": "1419.66",
"la_data": "2026-09-21",
"sursa": {
"din_ziua": "2026-09-21"
}
},
"final": {
"index": "6.84",
"rata": "8.84",
"rata_lunara": "1507.16",
"la_data": null,
"sursa": {
"fel": "ipoteza",
"variatie": "1.00"
}
},
"diferenta": {
"puncte_index": "1.00",
"pe_luna": "87.50",
"total_luni_ramase": "15749.73"
},
"parcurs": null
},
"meta": {
"sursa": "BNR — serii zilnice ROBOR / IRCC din baza de date interactivă.",
"nota_comparatie": "Comparaţia ţine constante soldul şi lunile rămase; se schimbă doar rata. Nu e un grafic recalculat.",
"nota_parcurs": "La o variaţie dată nu există parcurs: e o ipoteză, nu o mişcare petrecută.",
"nota_total": "`diferenta.total_luni_ramase` e cifra care contează: diferenţa cumulată pe tot ce a mai rămas de plătit, nu doar pe o lună.",
"grafic": "Graficul complet, cu rata rezolvată lună cu lună: /financiar/v1/calcul/rata-credit"
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | Invalid balance or months; missing or doubled mode, or an interval with only one endpoint; unknown index. |
| 429 | cota_depasita | The plan's monthly quota has been exceeded (see Retry-After). |
All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.
{
"eroare": {
"cod": "validare",
"mesaj": "Invalid balance or months; missing or doubled mode, or an interval with only one endpoint; unknown index.",
"detalii": {
"sold": [
"The value sent does not satisfy the parameter rule."
]
}
}
}