oneapi
Sign in
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. B05 fell 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. B25 was 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 B05 in older series and under B02 in 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. Use grupa. 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

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareThe route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.
429cota_depasitaThe 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."
    }
}