{"schema_version":"1.0","generated_at":"2026-05-31T22:38:39.579121Z","base_path":"/gridpassport/v1/pv","defaults":{"forecast_target":"tomorrow","resolution":"1h","timezone_policy":"resolve_from_location","system_loss_pct":14.0,"tilt_policy":"latitude_based_default","azimuth_policy":"south_in_northern_hemisphere_north_in_southern_hemisphere"},"limits":{"installed_kwp_min":0.1,"installed_kwp_max":200.0,"array_count_max":6,"forecast_horizon_days_max":7,"resolution_values":["15m","1h"],"max_points":672},"enums":{"orientation":["N","NE","E","SE","S","SW","W","NW","flat","unknown"],"mounting":["roof","flat_roof","ground","facade","unknown"],"shading":["none","light","moderate","heavy","unknown"]},"source_stack":{"weather":{"source_id":"OPEN_METEO","name":"Open-Meteo weather forecast","public_display_allowed":true,"requires_commercial_license":true,"terms_url":"https://open-meteo.com/en/terms","pricing_url":"https://open-meteo.com/en/pricing"},"model":{"source_id":"GRIDPASSPORT_PV_PUBLIC_V1","name":"GridPassport public PV forecast model","description":"Weather-based physical PV estimate with public-safe inputs."}},"attribution":{"text":"Weather forecast by Open-Meteo, PV estimate by GridPassport.","transformation_notes":"GridPassport projects irradiance onto the configured PV array and applies public lead-magnet loss assumptions."}}