{"openapi":"3.1.0","info":{"title":"Weather","version":"0.2.0"},"paths":{"/weather/feedback":{"get":{"summary":"Get Feedback","description":"Return the 50 most recent feedback entries.","operationId":"get_feedback_weather_feedback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Get Feedback Weather Feedback Get"}}}}}},"post":{"summary":"Submit Feedback","description":"Submit feedback for a previous response. No payment required.\n\nBody:\n  response_id (str): X-Request-Id from the paid response\n  rating (int): 1-5 star rating\n  comment (str, optional): Free-text notes","operationId":"submit_feedback_weather_feedback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Submit Feedback Weather Feedback Post"}}}}}}},"/stats":{"get":{"summary":"Stats","operationId":"stats_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stats Stats Get"}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Root  Get"}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/weather/current":{"get":{"summary":"Weather Current","operationId":"weather_current_weather_current_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Weather Current Weather Current Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/weather/forecast":{"get":{"summary":"Weather Forecast","operationId":"weather_forecast_weather_forecast_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":16,"minimum":1,"description":"Forecast days (1-16)","default":7,"title":"Days"},"description":"Forecast days (1-16)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Weather Forecast Weather Forecast Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nature/earthquakes":{"get":{"summary":"Nature Earthquakes","description":"Recent earthquakes near a location — queries 4 FDSN portals in parallel, returns fastest.","operationId":"nature_earthquakes_nature_earthquakes_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"},{"name":"radius_km","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Search radius in km","default":200,"title":"Radius Km"},"description":"Search radius in km"},{"name":"min_magnitude","in":"query","required":false,"schema":{"type":"number","maximum":10.0,"minimum":0.0,"description":"Minimum magnitude","default":2.5,"title":"Min Magnitude"},"description":"Minimum magnitude"},{"name":"days_back","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"description":"Days of history","default":7,"title":"Days Back"},"description":"Days of history"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nature Earthquakes Nature Earthquakes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nature/volcanoes":{"get":{"summary":"Nature Volcanoes","description":"Active volcano events near a location via NASA EONET (global, Smithsonian-sourced).","operationId":"nature_volcanoes_nature_volcanoes_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"},{"name":"radius_km","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"description":"Search radius in km","default":500,"title":"Radius Km"},"description":"Search radius in km"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nature Volcanoes Nature Volcanoes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nature/air-quality":{"get":{"summary":"Nature Air Quality","description":"Air quality index and pollutants from Open-Meteo Air Quality API.","operationId":"nature_air_quality_nature_air_quality_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nature Air Quality Nature Air Quality Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nature/marine":{"get":{"summary":"Nature Marine","description":"Marine conditions — wave height, sea temp, swell, currents from Open-Meteo Marine.","operationId":"nature_marine_nature_marine_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nature Marine Nature Marine Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nature/solar":{"get":{"summary":"Nature Solar","description":"Solar radiation data — shortwave, direct, diffuse radiation and sunshine.","operationId":"nature_solar_nature_solar_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nature Solar Nature Solar Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/climate/historical":{"get":{"summary":"Climate Historical","description":"Historical weather from 1940–present via Open-Meteo Archive (ERA5 reanalysis).","operationId":"climate_historical_climate_historical_get","parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number","description":"Latitude (-90 to 90)","title":"Latitude"},"description":"Latitude (-90 to 90)"},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","description":"Longitude (-180 to 180)","title":"Longitude"},"description":"Longitude (-180 to 180)"},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date YYYY-MM-DD","title":"Start Date"},"description":"Start date YYYY-MM-DD"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date YYYY-MM-DD","title":"End Date"},"description":"End date YYYY-MM-DD"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Climate Historical Climate Historical Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/weather/ask":{"post":{"summary":"Weather Ask","operationId":"weather_ask_weather_ask_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Weather Ask Weather Ask Post"}}}}}}},"/about":{"get":{"summary":"About","operationId":"about_about_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response About About Get"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/.well-known/x402.json":{"get":{"summary":"X402 Manifest","operationId":"x402_manifest__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response X402 Manifest  Well Known X402 Json Get"}}}}}}}},"components":{"schemas":{"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"}}}}