oneapi
Sign in
Financiar v1 / RiscCredit

National financial accounts

The stocks of the economy's financial claims and liabilities, quarterly since 2007 — 198 series, in a perfectly regular structure: 11 sectors × 2 sides × 9 instruments. The values are in millions of lei, unlike the balance of payments family.

The fundamental identity is checked against the data and closes. Every financial claim is somebody's liability, so the economy's claims plus those of the rest of the world equal their liabilities — tested on each of the nine instruments separately: every quarter, maximum deviation 1. It is the strongest guarantee in the module, because it does not tie a total to its components but the whole economy to the rest of the world. It is computed on every request.

The decompositions all close: a side's total against the eight instruments, and the aggregated sectors against their components. The financial subsectors start later, so the second aggregation has fewer checkable quarters.

All 14,743 values are whole millions, so the tolerance is derived: (k+1) × 0.5.

The names are flat, the hierarchy is in the code — 198 of 209 series resolve from the code alone. The 11 headers, one per sector, carry the sector names and do not appear in the response.

GET
https://oneapi.ro/api/financiar/v1/conturi-financiare

Query parameters

NameTypeDescriptionAccepted values
sectoroptional string | null Optional, a short code — HN for households, NFC for non-financial corporations, NRES for the rest of the world. The list is in data.sectoare. e.g. RES
laturaoptional string | null Optional: active (claims) or pasive (liabilities). activepasive
instrumentoptional string | null Optional, a single letter — C currency and deposits, L loans, E equity. T is the total. The list is in data.instrumente. e.g. T
de_laoptional string | null Optional, YYYY-Tn or YYYY-MM. A month is rounded to the quarter containing it. e.g. 2024-06-15
pana_laoptional string | null Optional, YYYY-Tn or YYYY-MM. e.g. 2024-06-15e.g. 2024-06-30

How it behaves

  • The stocks of the economy's financial assets and liabilities, by institutional sector — 198 series, quarterly 2007-Q1 → 2026-Q1. The structure is a perfectly regular matrix: 11 sectors × 2 sides × 9 instruments, exactly the number of series carrying values. The figures are in millions of lei, unlike the balance-of-payments family.
  • The fundamental identity of financial accounts is verified against the data, and it closes. Every financial asset is somebody's liability: the claims of the economy plus those of the rest of the world equal their liabilities, on each of the nine instruments separately. 693 of 693 checks, maximum deviation 1.
  • It is the strongest guarantee in the whole module, because it does not tie a total to its components — it ties the entire economy to the rest of the world. It is computed on every request, in identitati.echilibru_financiar.
  • The breakdowns close as well, without exception. Each side's total against its eight instruments: 22 of 22 sector-side pairs, across 1,623 checks. The aggregated sectors — the economy from four sectors, financial corporations from five subsectors — 2,269 of 2,269. In total 4,585 checks, all closing: this is the cleanest class in the module.
  • All 14,743 values are whole millions of lei, verified, so the tolerance is derived: (k+1) × 0.5. For the eight instruments that gives 4.5, against a maximum observed deviation of 3.
  • The names are flat and the hierarchy lives in the code. 198 of 209 series resolve only through the code — the module's third case of this kind, after trade in services and external debt by sector. The 11 headings, one per sector, carry the sector names and do not appear in the response.
  • This is not a tree but three axes, which is why there is no nivel_max: the filters are sector, latura and instrument, and data.sectoare and data.instrumente give the full lists with labels.
  • The financial subsectors start later than the rest of the economy, so their aggregation has fewer verifiable quarters than the economy's.
  • Periods carry data_referinta at quarter end — these are stocks, as in the investment position.

What it is for

  • Household financial wealth: deposits, equity, pension funds, against loans.
  • The indebtedness of non-financial corporations, by instrument.
  • The financial position of general government against the rest of the world.

Response structure

FieldTypeDescription
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[].trimestru string The quarter the value refers to.
data.perioade[].data_referinta string The end of the quarter, when the stock is measured.
data.perioade[].luna_sursa string The month as the source labels it, before normalisation.
data.sectoare object Each sector's code and name, taken from the sector's heading series.
data.instrumente.T string
data.instrumente.G string
data.instrumente.C string
data.instrumente.D string
data.instrumente.L string
data.instrumente.E string
data.instrumente.I string
data.instrumente.F string
data.instrumente.O string
data.pozitii[].cod string Code from the source code list — the key you filter on.
data.pozitii[].sector string Institutional or economic sector.
data.pozitii[].sector_eticheta string
data.pozitii[].latura string active for claims, pasive for liabilities.
data.pozitii[].instrument string
data.pozitii[].instrument_eticheta string
data.pozitii[].unitate string Unit of measure of the values. Read it before plotting or summing them.
data.pozitii[].trimestre_publicate integer How many quarters the source actually published.
data.pozitii[].valori object The values of the series, by period.
data.identitati.echilibru_financiar object The fundamental identity, per instrument. pe_instrument[].unde appears only when a quarter exceeds the tolerance.
data.identitati.echilibru_financiar.identitate string The identity being checked — which sum must equal which total.
data.identitati.echilibru_financiar.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.echilibru_financiar.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.echilibru_financiar.verificari integer How many combinations were checked.
data.identitati.echilibru_financiar.verificari_inchise integer How many checks closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.T.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.T.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.T.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.G.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.G.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.G.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.C.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.C.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.C.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.D.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.D.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.D.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.L.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.L.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.L.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.E.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.E.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.E.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.I.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.I.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.I.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.F.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.F.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.F.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.echilibru_financiar.pe_instrument.O.trimestre_verificate integer How many quarters entered the check.
data.identitati.echilibru_financiar.pe_instrument.O.trimestre_inchise integer How many quarters closed within tolerance.
data.identitati.echilibru_financiar.pe_instrument.O.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.descompunere_instrumente object Each side's total against its eight instruments, per sector.
data.identitati.descompunere_instrumente.identitate string The identity being checked — which sum must equal which total.
data.identitati.descompunere_instrumente.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.descompunere_instrumente.grupuri_verificate integer
data.identitati.descompunere_instrumente.grupuri_inchise integer
data.identitati.descompunere_instrumente.verificari integer How many combinations were checked.
data.identitati.descompunere_instrumente.abateri array
data.identitati.agregare_sectoare object Aggregated sectors against their components, on each side and instrument.
data.identitati.agregare_sectoare.identitate string The identity being checked — which sum must equal which total.
data.identitati.agregare_sectoare.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.agregare_sectoare.verificari integer How many combinations were checked.
data.identitati.agregare_sectoare.verificari_inchise integer How many checks closed within tolerance.
data.identitati.agregare_sectoare.pe_agregat.RES.componente array The components that add up to the total.
data.identitati.agregare_sectoare.pe_agregat.RES.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.agregare_sectoare.pe_agregat.RES.verificari integer How many combinations were checked.
data.identitati.agregare_sectoare.pe_agregat.RES.verificari_inchise integer How many checks closed within tolerance.
data.identitati.agregare_sectoare.pe_agregat.RES.abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.agregare_sectoare.pe_agregat.FC.componente array The components that add up to the total.
data.identitati.agregare_sectoare.pe_agregat.FC.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.agregare_sectoare.pe_agregat.FC.verificari integer How many combinations were checked.
data.identitati.agregare_sectoare.pe_agregat.FC.verificari_inchise integer How many checks closed within tolerance.
data.identitati.agregare_sectoare.pe_agregat.FC.abatere_maxima string Largest deviation found between the sum of components and the total.
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.trimestre integer Quarters for which values exist.
meta.sectoare integer Available sectors.
meta.instrumente integer Each instrument's code and name, in the ESA classification (AF1–AF8).
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_echilibru string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_descompunere string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_toleranta string Where the tolerance comes from and why it is not zero.
meta.nota_moneda string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_structura string How to read the structure in the response and which levels must not be added.
meta.nota_null string Why some values are missing: the source did not publish, did not compute, or suppressed them.
meta.fara_date data is null and this says why. No financial-account values in the database. The interval falls entirely outside the coverage (2007-Q1 → present). It overlaps but holds no values.
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/conturi-financiare
{
    "data": {
        "de_la": "2007-T1",
        "pana_la": "2026-T1",
        "unitate": "milioane RON",
        "filtre": [],
        "perioade": [
            {
                "trimestru": "2007-T1",
                "data_referinta": "2007-03-31",
                "luna_sursa": "2007-01"
            }
        ],
        "sectoare": {
            "RES": "Total economie",
            "NFC": "Societăți nefinanciare (S11)",
            "FC": "Societăți financiare (S12)",
            "CB": "Banca Centrală (S121)",
            "ODX": "Societăți care acceptă depozite, exclusiv banca centrală (S122)",
            "MMF": "Fonduri de piață monetară (S123)",
            "IPF": "Societăți de asigurare și fonduri de pensii (S128+S129)",
            "OFX": "Alte societăți financiare (exclusiv fondurile de piață monetară, societățile de asigurare și fondurile de pensii) (S124+S125+S126+S127)",
            "GG": "Administrații publice (S13)",
            "HN": "Gospodăriile populației și instituțiile fără scop lucrativ în serviciul gospodăriilor populației (S14+S15)",
            "NRES": "Restul lumii (S2)"
        },
        "instrumente": {
            "T": "Creanțe financiare",
            "G": "Aur monetar și drepturi speciale de tragere (DST) (AF1)",
            "C": "Numerar și depozite (AF2)",
            "D": "Titluri de natura datoriei (AF3)",
            "L": "Credite (AF4)",
            "E": "Participații și acțiuni/unități ale fondurilor de investiții (AF5)",
            "I": "Sisteme de asigurări, de pensii și scheme de garanții standardizate (AF6)",
            "F": "Instrumente financiare derivate și opțiuni pe acțiuni ale angajaților (AF7)",
            "O": "Alte conturi de primit/de plătit (AF8)"
        },
        "pozitii": [
            {
                "cod": "SBST_RES_AT",
                "sector": "RES",
                "sector_eticheta": "Total economie",
                "latura": "active",
                "instrument": "T",
                "instrument_eticheta": "Creanțe financiare",
                "unitate": "milioane lei",
                "trimestre_publicate": 77,
                "valori": {
                    "2007-T1": "1210585",
                    "2007-T2": "1247984",
                    "2007-T3": "1293893",
                    "2007-T4": "1460891",
                    "2008-T1": "1486959",
                    "2008-T2": "1517760",
                    "2008-T3": "1544209",
                    "2008-T4": "1717688",
                    "2009-T1": "1773529",
                    "2009-T2": "1784900",
                    "2009-T3": "1800693",
                    "2009-T4": "1858175",
                    "2010-T1": "1847903",
                    "2010-T2": "1892740",
                    "2010-T3": "1881735",
                    "2010-T4": "1636473",
                    "2011-T1": "1602640",
                    "2011-T2": "1672899",
                    "2011-T3": "1694131",
                    "2011-T4": "1739810",
                    "2012-T1": "1760300",
                    "2012-T2": "1775392",
                    "2012-T3": "1794056",
                    "2012-T4": "1868302",
                    "2013-T1": "1856168",
                    "2013-T2": "1864138",
                    "2013-T3": "1884631",
                    "2013-T4": "1952973",
                    "2014-T1": "1942153",
                    "2014-T2": "1938511",
                    "2014-T3": "1956011",
                    "2014-T4": "2034112",
                    "2015-T1": "2033674",
                    "2015-T2": "2036319",
                    "2015-T3": "2035243",
                    "2015-T4": "2058019",
                    "2016-T1": "2047746",
                    "2016-T2": "2074016",
                    "2016-T3": "2111631",
                    "2016-T4": "2221529",
                    "2017-T1": "2270690",
                    "2017-T2": "2293895",
                    "2017-T3": "2310330",
                    "2017-T4": "2403753",
                    "2018-T1": "2430059",
                    "2018-T2": "2432283",
                    "2018-T3": "2467853",
                    "2018-T4": "2566599",
                    "2019-T1": "2592711",
                    "2019-T2": "2637412",
                    "2019-T3": "2708907",
                    "2019-T4": "2768883",
                    "2020-T1": "2832403",
                    "2020-T2": "2876983",
                    "2020-T3": "2927214",
                    "2020-T4": "3113682",
                    "2021-T1": "3148226",
                    "2021-T2": "3196194",
                    "2021-T3": "3289908",
                    "2021-T4": "3601451",
                    "2022-T1": "3644271",
                    "2022-T2": "3724603",
                    "2022-T3": "3805288",
                    "2022-T4": "3993286",
                    "2023-T1": "4117311",
                    "2023-T2": "4200484",
                    "2023-T3": "4347893",
                    "2023-T4": "4383199",
                    "2024-T1": "4541863",
                    "2024-T2": "4641768",
                    "2024-T3": "4760293",
                    "2024-T4": "4830867",
                    "2025-T1": "4889612",
                    "2025-T2": "4944171",
                    "2025-T3": "5085200",
                    "2025-T4": "5247346",
                    "2026-T1": "5350243"
                }
            }
        ],
        "identitati": {
            "echilibru_financiar": {
                "identitate": "creanţele economiei şi ale restului lumii = pasivele lor, pe fiecare instrument",
                "nota": "Orice creanţă financiară e pasivul cuiva. E singura verificare din modul care leagă întreaga economie de restul lumii, nu un total de componentele lui.",
                "toleranta": "2.0",
                "verificari": 693,
                "verificari_inchise": 693,
                "pe_instrument": {
                    "T": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "G": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "0"
                    },
                    "C": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "D": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "L": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "E": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "I": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "F": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    },
                    "O": {
                        "trimestre_verificate": 77,
                        "trimestre_inchise": 77,
                        "abatere_maxima": "1"
                    }
                }
            },
            "descompunere_instrumente": {
                "identitate": "totalul unei laturi = suma celor opt instrumente",
                "toleranta": "4.5",
                "grupuri_verificate": 22,
                "grupuri_inchise": 22,
                "verificari": 1623,
                "abateri": []
            },
            "agregare_sectoare": {
                "identitate": "un sector agregat = suma subsectoarelor lui, pe fiecare latură şi instrument",
                "nota": "Subsectoarele financiare încep mai târziu decât restul, deci a doua agregare are mai puţine trimestre verificabile.",
                "verificari": 2269,
                "verificari_inchise": 2269,
                "pe_agregat": {
                    "RES": {
                        "componente": [
                            "NFC",
                            "FC",
                            "GG",
                            "HN"
                        ],
                        "toleranta": "2.5",
                        "verificari": 1369,
                        "verificari_inchise": 1369,
                        "abatere_maxima": "2"
                    },
                    "FC": {
                        "componente": [
                            "CB",
                            "ODX",
                            "MMF",
                            "IPF",
                            "OFX"
                        ],
                        "toleranta": "3.0",
                        "verificari": 900,
                        "verificari_inchise": 900,
                        "abatere_maxima": "3"
                    }
                }
            }
        }
    },
    "meta": {
        "sursa": "BNR — SDDS PLUS, conturi naţionale financiare pe sectoare instituţionale (clasa 1547).",
        "acoperire": {
            "de_la": "2007-T1",
            "pana_la": "2026-T1"
        },
        "trimestre": 77,
        "sectoare": 11,
        "instrumente": 9,
        "pozitii_totale": 198,
        "pozitii_returnate": 198,
        "nota_echilibru": "Identitatea fundamentală — orice creanţă financiară e pasivul cuiva — se închide în 693 din 693 verificări, pe fiecare instrument separat. Nu leagă un total de componentele lui, ci întreaga economie de restul lumii.",
        "nota_descompunere": "22 din 22 perechi sector-latură se închid faţă de cele opt instrumente, pe 1623 verificări. Agregarea sectoarelor: 2269 din 2269.",
        "nota_toleranta": "Toleranţa e derivată: toate valorile clasei sunt milioane întregi de lei, deci o sumă de k componente e mărginită de (k+1) × 0,5.",
        "nota_moneda": "Valorile sunt în milioane de lei, nu în euro ca familia balanţei de plăţi.",
        "nota_structura": "Structura e o matrice, nu un arbore: 11 sectoare × 2 laturi × 9 instrumente. Denumirile sunt plate, deci codul e cel care o poartă.",
        "nota_null": "`null` într-un trimestru î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 90 quarters, a side outside the list, or a sector or instrument written as anything other than letters. sector_necunoscut and instrument_necunoscut — the response carries the lists.
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 90 quarters, a side outside the list, or a sector or instrument written as anything other than letters. sector_necunoscut and instrument_necunoscut — the response carries the lists.",
        "detalii": {
            "sector": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}