Financiar v1 / Calendar
Where TARGET2 differs from the Romanian calendar
The days on which the two calendars contradict each other, in both directions. The dangerous one is „TARGET2 closed, Romania working": a euro payment scheduled then does not settle, even though it is a normal working day in Romania.
GET
https://oneapi.ro/api/financiar/v1/target2/divergente
Query parameters
NameTypeDescriptionAccepted values
anoptional
integer | null
Optional: the year,
YYYY (1999–2100 — TARGET started in 1999). Without it, the current year.
1990 – 2100
How it behaves
- The days on which the TARGET2 calendar and the Romanian one do not agree, in BOTH directions.
- A separate route from
/target2?an=for a structural reason: the TARGET2 closing list contains only days on which TARGET2 is closed. The reverse days — Romania closed, TARGET2 open — do not appear there at all, because they are not TARGET2 days. Put together, the list would have come out asymmetric. - The dangerous direction is "TARGET2 closed, Romania working". A euro payment scheduled then does not settle, even though it is an ordinary working day in Romania. There are few such days per year, but all fall around Easter, where the gap between the Gregorian and Orthodox calendars is widest — in 2027 they are more than five weeks apart.
- The reverse direction — Romania closed, TARGET2 open — is less costly: European settlement works, but nobody is working in Romania. There are more such days, because Romania has holidays the Eurosystem does not keep: Epiphany, Children's Day, St. Andrew's Day, the National Day.
metacounts the two directions separately, precisely because their effects have nothing in common.- Weekends do not appear: they are non-working in both calendars, so they cannot diverge.
What it is for
- Avoiding scheduling a euro payment on a day when settlement does not work.
- Treasury planning around Easter.
Response structure
FieldTypeDescription
data.an
integer
The year the data refers to.
data.divergente[].data
string
data.divergente[].zi_saptamana
string
Day of the week, with 1 = Monday.
data.divergente[].target2
string
inchis or deschis on that day.
data.divergente[].romania
string
lucratoare or nelucratoare under Romanian law.
data.divergente[].motiv
string
The holiday causing the difference, from whichever calendar is closed.
meta.divergente
integer
meta.target2_inchis_romania_lucreaza
integer
The number of days in the dangerous direction.
meta.romania_inchisa_target2_deschis
integer
The number of days in the reverse direction.
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.
Response examples
GEThttps://oneapi.ro/api/financiar/v1/target2/divergente
{
"data": {
"an": 2026,
"divergente": [
{
"data": "2026-01-02",
"zi_saptamana": "vineri",
"target2": "deschis",
"romania": "nelucratoare",
"motiv": "Anul Nou"
}
]
},
"meta": {
"divergente": 10,
"target2_inchis_romania_lucreaza": 2,
"romania_inchisa_target2_deschis": 8,
"temei": "calendarul TARGET2 (Paştele gregorian) faţă de art. 139 Codul Muncii (Paştele ortodox).",
"nota": "Sensul „TARGET2 închis, România lucrează\" e cel care produce pagube: plăţile în euro nu se decontează, deşi în România e zi lucrătoare. Sunt puţine zile pe an, dar toate cad în perioada Paştelui, când diferenţa dintre calendarul gregorian şi cel ortodox e maximă. Sensul invers e mai puţin costisitor: decontarea europeană funcţionează, dar în România nu se lucrează."
}
}
GEThttps://oneapi.ro/api/financiar/v1/target2/divergente?an=2026
{
"data": {
"an": 2026,
"divergente": [
{
"data": "2026-01-02",
"zi_saptamana": "vineri",
"target2": "deschis",
"romania": "nelucratoare",
"motiv": "Anul Nou"
}
]
},
"meta": {
"divergente": 10,
"target2_inchis_romania_lucreaza": 2,
"romania_inchisa_target2_deschis": 8,
"temei": "calendarul TARGET2 (Paştele gregorian) faţă de art. 139 Codul Muncii (Paştele ortodox).",
"nota": "Sensul „TARGET2 închis, România lucrează\" e cel care produce pagube: plăţile în euro nu se decontează, deşi în România e zi lucrătoare. Sunt puţine zile pe an, dar toate cad în perioada Paştelui, când diferenţa dintre calendarul gregorian şi cel ortodox e maximă. Sensul invers e mai puţin costisitor: decontarea europeană funcţionează, dar în România nu se lucrează."
}
}
GEThttps://oneapi.ro/api/financiar/v1/target2/divergente?an=2024
{
"data": {
"an": 2024,
"divergente": [
{
"data": "2024-01-02",
"zi_saptamana": "marţi",
"target2": "deschis",
"romania": "nelucratoare",
"motiv": "Anul Nou"
}
]
},
"meta": {
"divergente": 8,
"target2_inchis_romania_lucreaza": 2,
"romania_inchisa_target2_deschis": 6,
"temei": "calendarul TARGET2 (Paştele gregorian) faţă de art. 139 Codul Muncii (Paştele ortodox).",
"nota": "Sensul „TARGET2 închis, România lucrează\" e cel care produce pagube: plăţile în euro nu se decontează, deşi în România e zi lucrătoare. Sunt puţine zile pe an, dar toate cad în perioada Paştelui, când diferenţa dintre calendarul gregorian şi cel ortodox e maximă. Sensul invers e mai puţin costisitor: decontarea europeană funcţionează, dar în România nu se lucrează."
}
}
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 year outside 1990–2100, or an_inainte_de_target2 for a year before 1999, when TARGET did not exist. |
| 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 year outside 1990–2100, or an_inainte_de_target2 for a year before 1999, when TARGET did not exist.",
"detalii": {
"an": [
"The value sent does not satisfy the parameter rule."
]
}
}
}