oneapi
Sign in
Business v1 / Firme

Status history

Which statuses the company has been through — operating, dissolution, insolvency, struck off — and between which dates each appears in the register.

GET
https://oneapi.ro/api/business/v1/firme/{cui}/istoric/stari

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 history is built from archived Trade Register snapshots, from May 2020 onwards. A company can hold several statuses at once (for instance funcțiune and an expired registered-office validity).
  • ⚠️ These are observations, not events. The Trade Register does not publish when a status changed, only the status on the day of the snapshot. "Seen from 2023-01-07" means the status appeared between the previous snapshot and that one — snapshots are about three months apart until 2025, monthly afterwards.

What it is for

  • Checking whether a partner has been in insolvency or dissolution before.
  • Reconstructing when a company was struck off or reactivated.
  • Risk signals for your own scoring: how often the company changes status.

Response structure

All fields below live inside data[].

FieldTypeDescription
stare.cod string The status code, from the Trade Register nomenclature.
stare.denumire string The status in plain words: funcțiune (operating), radiată (struck off), dizolvare…
stare.categorie string The status category: activa, radiata, insolventa, dizolvata, suspendata, alta.
vazut_de_la string The first Trade Register snapshot in which the company carries this status.
vazut_pana_la string | null The last snapshot it still appears in; null if it still holds.
in_vigoare boolean true if the status appears in the most recent snapshot processed.

Response examples

GEThttps://oneapi.ro/api/business/v1/firme/14399840/istoric/stari
{
    "data": [
        {
            "stare": {
                "cod": "2065",
                "denumire": "mandat administratori expirat",
                "categorie": "alta"
            },
            "vazut_de_la": "2026-04-03",
            "vazut_pana_la": "2026-04-03",
            "in_vigoare": false
        }
    ]
}

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.
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": {
            "cui": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}