oneapi
Sign in
Business v1 / Persoane

A person's companies

Every company the person appears in (as director, shareholder, liquidator and so on), with their role. Paginated.

GET
https://oneapi.ro/api/business/v1/persoane/{id}/firme

Path parameters

NameTypeDescriptionExample
idrequired string Internal identifier of the person — obtained from search responses; it is not a personal numeric code.

Query parameters

This route accepts no query parameters.

How it behaves

  • "Has none" is an answer, not an error. When the entity exists but the list is empty, the response is 200 with an empty list. 404 only means the entity in the path does not exist.
  • The companies the person appears in, with the role in each (administrator, associate), paginated.

What it is for

  • Tracing an administrator's portfolio, with their role in each company.
  • Checking a potential conflict of interest in public procurement.
  • Building a person's risk profile from the companies they run.

Response structure

FieldTypeDescription
data[].cui integer The tax ID.
data[].denumire string | null The name.
data[].forma_juridica string | null Legal form (SRL, SA, PFA…).
data[].stare string | null The company status, as an object: denumire is the raw ONRC text (107 distinct values in use), categorie is our classification into 7 buckets — activa, suspendata, dizolvata, lichidare, radiata, insolventa, alta — which is what you filter or group by. cod is the ONRC code of the status.
data[].judet string | null The county.
data[].localitate string | null The locality.
data[].rol string | null The role held (director, shareholder…).
meta.paginare.pagina integer Pagina curentă.
meta.paginare.per_pagina integer Rezultate pe pagină.
meta.paginare.total integer Total rezultate.
meta.paginare.pagini integer Număr de pagini.

Response examples

GEThttps://oneapi.ro/api/business/v1/persoane/1a316a50-157a-5cc5-a545-86f333631344/firme
{
    "data": [
        {
            "cui": 15733964,
            "denumire": "1WAY AUTO RENT SRL",
            "forma_juridica": "SRL",
            "stare": {
                "cod": "1084",
                "denumire": "radiată",
                "categorie": "radiata"
            },
            "judet": "Ilfov",
            "localitate": "Dragomirești-Vale",
            "rol": "reprezentant al persoanei juridice"
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 1878,
            "pagini": 94
        }
    }
}

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 person [{id}] was not found.
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.",
        "detalii": {
            "id": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}