Business v1 / Firme
Representative history
The administrators, liquidators and other representatives of the company over time, with the period they appear in the register.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/istoric/reprezentanti
Path parameters
NameTypeDescriptionExample
cuirequired
string
The company tax identification number, without the
RO prefix (e.g. 6719278).
Query parameters
This route accepts no query parameters.
How it behaves
- The source only publishes representatives from November 2025, so this history starts there, not in 2020 as the status history does.
- ⚠️ Coverage only becomes complete from 2 March 2026. Between November 2025 and February 2026 the Trade Register published a small file (700,000 links, mostly liquidators); from March 2026 it holds 2.9 million. An administrator showing
vazut_de_la2026-03-02 was most likely in office before that — they simply were not published. - ⚠️ The periods are observations, as with statuses: the date is the snapshot date, not the date of the decision.
- Only the name, capacity and locality from the register are kept. The birth data published by the Trade Register is neither read nor stored.
What it is for
- Who was running the company on the date of a contract or an invoice.
- Management changes in a company, as a risk-analysis signal.
- The link between a person and the companies they ran in the past.
Response structure
FieldTypeDescription
data[].identificator
string
The person's stable identifier (UUID), the same as in
/firme/{cui}/persoane: it tells whether this is the same person or a namesake.
data[].judet_nastere
string | null
The county of birth, from the person nomenclature.
data[].persoana_id
integer | null
The person id in our own nomenclature, where they still appear today;
null if they are no longer linked to any company.
data[].nume
string
The name, as written in the register.
data[].calitate
string
The capacity:
administrator, lichidator (liquidator), reprezentant al persoanei juridice…
data[].judet
string | null
The county from the person address, where the register publishes it.
data[].localitate
string | null
The locality from the person address, where the register publishes it.
data[].sursa
string
The Trade Register file it comes from:
onrc:reprezentanti_legali or onrc:reprezentanti_if (family businesses).
data[].vazut_de_la
string
The first snapshot in which the person appears in this capacity at the company.
data[].vazut_pana_la
string | null
The last snapshot they still appear in;
null if still in office.
data[].in_functie
boolean
true if they appear in the most recent snapshot processed.
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/firme/14399840/istoric/reprezentanti
{
"data": [
{
"persoana_id": 17035225,
"identificator": "c7ea7348-e5eb-5c10-8858-1414e23157e2",
"nume": "VAID HELEN",
"judet_nastere": null,
"calitate": "administrator",
"judet": null,
"localitate": null,
"sursa": "onrc:reprezentanti_legali",
"vazut_de_la": "2026-09-02",
"vazut_pana_la": null,
"in_functie": true
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 8,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/6719278/istoric/reprezentanti
{
"data": [
{
"persoana_id": 16325431,
"identificator": "7b151a5c-f20a-5b5e-b176-83b49aae6425",
"nume": "PIESVAUX XAVIER DOMINIQUE",
"judet_nastere": null,
"calitate": "administrator",
"judet": null,
"localitate": null,
"sursa": "onrc:reprezentanti_legali",
"vazut_de_la": "2026-04-03",
"vazut_pana_la": null,
"in_functie": true
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 5,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/2054341/istoric/reprezentanti
{
"data": [
{
"persoana_id": 14191425,
"identificator": "28f58969-c336-575b-9b09-e398e45a5a70",
"nume": "ALGESO ADMIN S.R.L.",
"judet_nastere": null,
"calitate": "administrator",
"judet": "Neamţ",
"localitate": "Roman",
"sursa": "onrc:reprezentanti_legali",
"vazut_de_la": "2026-03-02",
"vazut_pana_la": null,
"in_functie": true
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 3,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/24890577/istoric/reprezentanti
{
"data": [
{
"persoana_id": 15639793,
"identificator": "d7139e42-9aac-5faa-9e15-ae2155e89da8",
"nume": "IZSÓ CSABA",
"judet_nastere": "Harghita",
"calitate": "administrator",
"judet": null,
"localitate": null,
"sursa": "onrc:reprezentanti_legali",
"vazut_de_la": "2026-03-02",
"vazut_pana_la": null,
"in_functie": true
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 1,
"pagini": 1
}
}
}
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. |
| 404 | negasit | The company with tax ID [{cui}] was not found. |
| 422 | validare | An undeclared parameter, apart from pagination and lang. |
| 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, apart from pagination and lang.",
"detalii": {
"cui": [
"The value sent does not satisfy the parameter rule."
]
}
}
}