oneapi
Sign in
Locations v1 / Șomaj & construcții

Permit categories

The code list of categories, each with the range of years in which it is published — this is where the 2009 break shows, when INS split alte_agregat into alte, comert and hoteluri.

GET
https://oneapi.ro/api/locations/v1/statistici/autorizatii/categorii

Query parameters

This route accepts no query parameters.

How it behaves

  • A code list read from the data, not from a fixed list in the code — if the source adds a category, it appears here.
  • ⚠️ The 2009 break. Until 2008, INS published a single bucket, alte_agregat; from 2009 it split it into alte, comert and hoteluri. The two periods never overlap, so a continuous series for „other" means alte_agregat up to 2008 and alte after.

What it is for

  • Populating a category dropdown before requesting a series.
  • Learning a category's real range, so you do not ask for years in which it was not published.
  • Explaining in a report why a comert series only begins in 2009.

Response structure

FieldTypeDescription
data.categorii[].categorie string The key to use for the categorie parameter.
data.categorii[].primul_an integer The first year the source publishes this category.
data.categorii[].ultimul_an integer The last year published.
meta.actualizat object Prospețimea datelor pe domenii (dată ISO 8601).

Response examples

GEThttps://oneapi.ro/api/locations/v1/statistici/autorizatii/categorii
{
    "data": {
        "categorii": [
            {
                "categorie": "administrative",
                "primul_an": 2002,
                "ultimul_an": 2025
            }
        ]
    },
    "meta": {
        "actualizat": {
            "somaj": "2026-09-14",
            "autorizatii": "2026-04-01"
        }
    }
}

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."
    }
}