{"openapi":"3.1.0","info":{"title":"Wetterdienst","description":"Wetterdaten für die Schadenregulierung: DWD-Stationen, Radar (RADOLAN) und Modelldaten, bewertet nach den Warnkriterien des Deutschen Wetterdienstes. Liefert sachliche Feststellungen mit Quellenangabe — ohne Aussage zur Deckung.","version":"0.1.0"},"paths":{"/auth/anmelden":{"post":{"tags":["auth"],"summary":"Anmelden","operationId":"anmelden_auth_anmelden_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnmeldeDaten"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Anmelden Auth Anmelden Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/abmelden":{"post":{"tags":["auth"],"summary":"Abmelden","operationId":"abmelden_auth_abmelden_post","parameters":[{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Abmelden Auth Abmelden Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/orte":{"get":{"tags":["wetter"],"summary":"Orte Suchen","description":"Adressvorschläge mit Koordinaten.","operationId":"orte_suchen_api_orte_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"description":"Adresse oder Ortsname","title":"Q"},"description":"Adresse oder Ortsname"},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Orte Suchen Api Orte Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/wetter":{"get":{"tags":["wetter"],"summary":"Wetter","description":"Stundenwerte aus allen verfügbaren Quellen.\n\nDer gemessene Stationswert bleibt erhalten; Radar- und Modellwerte kommen\nals eigene Felder dazu. Welcher Wert für eine Bewertung maßgeblich ist,\nentscheidet die Fachlogik — nicht diese Schnittstelle.","operationId":"wetter_api_wetter_get","parameters":[{"name":"von","in":"query","required":true,"schema":{"type":"string","description":"Beginn, JJJJ-MM-TT","title":"Von"},"description":"Beginn, JJJJ-MM-TT"},{"name":"bis","in":"query","required":true,"schema":{"type":"string","description":"Ende einschliesslich, JJJJ-MM-TT","title":"Bis"},"description":"Ende einschliesslich, JJJJ-MM-TT"},{"name":"ort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Adresse des Schadenortes","title":"Ort"},"description":"Adresse des Schadenortes"},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Lat"}},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Lon"}},{"name":"radius_km","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":0,"description":"Umkreis für das Radar-Maximum","default":5,"title":"Radius Km"},"description":"Umkreis für das Radar-Maximum"},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Wetter Api Wetter Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/wetter/bewertung":{"get":{"tags":["wetter"],"summary":"Bewertung","description":"Wetterdaten samt Einordnung nach den Gefahren der VGB 2022.\n\nOrdnet Gefahrenklassen zu und trifft **keine Deckungsaussage** — ob ein\nSchaden gedeckt ist, hängt am Vertrag und an der Feststellung vor Ort.\nStarkregen wird deshalb als Ursache geführt, nicht als Gefahr.\n\nDas Ergebnis wird unter `schluessel` abgelegt; darüber ist es später\nunverändert wieder abrufbar.","operationId":"bewertung_api_wetter_bewertung_get","parameters":[{"name":"von","in":"query","required":true,"schema":{"type":"string","description":"Beginn, JJJJ-MM-TT","title":"Von"},"description":"Beginn, JJJJ-MM-TT"},{"name":"bis","in":"query","required":true,"schema":{"type":"string","description":"Ende einschliesslich, JJJJ-MM-TT","title":"Bis"},"description":"Ende einschliesslich, JJJJ-MM-TT"},{"name":"ort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Adresse des Schadenortes","title":"Ort"},"description":"Adresse des Schadenortes"},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Lat"}},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Lon"}},{"name":"radius_km","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":0,"default":5,"title":"Radius Km"}},{"name":"neu_laden","in":"query","required":false,"schema":{"type":"boolean","description":"Ablage übergehen und neu rechnen","default":false,"title":"Neu Laden"},"description":"Ablage übergehen und neu rechnen"},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bewertung Api Wetter Bewertung Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/wetter/bericht":{"get":{"tags":["wetter"],"summary":"Bericht","description":"Fertige Absätze zum Übernehmen in den Vorbericht.\n\nJe Ereignis was, wann, wo und woher — mit Quellenangabe und Abrufdatum.\nOhne versicherungsrechtliche Wertung: Der Sachverständige stellt fest, was\ngemessen wurde; die Prüfung der Deckung bleibt beim Versicherer.","operationId":"bericht_api_wetter_bericht_get","parameters":[{"name":"von","in":"query","required":true,"schema":{"type":"string","description":"Beginn, JJJJ-MM-TT","title":"Von"},"description":"Beginn, JJJJ-MM-TT"},{"name":"bis","in":"query","required":true,"schema":{"type":"string","description":"Ende einschliesslich, JJJJ-MM-TT","title":"Bis"},"description":"Ende einschliesslich, JJJJ-MM-TT"},{"name":"ort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Adresse des Schadenortes","title":"Ort"},"description":"Adresse des Schadenortes"},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"title":"Lat"}},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Lon"}},{"name":"radius_km","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":0,"default":5,"title":"Radius Km"}},{"name":"neu_laden","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Neu Laden"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bericht Api Wetter Bericht Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auswertungen":{"get":{"tags":["wetter"],"summary":"Auswertungen Auflisten","description":"Die zuletzt genutzten Auswertungen.\n\nDer Dienst wird auch ohne einbettende Anwendung benutzt — dann ist dies\nder Weg zurück zu einer früheren Abfrage.","operationId":"auswertungen_auflisten_api_auswertungen_get","parameters":[{"name":"anzahl","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Anzahl"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Auswertungen Auflisten Api Auswertungen Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auswertung/{schluessel}":{"get":{"tags":["wetter"],"summary":"Auswertung Holen","description":"Eine abgelegte Auswertung über ihre Referenz.\n\nDamit ein Bericht später dieselben Zahlen zeigt, die bei der Begutachtung\nzugrunde lagen — auch wenn sich die Bewertungslogik inzwischen geändert hat.","operationId":"auswertung_holen_api_auswertung__schluessel__get","parameters":[{"name":"schluessel","in":"path","required":true,"schema":{"type":"string","title":"Schluessel"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Auswertung Holen Api Auswertung  Schluessel  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/schadentag":{"get":{"tags":["wetter"],"summary":"Schadentag","description":"Bequemer Einstieg: Schadentag statt Zeitraum.\n\nLegt von sich aus ein Fenster um den Schadentag — Ursachen liegen oft\ndavor (Sturm am Vortag, Dauerregen über mehrere Tage).","operationId":"schadentag_api_schadentag_get","parameters":[{"name":"datum","in":"query","required":true,"schema":{"type":"string","description":"Schadentag, JJJJ-MM-TT","title":"Datum"},"description":"Schadentag, JJJJ-MM-TT"},{"name":"ort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ort"}},{"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":"tage_davor","in":"query","required":false,"schema":{"type":"integer","maximum":14,"minimum":0,"default":3,"title":"Tage Davor"}},{"name":"tage_danach","in":"query","required":false,"schema":{"type":"integer","maximum":14,"minimum":0,"default":1,"title":"Tage Danach"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"wetter_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wetter Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Schadentag Api Schadentag Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["system"],"summary":"Health","description":"Liveness-Check ohne Datenbank.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/bereit":{"get":{"tags":["system"],"summary":"Bereit","description":"Readiness: Datenbank erreichbar und Bewertungsfassung.","operationId":"bereit_bereit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Bereit Bereit Get"}}}}}}}},"components":{"schemas":{"AnmeldeDaten":{"properties":{"name":{"type":"string","title":"Name"},"passwort":{"type":"string","title":"Passwort"}},"type":"object","required":["name","passwort"],"title":"AnmeldeDaten"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"}}}}