oneapi
Sign in
Business v1 / Firme

Budget debts

The company's debts to the general budget (from the ANAF register), broken down by type of obligation.

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

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

  • "Has none" is an answer, not an error. When the company exists but has nothing the route asks for, the response is 200 with data: null and the reason in meta.fara_date. 404 only means the company (tax ID) does not exist — that way you can tell the two apart and cache the negative answer.
  • The company's debts to the state budget, from the public ANAF debtor lists. A company's absence from the list does not guarantee it has no debts — only what appears in the source is published.

What it is for

  • A risk check before granting payment terms.
  • Triaging a customer portfolio by exposure to the state budget.
  • Monitoring partners: an alert when they appear on public debtor lists.

Response structure

FieldTypeDescription
data.valabil_de_la string | null Since when the reported situation is valid.
data.datorii.segment string The taxpayer segment ANAF reports on (large, medium, the rest).
data.datorii.obligatii.stat.accesorii integer Accessories (interest, penalties) to the state budget.
data.datorii.obligatii.stat.contestate integer Amounts contested against the state budget.
data.datorii.obligatii.stat.principale integer Principal debt to the state budget.
data.datorii.obligatii.somaj.accesorii integer Accessories to the unemployment fund.
data.datorii.obligatii.somaj.contestate integer Amounts contested against the unemployment fund.
data.datorii.obligatii.somaj.principale integer Principal debt to the unemployment fund.
data.datorii.obligatii.sanatate.accesorii integer Accessories to the health fund.
data.datorii.obligatii.sanatate.contestate integer Amounts contested against the health fund.
data.datorii.obligatii.sanatate.principale integer Principal debt to the health fund.
data.datorii.obligatii.asig_sociale.accesorii integer Accessories to social insurance.
data.datorii.obligatii.asig_sociale.contestate integer Amounts contested against social insurance.
data.datorii.obligatii.asig_sociale.principale integer Principal debt to social insurance.
data.datorii.total_datorii integer Total debts, in RON.
meta.fara_date string Only when the response is empty: why there is no data (for instance "Firma nu are cod LEI înregistrat la GLEIF."). Absent when data is filled in.
meta.fara_date_cod string The short, STABLE word for the reason, for clients that branch on it in code: fara_date is prose and may be rephrased, this is not.

Response examples

GEThttps://oneapi.ro/api/business/v1/firme/6719278/datorii
{
    "data": {
        "valabil_de_la": null,
        "datorii": {
            "segment": "mari",
            "obligatii": {
                "stat": {
                    "accesorii": 0,
                    "contestate": 24569530,
                    "principale": 24569530
                },
                "somaj": {
                    "accesorii": 0,
                    "contestate": 0,
                    "principale": 0
                },
                "sanatate": {
                    "accesorii": 0,
                    "contestate": 0,
                    "principale": 0
                },
                "asig_sociale": {
                    "accesorii": 0,
                    "contestate": 0,
                    "principale": 0
                }
            },
            "total_datorii": 24569530
        }
    }
}

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."
            ]
        }
    }
}