oneapi
Sign in
Locations v1 / ServiciiSociale

Social services of an administrative unit

The accredited social service providers in the unit, by service type and setting: centres for the elderly, for children, canteens, home care.

GET
https://oneapi.ro/api/locations/v1/uat/{cod}/servicii-sociale

Path parameters

NameTypeDescriptionExample
codrequired string SIRUTA code of the administrative-territorial unit (e.g. 54975 for Cluj-Napoca).

Query parameters

NameTypeDescriptionAccepted values
per_paginaoptional text How many providers the list returns (50 by default, 200 at most). The summary stays complete. e.g. 50
paginaoptional text The page, counted from 1. e.g. 1

How it behaves

  • The source is the register of providers accredited under Law 197/2012 (Ministry of Labour), imported in Business.
  • These are PROVIDERS, by their registered address — not services available in the territory. A provider registered here may operate elsewhere, and one from another county may operate here. The distinction matters: someone looking for social assistance must not read this list as a map of services.
  • The register holds the address mostly at unit level (3,729 of 4,037 entries), which is why this route exists ONLY at unit level. A locality-level route would return nearly empty lists in most cases — a partial answer that looks complete. The query nevertheless covers both forms: providers held against the unit's code and those held against a locality within it.
  • tip_furnizor_cod is the RAW code from the register. The Ministry does not publish its legend alongside the list, and a label invented by us would be exactly that — an invention — so we pass it through as is. It remains useful for grouping.
  • localitate appears only when the register supplied a locality code; otherwise you get localitate_declarata, the register's own text, unresolved against the nomenclature.

What it is for

  • Seeing which accredited social service providers are registered in a commune or town.
  • Checking that a provider's accreditation is in order, with the certificate series and date.
  • Comparing provider density between units, as a signal of social coverage.

Response structure

FieldTypeDescription
data.uat.cod_siruta integer SIRUTA code of the territorial unit.
data.uat.nume string The name, exactly as the source publishes it.
data.uat.tip string The type of unit (municipality/town/commune).
data.judet.cod_siruta integer SIRUTA code of the territorial unit.
data.judet.nume string The name, exactly as the source publishes it.
data.judet.cod_auto string Vehicle registration prefix of the county.
data.sumar.total integer The number of providers registered in the unit.
data.pe_tip[] array Breakdown by the register's type code [{cod, nr}] — a raw code, with no official label.
data.pe_tip[].cod string Code from the source code list — the key you filter on.
data.pe_tip[].nr integer Number of items in this group.
data.pe_mediu object Urban/rural breakdown, by the declared area.
data.pe_mediu.urban integer
data.furnizori[] array The paginated list: {denumire, cui?, tip_furnizor_cod, certificat, nr_decizie, data_acreditare, adresa?, mediu, localitate? | localitate_declarata?}.
data.furnizori[].denumire string The name, exactly as the source publishes it.
data.furnizori[].cui integer Tax identification number, without the RO prefix.
data.furnizori[].tip_furnizor_cod string
data.furnizori[].certificat string
data.furnizori[].nr_decizie string
data.furnizori[].data_acreditare string
data.furnizori[].adresa string The address, in the form published by the source.
data.furnizori[].mediu string Area of residence (urban or rural).
data.furnizori[].localitate_declarata string
meta.paginare.pagina integer Current page, counted from 1.
meta.paginare.per_pagina integer How many records a page holds.
meta.paginare.total integer Total matching records, beyond the current page.
meta.paginare.pagini integer How many pages the list has.

Response examples

GEThttps://oneapi.ro/api/locations/v1/uat/54975/servicii-sociale
{
    "data": {
        "uat": {
            "cod_siruta": 54975,
            "nume": "Cluj-Napoca",
            "tip": "municipiu"
        },
        "judet": {
            "cod_siruta": 127,
            "nume": "Cluj",
            "cod_auto": "CJ"
        },
        "sumar": {
            "total": 78
        },
        "pe_tip": [
            {
                "cod": "4",
                "nr": 65
            }
        ],
        "pe_mediu": {
            "urban": 78
        },
        "furnizori": [
            {
                "denumire": "Arhiepiscopia Vadului, Feleacului şi Clujului",
                "cui": 4547095,
                "tip_furnizor_cod": "5",
                "certificat": "AF/000626",
                "nr_decizie": "243",
                "data_acreditare": "15.04.2014",
                "adresa": "Piaţa Avram Iancu nr. 18",
                "mediu": "urban",
                "localitate_declarata": "Cluj-Napoca"
            }
        ]
    },
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 50,
            "total": 78,
            "pagini": 2
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
404negasitNo administrative unit exists for the given SIRUTA code.
422validareA parameter failed validation (per_pagina, pagina); detalii says which and why.
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": "A parameter failed validation (per_pagina, pagina); detalii says which and why.",
        "detalii": {
            "cod": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}