Financiar v1 / Calendar
TARGET2 settlement calendar
The days on which the European euro settlement system is closed, for a year, plus the number of settlement days. Its own calendar, with a GREGORIAN Easter — it does not coincide with the Romanian one.
For the days on which the two calendars contradict each other, see /target2/divergente?an=.
GET
https://oneapi.ro/api/financiar/v1/target2
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 TARGET2, the Eurosystem's euro settlement system, is closed — plus the number of settlement days in the year.
- Since 2000 (except 2001) the closing days are six: New Year's Day, Good Friday, Easter Monday, 1 May, Christmas Day and Boxing Day. Easter is GREGORIAN, not Orthodox, so the calendar does NOT overlap with the Romanian one.
- The number of settlement days nevertheless varies from year to year, even with the same number of closures: a closure falling on a Saturday or Sunday subtracts nothing, being a weekend already. In 2026 only one of the six falls at a weekend (256 settlement days), in 2027 three (258).
meta.verificarewrites out the arithmetic identity, so the result can be confirmed at a glance.- For the days on which the two calendars contradict each other — the case that produces unsettled payments — see
/target2/divergente?an=.
What it is for
- Checking whether a euro payment can settle on a given date.
- Establishing the value date of a euro transfer.
- Counting the settlement days in a year.
Response structure
FieldTypeDescription
data.an
integer
The year the data refers to.
data.zile_inchise[].data
string
data.zile_inchise[].zi_saptamana
string
Day of the week, with 1 = Monday.
data.zile_inchise[].denumire
string
The holiday causing the closure, in the Gregorian calendar.
data.zile_inchise[].in_weekend
boolean
true if the closure falls on a Saturday or Sunday — in which case it subtracts no settlement day.
meta.zile_inchise
integer
meta.inchise_in_zile_de_lucru
integer
How many closures fall Monday to Friday, i.e. actually reduce the count.
meta.zile_de_decontare
integer
How many days in the year euro settlement is actually possible.
meta.verificare
string
Which check was run on the values in the response.
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
{
"data": {
"an": 2026,
"zile_inchise": [
{
"data": "2026-01-01",
"zi_saptamana": "joi",
"denumire": "Anul Nou",
"in_weekend": false
}
]
},
"meta": {
"zile_inchise": 6,
"inchise_in_zile_de_lucru": 5,
"zile_de_decontare": 256,
"verificare": "365 − 104 − 5 = 256",
"temei": "calendarul TARGET2 al Eurosistemului; Paştele GREGORIAN, nu ortodox.",
"nota": "O închidere care cade în weekend nu scade nicio zi de decontare — de aceea numărul de zile de decontare variază de la an la an chiar la acelaşi număr de închideri. În 2026 sunt 6 zile de închidere, ca în calendarul obişnuit (din 2000, cu excepţia lui 2001)."
}
}
GEThttps://oneapi.ro/api/financiar/v1/target2?an=2027
{
"data": {
"an": 2027,
"zile_inchise": [
{
"data": "2027-01-01",
"zi_saptamana": "vineri",
"denumire": "Anul Nou",
"in_weekend": false
}
]
},
"meta": {
"zile_inchise": 6,
"inchise_in_zile_de_lucru": 3,
"zile_de_decontare": 258,
"verificare": "365 − 104 − 3 = 258",
"temei": "calendarul TARGET2 al Eurosistemului; Paştele GREGORIAN, nu ortodox.",
"nota": "O închidere care cade în weekend nu scade nicio zi de decontare — de aceea numărul de zile de decontare variază de la an la an chiar la acelaşi număr de închideri. În 2027 sunt 6 zile de închidere, ca în calendarul obişnuit (din 2000, cu excepţia lui 2001)."
}
}
GEThttps://oneapi.ro/api/financiar/v1/target2?an=2024
{
"data": {
"an": 2024,
"zile_inchise": [
{
"data": "2024-01-01",
"zi_saptamana": "luni",
"denumire": "Anul Nou",
"in_weekend": false
}
]
},
"meta": {
"zile_inchise": 6,
"inchise_in_zile_de_lucru": 6,
"zile_de_decontare": 256,
"verificare": "366 − 104 − 6 = 256",
"temei": "calendarul TARGET2 al Eurosistemului; Paştele GREGORIAN, nu ortodox.",
"nota": "O închidere care cade în weekend nu scade nicio zi de decontare — de aceea numărul de zile de decontare variază de la an la an chiar la acelaşi număr de închideri. În 2024 sunt 6 zile de închidere, ca în calendarul obişnuit (din 2000, cu excepţia lui 2001)."
}
}
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."
]
}
}
}