Energie v1 / Piaţa de energie
Generation codes
What the generation codes mean (B16 solar, B19 onshore wind and the rest), flagged by whether the mapping was confirmed against the source's documentation.
GET
https://oneapi.ro/api/energie/v1/piata/surse
Query parameters
This route accepts no query parameters.
How it behaves
- The list holds only the codes that actually appear in our data, not the whole ENTSO-E nomenclature.
- The labels were established empirically, by three methods. Seven codes matched directly against the figures Transelectrica publishes for the same moment.
B05fell out by ELIMINATION over January 2015: the other codes account for the country entire output, and the remaining 2,147 MW can only be coal.B25was classified from its hourly profile — it produces 407 MW at the evening price peak and 8 MW at midday, when solar is at maximum and the price at minimum. - ⚠️ The codes are NOT stable over time. The same coal plants appear under
B05in older series and underB02in recent ones: the switchover happened in May-June 2015, and their sum is unchanged across it. The plants did not move, the reporting changed — a series built on a single code breaks there. Usegrupa. For the same reason neither carries "lignite" or "hard coal" in its name: our verification source has a single coal category, so we have nothing to tell them apart with. We do not invent names: a guessed label is an error that propagates into every report built on top of it.
What it is for
- Translate the codes in the generation series into names, inside your own application.
- Build your own source grouping, starting from
grupa. - See which codes have no confirmed label, before reporting shares.
Response structure
All fields below live inside data.
FieldTypeDescription
surse[].cod
string
Codul ENTSO-E, de forma
Bnn.
surse[].nume
string|null
Denumirea confirmată, ori
null.
surse[].confirmat
boolean
Dacă eticheta a fost verificată pe date reale.
inregistrari
integer
How many generation codes appear in our data.
surse[].grupa
string
The source grouping, for your own aggregations.
surse[].regenerabila
boolean
Whether the source is primary renewable generation.
null only for unclassified codes.
observatie
string
How the labels were obtained and why some are missing.
sursa
object
ENTSO-E Transparency Platform, with the required attribution.
Response examples
GEThttps://oneapi.ro/api/energie/v1/piata/surse
{
"data": {
"inregistrari": 10,
"surse": [
{
"cod": "B01",
"nume": "Biomasă",
"grupa": "biomasa",
"regenerabila": true,
"confirmat": true
}
],
"observatie": "Etichetele NU vin dintr-o listă copiată: lista oficială de coduri ENTSO-E nu e accesibilă programatic. Au fost stabilite EMPIRIC — prin comparaţie cu Transelectrica pentru acelaşi moment (vezi zona `sen`), prin eliminare pe istoricul din 2015, ori din profilul orar. `confirmat` spune că încadrarea (grupa şi regenerabil/neregenerabil) e verificată; `nume` poate fi `null` chiar şi atunci, dacă dovada ajunge pentru încadrare dar nu pentru un nume de combustibil. ⚠️ Codurile NU sunt stabile în timp: cărbunele s-a raportat sub `B05` în seriile vechi şi sub `B02` în cele recente — `grupa` e ce rămâne comparabil.",
"sursa": {
"nume": "ENTSO-E Transparency Platform",
"url": "https://transparency.entsoe.eu",
"atribuire": "Date din ENTSO-E Transparency Platform.",
"licenta": "Reutilizare permisă cu ATRIBUIRE obligatorie către Transparency Platform. Drepturile nu sunt sublicențiabile.",
"observatie": "Zona `piata` e seria oficială europeană; zona `sen` e instantaneul Transelectrica. Au surse, pași și definiții diferite — cifrele lor nu se compară direct."
}
}
}
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 | The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored. |
| 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": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
}
}