Business v1 / Persoane
People with many companies
The people linked to a large number of companies, in descending order. It is not an accusation: professional directors and insolvency practitioners legitimately appear here.
GET
https://oneapi.ro/api/business/v1/persoane/multi-firme
Query parameters
NameTypeDescriptionAccepted values
minoptional
integer | null
Minimum number of companies per person; defaults to 10, lowest accepted is 2.
1
How it behaves
- A name alone identifies nobody, and the register does not publish the national ID number. That is why every person carries an
identificator(a UUID derived from name + county of birth + date of birth) and ajudet_nastere. The date of birth is neither stored nor exposed — it only feeds the identifier. Where the register gives no date of birth (13% of mentions, mostly corporate liquidators), the person stays distinct at each company, so that no link is invented. - How we identify a person: by name + county of birth + date of birth, hashed into a fingerprint. The birth data is stored nowhere and never appears in the API; the fingerprint only separates people who share a name. Until 18 Sep 2026 identity was 'name + county', and the Trade Register leaves the county empty for 99.3% of representatives: every namesake in the country collapsed into one person, and companies with no real connection showed up as related (68% of the graph edges). Where the register has no date of birth (13% of mentions, mostly corporate liquidators), the person stays distinct at each company: we would rather lose a real link than invent one.
- People linked to a large number of companies — "serial" administrators, points of interest for network analysis. Note that deduplicated namesakes can artificially inflate the count.
What it is for
- Identifying serial administrators, useful starting points for investigations.
- A risk signal for compliance teams.
- Feeding a network-analysis dashboard with the densest nodes.
Response structure
All fields below live inside data.
FieldTypeDescription
prag_minim
integer
The minimum threshold applied when filtering.
persoane[].id
integer
The internal identifier.
persoane[].nume
string
The name.
persoane[].nr_firme
integer
The number of companies.
persoane[].identificator
string
The person's stable identifier (UUID), derived from name + county of birth + date of birth. Unlike
id, it does not change on reimport. Use it to tell whether the administrator of two companies is the same person or two namesakes.
persoane[].judet_nastere
string
The county of birth, as published by the register. Together with
identificator, it tells namesakes apart when displaying them.
Response examples
GEThttps://oneapi.ro/api/business/v1/persoane/multi-firme?min=5
{
"data": {
"prag_minim": 5,
"persoane": [
{
"id": 14400593,
"identificator": "1a316a50-157a-5cc5-a545-86f333631344",
"nume": "BERNEANU NICOLETA - SOFIA",
"judet_nastere": "Bucureşti",
"nr_firme": 1878
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/persoane/multi-firme?min=20
{
"data": {
"prag_minim": 20,
"persoane": [
{
"id": 14400593,
"identificator": "1a316a50-157a-5cc5-a545-86f333631344",
"nume": "BERNEANU NICOLETA - SOFIA",
"judet_nastere": "Bucureşti",
"nr_firme": 1878
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/persoane/multi-firme?min=100
{
"data": {
"prag_minim": 100,
"persoane": [
{
"id": 14400593,
"identificator": "1a316a50-157a-5cc5-a545-86f333631344",
"nume": "BERNEANU NICOLETA - SOFIA",
"judet_nastere": "Bucureşti",
"nr_firme": 1878
}
]
}
}
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. |
| 422 | validare | An undeclared parameter or a value that fails validation (min). The offending field is in detalii. |
| 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 undeclared parameter or a value that fails validation (min). The offending field is in detalii.",
"detalii": {
"min": [
"The value sent does not satisfy the parameter rule."
]
}
}
}