oneapi
Sign in
Identificatori v1 / Identificatori

Recognised types

The catalogue of identifiers we validate — tax ID, personal number, IBAN, LEI, EORI, VAT number and the rest — each with its label, expected shape and whether validation checks its check digit.

GET
https://oneapi.ro/api/identificatori/v1/tipuri

Query parameters

This route accepts no query parameters.

How it behaves

  • The list order is the SPECIFICITY order used for automatic detection: types with rigid structure (VIN, LEI, ISIN) are tried before permissive ones (Romanian VAT number). It is neither alphabetical nor by importance.
  • Validation is MATHEMATICAL. It confirms an identifier is well formed — not that the entity behind it exists. A correct IBAN can belong to a closed account, and a well-formed BIC can belong to a bank that does not exist.
  • The only type flagged date_personale is the personal numeric code, and it has separate rules: POST only, no cache, no retention, excluded from batches and from automatic detection.

What it is for

  • Find out what you can validate and under which standard, before writing the first integration.
  • Populate a type picker in a data-cleaning interface.
  • Check which types are treated as personal data, so you know which rules apply.

Response structure

All fields below live inside data.

FieldTypeDescription
inregistrari integer How many records the response holds.
tipuri[].cod string The code used in routes and in the tip parameter.
tipuri[].eticheta string The human-readable name.
tipuri[].standard string The standard or legal act the rule comes from.
tipuri[].rezumat string What is actually checked, and what is not.
tipuri[].date_personale boolean true only for the personal numeric code, which has separate access rules.
observatie string A note on how to read the response: a computation convention or a limit of the data.

Response examples

GEThttps://oneapi.ro/api/identificatori/v1/tipuri
{
    "data": {
        "inregistrari": 10,
        "tipuri": [
            {
                "cod": "vin",
                "eticheta": "VIN — serie de caroserie",
                "standard": "ISO 3779 / ISO 3780",
                "rezumat": "17 caractere, fără I, O și Q. Decodare parțială: structură, cifră de control, an-model, regiune.",
                "date_personale": false
            }
        ],
        "observatie": "Validarea e MATEMATICĂ: confirmă că un identificator e bine format, nu că entitatea din spatele lui există. Singura rută care întreabă o sursă externă e `/vies/*`."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403modul_interzisThe token has no access to the route's module.
422validareThe route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.
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": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
    }
}