Changelog
han-river/water-level is a hard-breaking public contract cleanup. APIFuse still sends HRFCO's required API-key path segment and waterlevel/list/{10M|1H|1D}/{station}.json interval path internally, but callers now use semantic snake_case fields and a closed interval enum.
Replace stationCode with station_id and stationName with station_name. Use interval values ten_minutes, one_hour, or one_day instead of HRFCO path codes 10M, 1H, or 1D. Read station.station_id, station.zero_elevation_meters, alert_levels.*_meters, station.forecast_station, water_level.station_id, water_level.interval, water_level.water_level_meters, and water_level.flow_cms instead of station_code, zero_elevation_m, alert_levels.*_m, is_forecast_station, water_level_m, and flow_rate_m3s.