oneapi
Sign in
Business v1 / Nomenclatoare

A register (global)

Every entry in a public register, across the whole base — not just for one company. Each entry carries the confidence of the name-to-tax-ID match, because registers publish names, not tax IDs.

GET
https://oneapi.ro/api/business/v1/registre/{key}

Path parameters

NameTypeDescriptionExample
keyrequired string Key of the sectoral register (ansvsa, ong, anmcs…). The full list is at /api/business/v1/registre.

Query parameters

NameTypeDescriptionAccepted values
judetoptional string | null Optional. The county licence-plate code (CJ) or its name. max 40 car.
uatoptional integer | null Optional. The SIRUTA code of the administrative unit. 1
localitateoptional integer | null Optional. The SIRUTA code of the locality. 1

How it behaves

  • The entries of a specific register across all companies (not just for one company), paginated. Take the register key from the list at /registre.
  • The geographic filters (judet, uat, localitate) work on loc: the location from the register when it publishes one (AFIR, schools and social services give a SIRUTA code — where the project or the unit is), otherwise the seat of the matched company. An entry with neither — no SIRUTA in the register and not matched to a company (cui: null) — drops out of every geographic filter. That is why registers with few matches (ANSVSA, NGOs, TED) return far fewer entries once filtered.
  • AFIR gives the SIRUTA code of the administrative unit, not of the village: there the localitate filter finds nothing and uat is the right one.
  • A filter that cannot be resolved (a misspelt county, a non-existent SIRUTA) returns an empty list, not the whole register.

What it is for

  • Downloading a full authorisation register, paginated.
  • Finding every authorised operator in a field, regardless of company.
  • Building your own database of authorised suppliers.

Response structure

FieldTypeDescription
data[].cui integer The tax ID.
data[].nume string The name.
data[].incredere string How confident the match with the company is.
data[].atribute.judet string The county.
data[].atribute.adresa string The address, from the register raw attributes.
data[].atribute.categorie string The category.
data[].atribute.nr_autorizatie string The authorisation number, from the raw attributes.
data[].loc object Where the entry is, or null when unknown: from the register (a SIRUTA code in the attributes — where the activity takes place), otherwise the seat of the matched company.
data[].loc.judet string The county licence-plate code.
data[].loc.uat object The administrative unit {cod_siruta, nume}.
data[].loc.localitate object The locality {cod_siruta, nume}; null when the register only gives the administrative unit.
data[].loc.din string registru or sediu_firma — where the location comes from. The two sources are never mixed.
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/business/v1/registre/ansvsa
{
    "data": [
        {
            "cui": 15695879,
            "nume": "Ianoşi Carn SRL",
            "incredere": "exact",
            "loc": {
                "judet": "AB",
                "uat": {
                    "cod_siruta": 1213,
                    "nume": "Aiud"
                },
                "localitate": {
                    "cod_siruta": 1222,
                    "nume": "Aiud"
                },
                "din": "adresa"
            },
            "atribute": {
                "judet": "alba",
                "adresa": "Aiud, str.Grădinii,nr.1",
                "categorie": "Carmangerie",
                "nr_autorizatie": "8/15.02.07"
            }
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 451712,
            "pagini": 22586
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
404negasitThe register [{key}] does not exist.
422validareAn undeclared parameter or a value that fails validation (judet, uat, localitate). The offending field is in detalii.
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": "An undeclared parameter or a value that fails validation (judet, uat, localitate). The offending field is in detalii.",
        "detalii": {
            "key": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}