Financiar v1 / Curs
Valutele cotate de BNR
Nomenclatorul valutelor: cod, denumire, perioada în care au fost cotate şi starea lor. Se poate
filtra cu ?stare=activa sau ?stare=delistata. Răspunde la întrebarea pe care celelalte rute
o lasă deschisă: ce se poate cere şi pentru ce perioadă.
GET
https://oneapi.ro/api/financiar/v1/valute
Parametri de interogare
NumeTipDescriereValori acceptate
stareopțional
string | null
Filtru opţional:
activa (cotată în prezent) sau delistata.
activadelistata
Cum se comportă
- Toate valutele cotate vreodată de BNR (40), cu perioada în care au fost cotate şi starea lor.
- Rostul rutei e să răspundă ÎNAINTE de un 404: fără ea, o cerere
/curs/BGNîntoarce „nu mai e cotată" şi clientul n-are de unde să ştie că trebuia să întrebe cu o dată din trecut. Aici vedestare: "delistata"şiultima_data. starefoloseşte exact regula de la interogarea punctuală, deci o valutăactivaaici e una pentru care/curs/{cod}funcţionează astăzi.- Denumirile sunt după ISO 4217 şi le ţine modulul: BNR publică doar codul şi multiplicatorul, fără etichete.
- Două coduri NU sunt monede:
XAU(aur, cotat pe GRAM, nu pe uncie) şiXDR(drepturi speciale de tragere, unitatea de cont a FMI). BNR le publică în acelaşi tabel;este_monedale separă, ca o listă de selecţie valutară să le poată exclude.
La ce folosește
- Popularea unei liste de selecţie a valutelor.
- Verificarea perioadei pentru care se poate cere cursul unei valute.
Structura răspunsului
CâmpTipDescriere
data.valute[].cod
string
Codul ISO 4217 din 3 litere.
data.valute[].denumire
string | null
Denumirea în română.
data.valute[].este_moneda
boolean
false la XAU şi XDR, care sunt aur şi unitate de cont, nu monede.
data.valute[].multiplicator
integer
Câte unităţi acoperă cotaţia publicată (1 sau 100). Constant pe toată istoria valutei.
data.valute[].stare
string
activa = cotată în prezent; delistata = nu mai e cotată, dar istoricul rămâne disponibil.
data.valute[].prima_data
string
Prima zi în care valuta a fost cotată.
data.valute[].ultima_data
string
Ultima zi în care a fost cotată. La valutele active, ultima zi bancară publicată.
data.valute[].zile_cotate
integer
Câte zile are cotaţie în total.
meta.sursa
string
Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.valute
integer
Valutele acoperite de răspuns.
meta.denumiri
string
meta.nota
string
Precizare despre cum se citesc datele din răspuns — o capcană, o convenţie sau o limită a sursei.
Exemple de răspuns
GEThttps://oneapi.ro/api/financiar/v1/valute
{
"data": {
"valute": [
{
"cod": "AED",
"denumire": "Dirham Emiratele Arabe Unite",
"este_moneda": true,
"multiplicator": 1,
"stare": "activa",
"prima_data": "2009-03-02",
"ultima_data": "2026-09-21",
"zile_cotate": 4423
}
]
},
"meta": {
"sursa": "Banca Naţională a României",
"valute": 40,
"denumiri": "ISO 4217",
"nota": "Valutele delistate rămân în listă: cotaţiile lor istorice se pot cere cu o dată din perioada de activitate."
}
}
GEThttps://oneapi.ro/api/financiar/v1/valute?stare=activa
{
"data": {
"valute": [
{
"cod": "AED",
"denumire": "Dirham Emiratele Arabe Unite",
"este_moneda": true,
"multiplicator": 1,
"stare": "activa",
"prima_data": "2009-03-02",
"ultima_data": "2026-09-21",
"zile_cotate": 4423
}
]
},
"meta": {
"sursa": "Banca Naţională a României",
"valute": 37,
"denumiri": "ISO 4217",
"nota": "Valutele delistate rămân în listă: cotaţiile lor istorice se pot cere cu o dată din perioada de activitate."
}
}
GEThttps://oneapi.ro/api/financiar/v1/valute?stare=delistata
{
"data": {
"valute": [
{
"cod": "BGN",
"denumire": "Leva bulgărească",
"este_moneda": true,
"multiplicator": 1,
"stare": "delistata",
"prima_data": "2007-12-03",
"ultima_data": "2025-12-31",
"zile_cotate": 4556
}
]
},
"meta": {
"sursa": "Banca Naţională a României",
"valute": 3,
"denumiri": "ISO 4217",
"nota": "Valutele delistate rămân în listă: cotaţiile lor istorice se pot cere cu o dată din perioada de activitate."
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | stare are altă valoare decât activa sau delistata. |
| 429 | cota_depasita | Cota 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": "stare are altă valoare decât activa sau delistata.",
"detalii": {
"stare": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}