Business v1 / Firme
Kohesio projects
The cohesion projects where the company is a beneficiary, as published by the European Commission: the budget in euro, the fund, the programme and the period. The link to the company is made through the beneficiary name, and meta.legatura states how certain it is.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/kohesio
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
- The projects where the company is a beneficiary, according to the European Commission Kohesio platform. Amounts are in EURO and at PROJECT level, not contract level — a different unit than at
/firme/{cui}/fonduri. - The order is by start date, descending; projects without a date come LAST.
- ⚠️ The link to the company does NOT come from the source: Kohesio publishes no tax ID, so beneficiaries are linked to a tax ID by NAME.
meta.legaturastates, for each beneficiary, how certain the match is —exact(identical name, unique in the company register),probabil(close, confirmed by location) ormanual(verified by a human). Read it before treating the list as a fact. - ⚠️ The source holds DUPLICATE entities: the same institution can appear twice, with different spellings of the name (CNAIR is both
Q7387008andQ3117516). That is whymeta.legaturais a LIST, and the projects are gathered from every duplicate linked to the same tax ID. - ⚠️ It overlaps with
/firme/{cui}/fonduri: the same 2014–2023 programmes, different sources. Do not add the two together without deduplication — the same money would be counted twice. - Unlinked companies answer with
200and zero projects, not404: the company exists, it just has no (or could not be linked to any) Kohesio project. Out of 12,124 beneficiaries, 9,377 are linked to a company (77.3%).
What it is for
- Checking what the company received from cohesion funds, as the Commission reports it.
- State-aid cumulation rules, on the European source — not only the national one.
- Comparing the European figures with the national ones at
/firme/{cui}/fonduri, for the same company.
Response structure
FieldTypeDescription
data[].kohesio_id
string
The project identifier in Kohesio (Q…); the detail is at
/fonduri/kohesio/{id}.
data[].titlu
string | null
The project title.
data[].beneficiari[].nume
string
The beneficiary name, as Kohesio publishes it.
data[].beneficiari[].kohesio_id
string | null
The beneficiary identifier in Kohesio (Q…).
data[].buget_eur
number | null
The total project budget, in euro.
data[].buget_ue_eur
number | null
The share funded from EU funds, in euro.
data[].fond
string | null
The fund (ERDF, ESF, Cohesion Fund…).
data[].program
string | null
The operational programme.
data[].regiune
string | null
The region, in Kohesio vocabulary (rarely filled in).
data[].data_inceput
string | null
The start date.
data[].data_sfarsit
string | null
The end date.
data[].lat
number | null
The latitude (WGS84).
data[].lng
number | null
The longitude (WGS84).
meta.paginare.pagina
integer
Pagina curentă.
meta.paginare.per_pagina
integer
Rezultate pe pagină.
meta.paginare.total
integer
Total rezultate.
meta.paginare.pagini
integer
Număr de pagini.
meta.legatura[].kohesio_id
The Kohesio beneficiary through which the projects were reached.
meta.legatura[].nume
The beneficiary name at the source — the form the match was made on.
meta.legatura[].potrivire
How certain the link to the company is:
exact, probabil or manual.
meta.legatura[].nr_proiecte
How many projects the beneficiary has, according to Kohesio.
meta.legatura[].buget_eur
The beneficiary total budget, in euro.
meta.legatura[].buget_ue_eur
The EU share of the beneficiary budget, in euro.
Response examples
GEThttps://oneapi.ro/api/business/v1/firme/%7Bcui%7D/kohesio
{
"data": "string"
}
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 company with tax ID [{cui}] was not found. |
| 422 | validare | The route takes no parameters other than pagination and lang: any other parameter returns 422, it is not ignored. |
| 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": "The route takes no parameters other than pagination and lang: any other parameter returns 422, it is not ignored.",
"detalii": {
"cui": [
"The value sent does not satisfy the parameter rule."
]
}
}
}