oneapi
Sign in
Locations v1 / Proximitate & zone

Delivery zone

⭐ A ready-made zone: one administrative unit (uat=cod_siruta) plus its neighbours (with include_vecini=1) and a coverage summary (unit count + total population).

GET
https://oneapi.ro/api/locations/v1/zona-livrare

Query parameters

NameTypeDescriptionAccepted values
uatrequired integer The cod_siruta of the central administrative unit. e.g. 54975e.g. 179132
include_vecinioptional boolean | null Include the neighbouring units. e.g. 1

How it behaves

  • A ready-made zone: one administrative unit plus its neighbours (with include_vecini=1) and a coverage summary.

What it is for

  • Defining a shop's delivery zone in a single call (central unit + neighbours).
  • Showing a coverage summary on a dashboard (number of units and total population).
  • Sizing the market when onboarding a new partner, from the unit their office sits in.

Response structure

FieldTypeDescription
data.centru.cod_siruta integer The SIRUTA code (the entity's public key).
data.centru.nume string The name of the entity.
data.centru.tip string Entity type (raw code; the full names are at /nomenclatoare/tipuri).
data.centru.judet.cod string The county's registration prefix.
data.centru.judet.nume string The name of the county.
data.centru.populatie integer Population (census).
data.zona[].cod_siruta integer The SIRUTA code (the entity's public key).
data.zona[].nume string The name of the entity.
data.zona[].tip string Entity type (raw code; the full names are at /nomenclatoare/tipuri).
data.zona[].judet.cod string The county's registration prefix.
data.zona[].judet.nume string The name of the county.
data.zona[].populatie integer Population (census).
data.rezumat.nr_uat integer How many units fall in the zone (the centre plus its neighbours).
data.rezumat.populatie_totala integer The summed population of the units in the zone.
meta.actualizat object Prospețimea datelor pe domenii (dată ISO 8601).

Response examples

GEThttps://oneapi.ro/api/locations/v1/zona-livrare?uat=54975
{
    "data": {
        "centru": {
            "cod_siruta": 54975,
            "nume": "Cluj-Napoca",
            "tip": "municipiu",
            "judet": {
                "cod": "CJ",
                "nume": "Cluj"
            },
            "populatie": 286598
        },
        "zona": [
            {
                "cod_siruta": 54975,
                "nume": "Cluj-Napoca",
                "tip": "municipiu",
                "judet": {
                    "cod": "CJ",
                    "nume": "Cluj"
                },
                "populatie": 286598
            }
        ],
        "rezumat": {
            "nr_uat": 1,
            "populatie_totala": 286598
        }
    },
    "meta": {
        "actualizat": {
            "administrativ": "2026-08-15T16: 39: 14+03: 00",
            "geo": "2026-09-04T21: 24: 20+03: 00"
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
404negasitThe central administrative unit does not exist.
422validareA parameter failed validation (uat, include_vecini); detalii says which and why.
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": "A parameter failed validation (uat, include_vecini); detalii says which and why.",
        "detalii": {
            "uat": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}