oneapi
Autentificare
Financiar v1 / RiscCredit

Agregatele Centralei Riscului de Credit

NU conţine date despre nicio firmă anume. Centrala Riscului de Credit e nominală la BNR, dar
public se publică doar agregate — total datorat, restanţe, număr de debitori, defalcări pe monedă,
scadenţă şi sector. Ruta nu poate căuta un debitor, iar absenţa unui rezultat n-ar însemna
absenţa riscului
, ci că datele nominale nu sunt publice. Pentru ce se poate verifica despre o
firmă anume, vezi modulul Firme.

Cele trei axe aleg una dintre cele şase clase publicate: creditor (bănci sau IFN/IEME/IP),
debitor (toţi sau doar persoane fizice) şi masura (credite plus angajamente, sau doar credite).
Nu toate cele opt combinaţii există la sursă — doar_credite se publică numai pentru toţi
debitorii — iar cele lipsă primesc un refuz care le numeşte pe cele disponibile.

Gruparea vine din structura sursei, nu dintr-o clasificare inventată de noi. Codurile care încep
cu _ după prefixul clasei — _MON, _TERM, _RISC, _SEC — au zero valori: sunt capetele de
tabel ale BNR („Moneda", „Termen de acordare", „Sector de activitate"). Ordinea coloanelor s-a
* păstrat la import, deci fiecare dimensiune se atribuie secţiunii de deasupra ei. Cele de dinaintea
* oricărui cap rămân indicatori de prim nivel.
*
* Unităţile nu se amestecă. Din 532 de serii, 499 sunt în milioane de lei, 25 în persoane —
* numărul de debitori era 2.058.804 în iunie 2026 — 4 în procente şi 4 în bucăţi. Fiecare valoare îşi
* poartă unitatea, iar peste secţiuni nu se însumează nimic.
*
* Fără interval, răspunsul dă ultima lună publicată: întrebarea firească e „cum stăm acum", nu „toată
seria". Seria completă merge până la 120 de luni într-o cerere.

GET
https://oneapi.ro/api/financiar/v1/risc-credit/agregate

Parametri de interogare

NumeTipDescriereValori acceptate
creditoropțional string | null Opţional, implicit banci. Sau ifn — instituţii financiare nebancare, emitente de monedă electronică şi de plată. banciifn
debitoropțional string | null Opţional, implicit toti. Sau persoane_fizice. totipersoane_fizice
masuraopțional string | null Opţional, implicit credite_si_angajamente. Sau doar_credite — dar numai cu debitor=toti. credite_si_angajamentedoar_credite
de_laopțional string | null Opţional, YYYY-MM. Fără el, se întoarce ultima lună publicată. ex. 2024-06-15
pana_laopțional string | null Opţional, YYYY-MM. Maximum 120 de luni. ex. 2024-06-15

Cum se comportă

  • NU conţine date despre nicio firmă anume. Centrala Riscului de Credit e nominală la BNR, dar public se publică doar agregate: total datorat, restanţe, număr de debitori, defalcări pe monedă, scadenţă şi sector. Ruta nu poate căuta un debitor, iar absenţa unui rezultat NU înseamnă absenţa riscului — înseamnă că datele nominale nu sunt publice.
  • Acoperire: 532 de serii, 97.447 de valori, ianuarie 2000 → azi, lunar.
  • Cele trei axe aleg una dintre cele şase clase publicate: creditor (bănci sau IFN/IEME/IP), debitor (toţi sau doar persoane fizice) şi masura (credite plus angajamente, sau doar credite). Nu toate cele opt combinaţii există la sursă — doar_credite se publică numai pentru toţi debitorii — iar cele lipsă primesc 404 cu lista celor şase disponibile, nu o listă goală.
  • Gruparea vine din structura sursei, nu dintr-o clasificare inventată de noi. Codurile care încep cu _ după prefixul clasei — _MON, _TERM, _RISC, _SEC — au zero valori: sunt capetele de tabel ale BNR („Moneda", „Termen de acordare", „Sector de activitate"). Ordinea coloanelor s-a păstrat la import, deci fiecare defalcare se atribuie secţiunii de deasupra ei.
  • Sursa dă aceeaşi denumire la două secţiuni diferite: „Moneda" apare de două ori, o dată ca defalcare a totalului de credite şi angajamente, o dată ca defalcare a sumelor datorate. descompune spune care e care — şi nu e ghicit după codul coloanei, ci măsurat: se adună dimensiunile secţiunii şi se caută indicatorul cu care se potrivesc. La iunie 2026, cele şapte componente ale primei „Moneda" dau 844.206 faţă de totalul de 844.204, iar ale celei de-a doua dau 698.470 faţă de 698.469.
  • O defalcare îşi poartă în denumire clasa şi apoi detaliul, despărţite prin punct şi virgulă. O denumire fără punct şi virgulă e un indicator de sine stătător, oriunde ar sta în tabel — iar regula repară o eroare reală: în patru din cele şase clase, cele 18 coloane cu sumele restante pe intervale de întârziere (tip A–H) vin după ultimul cap de secţiune şi ar fi fost înghiţite de el. Aritmetica o confirmă: secţiunea contaminată nu însuma niciunul dintre totaluri.
  • Unităţile nu se amestecă. Din 532 de serii, 499 sunt în milioane de lei, 25 în persoane — numărul de debitori era 2.058.804 în iunie 2026 — 4 în procente (ponderea restanţelor: 3,01%) şi 4 în bucăţi. Fiecare dimensiune îşi poartă unitatea, iar peste secţiuni nu se însumează nimic.
  • Fără interval, răspunsul dă ultima lună publicată: întrebarea firească e „cum stăm acum", nu „toată seria". Cu interval, maximul e 120 de luni.
  • null într-o lună înseamnă că dimensiunea n-a fost publicată atunci — câteva serii încep mai târziu decât clasa lor.

La ce folosește

  • Cât s-a împrumutat economia şi cât din sume e restant, lună de lună.
  • Structura creditului pe monedă, scadenţă şi sector de activitate.
  • Comparaţia dintre bănci şi IFN pe aceleaşi dimensiuni.

Structura răspunsului

CâmpTipDescriere
data.clasa object Cele trei axe alese şi clasa BNR la care duc.
data.clasa.creditor string Creditorul, aşa cum îl clasifică sursa.
data.clasa.debitor string
data.clasa.masura string Măsura raportată — ce anume numără sau însumează valoarea.
data.clasa.denumire string Denumirea, aşa cum o publică sursa.
data.clasa.cid integer
data.de_la string Începutul intervalului acoperit de răspuns.
data.pana_la string Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.perioade array Lunile care au efectiv valori, în ordine.
data.indicatori[] array Dimensiunile de prim nivel: totaluri, restanţe, ponderi, numere de debitori, sume pe intervale de întârziere.
data.indicatori[].cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.indicatori[].denumire string Denumirea, aşa cum o publică sursa.
data.indicatori[].unitate string Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.indicatori[].valori object Valorile seriei, pe perioade.
data.sectiuni[].cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.sectiuni[].denumire string Capul de tabel din sursă.
data.sectiuni[].dimensiuni[].cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.sectiuni[].dimensiuni[].denumire string Detaliul, fără prefixul clasei care se repetă pe fiecare coloană a sursei.
data.sectiuni[].dimensiuni[].unitate string mil. RON, pers., % sau număr.
data.sectiuni[].dimensiuni[].valori object Câte o valoare pe lună. null = nepublicată în luna aceea.
data.sectiuni[].descompune object Indicatorul pe care îl descompune secţiunea, aflat prin însumare. null când nicio potrivire nu se confirmă.
data.sectiuni[].descompune.cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.sectiuni[].descompune.denumire string Denumirea, aşa cum o publică sursa.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.acoperire.de_la string Prima perioadă pentru care avem date.
meta.acoperire.pana_la string Ultima perioadă pentru care avem date.
meta.luni integer Numărul de luni acoperite.
meta.dimensiuni integer
meta.nota_nominal string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_grupare string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_unitati string Ce trebuie ştiut despre unităţile de măsură din răspuns.
meta.nota_null string De ce lipsesc unele valori: sursa nu le-a publicat, nu le-a calculat ori le-a suprimat.
meta.nota_implicit string Ce valoare s-a folosit când parametrul n-a fost trimis.
meta.combinatii[].creditor string Creditorul, aşa cum îl clasifică sursa.
meta.combinatii[].debitor string
meta.combinatii[].masura string Măsura raportată — ce anume numără sau însumează valoarea.
meta.fara_date data e null, iar aici stă motivul. Clasa există în catalog, dar nu are valori în bază. Intervalul e în întregime în afara acoperirii. Se suprapune peste ea, dar n-are nicio valoare în el.
meta.fara_date_cod Cuvântul scurt şi STABIL al motivului, pentru clienţii care comută pe el în cod: fara_date e proză şi se poate reformula, ăsta nu.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/risc-credit/agregate
{
    "data": {
        "clasa": {
            "creditor": "banci",
            "debitor": "toti",
            "masura": "credite_si_angajamente",
            "denumire": "Credite acordate şi angajamente asumate de instituţiile de credit",
            "cid": 565
        },
        "de_la": "2026-07",
        "pana_la": "2026-07",
        "perioade": [
            "2026-07"
        ],
        "indicatori": [
            {
                "cod": "CRBL_CAT",
                "denumire": "Credite acordate şi angajamente asumate de instituţiile de credit",
                "unitate": "mil. RON",
                "valori": {
                    "2026-07": "851743"
                }
            }
        ],
        "sectiuni": [
            {
                "cod": "CRBL__PROPB",
                "denumire": "Forma de proprietate a beneficiarului de credit",
                "dimensiuni": [
                    {
                        "cod": "CRBL_CAPC",
                        "denumire": "proprietate cooperatistă",
                        "unitate": "mil. RON",
                        "valori": {
                            "2026-07": "1345"
                        }
                    }
                ],
                "descompune": {
                    "cod": "CRBL_CAT",
                    "denumire": "Credite acordate şi angajamente asumate de instituţiile de credit"
                }
            }
        ]
    },
    "meta": {
        "sursa": "BNR — Centrala Riscului de Credit, agregate publice lunare.",
        "acoperire": {
            "de_la": "2000-01",
            "pana_la": "2026-07"
        },
        "luni": 1,
        "dimensiuni": 129,
        "nota_nominal": "NU conţine date despre nicio firmă anume. CRC e nominală la BNR, dar public se publică doar agregate. Absenţa unui rezultat NU înseamnă absenţa riscului — înseamnă că datele nominale nu sunt publice.",
        "nota_grupare": "`sectiuni` urmează capetele de tabel ale sursei („Moneda\", „Termen de acordare\", „Sector de activitate\"), care în catalog sunt coduri cu zero valori. `indicatori` sunt dimensiunile de dinaintea oricărui cap.",
        "nota_unitati": "Unităţile diferă în aceeaşi clasă: milioane de lei, persoane, procente, bucăţi. Fiecare dimensiune îşi poartă unitatea; peste secţiuni nu se însumează nimic.",
        "nota_null": "`null` într-o lună înseamnă că dimensiunea n-a fost publicată atunci — câteva serii încep mai târziu decât clasa.",
        "nota_implicit": "Fără interval, se întoarce ultima lună publicată.",
        "combinatii": [
            {
                "creditor": "banci",
                "debitor": "toti",
                "masura": "credite_si_angajamente"
            }
        ]
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareinterval_prea_lung peste 120 de luni, axe în afara listelor, sau lună malformată. combinatie_inexistenta — combinaţia de axe nu se publică; răspunsul le dă pe cele şase.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).

Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "interval_prea_lung peste 120 de luni, axe în afara listelor, sau lună malformată. combinatie_inexistenta — combinaţia de axe nu se publică; răspunsul le dă pe cele şase.",
        "detalii": {
            "creditor": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}