oneapi
Sign in
Financiar v1 / RiscCredit

Loans and deposits — the old framework

The loans and deposits picture under the methodological framework closed in 2008, with the pre-crisis arrears. It does not join the new series: the definitions differ, so they must not be stitched together.

GET
https://oneapi.ro/api/financiar/v1/credite-depozite/arhiva

Query parameters

NameTypeDescriptionAccepted values
blocoptional string | null Optional: credite or depozite. creditedepozite
monedaoptional string | null Optional: lei or valuta. The old framework does not break foreign currency down by currency. leivaluta
de_laoptional string | null Optional, YYYY-MM, within 2007-01 → 2008-09. e.g. 2024-06-15
pana_laoptional string | null Optional, YYYY-MM. e.g. 2008-09

How it behaves

  • Credit institutions' loans and deposits under the old statistical framework, abandoned in October 2008. Twenty-one months, 2007-01 → 2008-09, in millions of lei, 52 positions cut by currency, sector, residency, purpose and status.
  • The figures are NOT comparable with /credite-depozite, although they cover exactly the same months. Measured: total lending differs by 31.8%, and "non-residents" by 98.8% — 0.44 billion here against 38 in the new framework, where interbank exposures are included. The cuts that mean the same thing do agree: household lending matches in 18 of 21 months, within 1.3%. Anyone splicing the two series together gets a jump that never happened.
  • It carries a dimension nothing else in the module has: CURRENT versus OVERDUE loans. Arrears in lei rise from 0.69% of the stock in January 2007 to 1.82% in September 2008, where the series stops; in foreign currency, from 0.20% to 0.55%. Twenty-one months of month-by-month deterioration, right at the entry into the crisis, that cannot be reconstructed from anything else.
  • A coding trap, resolved in the response: the same letter means different things in the two blocks. Among loans R is "overdue" and Z is "residents"; among deposits R is "residents" and Z is "non-residents". The positions are declared one by one and the response carries the meaning in plain words — deriving it from the suffix would read arrears as residents.
  • Fifteen of sixteen identities close across all 21 months. One does not: for deposits in lei, residents plus non-residents drifts by up to 0.5 million in 13 months. It is small — 0.0007% — but systematic, and only on the lei side; in foreign currency it closes exactly. It is reported, not hidden.
  • The purpose breakdown of household credit is not a partition, and is not checked as one. Consumption plus housing plus other purposes is always smaller than the total, and the gap grows: 397 million in June 2007, 705 in September 2008, in lei. The source does not name the remainder, so the route does not invent one: it sits in defalcari_incomplete, with the difference in plain sight, outside the verified identities.
  • The route sits beside /datorie-externa/arhiva and /pozitie-investitionala/arhiva — superseded statistical frameworks, kept apart from the current series.

What it is for

  • The month-by-month arrears ratio going into the 2008 crisis.
  • The structure of lending before the statistical framework changed.
  • Reconstructing a report prepared under the methodology of the time.

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.cadru string
data.filtre array The filters actually applied, as the route understood them — useful when a value was normalised.
data.luni array Number of months covered.
data.pozitii[].pozitie string Position of the item in the response order.
data.pozitii[].cod string Code from the source code list — the key you filter on.
data.pozitii[].bloc string
data.pozitii[].moneda string Currency the values are expressed in.
data.pozitii[].eticheta string The position's meaning in plain words — not derivable from the code letters, which change meaning between blocks.
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.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.identitati_declarate integer
data.identitati.identitati integer The identity checks run on the values in the response.
data.identitati.identitati_inchise integer How many identities closed within tolerance.
data.identitati.identitati_neverificate integer How many identities could not be checked, for lack of data on one side.
data.identitati.verificari integer How many combinations were checked.
data.identitati.verificari_inchise integer How many checks closed within tolerance.
data.identitati.detalii[] array The sixteen declared identities, with the (k+1) × 0.05 tolerance and each one's maximum deviation.
data.identitati.detalii[].identitate string The identity being checked — which sum must equal which total.
data.identitati.detalii[].toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.detalii[].luni_verificate integer How many months entered the check.
data.identitati.detalii[].luni_inchise integer How many months closed within tolerance.
data.identitati.detalii[].abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.neverificate array 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.
data.defalcari_incomplete[] array The breakdowns that do not add up to their total, with the undistributed remainder for each month.
data.defalcari_incomplete[].total string
data.defalcari_incomplete[].eticheta string Display label for the value — the readable version of the code next to it.
data.defalcari_incomplete[].componente array The components that add up to the total.
data.defalcari_incomplete[].nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.defalcari_incomplete[].luni object Number of months covered.
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_incomparabil string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_restante string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_coduri string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_identitati string How to read the identity checks in the response.
meta.nota_defalcari string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_null string Why some values are missing: the source did not publish, did not compute, or suppressed them.
meta.fara_date string data is null and this says why. No values in the database. The interval falls outside the coverage; the framework closed in September 2008, and the response points to /credite-depozite.
meta.fara_date_cod string 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/credite-depozite/arhiva
{
    "data": {
        "de_la": "2007-01",
        "pana_la": "2008-09",
        "unitate": "milioane lei",
        "cadru": "vechi (înlocuit în octombrie 2008)",
        "filtre": [],
        "luni": [
            "2007-01",
            "2007-02",
            "2007-03",
            "2007-04",
            "2007-05",
            "2007-06",
            "2007-07",
            "2007-08",
            "2007-09",
            "2007-10",
            "2007-11",
            "2007-12",
            "2008-01",
            "2008-02",
            "2008-03",
            "2008-04",
            "2008-05",
            "2008-06",
            "2008-07",
            "2008-08",
            "2008-09"
        ],
        "pozitii": [
            {
                "pozitie": "CRL",
                "cod": "CFINROL_CRL",
                "bloc": "credite",
                "moneda": "lei",
                "eticheta": "total",
                "unitate": "mil.lei",
                "luni_publicate": 21,
                "valori": {
                    "2007-01": "46828.8",
                    "2007-02": "48818.4",
                    "2007-03": "50503.4",
                    "2007-04": "52558.5",
                    "2007-05": "54825.7",
                    "2007-06": "57359.7",
                    "2007-07": "58913.5",
                    "2007-08": "60406.8",
                    "2007-09": "62723.1",
                    "2007-10": "64780.9",
                    "2007-11": "66334.5",
                    "2007-12": "67800.2",
                    "2008-01": "69412.4",
                    "2008-02": "71492.7",
                    "2008-03": "74215.9",
                    "2008-04": "76655.5",
                    "2008-05": "78511.6",
                    "2008-06": "80137.2",
                    "2008-07": "82117.8",
                    "2008-08": "83660.6",
                    "2008-09": "85457.6"
                }
            }
        ],
        "identitati": {
            "nota": "Identităţile sunt declarate, nu deduse din coduri: în această clasă aceeaşi literă înseamnă altceva în cele două blocuri — la credite `R` e „restante” şi `Z` e „rezidenţi”, la depozite `R` e „rezidenţi” şi `Z` e „nerezidenţi”.",
            "identitati_declarate": 16,
            "identitati": 16,
            "identitati_inchise": 15,
            "identitati_neverificate": 0,
            "verificari": 336,
            "verificari_inchise": 323,
            "detalii": [
                {
                    "identitate": "credite în lei: total = rezidenţi + nerezidenţi",
                    "toleranta": "0.1500",
                    "luni_verificate": 21,
                    "luni_inchise": 21,
                    "abatere_maxima": "0.1"
                }
            ],
            "neverificate": []
        },
        "defalcari_incomplete": [
            {
                "total": "CRLP",
                "eticheta": "populaţie",
                "componente": [
                    "CRLPC",
                    "CRLPL",
                    "CRLPX"
                ],
                "nota": "Componentele nu însumează totalul, şi nu se verifică aşa: sursa nu numeşte restul. Golul creşte în timp.",
                "luni": {
                    "2007-06": {
                        "total": "27883.8",
                        "suma_componentelor": "27486.8",
                        "nedefalcat": "397.0"
                    },
                    "2007-07": {
                        "total": "28888.4",
                        "suma_componentelor": "28472.8",
                        "nedefalcat": "415.6"
                    },
                    "2007-08": {
                        "total": "30024.7",
                        "suma_componentelor": "29595.3",
                        "nedefalcat": "429.4"
                    },
                    "2007-09": {
                        "total": "31011.5",
                        "suma_componentelor": "30567.6",
                        "nedefalcat": "443.9"
                    },
                    "2007-10": {
                        "total": "32080.1",
                        "suma_componentelor": "31617.3",
                        "nedefalcat": "462.8"
                    },
                    "2007-11": {
                        "total": "32924.0",
                        "suma_componentelor": "32442.0",
                        "nedefalcat": "482.0"
                    },
                    "2007-12": {
                        "total": "33573.7",
                        "suma_componentelor": "33074.3",
                        "nedefalcat": "499.4"
                    },
                    "2008-01": {
                        "total": "33956.4",
                        "suma_componentelor": "33435.4",
                        "nedefalcat": "521.0"
                    },
                    "2008-02": {
                        "total": "34781.6",
                        "suma_componentelor": "34229.9",
                        "nedefalcat": "551.7"
                    },
                    "2008-03": {
                        "total": "35708.4",
                        "suma_componentelor": "35117.4",
                        "nedefalcat": "591.0"
                    },
                    "2008-04": {
                        "total": "36605.3",
                        "suma_componentelor": "35982.2",
                        "nedefalcat": "623.1"
                    },
                    "2008-05": {
                        "total": "37360.5",
                        "suma_componentelor": "36715.6",
                        "nedefalcat": "644.9"
                    },
                    "2008-06": {
                        "total": "38038.8",
                        "suma_componentelor": "37376.0",
                        "nedefalcat": "662.8"
                    },
                    "2008-07": {
                        "total": "39291.7",
                        "suma_componentelor": "38609.6",
                        "nedefalcat": "682.1"
                    },
                    "2008-08": {
                        "total": "40242.1",
                        "suma_componentelor": "39549.3",
                        "nedefalcat": "692.8"
                    },
                    "2008-09": {
                        "total": "41016.8",
                        "suma_componentelor": "40311.7",
                        "nedefalcat": "705.1"
                    }
                }
            }
        ]
    },
    "meta": {
        "sursa": "BNR — credite şi depozite în cadrul statistic vechi, înlocuit în octombrie 2008 (clasa 574).",
        "acoperire": {
            "de_la": "2007-01",
            "pana_la": "2008-09"
        },
        "luni": 21,
        "pozitii_totale": 52,
        "pozitii_returnate": 52,
        "nota_incomparabil": "Cifrele NU sunt comparabile cu /financiar/v1/credite-depozite, care acoperă aceleaşi luni în cadrul nou. Măsurat: totalul creditelor diferă cu 31,8%, iar „nerezidenţi” cu 98,8% — acolo intră şi expunerile interbancare. Tăieturile care înseamnă acelaşi lucru se potrivesc: creditele către populaţie coincid în 18 din 21 de luni, sub 1,3% abatere.",
        "nota_restante": "Defalcarea curente/restante nu există nicăieri altundeva în modul. Restanţele în lei urcă de la 0,69% din stoc în ianuarie 2007 la 1,82% în septembrie 2008, când seria se opreşte.",
        "nota_coduri": "Aceeaşi literă înseamnă altceva în cele două blocuri: la credite `R` e „restante” şi `Z` e „rezidenţi”, la depozite `R` e „rezidenţi” şi `Z` e „nerezidenţi”. Poziţiile sunt declarate una câte una, nu deduse din sufix.",
        "nota_identitati": "15 din 16 identităţi se închid pe toate lunile lor, pe 336 verificări.",
        "nota_defalcari": "Creditul către populaţie pe scopuri NU însumează totalul; golul creşte de la 397 milioane în iunie 2007 la 705 în septembrie 2008, pe lei. Stă în `defalcari_incomplete`, cu diferenţa la vedere, nu între identităţi.",
        "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.
422validareA block or currency outside the list, a period written other than YYYY-MM, or interval_prea_lung beyond 36 months.
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": "A block or currency outside the list, a period written other than YYYY-MM, or interval_prea_lung beyond 36 months.",
        "detalii": {
            "bloc": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}