oneapi
Sign in
Business v1 / Firme

Macro context (INS)

The company set next to its sector: the national statistics for its main activity code, so you can tell whether a decline is the company's or the whole industry's.

GET
https://oneapi.ro/api/business/v1/firme/{cui}/context-macro

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 INS sector context for the company's primary CAEN — the same 20+ macro indicators (wages, employment, turnover, investment, foreign trade, environment) as at /sector/{caen}/context, but resolved starting from the company.

What it is for

  • Placing a company's figures next to the macro indicators of its sector.
  • A context chapter in a valuation report, without hunting down the statistics yourself.
  • Comparing the company's trajectory with that of its industry.

Response structure

FieldTypeDescription
data.caen.cod string The code.
data.caen.denumire string The name.
data.caen.versiune string The revision the requested code was read in.
data.caen.nivel string The level of the requested code: sectiune, diviziune, grupa, clasa.
data.caen.diviziune string The division in the hierarchy.
data.caen.sectiune string The section in the CAEN hierarchy.
data.indicatori.salarizare.castig_salarial_net.nume string The name.
data.indicatori.salarizare.castig_salarial_net.valoare integer The indicator value.
data.indicatori.salarizare.castig_salarial_net.um string The unit of measure.
data.indicatori.salarizare.castig_salarial_net.perioada string The reference period of the value.
data.indicatori.salarizare.castig_salarial_net.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.salarizare.castig_salarial_net.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.salarizare.castig_salarial_net.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.salarizare.castig_salarial_net.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.salarizare.castig_salarial_net.sursa string The data source.
data.indicatori.salarizare.castig_salarial_brut.nume string The name.
data.indicatori.salarizare.castig_salarial_brut.valoare integer The indicator value.
data.indicatori.salarizare.castig_salarial_brut.um string The unit of measure.
data.indicatori.salarizare.castig_salarial_brut.perioada string The reference period of the value.
data.indicatori.salarizare.castig_salarial_brut.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.salarizare.castig_salarial_brut.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.salarizare.castig_salarial_brut.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.salarizare.castig_salarial_brut.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.salarizare.castig_salarial_brut.sursa string The data source.
data.indicatori.salarizare.cost_orar_forta_munca.nume string The name.
data.indicatori.salarizare.cost_orar_forta_munca.valoare number The indicator value.
data.indicatori.salarizare.cost_orar_forta_munca.um string The unit of measure.
data.indicatori.salarizare.cost_orar_forta_munca.perioada string The reference period of the value.
data.indicatori.salarizare.cost_orar_forta_munca.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.salarizare.cost_orar_forta_munca.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.salarizare.cost_orar_forta_munca.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.salarizare.cost_orar_forta_munca.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.salarizare.cost_orar_forta_munca.sursa string The data source.
data.indicatori.ocupare.salariati_sector.nume string The name.
data.indicatori.ocupare.salariati_sector.valoare number The indicator value.
data.indicatori.ocupare.salariati_sector.um string The unit of measure.
data.indicatori.ocupare.salariati_sector.perioada string The reference period of the value.
data.indicatori.ocupare.salariati_sector.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.ocupare.salariati_sector.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.ocupare.salariati_sector.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.ocupare.salariati_sector.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.ocupare.salariati_sector.sursa string The data source.
data.indicatori.ocupare.personal_unitati_locale.nume string The name.
data.indicatori.ocupare.personal_unitati_locale.valoare integer The indicator value.
data.indicatori.ocupare.personal_unitati_locale.um string The unit of measure.
data.indicatori.ocupare.personal_unitati_locale.perioada string The reference period of the value.
data.indicatori.ocupare.personal_unitati_locale.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.ocupare.personal_unitati_locale.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.ocupare.personal_unitati_locale.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.ocupare.personal_unitati_locale.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.ocupare.personal_unitati_locale.sursa string The data source.
data.indicatori.ocupare.firme_cu_angajati.nume string The name.
data.indicatori.ocupare.firme_cu_angajati.valoare integer The indicator value.
data.indicatori.ocupare.firme_cu_angajati.um string The unit of measure.
data.indicatori.ocupare.firme_cu_angajati.perioada string The reference period of the value.
data.indicatori.ocupare.firme_cu_angajati.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.ocupare.firme_cu_angajati.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.ocupare.firme_cu_angajati.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.ocupare.firme_cu_angajati.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.ocupare.firme_cu_angajati.sursa string The data source.
data.indicatori.ocupare.rata_locuri_vacante.nume string The name.
data.indicatori.ocupare.rata_locuri_vacante.valoare number The indicator value.
data.indicatori.ocupare.rata_locuri_vacante.um string The unit of measure.
data.indicatori.ocupare.rata_locuri_vacante.perioada string The reference period of the value.
data.indicatori.ocupare.rata_locuri_vacante.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.ocupare.rata_locuri_vacante.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.ocupare.rata_locuri_vacante.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.ocupare.rata_locuri_vacante.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.ocupare.rata_locuri_vacante.sursa string The data source.
data.indicatori.ocupare.accidentati_munca.nume string The name.
data.indicatori.ocupare.accidentati_munca.valoare integer The indicator value.
data.indicatori.ocupare.accidentati_munca.um string The unit of measure.
data.indicatori.ocupare.accidentati_munca.perioada string The reference period of the value.
data.indicatori.ocupare.accidentati_munca.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.ocupare.accidentati_munca.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.ocupare.accidentati_munca.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.ocupare.accidentati_munca.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.ocupare.accidentati_munca.sursa string The data source.
data.indicatori.structura.intreprinderi_active.nume string The name.
data.indicatori.structura.intreprinderi_active.valoare integer The indicator value.
data.indicatori.structura.intreprinderi_active.um string The unit of measure.
data.indicatori.structura.intreprinderi_active.perioada string The reference period of the value.
data.indicatori.structura.intreprinderi_active.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.structura.intreprinderi_active.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.structura.intreprinderi_active.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.structura.intreprinderi_active.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.structura.intreprinderi_active.sursa string The data source.
data.indicatori.structura.cifra_afaceri_sector.nume string The name.
data.indicatori.structura.cifra_afaceri_sector.valoare integer The indicator value.
data.indicatori.structura.cifra_afaceri_sector.um string The unit of measure.
data.indicatori.structura.cifra_afaceri_sector.perioada string The reference period of the value.
data.indicatori.structura.cifra_afaceri_sector.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.structura.cifra_afaceri_sector.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.structura.cifra_afaceri_sector.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.structura.cifra_afaceri_sector.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.structura.cifra_afaceri_sector.sursa string The data source.
data.indicatori.structura.investitii_brute.nume string The name.
data.indicatori.structura.investitii_brute.valoare integer The indicator value.
data.indicatori.structura.investitii_brute.um string The unit of measure.
data.indicatori.structura.investitii_brute.perioada string The reference period of the value.
data.indicatori.structura.investitii_brute.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.structura.investitii_brute.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.structura.investitii_brute.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.structura.investitii_brute.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.structura.investitii_brute.sursa string The data source.
data.indicatori.dinamica.intreprinderi_noi.nume string The name.
data.indicatori.dinamica.intreprinderi_noi.valoare integer The indicator value.
data.indicatori.dinamica.intreprinderi_noi.um string The unit of measure.
data.indicatori.dinamica.intreprinderi_noi.perioada string The reference period of the value.
data.indicatori.dinamica.intreprinderi_noi.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.dinamica.intreprinderi_noi.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.dinamica.intreprinderi_noi.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.dinamica.intreprinderi_noi.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.dinamica.intreprinderi_noi.sursa string The data source.
data.indicatori.dinamica.intreprinderi_desfiintate.nume string The name.
data.indicatori.dinamica.intreprinderi_desfiintate.valoare integer The indicator value.
data.indicatori.dinamica.intreprinderi_desfiintate.um string The unit of measure.
data.indicatori.dinamica.intreprinderi_desfiintate.perioada string The reference period of the value.
data.indicatori.dinamica.intreprinderi_desfiintate.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.dinamica.intreprinderi_desfiintate.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.dinamica.intreprinderi_desfiintate.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.dinamica.intreprinderi_desfiintate.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.dinamica.intreprinderi_desfiintate.sursa string The data source.
data.indicatori.comert_exterior.firme_exportatoare.nume string The name.
data.indicatori.comert_exterior.firme_exportatoare.valoare integer The indicator value.
data.indicatori.comert_exterior.firme_exportatoare.um string The unit of measure.
data.indicatori.comert_exterior.firme_exportatoare.perioada string The reference period of the value.
data.indicatori.comert_exterior.firme_exportatoare.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.comert_exterior.firme_exportatoare.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.comert_exterior.firme_exportatoare.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.comert_exterior.firme_exportatoare.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.comert_exterior.firme_exportatoare.sursa string The data source.
data.indicatori.comert_exterior.valoare_export.nume string The name.
data.indicatori.comert_exterior.valoare_export.valoare number The indicator value.
data.indicatori.comert_exterior.valoare_export.um string The unit of measure.
data.indicatori.comert_exterior.valoare_export.perioada string The reference period of the value.
data.indicatori.comert_exterior.valoare_export.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.comert_exterior.valoare_export.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.comert_exterior.valoare_export.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.comert_exterior.valoare_export.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.comert_exterior.valoare_export.sursa string The data source.
data.indicatori.comert_exterior.firme_importatoare.nume string The name.
data.indicatori.comert_exterior.firme_importatoare.valoare integer The indicator value.
data.indicatori.comert_exterior.firme_importatoare.um string The unit of measure.
data.indicatori.comert_exterior.firme_importatoare.perioada string The reference period of the value.
data.indicatori.comert_exterior.firme_importatoare.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.comert_exterior.firme_importatoare.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.comert_exterior.firme_importatoare.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.comert_exterior.firme_importatoare.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.comert_exterior.firme_importatoare.sursa string The data source.
data.indicatori.mediu.emisii_ges.nume string The name.
data.indicatori.mediu.emisii_ges.valoare number The indicator value.
data.indicatori.mediu.emisii_ges.um string The unit of measure.
data.indicatori.mediu.emisii_ges.perioada string The reference period of the value.
data.indicatori.mediu.emisii_ges.caen string The CAEN code the indicator used — the requested one or its first parent the matrix publishes, in the matrix revision.
data.indicatori.mediu.emisii_ges.nivel string The level of the code used: diviziune, sectiune.
data.indicatori.mediu.emisii_ges.versiune_caen string The CAEN revision of the matrix (Rev.2, Rev.3).
data.indicatori.mediu.emisii_ges.conversie boolean true when the requested code was translated into the matrix revision through the official INS correspondence.
data.indicatori.mediu.emisii_ges.sursa string The data source.
data.matrici[] string The INS TEMPO matrices the indicators come from.
meta.fara_date 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 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/context-macro
{
    "data": {
        "caen": {
            "cod": "4711",
            "denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun",
            "versiune": "Rev.2",
            "nivel": "clasa",
            "diviziune": "47",
            "sectiune": "G"
        },
        "indicatori": {
            "salarizare": {
                "castig_salarial_net": {
                    "nume": "Câștig salarial mediu net lunar",
                    "valoare": 4688,
                    "um": "lei/lună (net)",
                    "perioada": "2026-07-01",
                    "caen": "47",
                    "nivel": "diviziune",
                    "versiune_caen": "Rev.3",
                    "conversie": true,
                    "sursa": "INS TEMPO — FOM106G"
                },
                "castig_salarial_brut": {
                    "nume": "Câștig salarial mediu brut lunar",
                    "valoare": 7723,
                    "um": "lei/lună (brut)",
                    "perioada": "2026-07-01",
                    "caen": "47",
                    "nivel": "diviziune",
                    "versiune_caen": "Rev.3",
                    "conversie": true,
                    "sursa": "INS TEMPO — FOM107G"
                },
                "cost_orar_forta_munca": {
                    "nume": "Costul orar al forței de muncă",
                    "valoare": 41.89,
                    "um": "lei/oră",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — FOM113A"
                }
            },
            "ocupare": {
                "salariati_sector": {
                    "nume": "Efectivul salariaților din sector",
                    "valoare": 471.2,
                    "um": "mii persoane",
                    "perioada": "2026-07-01",
                    "caen": "47",
                    "nivel": "diviziune",
                    "versiune_caen": "Rev.3",
                    "conversie": true,
                    "sursa": "INS TEMPO — FOM105I"
                },
                "personal_unitati_locale": {
                    "nume": "Personalul din unitățile locale active",
                    "valoare": 909344,
                    "um": "persoane",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT102D"
                },
                "firme_cu_angajati": {
                    "nume": "Firme cu cel puțin un angajat",
                    "valoare": 148709,
                    "um": "firme",
                    "perioada": "2023-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT110C"
                },
                "rata_locuri_vacante": {
                    "nume": "Rata locurilor de muncă vacante",
                    "valoare": 0.29,
                    "um": "%",
                    "perioada": "2026-04-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.3",
                    "conversie": true,
                    "sursa": "INS TEMPO — LMV101E"
                },
                "accidentati_munca": {
                    "nume": "Accidentați în muncă pe an",
                    "valoare": 764,
                    "um": "persoane/an",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — ACC102C"
                }
            },
            "structura": {
                "intreprinderi_active": {
                    "nume": "Întreprinderi active în sector",
                    "valoare": 103972,
                    "um": "întreprinderi",
                    "perioada": "2024-01-01",
                    "caen": "47",
                    "nivel": "diviziune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT101P"
                },
                "cifra_afaceri_sector": {
                    "nume": "Cifra de afaceri a sectorului",
                    "valoare": 1081047,
                    "um": "milioane lei",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT104D"
                },
                "investitii_brute": {
                    "nume": "Investiții brute în sector",
                    "valoare": 31831,
                    "um": "milioane lei",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT105D"
                }
            },
            "dinamica": {
                "intreprinderi_noi": {
                    "nume": "Întreprinderi nou create pe an",
                    "valoare": 22756,
                    "um": "întreprinderi/an",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT111A"
                },
                "intreprinderi_desfiintate": {
                    "nume": "Întreprinderi desființate pe an",
                    "valoare": 19514,
                    "um": "întreprinderi/an",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — INT113A"
                }
            },
            "comert_exterior": {
                "firme_exportatoare": {
                    "nume": "Firme exportatoare din sector",
                    "valoare": 11170,
                    "um": "firme",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — EXP101S"
                },
                "valoare_export": {
                    "nume": "Valoarea exporturilor sectorului",
                    "valoare": 12063986.85,
                    "um": "mii EUR",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — EXP101S"
                },
                "firme_importatoare": {
                    "nume": "Firme importatoare din sector",
                    "valoare": 50374,
                    "um": "firme",
                    "perioada": "2024-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — EXP102S"
                }
            },
            "mediu": {
                "emisii_ges": {
                    "nume": "Emisii de gaze cu efect de seră",
                    "valoare": 1855.55,
                    "um": "mii tone CO₂ echiv.",
                    "perioada": "2023-01-01",
                    "caen": "G",
                    "nivel": "sectiune",
                    "versiune_caen": "Rev.2",
                    "conversie": false,
                    "sursa": "INS TEMPO — ECC601A"
                }
            }
        },
        "matrici": [
            "FOM106G",
            "FOM107G",
            "FOM113A",
            "FOM105I",
            "INT102D",
            "INT110C",
            "LMV101E",
            "ACC102C",
            "INT101P",
            "INT104D",
            "INT105D",
            "INT111A",
            "INT113A",
            "EXP101S",
            "EXP102S",
            "ECC601A"
        ]
    }
}

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.
404negasitThe company's CAEN code [{cui}] is not in the nomenclature.
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."
            ]
        }
    }
}