Border Weather Condition API Offline
The road hazard at a checkpoint on a single 0–5 scale: clear road, fog, snow, rain, ice or strong wind — named in your language, graded by severity, with the age of the marker and whether a driver or our own model reported it.
GET https://nakordoni.eu/api/v1/data/weather
— quota class: cheap
| Parameter | Description |
|---|---|
ppid | Checkpoint ID, e.g. id_13 (see /api/v1/data/checkpoints) |
lang | Language for condition and severity names (25 site languages; default en) |
sources | all (default) | community — only what drivers reported | model — only our own classification |
max_age_minutes | How old a marker may be and still count (default 180, min 15, max 1440 minutes) |
Response fields — inside the data object of the envelope. [] marks a list, so data.items[].name is the name field of each element. A field is null, absent or an empty list when we hold no value for it — never a placeholder.
| Field | Description |
|---|---|
data.condition.code | The marker, 0..5, with key the stable machine name (good, fog, snow, rain, ice, wind) and name the same thing in the requested language, worded for a driver ("Slippery!", not "freezing precipitation"). null when nothing was reported inside the window — see data.no_data. |
data.condition.severity | none | low | moderate | major, the same severity vocabulary road-conditions uses, with severity_name in the requested language. |
data.condition.severity_rank | Danger order when you sort several checkpoints: 1 ice, 2 fog, 3 snow, 4 rain, 5 wind, 6 clear. Lower is worse — the codes themselves are NOT an order. |
data.condition.hazard | true for anything but a clear road, so a client can gate an alert on one field. |
data.observed_at | When the marker was written (Europe/Kyiv), with observed_ts as a Unix timestamp. |
data.data_age_minutes | Age of that marker in minutes, with is_fresh true when it is under 3 hours old. Read it before treating the answer as current. |
data.source_type | community when a driver reported it, model when our weather model classified it. null when there is no marker. |
data.no_data | true when no marker exists for this checkpoint inside the window — an honest gap, not a clear road. Widen max_age_minutes or drop the sources filter. |
data.scale | The whole 0..5 vocabulary as an array indexed by code, so you can label a value without hardcoding our wording. |
data.sources | The filters actually applied, with window_minutes — both echoed back after clamping. |
curl "https://nakordoni.eu/api/v1/data/weather?ppid=id_13&lang=en" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
🔑 Log in as a developer to try this endpoint live in the sandbox — 50 free test calls a day. Log in