oneapi
Sign in
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_la 2026-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
        }
    }
}

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 company with tax ID [{cui}] was not found.
422validareAn undeclared parameter, apart from pagination and lang.
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, apart from pagination and lang.",
        "detalii": {
            "cui": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}