oneapi
Autentificare
Financiar v1 / Registre

Înregistrările unui registru

Înregistrările unei clase, cu câmpurile denumite din catalog şi cu tipul fiecăruia. Codul brut
vine alături de denumire: traductibil fără să devină netrasabil.

Toate cele nouă clase au denumirile complete, plus o unitate care spune ce fel de valoare e — txt,
cod, %, zile, zz.ll.aaaa, milioane RON. Aşa, RICO_STARE iese ca „Cod stare (A – Active/
R – Radiate)", cu tipul cod.
*
* Ordinea câmpurilor urmează catalogul, nu JSON-ul sursei: aceasta din urmă poate diferi de la un
* rând la altul, ceea ce ar face două înregistrări ale aceleiaşi clase să pară cu structuri diferite.
*
* Ordinea înregistrărilor e cronologic descrescătoare — la un registru, „ce s-a înscris ultima
* dată" e întrebarea obişnuită, spre deosebire de o serie, unde ordinea firească e cronologică.

cauta trece prin toate câmpurile deodată: cine caută o instituţie ştie numele, nu câmpul în care e
scris.

La clasele marcate diacritice_pierdute, o căutare după un cuvânt cu ş sau ţ poate să nu
găsească nimic — în valori stă ?. Nu e o lipsă a datelor, ci felul în care sursa le publică.

GET
https://oneapi.ro/api/financiar/v1/registre/{cid}

Parametri de cale

NumeTipDescriereExemplu
cidobligatoriu string Identificatorul clasei de tip registru din catalogul BNR. Lista completă e la /financiar/v1/registre.

Parametri de interogare

NumeTipDescriereValori acceptate
de_laopțional string | null Opţional, YYYY-MM-DD. ex. 2001-12-17ex. 2000-10-26
pana_laopțional string | null Opţional, YYYY-MM-DD. ex. 2025-06-30ex. 2009-09-10
cautaopțional string | null Opţional, 2–64 de caractere. Caută în toate câmpurile deodată. max 64 car.
paginaopțional integer | null Opţional, implicit 1. 1
per_paginaopțional integer | null Opţional, implicit 50, maximum 500. 1

Cum se comportă

  • Înregistrările unei clase, cu câmpurile denumite din catalog şi cu tipul fiecăruia. Codul brut vine alături de denumire: traductibil fără să devină netrasabil.
  • Toate cele nouă clase au denumirile complete, plus o unitate care spune ce fel de valoare e — txt, cod, %, zile, zz.ll.aaaa, milioane RON. Aşa, RICO_STARE iese ca „Cod stare (A – Active/ R – Radiate)", cu tipul cod.
  • Ordinea câmpurilor urmează catalogul, nu JSON-ul sursei. Acesta din urmă vine din cum a serializat importul şi poate diferi de la un rând la altul, ceea ce ar face două înregistrări ale aceleiaşi clase să pară cu structuri diferite.
  • Ordinea înregistrărilor e cronologic descrescătoare — la un registru, „ce s-a înscris ultima dată" e întrebarea obişnuită, spre deosebire de o serie, unde ordinea firească e cronologică.
  • Un câmp absent dintr-un rând nu apare în campuri: registrele au câmpuri opţionale, iar un rând cu toate cheile prezente şi jumătate nule ar sugera că valorile au fost măsurate şi au ieşit goale.
  • cauta trece prin toate câmpurile deodată: cine caută o instituţie ştie numele, nu câmpul în care e scris.
  • La clasele marcate diacritice_pierdute, o căutare după un cuvânt cu ş sau ţ poate să nu găsească nimic — în valori stă ?. Nu e o lipsă a datelor, ci felul în care sursa le publică.
  • La o clasă instantaneu, filtrarea pe o singură zi dă lista acelei zile — forma în care datele au sens.
  • pagina şi per_pagina se validează: un per_pagina=abc primeşte 422, nu o pagină de un rând. Peste 500 se reduce automat la 500, iar meta.paginare dă valoarea efectivă.

La ce folosește

  • Lista instituţiilor de plată înregistrate la BNR, cu starea fiecăreia.
  • Rezultatele licitaţiilor de piaţă monetară, cu câmpurile explicate.
  • Activele eligibile pentru garantare la o dată anume.

Structura răspunsului

CâmpTipDescriere
data.clasa object Descrierea clasei, aceeaşi ca la /registre.
data.clasa.cid integer
data.clasa.denumire string Denumirea, aşa cum o publică sursa.
data.clasa.campuri integer Toate câmpurile clasei, cu denumirea şi tipul — chiar şi cele absente din rândurile întoarse.
data.clasa.inregistrari integer
data.clasa.zile integer Numărul de zile acoperite.
data.clasa.acoperire.de_la string Începutul intervalului acoperit.
data.clasa.acoperire.pana_la string Sfârşitul intervalului acoperit, inclusiv.
data.clasa.forma string Forma juridică ori forma de organizare.
data.clasa.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.clasa.ruta_dedicata null
data.clasa.diacritice_pierdute boolean
data.campuri[].cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.campuri[].nume string Numele, aşa cum îl publică sursa.
data.campuri[].tip string
data.de_la null Începutul intervalului acoperit de răspuns.
data.pana_la null Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.cauta null
data.inregistrari[].data string Data înregistrării.
data.inregistrari[].perioada string Perioada la care se referă valoarea.
data.inregistrari[].linie integer A câta înregistrare a zilei. Cheia e perechea dată + linie.
data.inregistrari[].campuri[].cod string Codul BNR al câmpului.
data.inregistrari[].campuri[].nume string Denumirea din catalog.
data.inregistrari[].campuri[].tip string Ce fel de valoare e: txt, cod, %, zile, zz.ll.aaaa, milioane RON.
data.inregistrari[].campuri[].valoare string Valoarea publicată de sursă pentru combinaţia de mai sus.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.paginare.pagina integer Pagina curentă, numărată de la 1.
meta.paginare.per_pagina integer Câte înregistrări are o pagină.
meta.paginare.total integer Totalul înregistrărilor care se potrivesc, dincolo de pagina curentă.
meta.paginare.pagini integer Câte pagini are lista.
meta.nota_ordine string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.registre string

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/registre/803
{
    "data": {
        "clasa": {
            "cid": 803,
            "denumire": "Operaţiuni de piaţă monetară ale BNR - Licitaţii repo",
            "campuri": 6,
            "inregistrari": 204,
            "zile": 201,
            "acoperire": {
                "de_la": "2001-12-17",
                "pana_la": "2025-06-30"
            },
            "forma": "intrari",
            "nota": "Câte o licitaţie repo pe zi de şedinţă.",
            "ruta_dedicata": null,
            "diacritice_pierdute": false
        },
        "campuri": [
            {
                "cod": "REPO_DBMAX",
                "nume": "Rata dobânzii acceptată maximă",
                "tip": "%p.a."
            }
        ],
        "de_la": null,
        "pana_la": null,
        "cauta": null,
        "inregistrari": [
            {
                "data": "2025-06-30",
                "perioada": "2025-06-30",
                "linie": 1,
                "campuri": [
                    {
                        "cod": "REPO_DBMAX",
                        "nume": "Rata dobânzii acceptată maximă",
                        "tip": "%p.a.",
                        "valoare": "6.5"
                    }
                ]
            }
        ]
    },
    "meta": {
        "sursa": "Banca Naţională a României — baza de date interactivă.",
        "paginare": {
            "pagina": 1,
            "per_pagina": 50,
            "total": 204,
            "pagini": 5
        },
        "nota_ordine": "Înregistrările vin de la cea mai recentă. Câmpurile urmează ordinea din catalog, nu pe cea din JSON-ul sursei, care poate diferi de la un rând la altul.",
        "registre": "/financiar/v1/registre"
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitNu există o clasă cu identificatorul cerut.
422validareDată malformată, pana_la înainte de de_la, sau cauta sub două caractere.
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": "Dată malformată, pana_la înainte de de_la, sau cauta sub două caractere.",
        "detalii": {
            "cid": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}