External debt, the BPM5 archive
The methodology the NBR abandoned in 2014, in the same two cuts as the current route: by sector (quarterly, since 2001-Q4) and by maturity (monthly, since December 2004).
The gain in history is uneven: the sector cut goes back 21 quarters further than the BPM6 series, the maturity cut only 37 months.
It does not splice onto the current series, and short-term debt is the most divergent. The BPM5/BPM6 ratio is 0.933–0.999 on long-term debt, 0.828–1.000 on short-term and 0.916–1.017 on the quarterly total. The comparison is computed on every request, in identitati.comparatie_bpm6.
The source of the hierarchy mirrors that of its successor: the name for maturities, the code for sectors — there the names are flat. _meta.ierarhie_din says which was used.
How the total is composed cannot be seen from the code: gross total debt = gross debt + intercompany direct investment, written out explicitly because the prefix makes all three series roots.
The same source inconsistency appears in both methodologies: the maturity class does not close in 2010-11 and 2013-09, the same months and the same −0.4 deviation fail in the BPM6 class too (which has one more open month, 2024-03, after the archive ends).
The cross-check between the two cuts closes in 27 of 39 quarters. The large deviations are in 2008 — 527.1, 1,067.1 and 1,259.2 in the first three quarters, a revision applied to one cut and not to the other —; the other nine are below 2. perechi_deschise lists them all, largest first.
Query parameters
sectoare. Or scadente. Each has a single frequency at source, so there is no parameter for it.
sectoarescadente
YYYY-MM or YYYY-Tn.
e.g. 2024-06-15
YYYY-MM or YYYY-Tn.
e.g. 2014-T2e.g. 2014-08
How it behaves
- External debt under the BPM5 methodology, retired by the NBR in 2014, in the same two cuts as the current route: by sector (quarterly, 2001-Q4 → 2014-Q2, 52 series) and by maturity (monthly, December 2004 → August 2014, 27 series).
- The gain in history is real but uneven: the sector cut reaches back 21 quarters beyond the BPM6 series, the maturity cut only 37 months.
- It does not splice onto the current series, and short-term debt is the most divergent. Across the overlap, the BPM5/BPM6 ratio is 0.933–0.999 for long-term, 0.828–1.000 for short-term and 0.916–1.017 for the quarterly total. The comparison is computed on every request, in
identitati.comparatie_bpm6; it is not an identity and is not meant to close. - The source of the hierarchy mirrors its successor's. The maturity cut takes it from the name, as
/datorie-externa?dimensiune=scadentedoes; the sector cut from the code, because there the names are flat. One more confirmation that the rule belongs to the class, not the family —_meta.ierarhie_dinsays which was used. - The total's composition is not visible from the code.
total gross external debt = gross external debt + intercompany direct investment— verified, the gap between the first two is exactly the intercompany series, 21,229.4 million in 2014-Q2. The code prefix makes all three series roots, so the identity is written out explicitly. - The same source inconsistency appears in both methodologies. The maturity cut fails to close in 2010-11 and 2013-09, both by −0.4 — the same months and the same deviation fail in the BPM6 class too (which has one more open month, 2024-03, after the archive ends). The inconsistency survived the change of methodology. Otherwise, the sector cut closes on every node, including gross debt as the sum of the four sectors (
TDET_GG,TDET_NBR,TDET_BK,TDET_XS), a link neither the code nor the name gives, which is declared explicitly. - The cross-cut control runs on quarters, because it ties a quarterly series to a monthly one: the sector total at the quarter's label, the maturity total at its last month. Aligned that way, 27 of 39 close within the derived tolerance of ±0.15; on the same label none would. The large gaps are in 2008 — 527.1, 1,067.1 and 1,259.2 in the first three quarters, a revision applied to one cut and not the other —; the other nine are below 2.
perechi_deschiselists them all, largest first. - Each class's first observation stands alone in its year — December 2004 for maturity, Q4 2001 for sectors — after which the rhythm becomes uniform.
- The tolerance comes from the per-figure rounding error: both classes publish one decimal, so 0.05 per figure and
(k+1) × 0.05for a sum ofkcomponents.
What it is for
- Romania's external debt before EU accession, which the current series does not cover.
- How private debt grew between 2001 and 2007.
- The sector structure — government, banks, other sectors — through the 2000s.
Response structure
BPM5. It is why these figures cannot be chained to /datorie-externa.
trimestrial for sectors, lunar for maturity.
null at the root.
stoc or flux. The maturity cut mixes them, as its successor does.
perechi_deschise lists what does not close.
data is null and this says why. No BPM5 values in the database for the requested dimension. The interval falls outside the coverage; these series ended in 2014 and are no longer updated.
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"metodologie": "BPM5",
"dimensiune": "sectoare",
"frecventa": "trimestrial",
"de_la": "2001-T4",
"pana_la": "2014-T2",
"unitate": "milioane EUR",
"filtre": [],
"perioade": [
{
"perioada": "2001-T4",
"luna_sursa": "2001-10",
"data_referinta": "2001-12-31"
}
],
"pozitii": [
{
"cod": "TDET_TGED",
"eticheta": "Datoria externă brută totală",
"cale": [
"Datoria externă brută totală"
],
"nivel": 1,
"parinte": null,
"natura": "stoc",
"unitate": "milioane EUR",
"perioade_publicate": 51,
"valori": {
"2001-T4": "14787.6",
"2002-T1": "15239.1",
"2002-T2": "14950.1",
"2002-T3": "15729.7",
"2002-T4": "16199.7",
"2003-T1": "16352.7",
"2003-T2": "16394.1",
"2003-T3": "17849.4",
"2003-T4": "17835.3",
"2004-T1": "18949.8",
"2004-T2": "20054.1",
"2004-T3": "21351.0",
"2004-T4": "21505.0",
"2005-T1": "24255.0",
"2005-T2": "26766.0",
"2005-T3": "29204.0",
"2005-T4": "30913.6",
"2006-T1": "33028.5",
"2006-T2": "35131.1",
"2006-T3": "37369.4",
"2006-T4": "41196.1",
"2007-T1": "44499.8",
"2007-T2": "49094.7",
"2007-T3": "54063.1",
"2007-T4": "58628.7",
"2008-T1": "61027.1",
"2008-T2": "66635.7",
"2008-T3": "70552.4",
"2008-T4": "72354.4",
"2009-T1": "73187.1",
"2009-T2": "76679.7",
"2009-T3": "81062.6",
"2009-T4": "81205.4",
"2010-T1": "87144.9",
"2010-T2": "88838.5",
"2010-T3": "91129.7",
"2010-T4": "92458.3",
"2011-T1": "95057.4",
"2011-T2": "98701.4",
"2011-T3": "98694.1",
"2011-T4": "98723.5",
"2012-T1": "99791.6",
"2012-T2": "100044.2",
"2012-T3": "100158.5",
"2012-T4": "99680.6",
"2013-T1": "99707.0",
"2013-T2": "98032.9",
"2013-T3": "97606.0",
"2013-T4": "96600.2",
"2014-T1": "93238.0",
"2014-T2": "92958.0"
}
}
],
"identitati": {
"descompunere": {
"identitate": "fiecare poziţie = suma copiilor ei direcţi",
"noduri_cu_copii": 14,
"noduri_inchise": 14,
"verificari": 714,
"abateri": []
},
"control_intre_taieturi": {
"identitate": "datoria brută totală (pe sectoare, trimestrial) = termen lung + termen scurt (pe scadenţe, la ultima lună a trimestrului)",
"toleranta": "0.1500",
"perechi_verificate": 39,
"perechi_inchise": 27,
"nota": "Seria trimestrială se citeşte la eticheta ei, cea lunară la sfârşitul trimestrului. Abaterile mari sunt în 2008 — o revizuire aplicată la o tăietură şi nu la cealaltă —, restul sunt de ordinul unităţilor. `perechi_deschise` le dă pe toate, cele mai mari întâi.",
"perechi_deschise_numar": 12,
"perechi_deschise": [
{
"trimestru": "2008-T3",
"luna_referinta": "2008-09",
"pe_sectoare": "70552.4",
"pe_scadente": "69293.2",
"abatere": "1259.2",
"se_inchide": false
}
]
},
"comparatie_bpm6": {
"nota": "Nu e o identitate şi nu trebuie să se închidă: BPM5 şi BPM6 sunt metodologii diferite. Cifrele arată de ce arhiva nu se lipeşte de seria curentă.",
"perechi_comparate": {
"TDET_TGED": "TDE6T_B"
},
"perioade_comune": 30,
"raport_bpm5_bpm6": {
"TDET_TGED": {
"min": "0.9161",
"max": "1.0166"
}
},
"ultimele": [
{
"perioada": "2013-T3",
"TDET_TGED": {
"bpm5": "97606.0",
"bpm6": "104773.4",
"raport": "0.9316"
}
}
]
},
"compunere_total": {
"identitate": "datoria externă brută totală = datoria externă brută + investiţii directe intercompanii",
"total": "TDET_TGED",
"componente": [
"TDET_GED",
"TDET_DINV"
],
"nota": "Scrisă explicit: prefixul codului face toate trei seriile rădăcini, deci compunerea nu se vede din cod.",
"toleranta": "0.1500",
"perioade_verificate": 51,
"perioade_inchise": 51,
"abatere_maxima": "0.1"
}
}
},
"meta": {
"sursa": "BNR — arhiva datoriei externe, metodologia BPM5 (clasa 579).",
"acoperire": {
"de_la": "2001-T4",
"pana_la": "2014-T2"
},
"perioade": 51,
"pozitii_totale": 52,
"pozitii_returnate": 52,
"ierarhie_din": "cod",
"nota_bpm6": "Arhiva nu se lipeşte de /datorie-externa. Pe cele 30 perioade comune, rapoartele BPM5/BPM6 sunt în `identitati.comparatie_bpm6.raport_bpm5_bpm6` — pe termenul scurt coboară până la 0,828.",
"nota_ierarhie": "Ierarhia vine din cod la această tăietură, ca la succesoarea ei BPM6. Regula e a clasei, nu a familiei.",
"nota_identitate": "14 din 14 noduri se închid, pe 714 verificări. Pe tăietura pe scadenţe, cele două luni care nu se închid — 2010-11 şi 2013-09, ambele cu −0,4 — pică şi în clasa BPM6: neconcordanţa a supravieţuit schimbării de metodologie. (BPM6 mai are o lună deschisă, 2024-03, cu 7,9 — după sfârşitul arhivei.)",
"nota_control": "27 din 39 perechi se închid între cele două tăieturi. Abaterile mari sunt în 2008 (trei trimestre, până la 1.259,2); celelalte 9 sunt sub 2. Toate sunt în `identitati.control_intre_taieturi.perechi_deschise`, cele mai mari întâi.",
"nota_ritm": "Prima observaţie a fiecărei clase e singură în anul ei — decembrie 2004 la scadenţe, T4 2001 la sectoare — apoi ritmul devine uniform.",
"nota_null": "`null` într-o perioadă înseamnă că poziţia n-a fost publicată atunci, nu zero."
}
}
{
"data": {
"metodologie": "BPM5",
"dimensiune": "scadente",
"frecventa": "lunar",
"de_la": "2004-12",
"pana_la": "2014-08",
"unitate": "milioane EUR",
"filtre": {
"nivel_max": 2
},
"perioade": [
{
"perioada": "2004-12",
"luna_sursa": "2004-12"
}
],
"pozitii": [
{
"cod": "DEL_DTML",
"eticheta": "Datorie externă pe termen mediu şi lung",
"cale": [
"Datorie externă pe termen mediu şi lung"
],
"nivel": 1,
"parinte": null,
"natura": "stoc",
"unitate": "milioane EUR",
"perioade_publicate": 117,
"valori": {
"2004-12": "18298.0",
"2005-01": "18384.6",
"2005-02": "20054.9",
"2005-03": "20790.8",
"2005-04": "20700.2",
"2005-05": "21115.5",
"2005-06": "22471.5",
"2005-07": "22082.4",
"2005-08": "22302.0",
"2005-09": "23278.8",
"2005-10": "23471.0",
"2005-11": "23616.5",
"2005-12": "24641.5",
"2006-01": "24279.4",
"2006-02": "24556.4",
"2006-03": "24940.0",
"2006-04": "24501.8",
"2006-05": "24787.0",
"2006-06": "25473.5",
"2006-07": "25714.3",
"2006-08": "25837.0",
"2006-09": "26221.5",
"2006-10": "26772.4",
"2006-11": "27164.5",
"2006-12": "28622.2",
"2007-01": "27891.6",
"2007-02": "28923.3",
"2007-03": "30645.6",
"2007-04": "30020.5",
"2007-05": "29939.3",
"2007-06": "32982.1",
"2007-07": "32742.8",
"2007-08": "33871.8",
"2007-09": "35109.1",
"2007-10": "34971.6",
"2007-11": "35520.2",
"2007-12": "38711.2",
"2008-01": "37991.0",
"2008-02": "38911.9",
"2008-03": "41325.4",
"2008-04": "41750.5",
"2008-05": "43121.8",
"2008-06": "46498.6",
"2008-07": "45364.2",
"2008-08": "47460.6",
"2008-09": "49702.3",
"2008-10": "49097.5",
"2008-11": "49718.4",
"2008-12": "51762.0",
"2009-01": "50771.9",
"2009-02": "51813.2",
"2009-03": "52784.5",
"2009-04": "52462.2",
"2009-05": "58069.9",
"2009-06": "59367.0",
"2009-07": "61195.0",
"2009-08": "61711.6",
"2009-09": "65004.1",
"2009-10": "64958.4",
"2009-11": "64926.4",
"2009-12": "65616.1",
"2010-01": "65839.3",
"2010-02": "67736.5",
"2010-03": "70432.9",
"2010-04": "70473.9",
"2010-05": "71231.5",
"2010-06": "71419.9",
"2010-07": "70499.3",
"2010-08": "70621.6",
"2010-09": "72438.9",
"2010-10": "71331.0",
"2010-11": "72390.7",
"2010-12": "72909.5",
"2011-01": "72913.2",
"2011-02": "72862.1",
"2011-03": "74211.1",
"2011-04": "73723.6",
"2011-05": "74565.3",
"2011-06": "75362.4",
"2011-07": "75814.1",
"2011-08": "75612.3",
"2011-09": "75133.0",
"2011-10": "74829.2",
"2011-11": "75343.8",
"2011-12": "75928.8",
"2012-01": "75143.1",
"2012-02": "75498.9",
"2012-03": "76800.5",
"2012-04": "77349.3",
"2012-05": "77611.2",
"2012-06": "78309.3",
"2012-07": "78188.5",
"2012-08": "77220.2",
"2012-09": "78865.1",
"2012-10": "77573.9",
"2012-11": "78169.7",
"2012-12": "78759.5",
"2013-01": "80138.9",
"2013-02": "80754.3",
"2013-03": "81368.6",
"2013-04": "80337.1",
"2013-05": "79499.2",
"2013-06": "79514.4",
"2013-07": "78335.9",
"2013-08": "77576.9",
"2013-09": "79724.4",
"2013-10": "79570.6",
"2013-11": "77958.2",
"2013-12": "77641.3",
"2014-01": "78354.3",
"2014-02": "76554.9",
"2014-03": "75308.0",
"2014-04": "76181.5",
"2014-05": "76115.0",
"2014-06": "75301.0",
"2014-07": "76402.3",
"2014-08": "76241.6"
}
}
],
"identitati": {
"descompunere": {
"identitate": "fiecare poziţie = suma copiilor ei direcţi",
"noduri_cu_copii": 5,
"noduri_inchise": 3,
"verificari": 437,
"abateri": [
{
"nod": "DEL_DTML",
"copii": 5,
"toleranta": "0.3000",
"verificari_inchise": 63,
"verificari": 64,
"abatere_maxima": "0.4",
"unde": [
{
"perioada": "2010-11",
"total": "72390.7",
"suma_componentelor": "72391.1"
}
]
}
]
},
"control_intre_taieturi": {
"identitate": "datoria brută totală (pe sectoare, trimestrial) = termen lung + termen scurt (pe scadenţe, la ultima lună a trimestrului)",
"toleranta": "0.1500",
"perechi_verificate": 39,
"perechi_inchise": 27,
"nota": "Seria trimestrială se citeşte la eticheta ei, cea lunară la sfârşitul trimestrului. Abaterile mari sunt în 2008 — o revizuire aplicată la o tăietură şi nu la cealaltă —, restul sunt de ordinul unităţilor. `perechi_deschise` le dă pe toate, cele mai mari întâi.",
"perechi_deschise_numar": 12,
"perechi_deschise": [
{
"trimestru": "2008-T3",
"luna_referinta": "2008-09",
"pe_sectoare": "70552.4",
"pe_scadente": "69293.2",
"abatere": "1259.2",
"se_inchide": false
}
]
},
"comparatie_bpm6": {
"nota": "Nu e o identitate şi nu trebuie să se închidă: BPM5 şi BPM6 sunt metodologii diferite. Cifrele arată de ce arhiva nu se lipeşte de seria curentă.",
"perechi_comparate": {
"DEL_DTML": "DE6L_DTML",
"DEL_DTS": "DE6L_DTS"
},
"perioade_comune": 80,
"raport_bpm5_bpm6": {
"DEL_DTML": {
"min": "0.9326",
"max": "0.9987"
},
"DEL_DTS": {
"min": "0.8275",
"max": "1.0000"
}
},
"ultimele": [
{
"perioada": "2014-05",
"DEL_DTML": {
"bpm5": "76115.0",
"bpm6": "80512.3",
"raport": "0.9454"
},
"DEL_DTS": {
"bpm5": "17948.9",
"bpm6": "20444.9",
"raport": "0.8779"
}
}
]
}
}
},
"meta": {
"sursa": "BNR — arhiva datoriei externe, metodologia BPM5 (clasa 578).",
"acoperire": {
"de_la": "2004-12",
"pana_la": "2014-08"
},
"perioade": 117,
"pozitii_totale": 27,
"pozitii_returnate": 14,
"ierarhie_din": "denumire",
"nota_bpm6": "Arhiva nu se lipeşte de /datorie-externa. Pe cele 80 perioade comune, rapoartele BPM5/BPM6 sunt în `identitati.comparatie_bpm6.raport_bpm5_bpm6` — pe termenul scurt coboară până la 0,828.",
"nota_ierarhie": "Ierarhia vine din denumire la această tăietură, ca la succesoarea ei BPM6. Regula e a clasei, nu a familiei.",
"nota_identitate": "3 din 5 noduri se închid, pe 437 verificări. Pe tăietura pe scadenţe, cele două luni care nu se închid — 2010-11 şi 2013-09, ambele cu −0,4 — pică şi în clasa BPM6: neconcordanţa a supravieţuit schimbării de metodologie. (BPM6 mai are o lună deschisă, 2024-03, cu 7,9 — după sfârşitul arhivei.)",
"nota_control": "27 din 39 perechi se închid între cele două tăieturi. Abaterile mari sunt în 2008 (trei trimestre, până la 1.259,2); celelalte 9 sunt sub 2. Toate sunt în `identitati.control_intre_taieturi.perechi_deschise`, cele mai mari întâi.",
"nota_ritm": "Prima observaţie a fiecărei clase e singură în anul ei — decembrie 2004 la scadenţe, T4 2001 la sectoare — apoi ritmul devine uniform.",
"nota_null": "`null` într-o perioadă înseamnă că poziţia n-a fost publicată atunci, nu zero."
}
}
{
"data": null,
"meta": {
"de_la": "2024-T2",
"pana_la": "2014-T2",
"acoperire": {
"de_la": "2001-T4",
"pana_la": "2014-T2"
},
"fara_date": "Intervalul cerut e în întregime în afara acoperirii (2001-T4 → 2014-T2).",
"fara_date_cod": "in_afara_acoperirii"
}
}
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 140 periods, a dimension outside the list, or nivel_max outside 1–4. dimensiune_necunoscuta. |
| 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 140 periods, a dimension outside the list, or nivel_max outside 1–4. dimensiune_necunoscuta.",
"detalii": {
"dimensiune": [
"The value sent does not satisfy the parameter rule."
]
}
}
}