Government securities settlement
What settled through SaFIR and — the part no other route in the module has — what failed. Daily, since 15 October 2012.
Settlement failures are rare, and that is exactly why they are worth looking for. Operations unsettled for lack of instruments: 64 days out of 3,492 (1.8%), the maximum 25.98 million euro on 7 May 2015. For lack of funds: 20 days (0.6%), the maximum 47.31 million on 29 February 2016. The last failure was in March 2022 — over four years without one.
doar_esecuri=1 returns only the days with incidents: otherwise, anyone looking for them walks through three thousand days to find sixty.
It does NOT compare with /titluri-stat/piata-secundara, and that is measured, not assumed. The class name suggests „the same market without the NBR", but the data does not support a subset relationship: the lei values coincide, at the one-decimal precision of the secondary market, on only 47.0% of the 3,492 common days (the number of operations coincides on 46.0%), and this series is above the other on 6.0% of them. What exactly separates them — perimeter, timing, inclusion rules — cannot be established from the data, so the route neither invents an explanation nor offers a comparison.
Zero means zero, not missing. On 98% of days settlement runs without a failure, and that is a real zero, not an unreported value.
total_echivalent_eur is the sum of the two currencies at the day's rate — verified: the ratio against RON / rate + EUR sits between 0.9992 and 1.0010, so the figure is reconstructible, not opaque.
rezumat is computed on all the days in the window, not on those returned: with doar_esecuri, a summary built from the filtered result would say that 100% of days had failures.
Query parameters
YYYY-MM-DD. Cannot be in the future.
e.g. 2024-06-15e.g. 2024-01-02
1/0. Returns only days with unsettled operations.
e.g. true
How it behaves
- What settled through SaFIR and — the part no other route in this module carries — what failed. Daily since 15 October 2012.
- Settlement failures are rare, which is exactly why they are worth finding. Operations unsettled for lack of instruments: 64 days out of 3,492 (1.8%), peaking at 25.98 million euro on 7 May 2015. For lack of funds: 20 days (0.6%), peaking at 47.31 million on 29 February 2016. The last failure was in March 2022 — over four years without one.
doar_esecuri=1returns only the days with incidents. Without it, anyone looking for them walks three thousand days to find sixty. When the requested window has none, the response is a 404fara_esecuriand says when the last one in the whole series occurred.- It does NOT compare with
/titluri-stat/piata-secundara, and that is measured, not assumed. The class name suggests "the same market without the central bank", but the data does not support a subset relationship: the lei values coincide, at the one-decimal precision of the secondary market, on only 47.0% of the 3,492 common days (the number of operations coincides on 46.0%), and this series is above the other on 6.0% of them. What separates them — perimeter, timing, inclusion rules — cannot be established from the data, so this route invents no explanation and offers no comparison. - Zero means zero, not missing. On 98% of days settlement runs without failure, and that is a real zero, not an unreported value.
total_echivalent_euris the sum of both currencies at the day's rate — verified: the ratio againstRON / rate + EURsits between 0.9992 and 1.0010, so the figure is reconstructible rather than opaque.rezumatis computed over ALL days in the window, not over the returned ones. Withdoar_esecuri, a summary built from the filtered result would say 100% of days had failures — for 2015 it correctly says 9 out of 253.- Bounds outside the coverage are silently clamped to it, and
meta.ajustatsays what moved and from where. The cap is 366 days, as on the other daily routes.
What it is for
- The health of the market's plumbing: how often a settlement fails, and why.
- Daily settled volume, in lei and euro, and in euro equivalent.
- Finding days with incidents quickly, without walking the whole series.
Response structure
true if the day had at least one unsettled operation.
data is null and this says why. No settlement data in the database. doar_esecuri was requested but the window has none; the response says when the last one was. The interval falls entirely outside the coverage. It overlaps the coverage but holds no values.
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"de_la": "2024-06-15",
"pana_la": "2024-06-30",
"doar_esecuri": false,
"zile": [
{
"data": "2024-06-17",
"are_esecuri": false,
"total_echivalent_eur": {
"decontate": "411523888.81",
"lipsa_instrumente": "0.00",
"lipsa_fonduri": "0.00"
},
"pe_moneda": {
"lei": {
"decontate": {
"numar": 163,
"valoare": "2048195546.99"
},
"lipsa_instrumente": {
"numar": 0,
"valoare": "0.00"
},
"lipsa_fonduri": {
"numar": 0,
"valoare": "0.00"
},
"unitate": "RON"
},
"euro": {
"decontate": {
"numar": 0,
"valoare": "0.00"
},
"lipsa_instrumente": {
"numar": 0,
"valoare": "0.00"
},
"lipsa_fonduri": {
"numar": 0,
"valoare": "0.00"
},
"unitate": "EUR"
}
}
}
],
"rezumat": {
"zile": 9,
"zile_cu_esecuri": 0,
"total_echivalent_eur": {
"decontate": "5174248433.46",
"lipsa_instrumente": "0.00",
"lipsa_fonduri": "0.00"
}
}
},
"meta": {
"sursa": "BNR — decontarea titlurilor de stat prin SaFIR, serii zilnice.",
"acoperire": {
"de_la": "2012-10-15",
"pana_la": "2026-09-21"
},
"zile_publicate": 9,
"zile_intoarse": 9,
"zile_cu_esecuri": 0,
"zile_interval": 16,
"ultimul_esec": "2022-03-14",
"nota_esecuri": "Eşecurile sunt rare: 64 de zile din 3.492 din lipsă de instrumente, 20 din lipsă de fonduri. Ultimul din toată seria a fost în martie 2022. `doar_esecuri=1` întoarce numai zilele cu incidente.",
"nota_necomparabil": "NU se compară cu /financiar/v1/titluri-stat/piata-secundara. Valorile în lei coincid, la precizia de o zecimală a pieţei secundare, în doar 47,0% din zilele comune (numărul de operaţiuni în 46,0%), iar seria de aici e peste cealaltă în 6,0% dintre ele — o relaţie de submulţime nu ar permite asta. Ce le desparte nu se poate stabili din date, deci nu oferim o comparaţie.",
"nota_zero": "Zero înseamnă zero: în 98% din zile decontarea merge fără eşec, iar acela e un zero real, nu o valoare neraportată.",
"nota_total": "`total_echivalent_eur` e suma celor două monede la cursul zilei. Verificat faţă de `RON / curs + EUR`: raport între 0,9992 şi 1,0010.",
"nota_rezumat": "`rezumat` se calculează pe toate zilele din fereastră, nu pe cele întoarse — altfel, cu `doar_esecuri`, ar spune că 100% din zile au avut eşecuri.",
"piata_secundara": "/financiar/v1/titluri-stat/piata-secundara"
}
}
{
"data": {
"de_la": "2024-01-02",
"pana_la": "2024-06-28",
"doar_esecuri": false,
"zile": [
{
"data": "2024-01-03",
"are_esecuri": false,
"total_echivalent_eur": {
"decontate": "325145918.37",
"lipsa_instrumente": "0.00",
"lipsa_fonduri": "0.00"
},
"pe_moneda": {
"lei": {
"decontate": {
"numar": 81,
"valoare": "1615856476.98"
},
"lipsa_instrumente": {
"numar": 0,
"valoare": "0.00"
},
"lipsa_fonduri": {
"numar": 0,
"valoare": "0.00"
},
"unitate": "RON"
},
"euro": {
"decontate": {
"numar": 2,
"valoare": "324530.32"
},
"lipsa_instrumente": {
"numar": 0,
"valoare": "0.00"
},
"lipsa_fonduri": {
"numar": 0,
"valoare": "0.00"
},
"unitate": "EUR"
}
}
}
],
"rezumat": {
"zile": 123,
"zile_cu_esecuri": 0,
"total_echivalent_eur": {
"decontate": "55491093841.64",
"lipsa_instrumente": "0.00",
"lipsa_fonduri": "0.00"
}
}
},
"meta": {
"sursa": "BNR — decontarea titlurilor de stat prin SaFIR, serii zilnice.",
"acoperire": {
"de_la": "2012-10-15",
"pana_la": "2026-09-21"
},
"zile_publicate": 123,
"zile_intoarse": 123,
"zile_cu_esecuri": 0,
"zile_interval": 179,
"ultimul_esec": "2022-03-14",
"nota_esecuri": "Eşecurile sunt rare: 64 de zile din 3.492 din lipsă de instrumente, 20 din lipsă de fonduri. Ultimul din toată seria a fost în martie 2022. `doar_esecuri=1` întoarce numai zilele cu incidente.",
"nota_necomparabil": "NU se compară cu /financiar/v1/titluri-stat/piata-secundara. Valorile în lei coincid, la precizia de o zecimală a pieţei secundare, în doar 47,0% din zilele comune (numărul de operaţiuni în 46,0%), iar seria de aici e peste cealaltă în 6,0% dintre ele — o relaţie de submulţime nu ar permite asta. Ce le desparte nu se poate stabili din date, deci nu oferim o comparaţie.",
"nota_zero": "Zero înseamnă zero: în 98% din zile decontarea merge fără eşec, iar acela e un zero real, nu o valoare neraportată.",
"nota_total": "`total_echivalent_eur` e suma celor două monede la cursul zilei. Verificat faţă de `RON / curs + EUR`: raport între 0,9992 şi 1,0010.",
"nota_rezumat": "`rezumat` se calculează pe toate zilele din fereastră, nu pe cele întoarse — altfel, cu `doar_esecuri`, ar spune că 100% din zile au avut eşecuri.",
"piata_secundara": "/financiar/v1/titluri-stat/piata-secundara"
}
}
{
"data": null,
"meta": {
"de_la": "2024-06-15",
"pana_la": "2024-06-15",
"acoperire": {
"de_la": "2012-10-15",
"pana_la": "2026-09-21"
},
"fara_date": "Intervalul se suprapune peste acoperire (2012-10-15 → 2026-09-21), dar nu are nicio valoare în el.",
"fara_date_cod": "interval_gol"
}
}
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 | interval_prea_lung beyond 366 days, a malformed date, or pana_la before de_la. |
| 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": "interval_prea_lung beyond 366 days, a malformed date, or pana_la before de_la.",
"detalii": {
"de_la": [
"The value sent does not satisfy the parameter rule."
]
}
}
}