Locations v1 / Șomaj & construcții
Permit series of a county
The annual trend of one permit category in the county, since 2002.
GET
https://oneapi.ro/api/locations/v1/judete/{cod}/autorizatii/serie
Path parameters
NameTypeDescriptionExample
codrequired
string
County code, two letters (e.g.
CJ). Bucharest is B.
Query parameters
NameTypeDescriptionAccepted values
categorieoptional
string | null
Which category.
max 40 car.
de_laoptional
integer | null
The start year.
2002 – 2100
pana_laoptional
integer | null
The end year.
2002 – 2100
How it behaves
- The annual series for one category, at county level.
rezidentialeby default. - ⚠️ The
alte/comert/hoteluricategories begin in 2009; before that they sat insidealte_agregat.
What it is for
- A chart of construction activity in a county since 2002.
- A baseline to overlay a single unit's series on.
- Measuring the impact of the 2009 crisis on an area.
Response structure
FieldTypeDescription
data.entitate
string
The name of the county.
data.categorie
string
The category requested.
data.sursa
string
The data source.
data.serie[].an
integer
The year of the point.
data.serie[].numar
number | null
How many permits in that year.
data.serie[].mp_utili
number | null
The usable floor area permitted that year, in m².
meta.actualizat
object
Prospețimea datelor pe domenii (dată ISO 8601).
Response examples
GEThttps://oneapi.ro/api/locations/v1/judete/CJ/autorizatii/serie
{
"data": {
"entitate": "Cluj",
"categorie": "rezidentiale",
"sursa": "INS (autorizaţii de construire)",
"serie": [
{
"an": 2002,
"numar": 843,
"mp_utili": 124891
}
]
},
"meta": {
"actualizat": {
"somaj": "2026-09-14",
"autorizatii": "2026-04-01"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/judete/CJ/autorizatii/serie?categorie=comert
{
"data": {
"entitate": "Cluj",
"categorie": "comert",
"sursa": "INS (autorizaţii de construire)",
"serie": [
{
"an": 2009,
"numar": 22,
"mp_utili": 53127
}
]
},
"meta": {
"actualizat": {
"somaj": "2026-09-14",
"autorizatii": "2026-04-01"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/judete/AB/autorizatii/serie
{
"data": {
"entitate": "Alba",
"categorie": "rezidentiale",
"sursa": "INS (autorizaţii de construire)",
"serie": [
{
"an": 2002,
"numar": 326,
"mp_utili": 64518
}
]
},
"meta": {
"actualizat": {
"somaj": "2026-09-14",
"autorizatii": "2026-04-01"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/judete/B/autorizatii/serie
{
"data": {
"entitate": "București",
"categorie": "rezidentiale",
"sursa": "INS (autorizaţii de construire)",
"serie": [
{
"an": 2002,
"numar": 1020,
"mp_utili": 311566
}
]
},
"meta": {
"actualizat": {
"somaj": "2026-09-14",
"autorizatii": "2026-04-01"
}
}
}
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. |
| 404 | negasit | The county or the category does not exist. |
| 422 | validare | An inverted window, or a year outside the range. |
| 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": "An inverted window, or a year outside the range.",
"detalii": {
"cod": [
"The value sent does not satisfy the parameter rule."
]
}
}
}