oneapi
Sign in
Business v1 / Firme

Modified companies

The change feed: what changed about companies over an interval, field by field and with the source that brought the change (trade register or tax authority). For keeping your own copy current without reloading everything.

GET
https://oneapi.ro/api/business/v1/firme/modificate

Query parameters

NameTypeDescriptionAccepted values
de_laoptional string | null The date from which changes were recorded, YYYY-MM-DD. e.g. 2026-09-01
sursaoptional string | null Optional: toate (all, the default), onrc or anaf. toateonrcanaf

How it behaves

  • The changes since a date, one row per change — useful for incremental syncs (fetch only what changed since the last run). Both sources come by default: the ONRC register (office, name, new companies) and the ANAF tax status (VAT registration or cancellation, inactivation, reactivation) — the tax changes are the ones watched daily.
  • The dates do not mean the same thing. For ONRC, la is the day we observed the change; for ANAF, it is the effective date of the transition, which ANAF sometimes publishes late. A sync on ANAF should ask for de_la with a margin (for instance the last run minus 30 days), otherwise it misses transitions published retroactively.
  • total counts the changes, exactly the paginated rows; a company with three changes appears three times.

What it is for

  • Incremental sync: pull only what changed since the last run.
  • Portfolio alerts when a client changes headquarters or name.
  • Cutting refresh cost, without re-reading the whole database.

Response structure

FieldTypeDescription
data[] array The response payload.
data[].cui integer The tax ID.
data[].denumire string The name.
data[].camp string What changed. ONRC: aparitie (a new company in the register), sediu (registered office), denumire (name). ANAF: tva_inregistrare (VAT registration), tva_anulare (VAT cancellation), inactivare, reactivare.
data[].la string For ONRC, the day the change was observed in the register; for ANAF, the effective date of the transition.
data[].sursa string onrc or anaf.
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/modificate?de_la=2026-09-01
{
    "data": [
        {
            "cui": 6736899,
            "denumire": "CMC CANTERO SRL",
            "camp": "inactivare",
            "la": "2026-10-06",
            "sursa": "anaf"
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 61234,
            "pagini": 3062
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareAn undeclared parameter or a value that fails validation (de_la, sursa). The offending field is in detalii.
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 or a value that fails validation (de_la, sursa). The offending field is in detalii.",
        "detalii": {
            "de_la": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}