Monetary balance sheet
The net balance sheet of the NBR, the banks and the money market funds taken together — 30 positions, monthly since January 2007. In June 2026: assets = liabilities = 1,262,862 million lei, of which foreign assets 506,309 and domestic 756,553 (non-government credit 473,683), and on the liabilities side, domestic 1,155,526, of which M3 803,868.
Six identities close exactly, across the whole series, with a 0.0000% deviation: ASSETS = LIABILITIES, each side as the sum of foreign and domestic, domestic assets and domestic liabilities from their components, plus domestic credit split into government and non-government.
Three do not always close, and the cause is measurable. Five series have partial coverage — CONL_PERN has 53 values, CONL_PEAU 62, CONL_AEAU 95 — and the sum of the published components does not cover the total in the months where they are missing. On foreign deposits, the maximum deviation reaches 4.43% in May 2025, which is no longer rounding. se_inchide_intotdeauna: false flags them — a verdict computed over the whole series, with its count in pe_toata_seria —, and luni_publicate shows on each series where the gap is.
identitati is recomputed on the requested window, not declared from memory: a verdict written into the code stays true only until the source changes what it publishes.
A witness across classes: M3 from the balance sheet coincides with M3 in /masa-monetara in every month but one — July 2010, with 0.72% — and non-government credit comes out identical in both. These are two independent series confirming each other, a check you cannot otherwise make.
The values are in thousand lei, as the source publishes them.
Query parameters
consolidat — the level the route served before it had levels. Or banca_centrala, or alte_ifm.
consolidatbanca_centralaalte_ifm
YYYY-MM. Without it, the last published month.
e.g. 2024-06-15
YYYY-MM. At most 120 months per request.
e.g. 2024-06-15
How it behaves
- The monetary balance sheets of monetary financial institutions, monthly since January 2007, in thousands of lei. Three perimeters, with the same names and the same shape: the central bank alone, the other monetary financial institutions aggregated, and the consolidated net balance sheet of all of them.
- The hierarchy is derived from the names, not from the code. Verified on the consolidated level: the code prefix gives six wrong parents, all from coincidences of strings —
CONL_AEAUR("gold") would fall underCONL_AEAU("fund shares"), andCONL_PEDST("SDR allocations") underCONL_PED("deposits"). - The rule has two halves. The names carry the path, separated by semicolons — "Active interne; credite interne; neguvernamental" — so the parent is the series whose name is the path without its last segment. What the names do not say is the link between "Active externe" and "Total ACTIV"; that is made from the word the name begins with. Without the second half, half the series would have no parent.
identitatiis recomputed over the requested window, not declared from memory. Each position against its children, plus the equality of the two sides.se_inchide_intotdeaunais computed over the WHOLE series, not just the window — at the consolidated level external assets close in about half the months, external liabilities and external deposits in most of them —, andpe_toata_seriagives the count the verdict comes from.- The central bank level is the cleanest: all eight identities close in every month, in both halves of the series. At the consolidated level, external assets and liabilities depend on components with partial coverage, and for external deposits the maximum deviation reaches 4.43% in May 2025 — no longer rounding, but the sum of components not published in every month.
- At the other MFIs there is a source error, in five months. Between January and May 2010, "Pasive interne" is published at about 52 billion, although its own components sum to about 265, and in June 2010 the figure returns to 272. The liability total and the asset side do close in those months, so it is the intermediate series itself that is wrong. The deviation rises to 425% in March 2010 and is reported as such.
- Several series have partial coverage: at the consolidated level,
CONL_PERNhas 53 values,CONL_PEAU62,CONL_AEAU95.luni_publicateshows where the gap is on each; absence does not mean zero. - Figures are in thousands of lei, as the source publishes them — with no silent conversion to millions.
- M3 from the consolidated balance sheet matches M3 from
/masa-monetarain every month but one (July 2010, 0.72%), and non-government credit comes out identical in both.
What it is for
- The NBR's balance sheet separate from the commercial banks', month by month.
- The banking system's external assets against its domestic ones.
- M3 and its counterparts, read from the balance sheet.
Response structure
eticheta spells it out.
parinte derived from the names.
null at the root.
null at the root.
data is null and this says why. No values in the database for the requested level. The interval falls entirely outside the coverage (January 2007 → present). It overlaps but holds no values.
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"nivel": "consolidat",
"eticheta": "bilanţul consolidat net al instituţiilor financiare monetare",
"de_la": "2026-07",
"pana_la": "2026-07",
"unitate": "mii lei",
"perioade": [
"2026-07"
],
"activ": [
{
"cod": "CONL_A",
"eticheta": "Total ACTIV",
"denumire": "Total ACTIV",
"parinte": null,
"unitate": "mii lei",
"valori": {
"2026-07": "1267417713.30"
},
"luni_publicate": 1
}
],
"pasiv": [
{
"cod": "CONL_P",
"eticheta": "Total PASIV",
"denumire": "Total PASIV",
"parinte": null,
"unitate": "mii lei",
"valori": {
"2026-07": "1267417713.50"
},
"luni_publicate": 1
}
],
"identitati": [
{
"identitate": "activ_egal_pasiv",
"stanga": "CONL_A",
"dreapta": [
"CONL_P"
],
"luni_verificate": 1,
"luni_inchise": 1,
"abatere_maxima_procent": "0.0000",
"se_inchide_intotdeauna": true,
"pe_toata_seria": {
"luni_verificate": 235,
"luni_inchise": 235,
"abatere_maxima_procent": "0.0000"
}
}
]
},
"meta": {
"sursa": "BNR — bilanţul consolidat net al instituţiilor financiare monetare (clasa 569).",
"acoperire": {
"de_la": "2007-01",
"pana_la": "2026-07"
},
"luni": 1,
"serii": 30,
"serii_cu_acoperire_partiala": 3,
"nota_niveluri": "Cele trei niveluri au aceleaşi denumiri şi aceeaşi formă, dar alt perimetru: banca centrală singură, celelalte instituţii financiare monetare agregate, sau toate consolidat.",
"nota_structura": "Ierarhia se derivă din denumiri, nu din cod: prefixul codului ar da şase părinţi greşiţi la nivelul consolidat, toţi din coincidenţe de şiruri (`CONL_AEAUR` sub `CONL_AEAU`). Regula derivată reproduce exact structura scrisă anterior de mână, pe toate cele 30 de serii.",
"nota_identitati": "`identitati` e refăcută pe fereastra cerută, nu declarată din memorie: fiecare poziţie faţă de copiii ei, plus egalitatea celor două laturi. `se_inchide_intotdeauna` e socotit pe TOATĂ seria, nu pe fereastră, iar `pe_toata_seria` dă numărătoarea din care vine — distinge identităţile care ţin mereu de cele care depind de componente publicate doar în anumite perioade.",
"nota_partiale": "Mai multe serii au acoperire parţială — la nivelul consolidat, `CONL_PERN` are 53 de valori, `CONL_PEAU` 62, `CONL_AEAU` 95, din 2007-01 → 2026-07. `luni_publicate` arată pe fiecare unde e golul; absenţa nu înseamnă zero.",
"nota_abatere": "La nivelul consolidat, abaterea maximă la depozitele externe ajunge la 4,43% (mai 2025) — nu mai e rotunjire, ci suma unor componente care nu se publică în toate lunile. La `alte_ifm`, pasivele interne sunt greşite la sursă în cinci luni (ianuarie–mai 2010): cifra publicată e cu circa 212 miliarde sub suma propriilor componente, deşi totalul şi cealaltă latură se închid.",
"nota_martor": "M3 din bilanţ coincide cu M3 din /financiar/v1/masa-monetara în toate lunile cu o singură excepţie — iulie 2010, 0,72% —, iar creditul neguvernamental iese identic în amândouă.",
"nota_unitate": "Valorile sunt în mii lei, cum le publică sursa — fără conversie tăcută în milioane.",
"masa_monetara": "/financiar/v1/masa-monetara"
}
}
{
"data": {
"nivel": "consolidat",
"eticheta": "bilanţul consolidat net al instituţiilor financiare monetare",
"de_la": "2024-06",
"pana_la": "2026-07",
"unitate": "mii lei",
"perioade": [
"2024-06",
"2024-07",
"2024-08",
"2024-09",
"2024-10",
"2024-11",
"2024-12",
"2025-01",
"2025-02",
"2025-03",
"2025-04",
"2025-05",
"2025-06",
"2025-07",
"2025-08",
"2025-09",
"2025-10",
"2025-11",
"2025-12",
"2026-01",
"2026-02",
"2026-03",
"2026-04",
"2026-05",
"2026-06",
"2026-07"
],
"activ": [
{
"cod": "CONL_A",
"eticheta": "Total ACTIV",
"denumire": "Total ACTIV",
"parinte": null,
"unitate": "mii lei",
"valori": {
"2024-06": "1065380153.30",
"2024-07": "1061129590.80",
"2024-08": "1070282542.50",
"2024-09": "1094758236.60",
"2024-10": "1095980686.50",
"2024-11": "1099947619.10",
"2024-12": "1123834276.70",
"2025-01": "1113028079.60",
"2025-02": "1125915808.00",
"2025-03": "1130931870.20",
"2025-04": "1132604827.50",
"2025-05": "1144380379.80",
"2025-06": "1148814179.10",
"2025-07": "1182002963.40",
"2025-08": "1186447488.40",
"2025-09": "1187343448.70",
"2025-10": "1206547538.10",
"2025-11": "1214560155.60",
"2025-12": "1226619670.50",
"2026-01": "1230849477.20",
"2026-02": "1231990531.90",
"2026-03": "1253181653.60",
"2026-04": "1255319783.20",
"2026-05": "1264716399.00",
"2026-06": "1262862301.20",
"2026-07": "1267417713.30"
},
"luni_publicate": 26
}
],
"pasiv": [
{
"cod": "CONL_P",
"eticheta": "Total PASIV",
"denumire": "Total PASIV",
"parinte": null,
"unitate": "mii lei",
"valori": {
"2024-06": "1065380153.10",
"2024-07": "1061129588.40",
"2024-08": "1070282540.80",
"2024-09": "1094758238.10",
"2024-10": "1095980685.50",
"2024-11": "1099947615.60",
"2024-12": "1123834276.60",
"2025-01": "1113028079.90",
"2025-02": "1125915809.20",
"2025-03": "1130931869.80",
"2025-04": "1132604827.10",
"2025-05": "1144380380.00",
"2025-06": "1148814177.80",
"2025-07": "1182002963.40",
"2025-08": "1186447489.50",
"2025-09": "1187343446.10",
"2025-10": "1206547538.20",
"2025-11": "1214560156.00",
"2025-12": "1226619672.00",
"2026-01": "1230849477.00",
"2026-02": "1231990533.10",
"2026-03": "1253181655.20",
"2026-04": "1255319783.70",
"2026-05": "1264716400.20",
"2026-06": "1262862300.30",
"2026-07": "1267417713.50"
},
"luni_publicate": 26
}
],
"identitati": [
{
"identitate": "activ_egal_pasiv",
"stanga": "CONL_A",
"dreapta": [
"CONL_P"
],
"luni_verificate": 26,
"luni_inchise": 26,
"abatere_maxima_procent": "0.0000",
"se_inchide_intotdeauna": true,
"pe_toata_seria": {
"luni_verificate": 235,
"luni_inchise": 235,
"abatere_maxima_procent": "0.0000"
}
}
]
},
"meta": {
"sursa": "BNR — bilanţul consolidat net al instituţiilor financiare monetare (clasa 569).",
"acoperire": {
"de_la": "2007-01",
"pana_la": "2026-07"
},
"luni": 26,
"serii": 30,
"serii_cu_acoperire_partiala": 4,
"nota_niveluri": "Cele trei niveluri au aceleaşi denumiri şi aceeaşi formă, dar alt perimetru: banca centrală singură, celelalte instituţii financiare monetare agregate, sau toate consolidat.",
"nota_structura": "Ierarhia se derivă din denumiri, nu din cod: prefixul codului ar da şase părinţi greşiţi la nivelul consolidat, toţi din coincidenţe de şiruri (`CONL_AEAUR` sub `CONL_AEAU`). Regula derivată reproduce exact structura scrisă anterior de mână, pe toate cele 30 de serii.",
"nota_identitati": "`identitati` e refăcută pe fereastra cerută, nu declarată din memorie: fiecare poziţie faţă de copiii ei, plus egalitatea celor două laturi. `se_inchide_intotdeauna` e socotit pe TOATĂ seria, nu pe fereastră, iar `pe_toata_seria` dă numărătoarea din care vine — distinge identităţile care ţin mereu de cele care depind de componente publicate doar în anumite perioade.",
"nota_partiale": "Mai multe serii au acoperire parţială — la nivelul consolidat, `CONL_PERN` are 53 de valori, `CONL_PEAU` 62, `CONL_AEAU` 95, din 2007-01 → 2026-07. `luni_publicate` arată pe fiecare unde e golul; absenţa nu înseamnă zero.",
"nota_abatere": "La nivelul consolidat, abaterea maximă la depozitele externe ajunge la 4,43% (mai 2025) — nu mai e rotunjire, ci suma unor componente care nu se publică în toate lunile. La `alte_ifm`, pasivele interne sunt greşite la sursă în cinci luni (ianuarie–mai 2010): cifra publicată e cu circa 212 miliarde sub suma propriilor componente, deşi totalul şi cealaltă latură se închid.",
"nota_martor": "M3 din bilanţ coincide cu M3 din /financiar/v1/masa-monetara în toate lunile cu o singură excepţie — iulie 2010, 0,72% —, iar creditul neguvernamental iese identic în amândouă.",
"nota_unitate": "Valorile sunt în mii lei, cum le publică sursa — fără conversie tăcută în milioane.",
"masa_monetara": "/financiar/v1/masa-monetara"
}
}
{
"data": {
"nivel": "consolidat",
"eticheta": "bilanţul consolidat net al instituţiilor financiare monetare",
"de_la": "2024-06",
"pana_la": "2024-06",
"unitate": "mii lei",
"perioade": [
"2024-06"
],
"activ": [
{
"cod": "CONL_A",
"eticheta": "Total ACTIV",
"denumire": "Total ACTIV",
"parinte": null,
"unitate": "mii lei",
"valori": {
"2024-06": "1065380153.30"
},
"luni_publicate": 1
}
],
"pasiv": [
{
"cod": "CONL_P",
"eticheta": "Total PASIV",
"denumire": "Total PASIV",
"parinte": null,
"unitate": "mii lei",
"valori": {
"2024-06": "1065380153.10"
},
"luni_publicate": 1
}
],
"identitati": [
{
"identitate": "activ_egal_pasiv",
"stanga": "CONL_A",
"dreapta": [
"CONL_P"
],
"luni_verificate": 1,
"luni_inchise": 1,
"abatere_maxima_procent": "0.0000",
"se_inchide_intotdeauna": true,
"pe_toata_seria": {
"luni_verificate": 235,
"luni_inchise": 235,
"abatere_maxima_procent": "0.0000"
}
}
]
},
"meta": {
"sursa": "BNR — bilanţul consolidat net al instituţiilor financiare monetare (clasa 569).",
"acoperire": {
"de_la": "2007-01",
"pana_la": "2026-07"
},
"luni": 1,
"serii": 30,
"serii_cu_acoperire_partiala": 3,
"nota_niveluri": "Cele trei niveluri au aceleaşi denumiri şi aceeaşi formă, dar alt perimetru: banca centrală singură, celelalte instituţii financiare monetare agregate, sau toate consolidat.",
"nota_structura": "Ierarhia se derivă din denumiri, nu din cod: prefixul codului ar da şase părinţi greşiţi la nivelul consolidat, toţi din coincidenţe de şiruri (`CONL_AEAUR` sub `CONL_AEAU`). Regula derivată reproduce exact structura scrisă anterior de mână, pe toate cele 30 de serii.",
"nota_identitati": "`identitati` e refăcută pe fereastra cerută, nu declarată din memorie: fiecare poziţie faţă de copiii ei, plus egalitatea celor două laturi. `se_inchide_intotdeauna` e socotit pe TOATĂ seria, nu pe fereastră, iar `pe_toata_seria` dă numărătoarea din care vine — distinge identităţile care ţin mereu de cele care depind de componente publicate doar în anumite perioade.",
"nota_partiale": "Mai multe serii au acoperire parţială — la nivelul consolidat, `CONL_PERN` are 53 de valori, `CONL_PEAU` 62, `CONL_AEAU` 95, din 2007-01 → 2026-07. `luni_publicate` arată pe fiecare unde e golul; absenţa nu înseamnă zero.",
"nota_abatere": "La nivelul consolidat, abaterea maximă la depozitele externe ajunge la 4,43% (mai 2025) — nu mai e rotunjire, ci suma unor componente care nu se publică în toate lunile. La `alte_ifm`, pasivele interne sunt greşite la sursă în cinci luni (ianuarie–mai 2010): cifra publicată e cu circa 212 miliarde sub suma propriilor componente, deşi totalul şi cealaltă latură se închid.",
"nota_martor": "M3 din bilanţ coincide cu M3 din /financiar/v1/masa-monetara în toate lunile cu o singură excepţie — iulie 2010, 0,72% —, iar creditul neguvernamental iese identic în amândouă.",
"nota_unitate": "Valorile sunt în mii lei, cum le publică sursa — fără conversie tăcută în milioane.",
"masa_monetara": "/financiar/v1/masa-monetara"
}
}
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 | interval_prea_lung beyond 120 months, or a level outside the list. nivel_necunoscut — the response carries the list. |
| 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": "interval_prea_lung beyond 120 months, or a level outside the list. nivel_necunoscut — the response carries the list.",
"detalii": {
"nivel": [
"The value sent does not satisfy the parameter rule."
]
}
}
}