oneapi
Sign in
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 is POST for 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
            }
        ]
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareAn undeclared parameter or a value that fails validation. The offending field is in detalii.
422cui_lipsaSend a cui array with at least one tax ID.
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": "An undeclared parameter or a value that fails validation. The offending field is in detalii."
    }
}