{"openapi":"3.1.0","info":{"title":"kart-api","description":"Sveriges geodata som ett API: ortnamn, kommuner, höjd, marktäcke, vatten,\nkollektivtrafik i realtid, register och renderade kartor. Källorna är Lantmäteriet, SCB,\nTrafiklab, Skogsstyrelsen, Valmyndigheten, MCF och OpenStreetMap.\n\n**Utan nyckel:** 200 anrop per dygn och IP-adress. **Med nyckel** (`X-API-Key` eller `?key=`):\n10,000 anrop per månad, gratis under betan. Tiles och stilar räknas inte mot kvoten.\n\n**Attribution är ett licensvillkor.** Varje JSON-svar bär fältet `attribution` och varje svar\nhuvudet `X-Attribution` (procentkodat — avkoda med `decodeURIComponent`). Visa raderna där\ndatat visas. Mer: https://kart-api.se/docs/attribution/\n\n**Svar som felar stängt.** Vi svarar hellre 503 med ett skäl än 200 med en tom lista som ser\nut som ett besked. `spridning.entydig` kan vara `null` (omätt) — behandla det aldrig som `true`.\nMer: https://kart-api.se/docs/felkontrakt/\n\nKontraktet under `/v1/` är fryst: fält tas inte bort och byter inte betydelse. Ändringar = `/v2/`.\n","contact":{"name":"Autonomous Media AB","url":"https://kart-api.se/","email":"api@autonomousmedia.io"},"license":{"name":"Data: se attribution per endpoint","url":"https://kart-api.se/docs/attribution/"},"version":"1.0.0","x-kvot":{"nyckellos_per_dygn":200,"nyckel_per_manad":10000},"x-logo":{"url":"https://kart-api.se/favicon.svg"}},"servers":[{"url":"/v1"},{"url":"https://api.kart-api.se/v1","description":"Produktion"}],"paths":{"/geocode":{"get":{"tags":["Geokodning"],"summary":"Plats eller adress → koordinat","description":"Ortnamn och kommunnamn ur Lantmäteriet, gatuadresser ur OpenStreetMap. Ett rent namn rangordnas kommun > tätort > småort > bebyggelse > trakt. `spridning` säger hur många kommuner namnet finns i — räknat före limit.","operationId":"v1_geocode_geocode_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Fritext, t.ex. `Fridhem` eller `Storgatan 1, Motala`.","title":"Q"},"description":"Fritext, t.ex. `Fridhem` eller `Storgatan 1, Motala`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}},{"name":"kommunkod","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Fyrsiffrig kommunkod. Filtrerar ALLA träffar på punktens läge.","title":"Kommunkod"},"description":"Fyrsiffrig kommunkod. Filtrerar ALLA träffar på punktens läge."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeocodeSvar"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Bad Gateway"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geocode/reverse":{"get":{"tags":["Geokodning"],"summary":"Koordinat → närmaste plats","description":"Närmaste ortnamn inom 5 km (Lantmäteriet), annars kommunen, annars OpenStreetMap. Ger ortsnivå, inte gatuadress.","operationId":"v1_reverse_geocode_reverse_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ortnamn":{"get":{"tags":["Geokodning"],"summary":"Lantmäteriets ortnamn (990 000 namn)","description":"Namnsök (`q`) eller närmaste namn kring en punkt (`lat`,`lon`). `total` räknas före limit.","operationId":"v1_ortnamn_ortnamn_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"}},{"name":"radius","in":"query","required":false,"schema":{"type":"integer","maximum":20000,"minimum":1,"description":"Meter, bara i punktläget.","default":3000,"title":"Radius"},"description":"Meter, bara i punktläget."},{"name":"kommunkod","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Fyrsiffrig kommunkod.","title":"Kommunkod"},"description":"Fyrsiffrig kommunkod."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":15,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrtnamnSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/kommun/lookup":{"get":{"tags":["Kommuner och områden"],"summary":"Vilken kommun ligger punkten i?","operationId":"v1_kommun_lookup_kommun_lookup_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KommunLookup"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/kommun/{kod}":{"get":{"tags":["Kommuner och områden"],"summary":"Kommunens gräns som GeoJSON","operationId":"v1_kommun_kommun__kod__get","parameters":[{"name":"kod","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}$","description":"Kommunkod, t.ex. 0562.","title":"Kod"},"description":"Kommunkod, t.ex. 0562."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KommunFeature"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/kommun/{kod}/grannar":{"get":{"tags":["Kommuner och områden"],"summary":"Grannkommuner","operationId":"v1_grannar_kommun__kod__grannar_get","parameters":[{"name":"kod","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}$","title":"Kod"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrannarSvar"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Not Found"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Service Unavailable"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/postnummer/{nr}":{"get":{"tags":["Kommuner och områden"],"summary":"Postnummer → kommun och punkt","operationId":"v1_postnummer_postnummer__nr__get","parameters":[{"name":"nr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3} ?\\d{2}$","title":"Nr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostnummerSvar"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deso":{"get":{"tags":["Kommuner och områden"],"summary":"Punkt → DeSO- och RegSO-område (SCB)","operationId":"v1_deso_deso_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesoSvar"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/hojd":{"get":{"tags":["Terräng och natur"],"summary":"Höjd över havet för en punkt (1 m-modell)","operationId":"v1_hojd_hojd_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":69.5,"minimum":55,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":24.5,"minimum":10,"title":"Lon"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HojdSvar"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Bad Gateway"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marktacke":{"get":{"tags":["Terräng och natur"],"summary":"Marktäcke kring en punkt (skog, åker, bebyggelse …)","operationId":"v1_marktacke_marktacke_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":69.5,"minimum":55,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":24.5,"minimum":10,"title":"Lon"}},{"name":"radius","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":10,"default":300,"title":"Radius"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarktackeSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/hydrografi":{"get":{"tags":["Terräng och natur"],"summary":"Sjöar och vattendrag kring en punkt","operationId":"v1_hydrografi_hydrografi_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":69.5,"minimum":55,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":24.5,"minimum":10,"title":"Lon"}},{"name":"radius","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":10,"default":1000,"title":"Radius"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HydrografiSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/trafik":{"get":{"tags":["Levande data"],"summary":"Kollektivtrafikoperatörer med öppet realtidsflöde","operationId":"v1_trafik_trafik_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorSvar"}}}}}}},"/trafik/{operator}":{"get":{"tags":["Levande data"],"summary":"Fordonspositioner i realtid för en operatör","operationId":"v1_trafik_op_trafik__operator__get","parameters":[{"name":"operator","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]+$","title":"Operator"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FordonSvar"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fel"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/skyddsrum":{"get":{"tags":["Register"],"summary":"Skyddsrum i en kommun","operationId":"v1_skyddsrum_skyddsrum_get","parameters":[{"name":"kommun","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}$","title":"Kommun"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkyddsrumSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/avverkning":{"get":{"tags":["Register"],"summary":"Avverkningsanmälningar i en kommun (Skogsstyrelsen)","operationId":"v1_avverkning_avverkning_get","parameters":[{"name":"kommun","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}$","title":"Kommun"}},{"name":"dagar","in":"query","required":false,"schema":{"type":"integer","maximum":1825,"minimum":1,"default":42,"title":"Dagar"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvverkningSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/befolkningsrutor":{"get":{"tags":["Register"],"summary":"Befolkning per km²-ruta (SCB, störda värden)","operationId":"v1_befolkning_befolkningsrutor_get","parameters":[{"name":"kommun","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}$","title":"Kommun"}},{"name":"ar","in":"query","required":false,"schema":{"type":"integer","maximum":2030,"minimum":2015,"default":2025,"title":"Ar"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BefolkningSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/valresultat":{"get":{"tags":["Register"],"summary":"Valresultat per valdistrikt (Valmyndigheten)","operationId":"v1_valresultat_valresultat_get","parameters":[{"name":"kommun","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}$","title":"Kommun"}},{"name":"valtyp","in":"query","required":false,"schema":{"type":"string","pattern":"^(RD|RF|KF)$","description":"RD riksdag · RF region · KF kommun.","default":"RD","title":"Valtyp"},"description":"RD riksdag · RF region · KF kommun."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValSvar"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp":{"post":{"tags":["MCP"],"summary":"Model Context Protocol (streamable HTTP, JSON-svar)","description":"Peka en MCP-klient hit: `claude mcp add --transport http kart-api https://api.kart-api.se/mcp`. Verktyg: geocode, reverse_geocode, ortnamn, kommun_lookup, hojd, rendera_karta.","operationId":"mcp_mcp_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/render/karta":{"get":{"tags":["Rendering"],"summary":"Statisk karta som PNG i ett anrop","description":"Apple-lik baskarta ur OpenStreetMap-data, med markörer. Krediten är inbränd i bilden. Ett anrop kan ta upp till ~20 s när bilden inte är cachad. Högst två samtidiga externa renderingar — därutöver 429.","parameters":[{"name":"lat","in":"query","required":true,"description":"Centrum","schema":{"type":"number"}},{"name":"lng","in":"query","required":true,"description":"Centrum","schema":{"type":"number"}},{"name":"zoom","in":"query","required":true,"description":"0–22","schema":{"type":"number"}},{"name":"w","in":"query","required":false,"description":"Bredd px (max 2000)","schema":{"type":"integer"}},{"name":"h","in":"query","required":false,"description":"Höjd px (max 2000)","schema":{"type":"integer"}},{"name":"scale","in":"query","required":false,"description":"1 eller 2","schema":{"type":"integer"}},{"name":"style","in":"query","required":false,"description":"ljus · morker","schema":{"type":"string","enum":["ljus","morker"]}},{"name":"marker","in":"query","required":false,"description":"lng,lat — upprepa för fler","schema":{"type":"string"}},{"name":"bbox","in":"query","required":false,"description":"väst,syd,öst,nord (i stället för lat/lng/zoom)","schema":{"type":"string"}}],"responses":{"200":{"description":"PNG","content":{"image/png":{}}},"429":{"description":"Takten nådd (Retry-After) eller renderkön full"}},"x-attribution":["© OpenMapTiles © OpenStreetMap-bidragsgivare · ODbL 1.0"]}},"/render/vinjett":{"get":{"tags":["Rendering"],"summary":"Orienteringskarta (vinjett) över en kommun eller punkt","description":"Levereras bara om kartan kan fyllas: annars 503 med `lagsta_fyllande_zoom`. Huvudet `X-Fyllnad` (0–1) säger hur stor del av ytan som har karta.","parameters":[{"name":"kommun","in":"query","required":false,"description":"Kommunkod","schema":{"type":"string"}},{"name":"lat","in":"query","required":false,"description":"Punkt","schema":{"type":"number"}},{"name":"lon","in":"query","required":false,"description":"Punkt","schema":{"type":"number"}},{"name":"label","in":"query","required":false,"description":"Etikett","schema":{"type":"string"}},{"name":"zoom","in":"query","required":false,"description":"5–12","schema":{"type":"integer"}},{"name":"w","in":"query","required":false,"description":"Bredd","schema":{"type":"integer"}},{"name":"h","in":"query","required":false,"description":"Höjd","schema":{"type":"integer"}}],"responses":{"200":{"description":"PNG","content":{"image/png":{}}},"429":{"description":"Takten nådd (Retry-After) eller renderkön full"},"503":{"description":"Kan inte fyllas — se lagsta_fyllande_zoom"}},"x-attribution":["©Lantmäteriet · Topografisk webbkarta · CC BY 4.0","© OpenMapTiles © OpenStreetMap-bidragsgivare · ODbL 1.0"]}},"/route/isochrone":{"get":{"tags":["Routing"],"summary":"Isokroner (restid) — Valhalla","description":"Valhallas isochrone-API över OpenStreetMap. Parametern `json` bär Valhalla-frågan, t.ex. `{\"locations\":[{\"lat\":58.70,\"lon\":15.78}],\"costing\":\"pedestrian\",\"contours\":[{\"time\":15}]}`.","parameters":[{"name":"json","in":"query","required":true,"description":"Valhalla-fråga (URL-kodad JSON)","schema":{"type":"string"}}],"responses":{"200":{"description":"GeoJSON"}},"x-attribution":["© OpenStreetMap-bidragsgivare · ODbL 1.0"]}},"/route/route":{"get":{"tags":["Routing"],"summary":"Vägbeskrivning A→B — Valhalla","parameters":[{"name":"json","in":"query","required":true,"description":"Valhalla-fråga (URL-kodad JSON)","schema":{"type":"string"}}],"responses":{"200":{"description":"Valhalla trip"}},"x-attribution":["© OpenStreetMap-bidragsgivare · ODbL 1.0"]}},"/styles/{stil}.json":{"get":{"tags":["Baskarta"],"summary":"MapLibre-stil (ljus eller mörk)","description":"Peka `new maplibregl.Map({style: …})` hit. Vektortiles, typsnitt och sprites följer med. Räknas inte mot kvoten.","parameters":[{"name":"stil","in":"path","required":true,"schema":{"type":"string","enum":["ljus","morker"]}}],"responses":{"200":{"description":"MapLibre style JSON"}},"x-attribution":["© OpenMapTiles © OpenStreetMap-bidragsgivare · ODbL 1.0"]}},"/tiles/terrain-rgb-{kommunkod}-1m.pmtiles":{"get":{"tags":["Baskarta"],"summary":"Terräng (Terrarium-RGB) per kommun, 1 m-modell","description":"PMTiles-arkiv med höjd som RGB — för MapLibres `raster-dem`/3D-terräng. Arkivets utbredning ÄR kommunen: zooma inte ut förbi z11, då ritas kanten som en lodrät vägg.","parameters":[{"name":"kommunkod","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"PMTiles (range requests)"}},"x-attribution":["©Lantmäteriet · Markhöjdmodell · CC BY 4.0"]}}},"components":{"schemas":{"AvverkningSvar":{"properties":{"kommunkod":{"type":"string","title":"Kommunkod"},"fonster_dagar":{"type":"integer","title":"Fonster Dagar"},"kommunen_ar_svept":{"type":"boolean","title":"Kommunen Ar Svept","description":"false = vi har inte hämtat kommunen. Då är antal OKÄNT, inte noll."},"senaste_anmalan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Senaste Anmalan"},"uttag_alder_dygn":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uttag Alder Dygn"},"tillstand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tillstand"},"antal":{"type":"integer","title":"Antal"},"antal_i_fonstret":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Antal I Fonstret","description":"Hur många anmälningar som finns i fönstret, räknat före limit."},"trunkerad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Trunkerad","description":"true när limit kapade svaret."},"type":{"type":"string","title":"Type","default":"FeatureCollection"},"features":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Features"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["kommunkod","fonster_dagar","kommunen_ar_svept","antal","features","attribution"],"title":"AvverkningSvar"},"BefolkningSvar":{"properties":{"kommunkod":{"type":"string","title":"Kommunkod"},"ar":{"type":"integer","title":"Ar"},"inlasta_ar":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Inlasta Ar"},"metod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metod","description":"SCB:s störningsmetod. Läs den: rutvärdena är störda och summerar INTE till kommunens folkmängd."},"rutor_i_kommunen":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rutor I Kommunen"},"tillstand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tillstand"},"antal":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Antal"},"type":{"type":"string","title":"Type","default":"FeatureCollection"},"features":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Features"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["kommunkod","ar","features","attribution"],"title":"BefolkningSvar"},"DesoSvar":{"properties":{"desokod":{"type":"string","title":"Desokod"},"regsokod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regsokod"},"regsonamn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regsonamn"},"kommunkod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunkod"},"kommunnamn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunnamn"},"lanskod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lanskod"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["desokod","attribution"],"title":"DesoSvar"},"Fel":{"properties":{"detail":{"type":"string","title":"Detail"},"skal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skal"}},"type":"object","required":["detail"],"title":"Fel"},"Fordon":{"properties":{"type":{"type":"string","title":"Type","default":"Feature"},"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"},"properties":{"$ref":"#/components/schemas/FordonEgenskaper"}},"type":"object","required":["geometry","properties"],"title":"Fordon"},"FordonEgenskaper":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"ts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ts","description":"Positionens tid, Unix-sekunder."},"bearing":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bearing"},"speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Speed","description":"m/s"},"pa_tur":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pa Tur","description":"true om fordonet är knutet till en pågående tur."},"occupancy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occupancy"},"route":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route","description":"Linjens kortnamn, när mappningen finns."},"headsign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headsign","description":"Destinationen på skylten."},"route_type":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Route Type","description":"0 spårvagn · 1 tunnelbana · 2 tåg · 3 buss · 4 färja."}},"type":"object","title":"FordonEgenskaper"},"FordonSvar":{"properties":{"type":{"type":"string","title":"Type","default":"FeatureCollection"},"operator":{"type":"string","title":"Operator"},"antal":{"type":"integer","title":"Antal"},"feed_ts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Feed Ts"},"hamtad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hamtad"},"features":{"items":{"$ref":"#/components/schemas/Fordon"},"type":"array","title":"Features"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["operator","antal","features","attribution"],"title":"FordonSvar"},"GeoTraff":{"properties":{"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"namn":{"type":"string","title":"Namn","description":"Visningsnamn."},"tier":{"type":"string","title":"Tier","description":"Precision: `kommun` · `place` (ort-/naturnamn, punkt för namnet) · `address` (gatunivå, bara från OpenStreetMap)."},"typ":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Typ","description":"t.ex. tätort, bebyggelse, trakt, kommun, eller OSM-typen."},"kommunkod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunkod"},"lanskod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lanskod"},"kalla":{"type":"string","title":"Kalla","description":"`lm_ortnamn` · `lm_kommun` · `osm`."},"bbox":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Bbox","description":"[väst, syd, öst, nord] när källan har en utbredning."}},"type":"object","required":["lat","lon","namn","tier","kalla"],"title":"GeoTraff"},"GeocodeSvar":{"properties":{"query":{"type":"string","title":"Query"},"antal":{"type":"integer","title":"Antal","description":"Antal träffar i DETTA svar (efter limit)."},"spridning":{"anyOf":[{"$ref":"#/components/schemas/Spridning"},{"type":"null"}],"description":"Hur flertydigt namnet är i hela landet. Felar stängt: kräv `entydig === true` om du inte får peka fel."},"kommunfilter":{"anyOf":[{"$ref":"#/components/schemas/Kommunfilter"},{"type":"null"}],"description":"Finns när `kommunkod` tog bort träffar. Noll kvar betyder att ingen träff låg i kommunen — inte att platsen inte finns."},"results":{"items":{"$ref":"#/components/schemas/GeoTraff"},"type":"array","title":"Results"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["query","antal","results","attribution"],"title":"GeocodeSvar"},"GrannarSvar":{"properties":{"kod":{"type":"string","title":"Kod"},"namn":{"type":"string","title":"Namn"},"grannar":{"items":{"$ref":"#/components/schemas/Granne"},"type":"array","title":"Grannar","description":"Delad gräns ELLER inom 200 m över vatten (skärgård, fjärdar)."},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["kod","namn","grannar","attribution"],"title":"GrannarSvar"},"Granne":{"properties":{"kod":{"type":"string","title":"Kod"},"namn":{"type":"string","title":"Namn"},"lanskod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lanskod"}},"type":"object","required":["kod","namn"],"title":"Granne"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HojdSvar":{"properties":{"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"hojd_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hojd M","description":"Meter över havet (RH 2000). null när punkten saknar data — aldrig 0."},"nodata":{"type":"boolean","title":"Nodata"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["lat","lon","hojd_m","nodata","attribution"],"title":"HojdSvar"},"HydrografiSvar":{"properties":{"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"radius_m":{"type":"integer","title":"Radius M"},"antal":{"type":"integer","title":"Antal"},"results":{"items":{"$ref":"#/components/schemas/Vatten"},"type":"array","title":"Results"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["lat","lon","radius_m","antal","results","attribution"],"title":"HydrografiSvar"},"KommunEgenskaper":{"properties":{"kommunkod":{"type":"string","title":"Kommunkod"},"kommunnamn":{"type":"string","title":"Kommunnamn"},"lanskod":{"type":"string","title":"Lanskod"}},"type":"object","required":["kommunkod","kommunnamn","lanskod"],"title":"KommunEgenskaper"},"KommunFeature":{"properties":{"type":{"type":"string","title":"Type","default":"Feature"},"properties":{"$ref":"#/components/schemas/KommunEgenskaper"},"geometry":{"additionalProperties":true,"type":"object","title":"Geometry","description":"GeoJSON MultiPolygon, WGS84, förenklad för visning."},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["properties","geometry","attribution"],"title":"KommunFeature"},"KommunLookup":{"properties":{"kommunkod":{"type":"string","title":"Kommunkod"},"kommunnamn":{"type":"string","title":"Kommunnamn"},"lanskod":{"type":"string","title":"Lanskod"},"lansnamn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lansnamn"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["kommunkod","kommunnamn","lanskod","attribution"],"title":"KommunLookup"},"Kommunfilter":{"properties":{"begard":{"type":"string","title":"Begard"},"bortfiltrerade":{"type":"integer","title":"Bortfiltrerade"},"skal":{"type":"string","title":"Skal"}},"type":"object","required":["begard","bortfiltrerade","skal"],"title":"Kommunfilter"},"Marktacke":{"properties":{"klass":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Klass"},"objekttypnr":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Objekttypnr"},"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"}},"type":"object","required":["klass","geometry"],"title":"Marktacke"},"MarktackeSvar":{"properties":{"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"radius_m":{"type":"integer","title":"Radius M"},"antal":{"type":"integer","title":"Antal"},"results":{"items":{"$ref":"#/components/schemas/Marktacke"},"type":"array","title":"Results"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["lat","lon","radius_m","antal","results","attribution"],"title":"MarktackeSvar"},"Operator":{"properties":{"kod":{"type":"string","title":"Kod"},"namn":{"type":"string","title":"Namn"},"lan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lan"}},"type":"object","required":["kod","namn"],"title":"Operator"},"OperatorSvar":{"properties":{"operators":{"items":{"$ref":"#/components/schemas/Operator"},"type":"array","title":"Operators"},"saknar_flode":{"items":{"type":"string"},"type":"array","title":"Saknar Flode","description":"Län (kod) utan öppet realtidsflöde. Kollektivtrafik där visas inte — den finns, men inte som öppen data."},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["operators","saknar_flode","attribution"],"title":"OperatorSvar"},"Ortnamn":{"properties":{"namn":{"type":"string","title":"Namn"},"detaljtyp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detaljtyp","description":"LM:s typkod, t.ex. BEBTÄT (tätort), BEBTX (bebyggelse), TRAKT."},"kommunkod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunkod"},"lanskod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lanskod"},"sprak":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sprak"},"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"avstand_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avstand M","description":"Bara i punktläget (lat/lon)."}},"type":"object","required":["namn","lat","lon"],"title":"Ortnamn"},"OrtnamnSvar":{"properties":{"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"},"antal":{"type":"integer","title":"Antal","description":"Rader i detta svar."},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Hur många namn som matchar, räknat FÖRE limit. `antal` är aldrig ett antal platser."},"avkortad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Avkortad","description":"true när limit klippte bort träffar."},"spridning":{"anyOf":[{"$ref":"#/components/schemas/Spridning"},{"type":"null"}]},"results":{"items":{"$ref":"#/components/schemas/Ortnamn"},"type":"array","title":"Results"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["antal","results","attribution"],"title":"OrtnamnSvar"},"PostnummerSvar":{"properties":{"postnummer":{"type":"string","title":"Postnummer"},"kommunkod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunkod"},"kommunnamn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunnamn"},"lanskod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lanskod"},"lansnamn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lansnamn"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["postnummer","kommunkod","kommunnamn","lanskod","lansnamn","lat","lon","attribution"],"title":"PostnummerSvar"},"ReverseSvar":{"properties":{"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"namn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Namn","description":"Närmaste ortnamn inom 5 km, annars kommunen, annars OpenStreetMaps beskrivning. null utanför Sverige."},"tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier","description":"`place` · `kommun` · `osm`."},"kalla":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kalla"},"kommunkod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunkod"},"kommunnamn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kommunnamn"},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["lat","lon","namn","tier","kalla","attribution"],"title":"ReverseSvar"},"Skyddsrum":{"properties":{"type":{"type":"string","title":"Type","default":"Feature"},"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"skyddsrumsnr, platser, adress (registrets egen beteckning)."}},"type":"object","required":["geometry","properties"],"title":"Skyddsrum"},"SkyddsrumFC":{"properties":{"type":{"type":"string","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Skyddsrum"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"SkyddsrumFC"},"SkyddsrumSvar":{"properties":{"kommun_kod":{"type":"string","title":"Kommun Kod"},"tillstand":{"type":"string","title":"Tillstand","description":"`inlast` = registret är inläst för kommunen. Ett annat värde betyder att talet INTE är ett känt noll."},"antal_skyddsrum":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Antal Skyddsrum"},"total_platser":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Platser"},"uppdaterad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uppdaterad"},"skyddsrum":{"anyOf":[{"$ref":"#/components/schemas/SkyddsrumFC"},{"type":"null"}]},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["kommun_kod","tillstand","attribution"],"title":"SkyddsrumSvar"},"Spridning":{"properties":{"traffar":{"type":"integer","title":"Traffar","description":"Hur många ortnamn i hela Sverige som heter exakt så — räknat FÖRE limit."},"kommuner":{"type":"integer","title":"Kommuner","description":"I hur många kommuner namnet finns."},"entydig":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Entydig","description":"true = mätt och entydigt · false = mätt och flertydigt · null = OMÄTT (frågan var inget ortnamn, t.ex. en gatuadress). Behandla aldrig null som true."},"skal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skal","description":"Varför entydig är null, i klartext."}},"type":"object","required":["traffar","kommuner","entydig"],"title":"Spridning"},"ValSvar":{"properties":{"kommunkod":{"type":"string","title":"Kommunkod"},"valtyp":{"type":"string","title":"Valtyp"},"antal":{"type":"integer","title":"Antal"},"sammanfattning":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Sammanfattning","description":"distrikt, raknade, jamforbara, ej_jamforbara, slutliga, preliminara, roster_kartan, roster_totalt, uppsamlingsdistrikt …"},"swing_null_betyder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Swing Null Betyder"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results","description":"En rad per valdistrikt. `raknat: false` = ännu inte räknat; läs aldrig totalt_roster utan raknat."},"attribution":{"items":{"type":"string"},"type":"array","title":"Attribution"}},"type":"object","required":["kommunkod","valtyp","antal","results","attribution"],"title":"ValSvar"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vatten":{"properties":{"typ":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Typ"},"subtyp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtyp"},"namn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Namn"},"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"}},"type":"object","required":["typ","geometry"],"title":"Vatten"}}}}