oneapi
Sign in
Financiar v1 / RiscCredit

Monetary survey (IMF format)

The standard IMF pair: the central bank survey (72 series, monthly since December 2014) and the depository corporations survey, consolidated (50 series, monthly since January 2011). The values are in million lei.

The top of the consolidated level is the same figure as M3 in /masa-monetara — verified month by month: all match to a thousandth of a percent, with a single exception of 0.0012% (some 9.6 million lei, a revision rather than rounding); the exact count is in identitati.masa_monetara. The two routes publish the same money supply in two formats: here the IMF presentation, there the M3 counterparts in the ECB format. The decompositions do not join up — domestic assets here differ by some 102% from net domestic assets there — which is why the equivalence is computed in the response, in identitati.masa_monetara, rather than left to the reader.

The hierarchy in parinte is for navigation, not for sums. Of the parent-child groups only some close; the rest are memo items and „of which" lines, with deviations in the thousands. That is why the identities are declared explicitly, measured one by one, and meta.grupuri_nesumative says how many were left out.

Two of the identities are differences, not sums: net foreign assets are claims on non-residents minus liabilities to them. A check that added them would miss the identity entirely. identitati.verificate[].operatie says which is which.

Three positions carry „minus:" in their name, a sign that they are subtracted from their parent; they are flagged with se_scade.

GET
https://oneapi.ro/api/financiar/v1/situatie-monetara

Query parameters

NameTypeDescriptionAccepted values
niveloptional string | null Optional, defaults to consolidat. Or banca_centrala. Together they form the standard IMF pair. banca_centralaconsolidat
de_laoptional string | null Optional, YYYY-MM. Coverage differs between levels. e.g. 2024-06-15
pana_laoptional string | null Optional, YYYY-MM. e.g. 2024-06-15e.g. 2024-06-30
nivel_maxoptional integer | null Optional, 1–4. Limits the depth of the navigation tree. 1 – 4

How it behaves

  • The standard IMF pair: the central bank survey (72 series, monthly since December 2014) and the depository corporations survey, consolidated (50 series, monthly since January 2011). Figures are in millions of lei.
  • The consolidated level's headline is the same figure as M3 in /masa-monetara. Verified across 185 months: 184 match to a thousandth of a percent, and the one that does not is off by 0.0012% — some 9.6 million lei, a revision rather than rounding. In June 2026: 803,867.72 million here, 803,867,716.4 thousand there.
  • The two routes' breakdowns do not reconcile, even though the headline is identical: this is the IMF presentation, the other is the ECB's M3 counterparts, and domestic claims here differ by about 102% from net domestic assets there. So the equivalence is computed in the response, in identitati.masa_monetara — otherwise someone would see "broad money" in two routes with incompatible structures and have no way to know it is the same figure.
  • The hierarchy in parinte is for navigation, not for sums. Measured over the whole series: of the 22 and 14 parent-child groups, only 14 and 7 close in every month. The rest are memo and "of which" items, or sums that fail in part of the months, with gaps in the thousands — a generic tree check would report errors that are not errors. So the identities are declared explicitly, one by one, and meta says how many groups were left out.
  • With the declared set, verification closes completely: 1,807 of 1,807 for the central bank and 922 of 922 for the consolidated survey.
  • Two identities are differences, not sums. Net foreign assets are claims on non-residents minus liabilities to them — 404,776.61 − 27,418.83 = 377,357.78. A check that added them would miss the identity entirely. identitati.verificate[].operatie says which is which.
  • Three positions carry "minus:" in the source name and are subtracted from their parent; they are flagged with se_scade.
  • The tolerance comes from the per-figure rounding error of 0.05, so (k+1) × 0.05 for a sum of k components.

What it is for

  • The monetary base and the NBR's net foreign position, month by month.
  • Broad money in the IMF format, internationally comparable.
  • Net claims on central government, at the central bank and consolidated.

Response structure

FieldTypeDescription
data.nivel string Level in the classification hierarchy — the deeper, the more detailed.
data.eticheta string Display label for the value — the readable version of the code next to it.
data.format string Always FMI. It is why the breakdown differs from /masa-monetara.
data.de_la string Start of the interval the response covers.
data.pana_la string End of the interval the response covers, inclusive.
data.unitate string The unit of the values. Read it before plotting or adding them up.
data.filtre array The filters actually applied, as the route understood them — useful when a value was normalised.
data.perioade array Periods for which values exist.
data.pozitii[].cod string Code from the source code list — the key you filter on.
data.pozitii[].eticheta string Display label for the value — the readable version of the code next to it.
data.pozitii[].cale array Path through the hierarchy, from the root down to the current item.
data.pozitii[].nivel integer Level in the classification hierarchy — the deeper, the more detailed.
data.pozitii[].parinte null From the code prefix (or from the name path, when no code is a prefix), for navigation. It does not imply a summing relationship.
data.pozitii[].unitate string Unit of measure of the values. Read it before plotting or summing them.
data.pozitii[].luni_publicate integer How many months the source actually published.
data.pozitii[].valori object The values of the series, by period.
data.identitati.verificate object Only the groups measured to be sums or differences. The rest are not checked and are not claimed to close.
data.identitati.verificate.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.verificate.grupuri_declarate integer
data.identitati.verificate.grupuri integer
data.identitati.verificate.grupuri_neverificate integer
data.identitati.verificate.verificari integer How many combinations were checked.
data.identitati.verificate.verificari_inchise integer How many checks closed within tolerance.
data.identitati.verificate.detalii[].pozitie string Position of the item in the response order.
data.identitati.verificate.detalii[].componente array The components that add up to the total.
data.identitati.verificate.detalii[].toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.verificate.detalii[].luni_verificate integer How many months entered the check.
data.identitati.verificate.detalii[].luni_inchise integer How many months closed within tolerance.
data.identitati.verificate.detalii[].abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.verificate.detalii[].operatie string
data.identitati.verificate.neverificate array
data.identitati.masa_monetara object Only for consolidat: broad money here against M3 in /masa-monetara, month by month.
data.identitati.masa_monetara.identitate string The identity being checked — which sum must equal which total.
data.identitati.masa_monetara.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.masa_monetara.luni_verificate integer How many months entered the check.
data.identitati.masa_monetara.luni_inchise integer How many months closed within tolerance.
data.identitati.masa_monetara.abatere_relativa_maxima_procent string
data.identitati.masa_monetara.ultimele[].luna string The month the value refers to.
data.identitati.masa_monetara.ultimele[].masa_monetara string
data.identitati.masa_monetara.ultimele[].m3_mii_lei string
data.identitati.masa_monetara.ultimele[].abatere_relativa_procent string
data.identitati.masa_monetara.ultimele[].se_inchide boolean Whether the check closed within tolerance.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.acoperire.de_la string The first period we have data for.
meta.acoperire.pana_la string The last period we have data for.
meta.luni integer Number of months covered.
meta.pozitii_totale integer How many positions match the filters, beyond the current page.
meta.pozitii_returnate integer How many positions this response actually returned.
meta.nota_identitati string How to read the identity checks in the response.
meta.nota_masa_monetara string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_navigare string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_semn string What the sign of the value means (inflow/outflow, rise/fall).
meta.nota_null string Why some values are missing: the source did not publish, did not compute, or suppressed them.
data.pozitii[].se_scade Present on positions marked "minus:" at source, which are subtracted from their parent.
data.identitati.verificate[].operatie sumă or diferenţă.
data.identitati.neverificate The declared identities the requested window could not check, each with its reason: serie_inexistenta (the source never publishes that component), nepublicata_in_fereastra (it exists, but not in this interval) or fara_perioada_completa (the components exist but never in the same period). The verified count changes with the window, and this says why.
meta.fara_date data is null and this says why. No values in the database for the requested level. The interval falls outside the coverage, which differs between levels.
meta.fara_date_cod The short, STABLE word for the reason, for clients that branch on it in code: fara_date is prose and may be rephrased, this is not.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/situatie-monetara
{
    "data": {
        "nivel": "consolidat",
        "eticheta": "situaţia monetară consolidată",
        "format": "FMI",
        "de_la": "2011-01",
        "pana_la": "2026-07",
        "unitate": "milioane RON",
        "filtre": [],
        "perioade": [
            "2011-01",
            "2011-02",
            "2011-03",
            "2011-04",
            "2011-05",
            "2011-06",
            "2011-07",
            "2011-08",
            "2011-09",
            "2011-10",
            "2011-11",
            "2011-12",
            "2012-01",
            "2012-02",
            "2012-03",
            "2012-04",
            "2012-05",
            "2012-06",
            "2012-07",
            "2012-08",
            "2012-09",
            "2012-10",
            "2012-11",
            "2012-12",
            "2013-01",
            "2013-02",
            "2013-03",
            "2013-04",
            "2013-05",
            "2013-06",
            "2013-07",
            "2013-08",
            "2013-09",
            "2013-10",
            "2013-11",
            "2013-12",
            "2014-01",
            "2014-02",
            "2014-03",
            "2014-04",
            "2014-05",
            "2014-06",
            "2014-07",
            "2014-08",
            "2014-09",
            "2014-10",
            "2014-11",
            "2014-12",
            "2015-01",
            "2015-02",
            "2015-03",
            "2015-04",
            "2015-05",
            "2015-06",
            "2015-07",
            "2015-08",
            "2015-09",
            "2015-10",
            "2015-11",
            "2015-12",
            "2016-01",
            "2016-02",
            "2016-03",
            "2016-04",
            "2016-05",
            "2016-06",
            "2016-07",
            "2016-08",
            "2016-09",
            "2016-11",
            "2016-12",
            "2017-01",
            "2017-02",
            "2017-03",
            "2017-04",
            "2017-05",
            "2017-06",
            "2017-07",
            "2017-08",
            "2017-09",
            "2017-10",
            "2017-11",
            "2017-12",
            "2018-01",
            "2018-02",
            "2018-03",
            "2018-04",
            "2018-05",
            "2018-06",
            "2018-07",
            "2018-08",
            "2018-09",
            "2018-10",
            "2018-11",
            "2018-12",
            "2019-01",
            "2019-02",
            "2019-03",
            "2019-04",
            "2019-05",
            "2019-06",
            "2019-07",
            "2019-08",
            "2019-09",
            "2019-10",
            "2019-11",
            "2019-12",
            "2020-01",
            "2020-02",
            "2020-03",
            "2020-04",
            "2020-05",
            "2020-06",
            "2020-07",
            "2020-08",
            "2020-09",
            "2020-10",
            "2020-11",
            "2020-12",
            "2021-01",
            "2021-02",
            "2021-03",
            "2021-04",
            "2021-05",
            "2021-06",
            "2021-07",
            "2021-08",
            "2021-09",
            "2021-10",
            "2021-11",
            "2021-12",
            "2022-01",
            "2022-02",
            "2022-03",
            "2022-04",
            "2022-05",
            "2022-06",
            "2022-07",
            "2022-08",
            "2022-09",
            "2022-10",
            "2022-11",
            "2022-12",
            "2023-01",
            "2023-02",
            "2023-03",
            "2023-04",
            "2023-05",
            "2023-06",
            "2023-07",
            "2023-08",
            "2023-09",
            "2023-10",
            "2023-11",
            "2023-12",
            "2024-01",
            "2024-02",
            "2024-03",
            "2024-04",
            "2024-05",
            "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"
        ],
        "pozitii": [
            {
                "cod": "DCSL_NFA",
                "eticheta": "Active externe nete",
                "cale": [
                    "Active externe nete"
                ],
                "nivel": 1,
                "parinte": null,
                "unitate": "mil.lei",
                "luni_publicate": 186,
                "valori": {
                    "2011-01": "22374.80",
                    "2011-02": "18969.95",
                    "2011-03": "17259.64",
                    "2011-04": "22073.69",
                    "2011-05": "23727.63",
                    "2011-06": "28164.35",
                    "2011-07": "26848.24",
                    "2011-08": "26697.95",
                    "2011-09": "30178.78",
                    "2011-10": "26299.34",
                    "2011-11": "27421.50",
                    "2011-12": "20925.75",
                    "2012-01": "23830.44",
                    "2012-02": "26867.91",
                    "2012-03": "28479.97",
                    "2012-04": "33118.11",
                    "2012-05": "32476.22",
                    "2012-06": "25545.73",
                    "2012-07": "32674.10",
                    "2012-08": "29426.28",
                    "2012-09": "33117.07",
                    "2012-10": "31701.06",
                    "2012-11": "35855.23",
                    "2012-12": "35291.32",
                    "2013-01": "42070.21",
                    "2013-02": "46713.31",
                    "2013-03": "48352.72",
                    "2013-04": "48337.40",
                    "2013-05": "54057.99",
                    "2013-06": "49809.88",
                    "2013-07": "57023.83",
                    "2013-08": "58379.37",
                    "2013-09": "63173.19",
                    "2013-10": "71252.67",
                    "2013-11": "63978.32",
                    "2013-12": "65535.48",
                    "2014-01": "75813.72",
                    "2014-02": "76102.32",
                    "2014-03": "75397.85",
                    "2014-04": "84622.34",
                    "2014-05": "80172.61",
                    "2014-06": "82021.52",
                    "2014-07": "85228.17",
                    "2014-08": "84681.34",
                    "2014-09": "88354.06",
                    "2014-10": "94675.20",
                    "2014-11": "95963.89",
                    "2014-12": "94282.10",
                    "2015-01": "92580.30",
                    "2015-02": "90419.20",
                    "2015-03": "96608.80",
                    "2015-04": "97388.00",
                    "2015-05": "95261.80",
                    "2015-06": "96441.50",
                    "2015-07": "95207.10",
                    "2015-08": "98303.70",
                    "2015-09": "99169.50",
                    "2015-10": "112777.80",
                    "2015-11": "113551.30",
                    "2015-12": "108650.40",
                    "2016-01": "110300.00",
                    "2016-02": "113072.90",
                    "2016-03": "114462.30",
                    "2016-04": "118002.80",
                    "2016-05": "124534.00",
                    "2016-06": "125876.00",
                    "2016-07": "129696.30",
                    "2016-08": "135411.20",
                    "2016-09": "135241.80",
                    "2016-11": "142931.90",
                    "2016-12": "144983.80",
                    "2017-01": "146016.50",
                    "2017-02": "146135.40",
                    "2017-03": "148050.30",
                    "2017-04": "157223.70",
                    "2017-05": "156818.50",
                    "2017-06": "152520.80",
                    "2017-07": "154838.60",
                    "2017-08": "160792.90",
                    "2017-09": "155486.30",
                    "2017-10": "160826.40",
                    "2017-11": "158026.10",
                    "2017-12": "158989.60",
                    "2018-01": "158907.80",
                    "2018-02": "165733.00",
                    "2018-03": "165943.00",
                    "2018-04": "159954.30",
                    "2018-05": "162203.20",
                    "2018-06": "157839.90",
                    "2018-07": "158791.50",
                    "2018-08": "160998.60",
                    "2018-09": "160312.60",
                    "2018-10": "167489.40",
                    "2018-11": "165579.20",
                    "2018-12": "166577.60",
                    "2019-01": "174272.30",
                    "2019-02": "177328.90",
                    "2019-03": "173818.70",
                    "2019-04": "182085.50",
                    "2019-05": "172510.40",
                    "2019-06": "171846.50",
                    "2019-07": "185261.10",
                    "2019-08": "189149.70",
                    "2019-09": "187835.00",
                    "2019-10": "186762.40",
                    "2019-11": "181176.70",
                    "2019-12": "181812.60",
                    "2020-01": "197777.20",
                    "2020-02": "203671.70",
                    "2020-03": "197603.40",
                    "2020-04": "199142.70",
                    "2020-05": "213032.50",
                    "2020-06": "209824.50",
                    "2020-07": "219993.30",
                    "2020-08": "221943.90",
                    "2020-09": "216815.90",
                    "2020-10": "218767.50",
                    "2020-11": "216342.50",
                    "2020-12": "236517.60",
                    "2021-01": "241202.60",
                    "2021-02": "231314.83",
                    "2021-03": "232892.97",
                    "2021-04": "244179.95",
                    "2021-05": "236996.02",
                    "2021-06": "227714.29",
                    "2021-07": "245960.05",
                    "2021-08": "249499.94",
                    "2021-09": "248503.40",
                    "2021-10": "243249.16",
                    "2021-11": "238827.81",
                    "2021-12": "240563.79",
                    "2022-01": "262266.99",
                    "2022-02": "262854.38",
                    "2022-03": "244994.86",
                    "2022-04": "243967.12",
                    "2022-05": "245757.45",
                    "2022-06": "246884.69",
                    "2022-07": "252654.37",
                    "2022-08": "250289.63",
                    "2022-09": "254709.67",
                    "2022-10": "257961.11",
                    "2022-11": "250628.75",
                    "2022-12": "250561.27",
                    "2023-01": "282716.05",
                    "2023-02": "287658.42",
                    "2023-03": "287747.85",
                    "2023-04": "288289.82",
                    "2023-05": "297842.74",
                    "2023-06": "299792.96",
                    "2023-07": "305691.83",
                    "2023-08": "304147.02",
                    "2023-09": "327335.23",
                    "2023-10": "320101.12",
                    "2023-11": "320766.42",
                    "2023-12": "327221.10",
                    "2024-01": "341794.23",
                    "2024-02": "353966.48",
                    "2024-03": "359807.63",
                    "2024-04": "350707.07",
                    "2024-05": "360843.07",
                    "2024-06": "357007.97",
                    "2024-07": "346063.96",
                    "2024-08": "349325.65",
                    "2024-09": "361822.75",
                    "2024-10": "357035.18",
                    "2024-11": "352674.14",
                    "2024-12": "351993.43",
                    "2025-01": "352359.76",
                    "2025-02": "361327.64",
                    "2025-03": "358772.07",
                    "2025-04": "359558.94",
                    "2025-05": "356408.52",
                    "2025-06": "359508.88",
                    "2025-07": "389468.84",
                    "2025-08": "389706.47",
                    "2025-09": "387125.16",
                    "2025-10": "400822.01",
                    "2025-11": "400210.07",
                    "2025-12": "391998.50",
                    "2026-01": "403768.63",
                    "2026-02": "399679.76",
                    "2026-03": "410310.77",
                    "2026-04": "405958.86",
                    "2026-05": "406413.10",
                    "2026-06": "398973.32",
                    "2026-07": "396125.76"
                }
            }
        ],
        "identitati": {
            "verificate": {
                "nota": "Se verifică exact grupurile măsurate ca fiind sumative. Ierarhia din `pozitii[].parinte` e pentru navigare: majoritatea grupurilor părinte-copii sunt poziţii memo şi „din care\", nu partiţii.",
                "grupuri_declarate": 7,
                "grupuri": 7,
                "grupuri_neverificate": 0,
                "verificari": 1067,
                "verificari_inchise": 1067,
                "detalii": [
                    {
                        "pozitie": "DCSL_BMLDT",
                        "componente": [
                            "DCSL_BMLDTNFCX",
                            "DCSL_BMLDTOFC",
                            "DCSL_BMLDTRESX",
                            "DCSL_BMLDTSLG",
                            "DCSL_BMLDTLCBF",
                            "DCSL_BMLDTNFCP"
                        ],
                        "toleranta": "0.3500",
                        "luni_verificate": 139,
                        "luni_inchise": 139,
                        "abatere_maxima": "0.10",
                        "operatie": "sumă"
                    }
                ],
                "neverificate": []
            },
            "masa_monetara": {
                "identitate": "masa monetară de aici = M3 din /masa-monetara, în altă unitate",
                "nota": "Aceeaşi cifră în două formate: aici prezentarea FMI, acolo contrapartidele M3 în formatul BCE. Vârful e identic, descompunerile nu se leagă — activele interne de aici diferă cu circa 102% de activele interne nete de acolo.",
                "luni_verificate": 186,
                "luni_inchise": 185,
                "abatere_relativa_maxima_procent": "0.0012",
                "ultimele": [
                    {
                        "luna": "2026-05",
                        "masa_monetara": "806089.15",
                        "m3_mii_lei": "806089153.90",
                        "abatere_relativa_procent": "0.0000",
                        "se_inchide": true
                    }
                ]
            }
        }
    },
    "meta": {
        "sursa": "BNR — SDDS PLUS, situaţia monetară în formatul FMI (clasa 1668).",
        "acoperire": {
            "de_la": "2011-01",
            "pana_la": "2026-07"
        },
        "luni": 186,
        "pozitii_totale": 50,
        "pozitii_returnate": 50,
        "nota_identitati": "1067 din 1067 verificări se închid, pe 7 grupuri declarate — toate grupurile părinte-copii care se închid în fiecare lună a seriei. Celelalte 7 nu se închid în toate lunile — poziţii memo şi „din care\", ori sume care pică în o parte din luni — deci nu se verifică şi nu se pretinde că se închid.",
        "nota_masa_monetara": "Masa monetară de aici e aceeaşi cifră cu M3 din /masa-monetara: 185 din 186 luni, abatere relativă maximă 0.0012%. Descompunerile celor două rute nu se leagă, dar vârful e identic.",
        "nota_navigare": "`parinte` şi `nivel` vin din prefixul codului (ori din calea denumirii, când niciun cod nu e prefix — cazul poziţiei memorandum `DCSL_MCBF`) şi servesc la navigare. Pentru ce se însumează efectiv, vezi `identitati.verificate`.",
        "nota_semn": "Poziţiile marcate `se_scade` poartă „minus:\" în denumirea sursei: se scad din părintele lor, nu se adună.",
        "nota_null": "`null` într-o lună înseamnă că poziţia n-a fost publicată atunci, nu zero."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareinterval_prea_lung beyond 240 months, a level outside the list, or nivel_max outside 1–4. nivel_necunoscut.
429cota_depasitaThe 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 240 months, a level outside the list, or nivel_max outside 1–4. nivel_necunoscut.",
        "detalii": {
            "nivel": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}