{"openapi":"3.1.0","info":{"title":"Datový portál obce Nebovidy – API","version":"1.0.3","summary":"Otevřená data obce Nebovidy (okres Brno-venkov) pro strojové zpracování.","description":"Toto API zpřístupňuje data, která obec Nebovidy zveřejňuje na svém webu a v úřední desce, ve strojově čitelné podobě.\n\n**Jak s API pracovat**\n\n* Autentizace není potřeba, API je veřejné a pouze pro čtení.\n* Každá odpověď obsahuje `meta.zdroj` a `meta.zdroj_url` – vždy víte, odkud číslo pochází, a můžete si ho zkontrolovat v originálním dokumentu.\n* U tabulkových endpointů lze místo JSON dostat CSV parametrem `?format=csv`.\n* Data jsou cachovaná (obvykle 6–24 hodin), takže neděláte zátěž na web obce.\n\n**Odkud data pocházejí**\n\n| Sekce | Zdroj |\n|---|---|\n| Zastupitelstvo | web obce – Usnesení zastupitelstva |\n| Rozpočet | schválený rozpočet a závěrečné účty obce |\n| Odpady | výroční přehledy odpadového hospodářství obce |\n| Obyvatelé | ČSÚ – Počet obyvatel v obcích k 1. 1. |\n| Počasí | Open-Meteo (reanalýza ERA5) |\n\n**Licence a citace**\n\nData obce jsou veřejné informace podle zákona č. 106/1999 Sb. Data o počasí jsou od Open-Meteo pod licencí CC BY 4.0. Při dalším použití prosím uveďte zdroj a odkaz na originální dokument.","contact":{"name":"Obec Nebovidy","email":"obec@nebovidyubrna.cz","url":"https://www.nebovidyubrna.cz"},"license":{"name":"Veřejné informace / CC BY 4.0 (počasí)"}},"servers":[{"url":"https://data.nebovidyubrna.cz","description":"Tento server"}],"tags":[{"name":"Přehled","description":"Souhrnná čísla za celou obec a základní identifikace."},{"name":"Provoz","description":"Údržba portálu – není to zdroj dat pro občany. Vyžaduje token správce a bez nastaveného tokenu je vypnuté."},{"name":"Zastupitelstvo","description":"Výpisy usnesení ze zasedání zastupitelstva obce, včetně odkazů na originální PDF na webu obce, a aktuální složení zastupitelstva a výborů."},{"name":"Rozpočet","description":"Schválený rozpočet obce na aktuální rok v členění na třídy a položky, plnění rozpočtu v minulých letech a seznam finančních dokumentů (rozpočty, rozpočtová opatření, závěrečné účty, výkazy)."},{"name":"Odpady","description":"Výsledky odpadového hospodářství obce podle § 60 odst. 4 zákona č. 541/2020 Sb.: vyvezené a vytříděné množství po jednotlivých frakcích, míra třídění, náklady a výnosy."},{"name":"Obyvatelé","description":"Počet obyvatel obce a jeho vývoj. Primární zdroj je ČSÚ – Počet obyvatel v obcích k 1. 1. (ukazatel 2406P, kód obce 583456); záložním zdrojem je MV ČR."},{"name":"Počasí","description":"Aktuální počasí, sedmidenní předpověď a historie za posledních 5 let z reanalýzy ERA5 pro souřadnice obce (zdroj Open-Meteo, CC BY 4.0)."},{"name":"Servis","description":"Zdraví aplikace a strojově čitelná specifikace."}],"components":{"schemas":{"Meta":{"type":"object","description":"Informace o původu a stáří dat.","properties":{"zdroj":{"type":"string","description":"Lidský popis zdroje."},"zdroj_url":{"type":["string","null"],"format":"uri","description":"Odkaz na originální dokument nebo stránku."},"vygenerovano":{"type":"string","format":"date-time","description":"Kdy byla odpověď sestavena (UTC)."},"cache":{"type":"object","description":"Stav cache: `hit` = z cache, `miss` = čerstvě stažené, `stale` = zdroj selhal, vrácena poslední známá data.","properties":{"stav":{"type":"string","enum":["hit","miss","stale"]},"cerstve":{"type":"boolean"},"chyba":{"type":"string"}}}}},"Chyba":{"type":"object","properties":{"chyba":{"type":"object","properties":{"kod":{"type":"integer"},"zprava":{"type":"string"},"detail":{"type":"string"}}}}},"Zasedani":{"type":"object","description":"Jedno zasedání zastupitelstva obce.","properties":{"cislo":{"type":["integer","null"],"description":"Pořadové číslo zasedání ve volebním období.","example":22},"ustavujici":{"type":"boolean","description":"Ustavující zasedání po volbách."},"datum":{"type":["string","null"],"format":"date","example":"2026-03-02"},"volebni_obdobi":{"type":["string","null"],"example":"2022–2026"},"nazev":{"type":"string","example":"Výpis usnesení z 22. zasedání ZO dne 2.3.2026"},"typ":{"type":"string","example":"usnesení"},"dokument_url":{"type":"string","format":"uri","description":"Odkaz na PDF na webu obce."},"oid":{"type":["integer","null"],"description":"Interní ID přílohy v redakčním systému obce."}}},"OdpadFrakce":{"type":"object","description":"Jedna složka (frakce) odpadu za daný rok.","properties":{"kod":{"type":"string","example":"plast"},"nazev":{"type":"string","example":"Plasty"},"kategorie":{"type":"string","enum":["smesny","objemny","nebezpecny","trideny_obal","trideny_ostatni","bio"]},"vyuzitelny":{"type":"boolean","description":"Počítá se do vytříděného odpadu."},"mnozstvi_t":{"type":["number","null"],"description":"Množství v tunách.","example":20.2},"naklady_kc":{"type":["number","null"],"description":"Náklady obce v Kč.","example":336674},"poznamka":{"type":["string","null"]}}},"OdpadSouhrn":{"type":"object","description":"Dopočítané ukazatele za rok.","properties":{"celkem_t":{"type":["number","null"]},"vytrideno_t":{"type":["number","null"]},"nevyuzitelny_t":{"type":["number","null"]},"mira_trideni_pct":{"type":["number","null"],"description":"Podíl vytříděného odpadu na celkovém množství."},"kg_na_osobu_celkem":{"type":["number","null"]},"kg_na_osobu_vytrideno":{"type":["number","null"]},"naklady_celkem_kc":{"type":["number","null"]},"vynosy_celkem_kc":{"type":["number","null"]},"doplatek_obce_kc":{"type":["number","null"],"description":"Kolik obec doplácí z rozpočtu (náklady − výnosy)."},"naklady_na_osobu_kc":{"type":["number","null"]},"pokryti_vynosy_pct":{"type":["number","null"]}}},"FinancniDokument":{"type":"object","properties":{"nazev":{"type":"string","example":"Rozpočet obce Nebovidy na rok 2022"},"typ":{"type":"string","example":"rozpocet"},"typ_popis":{"type":"string","example":"Rozpočet obce"},"rok":{"type":["integer","null"],"description":"Rok, ke kterému se dokument vztahuje (z jeho názvu). U rozpočtu je to rok, na který je sestaven – proto může být pozdější než datum schválení.","example":2022},"url":{"type":"string","format":"uri"},"je_pdf":{"type":"boolean","description":"True = odkaz míří přímo na PDF, False = na záznam úřední desky s přílohami."},"detail_id":{"type":["integer","null"]},"datum_schvaleni":{"type":["string","null"],"format":"date","description":"Datum schválení podle textu dokumentu. Null, když ho nelze zjistit (typicky sken bez textové vrstvy). Není to datum vyvěšení na úřední desce.","example":"2021-12-13"},"schvaleni":{"type":["object","null"],"description":"Jak portál k datu došel – pro ověření.","properties":{"jak":{"type":"string","enum":["zastupitelstvo","starosta","usneseni","obecne"],"description":"Která formulace v dokumentu se našla."},"uryvek":{"type":"string","description":"Doslovná věta z dokumentu.","example":"Schváleno Zastupitelstvem obce Nebovidy dne 13. 12. 2021"},"zdroj_url":{"type":"string","format":"uri","description":"PDF, ze kterého datum pochází (u záznamu s více přílohami ta hlavní)."}}}}},"OdpadRok":{"type":"object","properties":{"rok":{"type":"integer","example":2025},"zapojene_osoby":{"type":["integer","null"],"description":"Počet osob zapojených do obecního systému (plátci poplatku)."},"cena_svozu_kc_osoba":{"type":["number","null"]},"frakce":{"type":"array","items":{"$ref":"#/components/schemas/OdpadFrakce"}},"souhrn":{"$ref":"#/components/schemas/OdpadSouhrn"},"zdroj":{"type":"object","properties":{"nazev":{"type":"string"},"url":{"type":"string","format":"uri"}}}}},"ObyvateleZaznam":{"type":"object","properties":{"rok":{"type":"integer","example":2026},"datum":{"type":"string","format":"date","description":"Datum, ke kterému platí stav (obvykle 1. 1.)."},"pocet":{"type":"integer","example":828},"muzi":{"type":["integer","null"]},"zeny":{"type":["integer","null"]},"zmena_od_predchoziho":{"type":["integer","null"]},"zmena_pct":{"type":["number","null"]},"zdroj":{"type":"string"},"zdroj_url":{"type":["string","null"],"format":"uri"}}},"PocasiMesic":{"type":"object","properties":{"rok":{"type":"integer"},"mesic":{"type":"integer","minimum":1,"maximum":12},"mesic_nazev":{"type":"string","example":"červenec"},"obdobi":{"type":"string","example":"2025-07"},"teplota_prumer_c":{"type":["number","null"]},"teplota_maximum_c":{"type":["number","null"]},"teplota_minimum_c":{"type":["number","null"]},"srazky_mm":{"type":["number","null"]},"snih_cm":{"type":["number","null"]},"slunecni_svit_h":{"type":["number","null"]}}},"RozpocetTrida":{"type":"object","properties":{"trida":{"type":"integer","description":"Třída rozpočtové skladby (1–4 příjmy, 5–6 výdaje)."},"nazev":{"type":"string","example":"Daňové příjmy"},"castka_kc":{"type":"number","example":18510000},"polozky":{"type":"array","items":{"type":"object","properties":{"nazev":{"type":"string"},"castka_kc":{"type":"number"}}}}}}}},"paths":{"/api/v1/prehled":{"get":{"tags":["Přehled"],"summary":"Klíčová čísla za celou obec","description":"Jedno volání, ze kterého se dá postavit celá úvodní stránka: poslední rok odpadů, aktuální rozpočet, počet obyvatel, poslední zasedání a aktuální počasí.","operationId":"prehled","responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"503":{"description":"Zdroj nedostupný","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Chyba"}}}}}}},"/api/v1/obec":{"get":{"tags":["Přehled"],"summary":"Identifikace obce","description":"Základní údaje o obci: IČO, kód obce, okres, kraj, ORP, adresa, kontakt, souřadnice, rozloha.","operationId":"obec","responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/zastupitelstvo/zasedani":{"get":{"tags":["Zastupitelstvo"],"summary":"Seznam zasedání zastupitelstva a odkazy na usnesení","description":"Vrací všechna zasedání, ke kterým obec zveřejnila výpis usnesení, od nejnovějšího. Ke každému je datum, pořadové číslo, volební období a přímý odkaz na PDF na webu obce.","operationId":"zasedani","parameters":[{"name":"rok","in":"query","required":false,"description":"Filtr na kalendářní rok.","schema":{"type":"integer","minimum":1990,"maximum":2100},"example":2025},{"name":"volebni_obdobi","in":"query","required":false,"description":"Filtr na volební období, např. `2022-2026`.","schema":{"type":"string"},"example":"2022-2026"},{"name":"limit","in":"query","required":false,"description":"Maximální počet vrácených zasedání.","schema":{"type":"integer","minimum":1,"maximum":1000},"example":10},{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"pocet":{"type":"integer"},"volebni_obdobi":{"type":"array","items":{"type":"object"}},"zasedani":{"type":"array","items":{"$ref":"#/components/schemas/Zasedani"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Neplatný parametr"}}}},"/api/v1/zastupitelstvo/slozeni":{"get":{"tags":["Zastupitelstvo"],"summary":"Složení zastupitelstva a výborů","operationId":"slozeniZastupitelstva","parameters":[{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/rozpocet":{"get":{"tags":["Rozpočet"],"summary":"Rozpočet obce – aktuální rok i historie","description":"Kompletní balík: schválený rozpočet na aktuální rok v členění na třídy a položky, seznam investičních akcí a plnění rozpočtu v minulých letech.","operationId":"rozpocet","responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/rozpocet/aktualni":{"get":{"tags":["Rozpočet"],"summary":"Schválený rozpočet na aktuální rok","description":"Příjmy a výdaje po třídách rozpočtové skladby a po položkách, financování, saldo a seznam plánovaných investic. V CSV je jedna položka na řádek.","operationId":"rozpocetAktualni","parameters":[{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"rok":{"type":"integer","example":2026},"prijmy_celkem_kc":{"type":"number","example":26500000},"vydaje_celkem_kc":{"type":"number","example":31200000},"saldo_kc":{"type":"number","example":-4700000},"prijmy":{"type":"array","items":{"$ref":"#/components/schemas/RozpocetTrida"}},"vydaje":{"type":"array","items":{"$ref":"#/components/schemas/RozpocetTrida"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/rozpocet/historie":{"get":{"tags":["Rozpočet"],"summary":"Plnění rozpočtu v minulých letech","description":"Schválený rozpočet vs. skutečnost podle závěrečných účtů obce. Roky, u kterých obec skutečnost nezveřejnila, mají `null` a v poli `komentar` je vysvětlení.","operationId":"rozpocetHistorie","parameters":[{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/rozpocet/dokumenty":{"get":{"tags":["Rozpočet"],"summary":"Finanční dokumenty obce (rozpočty, opatření, závěrečné účty)","description":"Živý seznam dokumentů z úřední desky obce a jejího archivu, včetně odkazů na PDF. Umožňuje dostat se i k rozpočtům z minulých let.\n\n**Datum schválení.** U dokumentu je `datum_schvaleni` vytažené z textu samotného dokumentu (např. „Schváleno Zastupitelstvem obce Nebovidy dne 28. 5. 2025“). Není to datum vyvěšení na úřední desce – to bývá o týdny později a je zaměnitelné, proto ho portál nepublikuje. V objektu `schvaleni` je i `uryvek` s doslovnou větou z dokumentu a `zdroj_url` konkrétního PDF, aby se dal nález ověřit.\n\nKdyž dokument textovou vrstvu nemá (starší závěrečné účty jsou skeny), je `datum_schvaleni` `null` – nikdy se nedopočítává ani neodhaduje. Dohledávání je postupné, takže krátce po spuštění portálu má datum jen část dokumentů; kolik, říkají `schvaleni_dohledano` a `schvaleni_nezjisteno`.","operationId":"rozpocetDokumenty","parameters":[{"name":"rok","in":"query","required":false,"description":"Filtr na kalendářní rok.","schema":{"type":"integer","minimum":1990,"maximum":2100},"example":2025},{"name":"typ","in":"query","required":false,"description":"Filtr na druh dokumentu.","schema":{"type":"string","enum":["rozpocet","rozpoctove_opatreni","zaverecny_ucet","strednedoby_vyhled","rozpocet_ms","prezkoumani","vykaz","jiny"]}},{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"pocet":{"type":"integer","example":74},"schvaleni_dohledano":{"type":"integer","description":"U kolika dokumentů se datum schválení podařilo zjistit.","example":9},"schvaleni_nezjisteno":{"type":"integer","description":"U kolika zbývá – buď se ještě nedohledaly, nebo jde o sken bez textu.","example":65},"dokumenty":{"type":"array","items":{"$ref":"#/components/schemas/FinancniDokument"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/cache/vycistit":{"post":{"tags":["Provoz"],"summary":"Vyprázdnit serverovou cache (jen pro správce)","description":"Zahodí uloženou cache, takže se data při dalším požadavku natáhnou znovu ze zdrojů. Používá se po úpravě dat v portálu nebo po změně na webu obce, aby se nemuselo čekat na vypršení platnosti (rozpočet 6 h, odpady 24 h, obyvatelé 7 dní) ani restartovat kontejner.\n\nVyžaduje hlavičku `X-Obnovit-Token` se shodným tokenem, jaký je v proměnné prostředí `OBNOVIT_TOKEN`. Není-li token nastaven, endpoint neexistuje a vrací 404.\n\nDatum schválení dokumentů se po vyprázdnění dohledává znovu, takže se chvíli doplňuje.","operationId":"cacheVycistit","parameters":[{"name":"X-Obnovit-Token","in":"header","required":true,"schema":{"type":"string"},"description":"Token z proměnné prostředí OBNOVIT_TOKEN."}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"smazano_souboru":{"type":"integer","example":12}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"403":{"description":"Neplatný token."},"404":{"description":"OBNOVIT_TOKEN není nastaven, akce je vypnutá."}}}},"/api/v1/odpad":{"get":{"tags":["Odpady"],"summary":"Odpadové hospodářství – kolik se vyvezlo a vytřídilo","description":"Za každý zveřejněný rok: množství jednotlivých frakcí v tunách, náklady a výnosy, dopočítaná míra třídění a množství na osobu.","operationId":"odpad","parameters":[{"name":"rok","in":"query","required":false,"description":"Filtr na kalendářní rok.","schema":{"type":"integer","minimum":1990,"maximum":2100},"example":2025}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"posledni_rok":{"type":"integer","example":2025},"roky":{"type":"array","items":{"$ref":"#/components/schemas/OdpadRok"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"404":{"description":"Za daný rok nejsou data."}}}},"/api/v1/odpad/vyvoj":{"get":{"tags":["Odpady"],"summary":"Vývoj odpadů v čase (časová řada)","description":"Jeden řádek za rok – vhodné pro graf nebo tabulku. Obsahuje celkové množství, vytříděné množství, míru třídění, kg na osobu, náklady a výnosy.","operationId":"odpadVyvoj","parameters":[{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"default":{"description":"Tabulka v CSV.","content":{"text/csv":{"schema":{"type":"string"}}}}}}},"/api/v1/odpad/frakce":{"get":{"tags":["Odpady"],"summary":"Jednotlivé frakce odpadu po letech","description":"Plochý seznam (rok × frakce) – nejvhodnější formát pro další zpracování v tabulkovém procesoru.","operationId":"odpadFrakce","parameters":[{"name":"rok","in":"query","required":false,"description":"Filtr na kalendářní rok.","schema":{"type":"integer","minimum":1990,"maximum":2100},"example":2025},{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OdpadFrakce"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/obyvatele":{"get":{"tags":["Obyvatelé"],"summary":"Počet obyvatel a jeho vývoj","description":"Časová řada počtu obyvatel k 1. 1. Portál ji stahuje z ČSÚ (DataStat, výběr `OBY02AT02`, ukazatel 2406P) po jednom roce, filtr `UZ25=583456`. Roky, které ČSÚ nemá, dobírá z ročních souborů MV ČR. Když je nedostupné obojí, vrátí ověřená záložní data – v `meta.zdroj` a `zdroj_rady` je vždy vidět, který případ nastal, a každý záznam má vlastní `zdroj`.\n\nŘada ČSÚ zahrnuje i cizince. Obecní úřad vede vlastní evidenci trvale hlášených obyvatel, jejíž čísla se mohou o několik osob lišit – jde o jinou metodiku. Mezi roky 2020 a 2021 je v řadě zlom způsobený revizí po Sčítání 2021, ne úbytkem obyvatel; vysvětlení je v `o_datech.zlom_v_rade`.\n\nV `doplnkove_ukazatele` jsou navíc věková struktura, průměrný věk a orientační ukazatele (evidence obce, plátci poplatku za odpad).","operationId":"obyvatele","parameters":[{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"aktualni":{"$ref":"#/components/schemas/ObyvateleZaznam"},"rada":{"type":"array","items":{"$ref":"#/components/schemas/ObyvateleZaznam"}},"vyvoj_celkem":{"type":["object","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/pocasi/aktualni":{"get":{"tags":["Počasí"],"summary":"Aktuální počasí a předpověď na 7 dní","description":"Aktuální teplota, vlhkost, vítr, tlak a slovní popis stavu + denní řada za posledních 7 dní a předpověď na 7 dní dopředu.","operationId":"pocasiAktualni","parameters":[{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"503":{"description":"Open-Meteo je nedostupné nebo je vypnutý přístup k internetu."}}}},"/api/v1/pocasi/historie":{"get":{"tags":["Počasí"],"summary":"Vývoj počasí za posledních 5 let","description":"Měsíční a roční agregace denní řady z reanalýzy ERA5 pro souřadnice obce: průměrné, maximální a minimální teploty, srážky, sníh, sluneční svit a počty tropických, letních, mrazových a ledových dnů. V `prumer_mesicu` je průměr za celé roky – slouží jako srovnávací hodnota pro aktuální rok.","operationId":"pocasiHistorie","parameters":[{"name":"roky","in":"query","required":false,"description":"Kolik let historie stáhnout (výchozí 5).","schema":{"type":"integer","minimum":1,"maximum":20,"default":5}},{"name":"granularita","in":"query","required":false,"description":"Co se má exportovat do CSV.","schema":{"type":"string","enum":["mesic","rok"],"default":"mesic"}},{"name":"format","in":"query","required":false,"description":"Zadejte `csv` pro stažení tabulky ve formátu CSV (oddělovač `;`, kódování UTF-8 s BOM).","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Odpověď je zabalená v objektu `data` + `meta`. V `meta` je vždy uvedeno, z jakého zdroje data pocházejí a kdy byla vygenerována.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"roky":{"type":"array","items":{"type":"object"}},"mesice":{"type":"array","items":{"$ref":"#/components/schemas/PocasiMesic"}},"prumer_mesicu":{"type":"array","items":{"type":"object"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"503":{"description":"Open-Meteo je nedostupné."}}}},"/api/v1/health":{"get":{"tags":["Servis"],"summary":"Zdraví aplikace","operationId":"health","responses":{"200":{"description":"Aplikace běží."}}}},"/api/v1/openapi.json":{"get":{"tags":["Servis"],"summary":"Tato specifikace ve formátu OpenAPI 3.1","operationId":"openapi","responses":{"200":{"description":"OpenAPI dokument."}}}}}}
