oneapi
Sign in
Anaf v1 / Declarații D

Nomenclatures

The values accepted by the closed-list fields in returns, straight from the nomenclature used at build time — so you do not have to guess them from a validation message.

GET
https://oneapi.ro/api/anaf/v1/declaratii/codes/{nomenclator}

Path parameters

NameTypeDescriptionExample
nomenclatorrequired string Name of the code list requested (units of measure, countries, operation types…).

Query parameters

This route accepts no query parameters.

How it behaves

  • Returns a nomenclature used in declarations (e.g. tip_operatiune — the intra-community operation types in D390).

What it is for

  • Populating a form with the valid values.

Response structure

FieldTypeDescription
data.nomenclator string The name of the requested nomenclature.
data.valori object The code → name pairs.
data.valori.L string
data.valori.T string
data.valori.A string
data.valori.P string
data.valori.S string
data.valori.R string
meta.generat_la string When the response was built (ISO 8601).

Response examples

GEThttps://oneapi.ro/api/anaf/v1/declaratii/codes/tip_operatiune
{
    "data": {
        "nomenclator": "tip_operatiune",
        "valori": {
            "L": "Livrări intracomunitare de bunuri",
            "T": "Livrări în cadrul unei operațiuni triunghiulare",
            "A": "Achiziții intracomunitare de bunuri",
            "P": "Prestări intracomunitare de servicii",
            "S": "Achiziții intracomunitare de servicii",
            "R": "Livrări intracomunitare de bunuri — regim special agricultori"
        }
    },
    "meta": {
        "generat_la": "2026-10-06T23: 59: 41+03: 00"
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403modul_interzisThe token has no access to the route's module.
404negasitUnknown nomenclature.
429cota_depasitaThe plan's monthly quota has been exceeded (see Retry-After).

Errors in the Anaf module use the same envelope as the rest of the platform, with two extra fields: {eroare: {cod, mesaj, camp, request_id}}. eroare.cod is stable and is what you branch on; on validation (422) the code is case-specific: xml_invalid, xml_nu_e_factura, unitate_necunoscuta, luna_invalida and so on. camp points at the offending field when one can be identified.

{
    "eroare": {
        "cod": "negasit",
        "mesaj": "Unknown nomenclature.",
        "camp": "nomenclator",
        "request_id": "0199c1f0-6e1a-7c3d-9b2f-4a8e5d1c7b04"
    }
}