Financiar v1 / Calendar
What this day is
The full record of one day: is it a working day? a public holiday? a bridge day set by Government Decision? did the NBR publish a rate? is TARGET2 open? Three distinct calendars, in a single response.
GET
https://oneapi.ro/api/financiar/v1/zi
Query parameters
NameTypeDescriptionAccepted values
dataoptional
string | null
Optional: the day,
YYYY-MM-DD (years 1990–2100). Without it, today (Romanian time).
e.g. 2026-04-06e.g. 2026-12-25e.g. 2024-06-15
How it behaves
- The complete profile of a day in a single request: is it a working day, a public holiday, a bridge day set by Government decision, did NBR publish a rate, is TARGET2 open.
- Three distinct calendars meet here and must not be confused. Working days follow art. 139 of the Labour Code, with ORTHODOX Easter. Banking days are an empirical fact — whether NBR published quotes or not. TARGET2 has a calendar of its own, with GREGORIAN Easter.
- The divergence between calendars is real, not theoretical: in 2026, TARGET2 is closed on 6 April, when Romania works, and open on 13 April, when Romania is on holiday.
lucratoarefollows the general rule: a weekday that is not a public holiday. A Government bridge day does NOT change it if it applies to public-sector staff only — and every bridge day recorded so far is of that kind. For a private company, 2 May 2025 was an ordinary working day. The bridge day is reported separately, withaplicabil_la, so each reader can decide whether it concerns them.zi_bancara_bnris not a synonym forlucratoare: there are four working days on which NBR did not publish without it being a holiday — 30 June and 1 July 2005 (the ROL→RON denomination), 31 December 2007 and 3 January 2012. Anyone computing a value date needs the banking fact, not the legal one.- A
nullinzi_bancara_bnrmeans "unknown" — the day lies outside the quote coverage (before 2005-01-03 or after the last published day). It is not to be confused withfalse, which would assert that NBR was closed. - Holidays are computed, not read from a table: Orthodox Easter by algorithm, the rest from rules versioned per year. For future years the answer is a PROJECTION of current legislation — the list can change by law.
What it is for
- Checking whether a due date falls on a working day.
- Establishing the value date of a payment.
- Checking euro settlement availability.
Response structure
FieldTypeDescription
data.data
string
data.zi_saptamana
string
Day of the week, with 1 = Monday.
data.zi_saptamana_iso
integer
data.lucratoare
boolean
A weekday that is not a public holiday. Bridge days for public-sector staff do not change it.
data.sarbatori[]
string[]
The public holidays of the day, each with a stable code and
mobila: true for those tied to Easter. An EMPTY array if the day is not a holiday, and with TWO entries when two holidays fall on the same day (2026-06-01 = Children's Day + Whit Monday).
data.zi_libera_hg
object | null
The bridge day set by Government decision: the enacting instrument, whom it applies to (
bugetari or toti) and whether it must be made up.
data.target2_deschis
boolean | null
Whether the European euro settlement system operates on that day.
data.zi_bancara_bnr
boolean | null
true/false for whether NBR published quotes; null outside the coverage.
data.urmatoarea_zi_lucratoare
string
The first working day strictly after the requested day.
meta.temei
string
The legal basis for the values or for the way they are computed.
meta.nota
string
A note on how to read the response — a pitfall, a convention or a limit of the source.
meta.calendare.lucratoare
string
meta.calendare.zi_bancara_bnr
string
meta.calendare.target2_deschis
string
Whether the European euro settlement system operates on that day.
Response examples
GEThttps://oneapi.ro/api/financiar/v1/zi
{
"data": {
"data": "2026-10-07",
"zi_saptamana": "miercuri",
"zi_saptamana_iso": 3,
"lucratoare": true,
"sarbatori": [],
"zi_libera_hg": null,
"target2_deschis": true,
"zi_bancara_bnr": null,
"urmatoarea_zi_lucratoare": "2026-10-08"
},
"meta": {
"temei": "art. 139 Codul Muncii (sărbători legale); Paştele ortodox calculat, nu tabelat.",
"nota": "Pentru anii viitori răspunsul e o proiecţie a legislaţiei actuale: lista sărbătorilor se poate schimba prin lege.",
"calendare": {
"lucratoare": "Zi de săptămână care nu e sărbătoare legală. Punţile de HG pentru bugetari NU o schimbă.",
"zi_bancara_bnr": "Fapt empiric: a publicat BNR cotaţii. `null` în afara acoperirii.",
"target2_deschis": "Calendar propriu, cu Paştele GREGORIAN — diferit de cel românesc."
}
}
}
GEThttps://oneapi.ro/api/financiar/v1/zi?data=2026-04-06
{
"data": {
"data": "2026-04-06",
"zi_saptamana": "luni",
"zi_saptamana_iso": 1,
"lucratoare": true,
"sarbatori": [],
"zi_libera_hg": null,
"target2_deschis": false,
"zi_bancara_bnr": true,
"urmatoarea_zi_lucratoare": "2026-04-07"
},
"meta": {
"temei": "art. 139 Codul Muncii (sărbători legale); Paştele ortodox calculat, nu tabelat.",
"nota": "Pentru anii viitori răspunsul e o proiecţie a legislaţiei actuale: lista sărbătorilor se poate schimba prin lege.",
"calendare": {
"lucratoare": "Zi de săptămână care nu e sărbătoare legală. Punţile de HG pentru bugetari NU o schimbă.",
"zi_bancara_bnr": "Fapt empiric: a publicat BNR cotaţii. `null` în afara acoperirii.",
"target2_deschis": "Calendar propriu, cu Paştele GREGORIAN — diferit de cel românesc."
}
}
}
GEThttps://oneapi.ro/api/financiar/v1/zi?data=2026-12-25
{
"data": {
"data": "2026-12-25",
"zi_saptamana": "vineri",
"zi_saptamana_iso": 5,
"lucratoare": false,
"sarbatori": [
{
"cod": "craciun_1",
"denumire": "Crăciunul",
"mobila": false
}
],
"zi_libera_hg": null,
"target2_deschis": false,
"zi_bancara_bnr": null,
"urmatoarea_zi_lucratoare": "2026-12-28"
},
"meta": {
"temei": "art. 139 Codul Muncii (sărbători legale); Paştele ortodox calculat, nu tabelat.",
"nota": "Pentru anii viitori răspunsul e o proiecţie a legislaţiei actuale: lista sărbătorilor se poate schimba prin lege.",
"calendare": {
"lucratoare": "Zi de săptămână care nu e sărbătoare legală. Punţile de HG pentru bugetari NU o schimbă.",
"zi_bancara_bnr": "Fapt empiric: a publicat BNR cotaţii. `null` în afara acoperirii.",
"target2_deschis": "Calendar propriu, cu Paştele GREGORIAN — diferit de cel românesc."
}
}
}
GEThttps://oneapi.ro/api/financiar/v1/zi?data=2024-06-15
{
"data": {
"data": "2024-06-15",
"zi_saptamana": "sâmbătă",
"zi_saptamana_iso": 6,
"lucratoare": false,
"sarbatori": [],
"zi_libera_hg": null,
"target2_deschis": false,
"zi_bancara_bnr": false,
"urmatoarea_zi_lucratoare": "2024-06-17"
},
"meta": {
"temei": "art. 139 Codul Muncii (sărbători legale); Paştele ortodox calculat, nu tabelat.",
"nota": "Pentru anii viitori răspunsul e o proiecţie a legislaţiei actuale: lista sărbătorilor se poate schimba prin lege.",
"calendare": {
"lucratoare": "Zi de săptămână care nu e sărbătoare legală. Punţile de HG pentru bugetari NU o schimbă.",
"zi_bancara_bnr": "Fapt empiric: a publicat BNR cotaţii. `null` în afara acoperirii.",
"target2_deschis": "Calendar propriu, cu Paştele GREGORIAN — diferit de cel românesc."
}
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | A date written other than YYYY-MM-DD or outside the years 1990–2100. |
| 429 | cota_depasita | The 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 date written other than YYYY-MM-DD or outside the years 1990–2100.",
"detalii": {
"data": [
"The value sent does not satisfy the parameter rule."
]
}
}
}