Mediu v1 / Avertizari
Types and levels
The codes warnings use: the phenomenon types (wind, snow, heat) and the severity levels, each with its name.
GET
https://oneapi.ro/api/mediu/v1/avertizari/nomenclator
Query parameters
This route accepts no query parameters.
How it behaves
- The nomenclature is DERIVED from what we have actually captured, not from a hand-written list. A phenomenon type that has not yet occurred in Romania does not appear here — and that is information about our data, not about the standard.
- The practical consequence: the list grows over time. Early on it will hold only wind and rain; heat, snow or frost appear when they are issued.
What it is for
- Find out which codes you can pass to the
tipandnivelfilters. - Translate a numeric code you received into a readable label.
Response structure
All fields below live inside data.
FieldTypeDescription
tipuri[].cod
integer
The numeric phenomenon type code, the one used in the filter.
tipuri[].tip
string
The source label (
wind, rain…).
tipuri[].avertizari
integer
How many warnings of this type we have captured so far.
niveluri[].cod
integer
The level code (2 yellow, 3 orange, 4 red).
niveluri[].nivel
string
The colour.
niveluri[].severitate
string
The corresponding CAP severity.
niveluri[].avertizari
integer
How many warnings of this level we have captured.
observatie
string
A note on how to read the response: a computation convention or a limit of the data.
sursa
object
The source: MeteoAlarm (EUMETNET), the channel through which the Romanian meteorological service distributes its warnings in standardised CAP format. Includes issuer and licence.
sursa.nume
string
Name of the official source.
sursa.url
string
Public address of the source.
sursa.emitent
string
The institution that issued the information.
sursa.licenta
string
The licence under which the source allows reuse.
sursa.observatie
string
What to know about the source before using the data.
Response examples
GEThttps://oneapi.ro/api/mediu/v1/avertizari/nomenclator
{
"data": {
"tipuri": [
{
"cod": 1,
"tip": "wind",
"avertizari": 3
}
],
"niveluri": [
{
"cod": 2,
"nivel": "yellow",
"severitate": "Moderate",
"avertizari": 3
}
],
"observatie": "Nomenclatorul e DERIVAT din ce am capturat efectiv, nu dintr-o listă scrisă de mână. Un tip care n-a apărut încă în România nu figurează aici — iar asta e o informație despre datele noastre, nu despre standard.",
"sursa": {
"nume": "MeteoAlarm (EUMETNET) — avertizări emise de Administrația Națională de Meteorologie",
"url": "https://meteoalarm.org",
"emitent": "Administrația Națională de Meteorologie (ANM)",
"licenta": "MeteoAlarm: CC BY 4.0, cu atribuire către MeteoAlarm și ANM.",
"observatie": "Avertizarea e emisă de ANM; MeteoAlarm e canalul EUMETNET prin care e distribuită în format CAP standardizat. Textul e cel oficial al ANM, netradus și nemodificat de noi."
}
}
}
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."
}
}