Business v1 / Nomenclatoare
CAEN equivalences
Translates a CAEN code from one edition to another — 1998, 2003 (Rev.1), 2008 (Rev.2), 2025 (Rev.3) — saying each time where the equivalence comes from.
GET
https://oneapi.ro/api/business/v1/caen/{cod}/echivalent
Path parameters
NameTypeDescriptionExample
codrequired
string
NACE Rev. 2 (CAEN) code, four digits (e.g.
6201).
Query parameters
NameTypeDescriptionAccepted values
versiuneoptional
string | null
The edition the given code is in:
0, 1, 2 or 3. Defaults to 3.
0123
catreoptional
string | null
The edition you want the equivalences in:
0, 1, 2 or 3. Defaults to the other one of Rev.2 and Rev.3.
0123
How it behaves
- The editions are
0(1998),1(2003, Rev.1),2(2008, Rev.2) and3(2025, Rev.3).versiunesays which edition the given code is in,catrewhich edition you want it in; withoutcatre, the answer moves between Rev.2 and Rev.3, as before. - INS only publishes tables between neighbouring editions (2003 → 2008 and 2008 → 2025). A longer jump is obtained by chaining them, and the result is marked
sursa: compus— useful, but not guaranteed by the source. On a single step,sursaisoficialandtip_relatiesays whether it is1:1,1:n,n:1orn:m. - ⚠️ The tables only contain codes that changed. 362 Rev.2 codes are absent from the Rev.3 correspondence because they stayed identical — read as "no equivalent", that would cut a third of the nomenclature. When the table is silent, the route looks for the same code in the target edition and marks it
sursa: cod_identic,tip_relatie: neschimbat. - ⚠️ The 1998 edition has no correspondence table at INS. For it the answer can only rest on the identical code (747 of 849 codes are found in 2003), never on an official correspondence.
What it is for
- Migrating a dataset from CAEN Rev.2 to Rev.3.
- Comparing historical series that use different editions.
- Translating the code in an old contract into the current nomenclature.
Response structure
All fields below live inside data.
FieldTypeDescription
din
string
The CAEN edition you start from.
catre
string
The CAEN edition the code was translated into.
echivalente[]
array
The equivalent codes in the target edition.
echivalente[].cod
string
The equivalent code.
echivalente[].denumire
string
Its label in the target edition.
echivalente[].tip_relatie
string | null
How the two codes relate:
1:1, 1:n, n:1, n:m or neschimbat (unchanged). It comes from the INS table, so it is filled in only when the translation took a single step.
echivalente[].sursa
string
oficial — from the INS correspondence table; compus — obtained by chaining two tables (2003 → 2008 → 2025), which INS does not guarantee together; cod_identic — the tables are silent, but the same code exists in the target edition.
Response examples
GEThttps://oneapi.ro/api/business/v1/caen/4711/echivalent?versiune=2
{
"data": {
"din": "CAEN Rev.2",
"catre": "CAEN Rev.3",
"echivalente": [
{
"cod": "4711",
"denumire": "Comerț cu amănuntul nespecializat, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"tip_relatie": "n:m",
"sursa": "oficial"
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/caen/5211/echivalent?versiune=1&catre=2
{
"data": {
"din": "CAEN Rev.1",
"catre": "CAEN Rev.2",
"echivalente": [
{
"cod": "4711",
"denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"tip_relatie": "1: 1",
"sursa": "oficial"
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/caen/5211/echivalent?versiune=1&catre=3
{
"data": {
"din": "CAEN Rev.1",
"catre": "CAEN Rev.3",
"echivalente": [
{
"cod": "4711",
"denumire": "Comerț cu amănuntul nespecializat, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"tip_relatie": null,
"sursa": "compus"
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/caen/582/echivalent
{
"data": {
"din": "CAEN Rev.3",
"catre": "CAEN Rev.2",
"echivalente": [
{
"cod": "582",
"denumire": "Activități de editare a produselor software",
"tip_relatie": "neschimbat",
"sursa": "cod_identic"
}
]
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 404 | negasit | The CAEN code [{cod}] does not exist in edition [{versiune}]. The edition is chosen with versiune (0, 1, 2 or 3). |
| 422 | validare | An undeclared parameter or a value that fails validation (versiune, catre). The offending field is in detalii. |
| 429 | cota_depasita | The 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 (versiune, catre). The offending field is in detalii.",
"detalii": {
"cod": [
"The value sent does not satisfy the parameter rule."
]
}
}
}