{"openapi":"3.1.0","info":{"title":"Meteo Arhiva HR – API","description":"Povijesna satna opažanja s meteoroloških postaja DHMZ-a u Hrvatskoj, prikupljana kontinuirano od 2019. godine.\nAPI odgovara na pitanje „kakvo je bilo vrijeme” određenog dana ili u razdoblju — arhiva, ne prognoza.\n\n> **Izvor opažanja:** Državni hidrometeorološki zavod (DHMZ), https://vrijeme.hr/hrvatska1_n.xml, korišteno pod licencom\n> **Otvorena dozvola Republike Hrvatske** (https://data.gov.hr/hr/open-license).\n> **Arhiva, API i izvedeni proizvodi:** Monachus informatika d.o.o. — neovisan servis, **nije službeni servis DHMZ-a**.\n> Pri objavi podataka navedite DHMZ kao izvor.\n\n[← Meteo Arhiva HR (početna)](/) · [O podacima](/o-podacima) — izvor, licenca, točnost i ograničenja · [Dokumentacija API-ja](/dokumentacija) — brzi početak\n\n### Slojevi\n\n- **data** — arhivirana opažanja DHMZ-a (postaje, satna opažanja), pohranjena i strukturirana od Monachus informatike; uz to klimatološki srednjaci po mjesecima (`/api/data/stations/{id}/climate`, izvor klima.hr) za 23 postaje, računati nad cijelim mjernim nizom postaje, ne nad normalom 1991.–2020.\n- **renderers** — izvedeni proizvodi koje Monachus informatika izračunava iz sloja *data*: `GET /api/renderers/<name>` vraća sliku (PNG) ili, uz `format=json`, podatke iz kojih je nacrtana; `GET /api/renderers` popisuje dostupne.\n\n### Formati i ograničenja\n\nVremena su ISO 8601 s pomakom Europe/Zagreb; mjerenja koja nedostaju su `null`.\nSvaki odgovor slojeva `/api/data` i `/api/renderers` nosi zaglavlja `X-Data-Source` i `X-Data-License`;\n`GET /api/about` vraća istu atribuciju kao JSON.\nOgraničenje: **60 zahtjeva u minuti po IP adresi** (prekoračenje → `429 Too Many Requests`).\nKrajnje točke `/api/jobs/*` administrativne su i zahtijevaju Bearer token (gumb *Authorize*).","version":"1.0.0","contact":{"name":"Monachus informatika d.o.o.","url":"https://www.monachus-informatika.hr"}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"JOB_TRIGGER_TOKEN — vrijedi samo za /api/jobs/*"}},"schemas":{"def-0":{"type":"object","properties":{"statusCode":{"type":"integer"},"error":{"type":"string"},"message":{"type":"string"}},"title":"ErrorResponse"},"def-1":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"automatic":{"type":"boolean","description":"Automatska postaja (bez motritelja)"},"group_id":{"type":"integer","nullable":true},"distance_km":{"type":"number","description":"Samo kod pretrage najbližih postaja"}},"title":"Station"},"def-2":{"type":"object","description":"Jedno satno opažanje. Mjerenja koja nedostaju su null.","properties":{"station_id":{"type":"integer"},"observed_at":{"type":"string","format":"date-time","description":"ISO 8601 s pomakom Europe/Zagreb, npr. 2026-09-13T21:00:00+02:00"},"temperature":{"type":"number","nullable":true,"description":"°C"},"humidity":{"type":"number","nullable":true,"description":"Relativna vlaga, %"},"pressure":{"type":"number","nullable":true,"description":"Tlak zraka, hPa"},"pressure_tendency":{"type":"string","nullable":true,"description":"Promjena tlaka u zadnja 3 h, hPa, npr. \"+0.3\""},"wind_direction":{"type":"string","nullable":true,"description":"N, NE, E, SE, S, SW, W, NW ili C (tišina)"},"wind_speed":{"type":"number","nullable":true,"description":"m/s"},"weather_description":{"type":"string","nullable":true,"description":"Opis vremena DHMZ-a"},"weather_symbol":{"type":"string","nullable":true,"description":"Oznaka simbola vremena DHMZ-a, npr. \"3n\""}},"title":"Observation"},"def-3":{"type":"object","description":"Klimatološki srednjaci po mjesecima (DHMZ, klima.hr/k1) postaje kojoj je satna postaja pridružena. Razdoblje je cijeli mjerni niz te postaje, ne WMO normala 1991–2020; vrijednosti koje nedostaju su null.","properties":{"station_id":{"type":"integer"},"climate_station":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string","description":"Ime klimatološke postaje kako je navodi DHMZ"}}},"period":{"type":"object","description":"Razdoblje nad kojim su srednjaci računati","properties":{"from":{"type":"integer"},"to":{"type":"integer"}}},"updated_at":{"type":"string","nullable":true,"description":"Kada je DHMZ objavio datoteku (Last-Modified)"},"months":{"type":"array","items":{"type":"object","properties":{"month":{"type":"integer","minimum":1,"maximum":12},"temperature":{"type":"object","properties":{"mean":{"type":"number","nullable":true,"description":"Srednja mjesečna temperatura zraka, °C"},"max":{"type":"object","description":"Apsolutni maksimum mjeseca u razdoblju","properties":{"value":{"type":"number","nullable":true,"description":"°C"},"date":{"type":"string","nullable":true,"description":"Datum nastupa (YYYY-MM-DD)"}}},"min":{"type":"object","description":"Apsolutni minimum mjeseca u razdoblju","properties":{"value":{"type":"number","nullable":true,"description":"°C"},"date":{"type":"string","nullable":true,"description":"Datum nastupa (YYYY-MM-DD)"}}}}},"sunshine_hours":{"type":"number","nullable":true,"description":"Trajanje sijanja Sunca, mjesečna suma u satima"},"precipitation_mm":{"type":"number","nullable":true,"description":"Količina oborine, mm"},"snow_max":{"type":"object","description":"Apsolutni maksimum visine snijega","properties":{"value":{"type":"number","nullable":true,"description":"cm"},"date":{"type":"string","nullable":true,"description":"Datum nastupa (YYYY-MM-DD)"}}},"days":{"type":"object","description":"Prosječan broj dana u mjesecu","properties":{"clear":{"type":"integer","nullable":true,"description":"vedrih"},"fog":{"type":"integer","nullable":true,"description":"s maglom"},"rain":{"type":"integer","nullable":true,"description":"s kišom"},"frost":{"type":"integer","nullable":true,"description":"s mrazom"},"snow":{"type":"integer","nullable":true,"description":"sa snijegom"},"icy":{"type":"integer","nullable":true,"description":"ledenih (tmin ≤ −10 °C)"},"freezing":{"type":"integer","nullable":true,"description":"studenih (tmax < 0 °C)"},"cold":{"type":"integer","nullable":true,"description":"hladnih (tmin < 0 °C)"},"warm":{"type":"integer","nullable":true,"description":"toplih (tmax ≥ 25 °C)"},"hot":{"type":"integer","nullable":true,"description":"vrućih (tmax ≥ 30 °C)"}}}}}}},"title":"StationClimate"}}},"paths":{"/health":{"get":{"summary":"Provjera zdravlja servisa","tags":["system"],"responses":{"200":{"description":"Health Check Succeeded","content":{"application/json":{"schema":{"type":"object","description":"Health Check Succeeded","properties":{"status":{"type":"string"}},"example":{"status":"ok"}}}}},"500":{"description":"Error Performing Health Check","content":{"application/json":{"schema":{"type":"object","description":"Error Performing Health Check","properties":{"message":{"type":"string","description":"Error message for failure during health check","example":"Internal Server Error"},"statusCode":{"type":"number","description":"Code representing the error. Always matches the HTTP response code.","example":500}}}}}},"503":{"description":"Health Check Failed","content":{"application/json":{"schema":{"type":"object","description":"Health Check Failed","properties":{"code":{"type":"string","description":"Error code associated with the failing check","example":"FST_UNDER_PRESSURE"},"error":{"type":"string","description":"Error thrown during health check","example":"Service Unavailable"},"message":{"type":"string","description":"Error message to explain health check failure","example":"Service Unavailable"},"statusCode":{"type":"number","description":"Code representing the error. Always matches the HTTP response code.","example":503}}}}}}}}},"/api/about":{"get":{"summary":"Izvor podataka, licenca i pružatelj","tags":["system"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"source":{"type":"string","description":"Izvor meteoroloških opažanja"},"source_url":{"type":"string"},"dataset_url":{"type":"string","description":"DHMZ-ov XML feed iz kojeg se arhiva prikuplja"},"terms_url":{"type":"string","description":"Stranica DHMZ-a s uvjetima korištenja XML feedova"},"license":{"type":"string"},"license_url":{"type":"string"},"archive_provider":{"type":"string","description":"Tko prikuplja, arhivira i poslužuje podatke"},"archive_provider_url":{"type":"string"},"independent_service":{"type":"boolean","description":"true — nije službeni servis DHMZ-a"},"notice":{"type":"string"}}}}}}}}},"/api/data/stations":{"get":{"summary":"Popis / pretraga postaja","tags":["data"],"description":"Vrijednosti kako ih je objavio DHMZ; arhivirala i strukturirala Monachus informatika (Otvorena dozvola Republike Hrvatske).","parameters":[{"schema":{"type":"string","maxLength":50},"in":"query","name":"q","required":false,"description":"Dio imena postaje (bez razlike velikih i malih slova)"},{"schema":{"type":"boolean"},"in":"query","name":"automatic","required":false,"description":"Samo automatske (true) ili klasične (false) postaje"}],"responses":{"200":{"description":"Default Response","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/def-1"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/data/stations/nearest":{"get":{"summary":"Postaje najbliže točki","tags":["data"],"description":"Prostorna pretraga Monachus informatike nad arhiviranim popisom postaja DHMZ-a. Vrijednosti kako ih je objavio DHMZ; arhivirala i strukturirala Monachus informatika (Otvorena dozvola Republike Hrvatske).","parameters":[{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":true,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":true,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":5},"in":"query","name":"limit","required":false,"description":"Broj postaja u odgovoru"}],"responses":{"200":{"description":"Default Response","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/def-1"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/data/stations/{station_id}":{"get":{"summary":"Postaja prema id-u","tags":["data"],"description":"Vrijednosti kako ih je objavio DHMZ; arhivirala i strukturirala Monachus informatika (Otvorena dozvola Republike Hrvatske).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"path","name":"station_id","required":true,"description":"Id postaje (vidi GET /api/data/stations)"}],"responses":{"200":{"description":"Default Response","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-1"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/data/stations/{station_id}/climate":{"get":{"summary":"Klimatološki srednjaci postaje po mjesecima","tags":["data"],"description":"Mjesečni klimatološki srednjaci DHMZ-a (klima.hr/k1) za klimatološku postaju kojoj je ova postaja pridružena: srednja temperatura, apsolutni ekstremi s datumom, sijanje Sunca, oborina, snijeg i broj dana po pragovima. Razdoblje (period) je cijeli mjerni niz te postaje, različit od postaje do postaje i nije WMO normala 1991–2020 — odstupanja treba navoditi s razdobljem. Dostupno za 23 klimatološke postaje; ostale vraćaju 404. Vrijednosti kako ih je objavio DHMZ; arhivirala i strukturirala Monachus informatika (Otvorena dozvola Republike Hrvatske).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"path","name":"station_id","required":true,"description":"Id postaje (vidi GET /api/data/stations)"}],"responses":{"200":{"description":"Klimatološki srednjaci po mjesecima (DHMZ, klima.hr/k1) postaje kojoj je satna postaja pridružena. Razdoblje je cijeli mjerni niz te postaje, ne WMO normala 1991–2020; vrijednosti koje nedostaju su null.","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-3"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/data/observations":{"get":{"summary":"Opažanja postaje (straničeno)","tags":["data"],"description":"Satna opažanja jedne postaje. Vrijednosti kako ih je objavio DHMZ; arhivirala i strukturirala Monachus informatika (Otvorena dozvola Republike Hrvatske).\n\n**Postaja**: `station_id`, ili `lat`+`lon` za postaju najbližu točki.\n\n**Vrijeme**: `from`/`to` za razdoblje (dan, mjesec, godina…), ili `at` za opažanja unutar ±60 minuta od trenutka, najbliža prva. Bez ijednog dobivate cijelu arhivu postaje.\n\nPrimjeri: zadnje opažanje → `order=desc&page_size=1`; jedan dan → `from=2025-01-15&to=2025-01-16`; kakvo je bilo u 10:00 → `at=2025-01-15T10:00`.\n\n**Kroz godine**: `history_years=N` uz `from`/`to` vraća isto razdoblje i u N ranijih godina — zadano razdoblje je najnovije, svako ranije ima isti početak i isto trajanje (29. veljače samo u prijestupnim godinama). Razdoblje smije trajati najviše godinu dana. Isti dan u zadnjih sedam godina → `from=2025-09-15&to=2025-09-16&history_years=6`.","parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"station_id","required":false,"description":"Id postaje (vidi /api/data/stations)"},{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":false,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":false,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false,"description":"Početak razdoblja, uključivo. ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false,"description":"Kraj razdoblja, isključivo. ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"at","required":false,"description":"Trenutak od interesa — vraća opažanja unutar ±60 min, najbliža prva. ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"integer","minimum":1,"default":1},"in":"query","name":"page","required":false,"description":"Broj stranice"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"in":"query","name":"page_size","required":false,"description":"Opažanja po stranici"},{"schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"in":"query","name":"order","required":false,"description":"Redoslijed po vremenu opažanja (zanemaruje se uz `at`)"},{"schema":{"type":"integer","minimum":0,"maximum":100,"default":0},"in":"query","name":"history_years","required":false,"description":"Isto razdoblje i u toliko ranijih godina (zadano razdoblje je najnovije); traži `from` i `to`, razdoblje najviše godinu dana"}],"responses":{"200":{"description":"Default Response","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"type":"object","properties":{"station":{"$ref":"#/components/schemas/def-1"},"items":{"type":"array","items":{"$ref":"#/components/schemas/def-2"}},"page":{"type":"integer"},"page_size":{"type":"integer"},"total":{"type":"integer","description":"Ukupan broj opažanja koja odgovaraju upitu"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/data/range":{"get":{"summary":"Vremenski raspon arhive","tags":["data"],"description":"Najranije i najnovije arhivirano opažanje; `to` je vrijeme zadnje izmjene izvornih podataka kako se ovdje poslužuju. Vrijednosti kako ih je objavio DHMZ; arhivirala i strukturirala Monachus informatika (Otvorena dozvola Republike Hrvatske).","responses":{"200":{"description":"Default Response","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","format":"date-time","description":"Najranije opažanje","nullable":true},"to":{"type":"string","format":"date-time","description":"Najnovije opažanje","nullable":true},"years":{"type":"array","items":{"type":"integer"}}}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/renderers":{"get":{"summary":"Popis dostupnih renderera","tags":["renderers"],"description":"Otkrivanje izvedenih proizvoda. Izvedeni proizvod koji Monachus informatika d.o.o. izračunava iz arhiviranih opažanja DHMZ-a — nije proizvod DHMZ-a.","responses":{"200":{"description":"Default Response","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputs":{"type":"array","items":{"type":"string"}},"aspect":{"type":"number"},"formats":{"type":"array","items":{"type":"string"}},"path":{"type":"string"}}}}}}}}}},"/api/renderers/wind-rose":{"get":{"summary":"Ruža vjetrova","tags":["renderers"],"description":"Udio opažanja po smjeru vjetra uz prosječnu, prosječnu dnevnu maksimalnu i apsolutnu maksimalnu brzinu, za jednu postaju kroz razdoblje. Zadano zadnjih 365 dana. Postaja se bira uz `station_id` ili `lat`+`lon` (najbliža).\n\nIzvedeni proizvod koji Monachus informatika d.o.o. izračunava iz arhiviranih opažanja DHMZ-a — nije proizvod DHMZ-a.\n\nZadano vraća iscrtani PNG; uz `format=json` vraća podatke iz kojih je slika nacrtana (parametri koji se odnose samo na sliku tada se zanemaruju).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"station_id","required":false,"description":"Id postaje (vidi /api/data/stations)"},{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":false,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":false,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false,"description":"Početak razdoblja, uključivo (zadano: 365 dana prije `to`). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false,"description":"Kraj razdoblja, isključivo (zadano: sada). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","enum":["avg","gusts"],"default":"avg"},"in":"query","name":"variant","required":false,"description":"avg = prosječni maksimum + prosječna brzina; gusts = apsolutni maksimum + prosječni maksimum"},{"schema":{"type":"string","enum":["png","json"]},"in":"query","name":"format","required":false,"description":"png (zadano) = iscrtana slika; json = podaci iz kojih se crta. `Accept: application/json` također odabire json."},{"schema":{"type":"integer","minimum":200,"maximum":2000,"default":600},"in":"query","name":"size","required":false,"description":"Širina slike u px (visina slijedi omjer renderera)"},{"schema":{"type":"integer","minimum":1,"maximum":3,"default":2},"in":"query","name":"scale","required":false,"description":"Množitelj gustoće piksela (2 = oštro na HiDPI zaslonima)"}],"responses":{"200":{"description":"PNG slika ili, uz format=json, JSON podaci","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"object","properties":{"station":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"automatic":{"type":"boolean"},"group_id":{"type":"integer","nullable":true},"distance_km":{"type":"number","description":"Samo kad je postaja odabrana uz lat/lon"}}},"period":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"stats":{"type":"object","properties":{"count":{"type":"integer","description":"Valjana opažanja vjetra u razdoblju"},"days":{"type":"integer","description":"Kalendarski dani s barem jednim valjanim opažanjem"},"first":{"type":"string","format":"date","nullable":true,"description":"Prvi dan s podacima"},"last":{"type":"string","format":"date","nullable":true,"description":"Zadnji dan s podacima"}}},"directions":{"type":"array","items":{"type":"string"},"description":"N, NE, E, SE, S, SW, W, NW"},"frequency":{"type":"array","items":{"type":"number"},"description":"Udio opažanja s vjetrom iz tog smjera, %"},"calm_frequency":{"type":"number","description":"Udio opažanja s tišinom, %"},"avg_speed":{"type":"array","items":{"type":"number"},"description":"Prosječna brzina vjetra, m/s"},"avg_max_speed":{"type":"array","items":{"type":"number"},"description":"Prosjek dnevnih maksimalnih brzina vjetra, m/s"},"max_speed":{"type":"array","items":{"type":"number"},"description":"Apsolutna maksimalna brzina vjetra, m/s"}}}}}},"400":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/renderers/temperature":{"get":{"summary":"Temperatura","tags":["renderers"],"description":"Temperatura zraka jedne postaje kroz razdoblje. Satne vrijednosti za razdoblja do 14 dana, dnevni minimum / prosjek / maksimum za dulja (promjena uz `resolution`). Zadano zadnjih 7 dana. Postaja se bira uz `station_id` ili `lat`+`lon` (najbliža). Uz `history_years=N` isto razdoblje (najviše godinu dana) i u N ranijih godina, minimum / prosjek / maksimum po godini — isti dan kroz godine.\n\nIzvedeni proizvod koji Monachus informatika d.o.o. izračunava iz arhiviranih opažanja DHMZ-a — nije proizvod DHMZ-a.\n\nZadano vraća iscrtani PNG; uz `format=json` vraća podatke iz kojih je slika nacrtana (parametri koji se odnose samo na sliku tada se zanemaruju).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"station_id","required":false,"description":"Id postaje (vidi /api/data/stations)"},{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":false,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":false,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false,"description":"Početak razdoblja, uključivo (zadano: 7 dana prije `to`). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false,"description":"Kraj razdoblja, isključivo (zadano: sada). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","enum":["auto","hourly","daily"],"default":"auto"},"in":"query","name":"resolution","required":false,"description":"auto = satno do 14 dana, dnevno za dulja razdoblja"},{"schema":{"type":"integer","minimum":0,"maximum":100,"default":0},"in":"query","name":"history_years","required":false,"description":"Isto razdoblje i u toliko ranijih godina, jedna vrijednost po godini (zadano razdoblje je najnovije, najviše godinu dana)"},{"schema":{"type":"string","enum":["png","json"]},"in":"query","name":"format","required":false,"description":"png (zadano) = iscrtana slika; json = podaci iz kojih se crta. `Accept: application/json` također odabire json."},{"schema":{"type":"integer","minimum":200,"maximum":2000,"default":600},"in":"query","name":"size","required":false,"description":"Širina slike u px (visina slijedi omjer renderera)"},{"schema":{"type":"integer","minimum":1,"maximum":3,"default":2},"in":"query","name":"scale","required":false,"description":"Množitelj gustoće piksela (2 = oštro na HiDPI zaslonima)"}],"responses":{"200":{"description":"PNG slika ili, uz format=json, JSON podaci","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"object","properties":{"station":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"automatic":{"type":"boolean"},"group_id":{"type":"integer","nullable":true},"distance_km":{"type":"number","description":"Samo kad je postaja odabrana uz lat/lon"}}},"period":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"resolution":{"type":"string","enum":["hourly","daily","yearly"]},"history_years":{"type":"integer","description":"Samo uz history_years: broj ranijih godina"},"measure":{"type":"string","description":"temperature"},"unit":{"type":"string","description":"°C"},"stats":{"type":"object","properties":{"min":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"max":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"avg":{"type":"number","nullable":true},"count":{"type":"integer"}}},"series":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"satno: vrijeme opažanja"},"year":{"type":"integer","description":"po godinama: godina prozora"},"from":{"type":"string","description":"po godinama: početak prozora"},"to":{"type":"string","description":"po godinama: kraj prozora, isključivo"},"value":{"type":"number","nullable":true,"description":"satno: °C, null = nema mjerenja"},"date":{"type":"string","description":"dnevno: kalendarski dan"},"min":{"type":"number","nullable":true},"avg":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"count":{"type":"integer","description":"dnevno / po godinama: broj mjerenja"}}}}}}}}},"400":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/renderers/humidity":{"get":{"summary":"Relativna vlaga","tags":["renderers"],"description":"Relativna vlaga zraka jedne postaje kroz razdoblje. Satne vrijednosti za razdoblja do 14 dana, dnevni minimum / prosjek / maksimum za dulja (promjena uz `resolution`). Zadano zadnjih 7 dana. Postaja se bira uz `station_id` ili `lat`+`lon` (najbliža). Uz `history_years=N` isto razdoblje (najviše godinu dana) i u N ranijih godina, minimum / prosjek / maksimum po godini — isti dan kroz godine.\n\nIzvedeni proizvod koji Monachus informatika d.o.o. izračunava iz arhiviranih opažanja DHMZ-a — nije proizvod DHMZ-a.\n\nZadano vraća iscrtani PNG; uz `format=json` vraća podatke iz kojih je slika nacrtana (parametri koji se odnose samo na sliku tada se zanemaruju).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"station_id","required":false,"description":"Id postaje (vidi /api/data/stations)"},{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":false,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":false,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false,"description":"Početak razdoblja, uključivo (zadano: 7 dana prije `to`). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false,"description":"Kraj razdoblja, isključivo (zadano: sada). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","enum":["auto","hourly","daily"],"default":"auto"},"in":"query","name":"resolution","required":false,"description":"auto = satno do 14 dana, dnevno za dulja razdoblja"},{"schema":{"type":"integer","minimum":0,"maximum":100,"default":0},"in":"query","name":"history_years","required":false,"description":"Isto razdoblje i u toliko ranijih godina, jedna vrijednost po godini (zadano razdoblje je najnovije, najviše godinu dana)"},{"schema":{"type":"string","enum":["png","json"]},"in":"query","name":"format","required":false,"description":"png (zadano) = iscrtana slika; json = podaci iz kojih se crta. `Accept: application/json` također odabire json."},{"schema":{"type":"integer","minimum":200,"maximum":2000,"default":600},"in":"query","name":"size","required":false,"description":"Širina slike u px (visina slijedi omjer renderera)"},{"schema":{"type":"integer","minimum":1,"maximum":3,"default":2},"in":"query","name":"scale","required":false,"description":"Množitelj gustoće piksela (2 = oštro na HiDPI zaslonima)"}],"responses":{"200":{"description":"PNG slika ili, uz format=json, JSON podaci","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"object","properties":{"station":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"automatic":{"type":"boolean"},"group_id":{"type":"integer","nullable":true},"distance_km":{"type":"number","description":"Samo kad je postaja odabrana uz lat/lon"}}},"period":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"resolution":{"type":"string","enum":["hourly","daily","yearly"]},"history_years":{"type":"integer","description":"Samo uz history_years: broj ranijih godina"},"measure":{"type":"string","description":"humidity"},"unit":{"type":"string","description":"%"},"stats":{"type":"object","properties":{"min":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"max":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"avg":{"type":"number","nullable":true},"count":{"type":"integer"}}},"series":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"satno: vrijeme opažanja"},"year":{"type":"integer","description":"po godinama: godina prozora"},"from":{"type":"string","description":"po godinama: početak prozora"},"to":{"type":"string","description":"po godinama: kraj prozora, isključivo"},"value":{"type":"number","nullable":true,"description":"satno: %, null = nema mjerenja"},"date":{"type":"string","description":"dnevno: kalendarski dan"},"min":{"type":"number","nullable":true},"avg":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"count":{"type":"integer","description":"dnevno / po godinama: broj mjerenja"}}}}}}}}},"400":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/renderers/pressure":{"get":{"summary":"Tlak zraka","tags":["renderers"],"description":"Tlak zraka jedne postaje kroz razdoblje. Satne vrijednosti za razdoblja do 14 dana, dnevni minimum / prosjek / maksimum za dulja (promjena uz `resolution`). Zadano zadnjih 7 dana. Postaja se bira uz `station_id` ili `lat`+`lon` (najbliža). Uz `history_years=N` isto razdoblje (najviše godinu dana) i u N ranijih godina, minimum / prosjek / maksimum po godini — isti dan kroz godine.\n\nIzvedeni proizvod koji Monachus informatika d.o.o. izračunava iz arhiviranih opažanja DHMZ-a — nije proizvod DHMZ-a.\n\nZadano vraća iscrtani PNG; uz `format=json` vraća podatke iz kojih je slika nacrtana (parametri koji se odnose samo na sliku tada se zanemaruju).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"station_id","required":false,"description":"Id postaje (vidi /api/data/stations)"},{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":false,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":false,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false,"description":"Početak razdoblja, uključivo (zadano: 7 dana prije `to`). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false,"description":"Kraj razdoblja, isključivo (zadano: sada). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","enum":["auto","hourly","daily"],"default":"auto"},"in":"query","name":"resolution","required":false,"description":"auto = satno do 14 dana, dnevno za dulja razdoblja"},{"schema":{"type":"integer","minimum":0,"maximum":100,"default":0},"in":"query","name":"history_years","required":false,"description":"Isto razdoblje i u toliko ranijih godina, jedna vrijednost po godini (zadano razdoblje je najnovije, najviše godinu dana)"},{"schema":{"type":"string","enum":["png","json"]},"in":"query","name":"format","required":false,"description":"png (zadano) = iscrtana slika; json = podaci iz kojih se crta. `Accept: application/json` također odabire json."},{"schema":{"type":"integer","minimum":200,"maximum":2000,"default":600},"in":"query","name":"size","required":false,"description":"Širina slike u px (visina slijedi omjer renderera)"},{"schema":{"type":"integer","minimum":1,"maximum":3,"default":2},"in":"query","name":"scale","required":false,"description":"Množitelj gustoće piksela (2 = oštro na HiDPI zaslonima)"}],"responses":{"200":{"description":"PNG slika ili, uz format=json, JSON podaci","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"object","properties":{"station":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"automatic":{"type":"boolean"},"group_id":{"type":"integer","nullable":true},"distance_km":{"type":"number","description":"Samo kad je postaja odabrana uz lat/lon"}}},"period":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"resolution":{"type":"string","enum":["hourly","daily","yearly"]},"history_years":{"type":"integer","description":"Samo uz history_years: broj ranijih godina"},"measure":{"type":"string","description":"pressure"},"unit":{"type":"string","description":"hPa"},"stats":{"type":"object","properties":{"min":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"max":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"avg":{"type":"number","nullable":true},"count":{"type":"integer"}}},"series":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"satno: vrijeme opažanja"},"year":{"type":"integer","description":"po godinama: godina prozora"},"from":{"type":"string","description":"po godinama: početak prozora"},"to":{"type":"string","description":"po godinama: kraj prozora, isključivo"},"value":{"type":"number","nullable":true,"description":"satno: hPa, null = nema mjerenja"},"date":{"type":"string","description":"dnevno: kalendarski dan"},"min":{"type":"number","nullable":true},"avg":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"count":{"type":"integer","description":"dnevno / po godinama: broj mjerenja"}}}}}}}}},"400":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/renderers/wind-speed":{"get":{"summary":"Brzina vjetra","tags":["renderers"],"description":"Brzina vjetra jedne postaje kroz razdoblje (statistika smjerova: vidi wind-rose). Satne vrijednosti za razdoblja do 14 dana, dnevni minimum / prosjek / maksimum za dulja (promjena uz `resolution`). Zadano zadnjih 7 dana. Postaja se bira uz `station_id` ili `lat`+`lon` (najbliža). Uz `history_years=N` isto razdoblje (najviše godinu dana) i u N ranijih godina, minimum / prosjek / maksimum po godini — isti dan kroz godine.\n\nIzvedeni proizvod koji Monachus informatika d.o.o. izračunava iz arhiviranih opažanja DHMZ-a — nije proizvod DHMZ-a.\n\nZadano vraća iscrtani PNG; uz `format=json` vraća podatke iz kojih je slika nacrtana (parametri koji se odnose samo na sliku tada se zanemaruju).","parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"station_id","required":false,"description":"Id postaje (vidi /api/data/stations)"},{"schema":{"type":"number","minimum":-90,"maximum":90},"in":"query","name":"lat","required":false,"description":"Geografska širina (WGS 84)"},{"schema":{"type":"number","minimum":-180,"maximum":180},"in":"query","name":"lon","required":false,"description":"Geografska dužina (WGS 84)"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false,"description":"Početak razdoblja, uključivo (zadano: 7 dana prije `to`). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false,"description":"Kraj razdoblja, isključivo (zadano: sada). ISO 8601 — samo datum, lokalno vrijeme (Europe/Zagreb) ili s pomakom/Z."},{"schema":{"type":"string","enum":["auto","hourly","daily"],"default":"auto"},"in":"query","name":"resolution","required":false,"description":"auto = satno do 14 dana, dnevno za dulja razdoblja"},{"schema":{"type":"integer","minimum":0,"maximum":100,"default":0},"in":"query","name":"history_years","required":false,"description":"Isto razdoblje i u toliko ranijih godina, jedna vrijednost po godini (zadano razdoblje je najnovije, najviše godinu dana)"},{"schema":{"type":"string","enum":["png","json"]},"in":"query","name":"format","required":false,"description":"png (zadano) = iscrtana slika; json = podaci iz kojih se crta. `Accept: application/json` također odabire json."},{"schema":{"type":"integer","minimum":200,"maximum":2000,"default":600},"in":"query","name":"size","required":false,"description":"Širina slike u px (visina slijedi omjer renderera)"},{"schema":{"type":"integer","minimum":1,"maximum":3,"default":2},"in":"query","name":"scale","required":false,"description":"Množitelj gustoće piksela (2 = oštro na HiDPI zaslonima)"}],"responses":{"200":{"description":"PNG slika ili, uz format=json, JSON podaci","headers":{"X-Data-Source":{"schema":{"type":"string"},"description":"Izvor opažanja i njihova licenca"},"X-Data-License":{"schema":{"type":"string"},"description":"URL Otvorene dozvole Republike Hrvatske"}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"object","properties":{"station":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"automatic":{"type":"boolean"},"group_id":{"type":"integer","nullable":true},"distance_km":{"type":"number","description":"Samo kad je postaja odabrana uz lat/lon"}}},"period":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"resolution":{"type":"string","enum":["hourly","daily","yearly"]},"history_years":{"type":"integer","description":"Samo uz history_years: broj ranijih godina"},"measure":{"type":"string","description":"wind_speed"},"unit":{"type":"string","description":"m/s"},"stats":{"type":"object","properties":{"min":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"max":{"type":"object","nullable":true,"properties":{"value":{"type":"number"},"at":{"type":"string","description":"Kada (satno: datum i vrijeme, dnevno: datum)"}}},"avg":{"type":"number","nullable":true},"count":{"type":"integer"}}},"series":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"satno: vrijeme opažanja"},"year":{"type":"integer","description":"po godinama: godina prozora"},"from":{"type":"string","description":"po godinama: početak prozora"},"to":{"type":"string","description":"po godinama: kraj prozora, isključivo"},"value":{"type":"number","nullable":true,"description":"satno: m/s, null = nema mjerenja"},"date":{"type":"string","description":"dnevno: kalendarski dan"},"min":{"type":"number","nullable":true},"avg":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"count":{"type":"integer","description":"dnevno / po godinama: broj mjerenja"}}}}}}}}},"400":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"image/png":{"schema":{"$ref":"#/components/schemas/def-0"}},"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/collect/last":{"get":{"summary":"Stanje kolektora","tags":["jobs"],"description":"Zadnje i tekuće prikupljanje, raspored te najnovije opažanje u bazi.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"cron":{"type":"string"},"next_run":{"type":"string","nullable":true},"running":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"started_at":{"type":"string"}}},"last":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"ok":{"type":"boolean"},"started_at":{"type":"string"},"finished_at":{"type":"string"},"duration_ms":{"type":"integer"},"result":{"type":"object","nullable":true,"properties":{"observed_at":{"type":"string","description":"Vrijeme opažanja prikupljenih podataka (ISO 8601, pomak Europe/Zagreb)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"duration_ms":{"type":"integer"}}},"error":{"type":"string","nullable":true}}},"database":{"type":"object","nullable":true,"description":"Najnovije vrijeme opažanja u bazi i koliko je postaja javilo za njega","properties":{"observed_at":{"type":"string"},"station_count":{"type":"integer"}}}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/cache":{"get":{"summary":"Stanje predmemorije","tags":["jobs"],"description":"Backend, povezanost, verzije slojeva data/stations/climate i brojači pogodaka.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"backend":{"type":"string","enum":["redis","memory"]},"connected":{"type":"boolean"},"versions":{"type":"object","properties":{"data":{"type":"integer"},"stations":{"type":"integer"},"climate":{"type":"integer"}}},"stats":{"type":"object","properties":{"hits":{"type":"integer"},"misses":{"type":"integer"},"bypass":{"type":"integer"},"errors":{"type":"integer"}}}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/cache/flush":{"post":{"summary":"Poništi cijelu predmemoriju","tags":["jobs"],"description":"Povećava verzije slojeva data/stations/climate i briše preostale izvedene zapise.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"versions":{"type":"object","properties":{"data":{"type":"integer"},"stations":{"type":"integer"},"climate":{"type":"integer"}}},"deleted":{"type":"integer"}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/collect/run":{"post":{"summary":"Pokreni kolektor odmah","tags":["jobs"],"description":"Ručno prikupljanje izvan rasporeda. Vraća 409 dok je prikupljanje već u tijeku.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"ok":{"type":"boolean"},"started_at":{"type":"string"},"finished_at":{"type":"string"},"duration_ms":{"type":"integer"},"result":{"type":"object","nullable":true,"properties":{"observed_at":{"type":"string","description":"Vrijeme opažanja prikupljenih podataka (ISO 8601, pomak Europe/Zagreb)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"duration_ms":{"type":"integer"}}},"error":{"type":"string","nullable":true}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/collect-msr/last":{"get":{"summary":"Stanje kolektora dnevnih feedova","tags":["jobs"],"description":"Zadnje i tekuće prikupljanje oborine, Tmin, Tmax i temperature mora (oborina.xml, tn.xml, tx.xml, more_n.xml) te raspored.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"cron":{"type":"string"},"next_run":{"type":"string","nullable":true},"running":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"started_at":{"type":"string"}}},"last":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"ok":{"type":"boolean"},"started_at":{"type":"string"},"finished_at":{"type":"string"},"duration_ms":{"type":"integer"},"result":{"type":"object","nullable":true,"properties":{"feeds":{"type":"object","properties":{"oborina":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}},"tn":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}},"tx":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}},"more":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}}}},"failed":{"type":"integer"},"duration_ms":{"type":"integer"}}},"error":{"type":"string","nullable":true}}}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/collect-msr/run":{"post":{"summary":"Pokreni kolektor dnevnih feedova odmah","tags":["jobs"],"description":"Ručno prikupljanje dnevnih feedova izvan rasporeda. Vraća 409 dok je prikupljanje već u tijeku.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"ok":{"type":"boolean"},"started_at":{"type":"string"},"finished_at":{"type":"string"},"duration_ms":{"type":"integer"},"result":{"type":"object","nullable":true,"properties":{"feeds":{"type":"object","properties":{"oborina":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}},"tn":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}},"tx":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}},"more":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true,"description":"Last-Modified DHMZ datoteke (HTTP)"},"datum":{"type":"string","description":"Datum iz feeda (YYYY-MM-DD)"},"termin":{"type":"integer","description":"Sat očitanja iz feeda (oborina, tn, tx)"},"hours":{"type":"array","items":{"type":"integer"},"description":"Sati mjerenja iz zaglavlja (more)"},"stations":{"type":"integer"},"rows":{"type":"integer"},"new_stations":{"type":"integer"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}}}},"failed":{"type":"integer"},"duration_ms":{"type":"integer"}}},"error":{"type":"string","nullable":true}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/collect-k1/last":{"get":{"summary":"Stanje kolektora klimatoloških srednjaka","tags":["jobs"],"description":"Zadnje i tekuće prikupljanje 23 datoteke klima.hr/k1 (mjesečni srednjaci po postaji) te raspored.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"cron":{"type":"string"},"next_run":{"type":"string","nullable":true},"running":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"started_at":{"type":"string"}}},"last":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"ok":{"type":"boolean"},"started_at":{"type":"string"},"finished_at":{"type":"string"},"duration_ms":{"type":"integer"},"result":{"type":"object","nullable":true,"properties":{"stations":{"type":"object","additionalProperties":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true},"station":{"type":"string","description":"Ime postaje iz datoteke"},"interval":{"type":"object","properties":{"from":{"type":"integer"},"to":{"type":"integer"}},"description":"Razdoblje srednjaka"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}}},"updated":{"type":"integer"},"failed":{"type":"integer"},"duration_ms":{"type":"integer"}}},"error":{"type":"string","nullable":true}}}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}},"/api/jobs/collect-k1/run":{"post":{"summary":"Pokreni kolektor klimatoloških srednjaka odmah","tags":["jobs"],"description":"Ručno prikupljanje k1 datoteka izvan rasporeda. Vraća 409 dok je prikupljanje već u tijeku.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","nullable":true,"properties":{"trigger":{"type":"string"},"ok":{"type":"boolean"},"started_at":{"type":"string"},"finished_at":{"type":"string"},"duration_ms":{"type":"integer"},"result":{"type":"object","nullable":true,"properties":{"stations":{"type":"object","additionalProperties":{"type":"object","properties":{"status":{"type":"string","enum":["updated","not_modified","error"]},"last_modified":{"type":"string","nullable":true},"station":{"type":"string","description":"Ime postaje iz datoteke"},"interval":{"type":"object","properties":{"from":{"type":"integer"},"to":{"type":"integer"}},"description":"Razdoblje srednjaka"},"rejected":{"type":"integer","description":"Vrijednosti odbačene validacijom"},"error":{"type":"string"}}}},"updated":{"type":"integer"},"failed":{"type":"integer"},"duration_ms":{"type":"integer"}}},"error":{"type":"string","nullable":true}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/def-0"}}}}}}}},"tags":[{"name":"data","description":"Arhivirana opažanja DHMZ-a: vrijednosti kako ih je objavio DHMZ; arhiva i API Monachus informatike"},{"name":"renderers","description":"Izvedeni skupovi podataka i slike koje Monachus informatika izračunava iz arhiviranih opažanja DHMZ-a"},{"name":"jobs","description":"Stanje i upravljanje prikupljanjem — administrativno, zahtijeva Bearer token"},{"name":"system","description":"Zdravlje servisa i atribucija"}],"externalDocs":{"description":"DHMZ — XML podaci za korisnike (izvor i uvjeti korištenja)","url":"https://meteo.hr/proizvodi.php?section=podaci&param=xml_korisnici"}}