Business v1 / Firme
Bulk validation
Validates a list of tax ids. JSON body: { "cui": [...] } (50 at most). For each one: whether it exists, the name, the status, VAT registration, tax inactivity. Useful for validating billing lists.
POST
https://oneapi.ro/api/business/v1/firme/valideaza
Request body
Sent as JSON in the request body (Content-Type: application/json) — not in the query string.
NameTypeDescriptionAccepted values
cuioptional
array | null
List of tax IDs (max. 50), in the request body.
Două coduri valide
Request body
{
"cui": [
6719278,
14399840
]
}
Valid, necitibil şi inexistent
Request body
{
"cui": [
"RO6719278",
"abc",
"11111111111"
]
}
Coduri inventate şi unul prea scurt
Request body
{
"cui": [
"990000005",
"990000072",
"1"
]
}
Query parameters
This route accepts no query parameters.
How it behaves
- For a list of tax IDs, returns per code: whether it exists, its status, whether it is a VAT payer and whether it is inactive — designed for validating a list before invoicing.
- As with
batch, the method isPOSTfor the privacy of the list.
What it is for
- Validating a customer file before issuing invoices in bulk.
- Cleaning an imported list: which tax IDs exist and which do not.
- Periodically checking VAT status across the whole portfolio in one call.
Response structure
All fields below live inside data.
FieldTypeDescription
rezultate[].cui
integer
The checked tax ID, in the order of the request.
rezultate[].exista
boolean
The tax ID exists in the register.
rezultate[].denumire
string | null
The company name;
null if it does not exist.
rezultate[].stare
string | null
The company status;
null if it does not exist.
rezultate[].platitor_tva
boolean | null
VAT-registered;
null if it does not exist.
rezultate[].inactiv_fiscal
boolean | null
Declared fiscally inactive;
null if it does not exist.
Response examples
body: {"cui": [6719278, 14399840]}
POSThttps://oneapi.ro/api/business/v1/firme/valideaza
{
"data": {
"rezultate": [
{
"valoare": "6719278",
"cui": 6719278,
"format_valid": true,
"cifra_control_valida": true,
"exista": true,
"denumire": "MEGA IMAGE SRL",
"stare": {
"cod": "1048",
"denumire": "funcțiune",
"categorie": "activa"
},
"platitor_tva": true,
"inactiv_fiscal": false,
"motiv": null
}
]
}
}
body: {"cui": ["RO6719278", "abc", "11111111111"]}
POSThttps://oneapi.ro/api/business/v1/firme/valideaza
{
"data": {
"rezultate": [
{
"valoare": "RO6719278",
"cui": 6719278,
"format_valid": true,
"cifra_control_valida": true,
"exista": true,
"denumire": "MEGA IMAGE SRL",
"stare": {
"cod": "1048",
"denumire": "funcțiune",
"categorie": "activa"
},
"platitor_tva": true,
"inactiv_fiscal": false,
"motiv": null
}
]
}
}
body: {"cui": ["990000005", "990000072", "1"]}
POSThttps://oneapi.ro/api/business/v1/firme/valideaza
{
"data": {
"rezultate": [
{
"valoare": "990000005",
"cui": 990000005,
"format_valid": true,
"cifra_control_valida": true,
"exista": false,
"denumire": null,
"stare": null,
"platitor_tva": null,
"inactiv_fiscal": null,
"motiv": null
}
]
}
}
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. |
| 422 | validare | An undeclared parameter or a value that fails validation. The offending field is in detalii. |
| 422 | cui_lipsa | Send a cui array with at least one tax ID. |
| 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. The offending field is in detalii."
}
}