Migrating from the 1-Minute Observations API
This page is for developers moving an existing integration from the legacy 1-Minute Observations API to the Weather Stations API. If you're integrating for the first time, you don't need anything on this page — everything here concerns a predecessor API you were never on.
The legacy API remains available with no sunset date. Migrating gets you bulk querying, relative time windowing (last_minutes), and observation-interval control (timestep), none of which the legacy API supports.
Request shape
The legacy API baked the time mode into the URL path. In v2 the same choice is a query parameter on one consistent path:
| Legacy 1-Minute Observations call | Weather Stations v2 equivalent |
|---|---|
GET /weatherStation/{stationId}/latest | GET /weather-stations/v2/stations/{station_id}/observations/latest |
GET /weatherStation/{stationId}/last/{minutes}/minutes | GET /weather-stations/v2/stations/{station_id}/observations?last_minutes={minutes} |
GET /weatherStation/{stationId}/range/{fromDateTime}/{toDateTime} | GET /weather-stations/v2/stations/{station_id}/observations?from_date_time={fromDateTime}&to_date_time={toDateTime} |
GET /weatherStation | GET /weather-stations/v2/stations |
| (no equivalent) | GET /weather-stations/v2/stations/observations/latest — every entitled station in one call, no station list to build |
For the current request parameters and response shape, see the Weather Stations API guide and the Technical Reference.
Variable names
Every variable name has changed. If you have alarm or threshold rules that embed a variable name — for example "alarm when windspd_01mnavg > 80" — swap the name for the v2 equivalent ("alarm when wind_speed_1min_mean > 80"). Units are unchanged unless the Notes column below says otherwise.
Legend: → direct equivalent · ⚠ unit or semantic difference (see Notes) · — no v2 equivalent.
| Legacy (1-Min Obs) | Weather Stations v2 | Notes |
|---|---|---|
airtemp_01mnavg | air_temperature_1min_mean | → |
airtemp_01hrmax | air_temperature_1h_max | → |
airtemp_01hrmin | air_temperature_1h_min | → |
dewtemp_01mnavg | dew_point_temperature_1min_mean | → |
windspd_01mnavg | wind_speed_1min_mean | → |
windspd_10mnavg | wind_speed_10min_mean | → |
windspd_01hravg | wind_speed_1h_mean | → |
winddir_01mnavg | wind_from_direction_1min_mean | → |
winddir_10mnavg | wind_from_direction_10min_mean | → |
winddir_01hravg | wind_from_direction_1h_mean | → |
windgst_01mnmax | wind_gust_speed_1min_max | → |
windgst_10mnmax | wind_gust_speed_10min_max | → |
windgst_01hrmax | wind_gust_speed_1h_max | → |
windgst_01hrdir | wind_gust_from_direction_1h | → |
windgst_01hrtim | wind_gust_peak_time_1h | → |
windlul_01mnmin | wind_lull_speed_1min_min | → |
windlul_10mnmin | wind_lull_speed_10min_min | → |
windrun_01hracc | wind_run_1h_sum | → |
presmsl_01mnavg | sea_level_pressure_1min_mean | → |
presmsl_01hrmax | sea_level_pressure_1h_max | → |
presmsl_01hrmin | sea_level_pressure_1h_min | → |
relhumd_01mnavg | relative_humidity_1min_mean | → |
relhumd_01hrmax | relative_humidity_1h_max | → |
relhumd_01hrmin | relative_humidity_1h_min | → |
rainfal_01mnacc | rainfall_1min_sum | → |
rainfal_10mnacc | rainfall_10min_sum | → |
rainfal_01hracc | rainfall_1h_sum | → |
rainfal_10mnmax | rainfall_rate_10min_max | ⚠ Unit label changes from mm to mm/min; values are unchanged. Both report the largest rainfall in any single minute during the past 10 minutes, so X mm in one minute is X mm/min |
rainfal_01hrmax | rainfall_rate_1h_max | ⚠ Unit label changes from mm to mm/min; values are unchanged. Both report the largest rainfall in any single minute during the past hour, so X mm in one minute is X mm/min |
earth05_01mnavg | soil_temperature_5cm_1min_mean | → |
earth10_01mnavg | soil_temperature_10cm_1min_mean | → |
earth20_01mnavg | soil_temperature_20cm_1min_mean | → |
earth50_01mnavg | soil_temperature_50cm_1min_mean | → |
earth1m_01mnavg | soil_temperature_1m_1min_mean | → |
soilwet_01mnavg | soil_moisture_1min_mean | → |
solradn_01mnavg | solar_irradiance_1min_mean | → |
solradn_01mnacc | solar_irradiance_1min_sum | → |
solradn_10mnacc | solar_irradiance_10min_sum | → |
solradn_01hracc | solar_irradiance_1h_sum | → |
visibil_01mnavg | visibility_1min_mean | → |
visibil_10mnavg | visibility_10min_mean | → |
cld1amt_30mnavg | cloud_fraction_layer_1_30min_mean | → |
cld1hgt_30mnavg | cloud_height_layer_1_30min_mean | → |
cld2amt_30mnavg | cloud_fraction_layer_2_30min_mean | → |
cld2hgt_30mnavg | cloud_height_layer_2_30min_mean | → |
cld3amt_30mnavg | cloud_fraction_layer_3_30min_mean | → |
cld3hgt_30mnavg | cloud_height_layer_3_30min_mean | → |
snowdep_01mnavg | snow_depth_1min_mean | → |
power_v_01mnavg | — | Not in v2. Station power supply voltage is station-engineering data and is not part of the public observations contract |
sfctemp_01mnavg | road_surface_temperature_1min_mean | ⚠ Legacy = surface temp of grass or road; v2 field is road-sensor only |
road_fz_01mnavg | road_freezing_temperature_1min_mean | → Road-sensor entitlement only |
road_t1_01mnavg | road_subsurface_temperature_5cm_1min_mean | ⚠ Road-sensor entitlement only. The legacy "air 5 cm above road" label was incorrect; v2 corrects it to 5 cm below the surface |
road_t2_01mnavg | road_subsurface_temperature_30cm_1min_mean | ⚠ Road-sensor entitlement only. The legacy "air 30 cm above road" label was incorrect; v2 corrects it to 30 cm below the surface |
road_t3_01mnavg | road_subsurface_temperature_2cm_1min_mean | ⚠ Road-sensor entitlement only. The legacy "sensor internal temperature ~2 cm" label was incorrect; v2 corrects it to 2 cm below the surface |
roadflm_01mnavg | road_water_film_height_1min_mean | → Road-sensor entitlement only |
roadfrt_01mnavg | road_friction_1min_mean | → Road-sensor entitlement only |
roadbki_01mnavg | road_ice_frequency_1min_mean | → Road-sensor entitlement only |
roadsal_01mnavg | road_salt_concentration_1min_mean | → Road-sensor entitlement only |
roadtxt_01mnavg | road_surface_state | ⚠ Legacy text ("Dry"); v2 is a categorical code |
roadcdn_01mnavg | road_surface_state | ⚠ Legacy numeric code folded into the single categorical road_surface_state |
road_t1_10mnavg / road_t2_10mnavg / road_t3_10mnavg | — | Under review (10-minute road variants not yet in v2) |
roadflm_10mnavg | — | Under review (10-minute film-height variant) |
roadlfp_01mnavg | — | Under review (liquidus temperature) |
roadcvy_01mnavg / roadssg_01mnavg / roadsst_01mnavg | — | Under review (road conductivity / surface signal / surface status) |
sfctemp_01hrmin | — | Under review (1-hour minimum surface temperature) |
time | observation_time | ⚠ v2 label is the right-closed window time; see also the top-level generated_at (response time) for the data-freshness/latency signal |
latitude / longitude | per-station state block (also in the catalogue) | Every observation response carries the position in its state block, which is always present, so plotting an observation needs no catalogue lookup. The catalogue (GET /stations/{id}) stays the source of truth for static site metadata. Mobile platforms report their position at each observation in the same block |
level / stn_rnwayabvmsl | catalogue station.elevation | Approximate; provided as static station metadata in the catalogue |
stn_magneticdev | catalogue station.magnetic_declination | → Restored as static station metadata, in degrees. Wind directions are served true (degrees_true); use magnetic_declination to convert to magnetic yourself |
presqfe_01mnavg / presqfe_01hrmax / presqfe_01hrmin | — | No v2 equivalent (QFE pressure) |
presqnh_01mnavg / presqnh_01hrmax / presqnh_01hrmin | — | No v2 equivalent (QNH pressure) |
pressen_01mnavg / pressen_01hrmax / pressen_01hrmin / pressen_01hrchg | — | No v2 equivalent (sensor-level pressure) |
prwxnum_15mnavg / prwxst1_15mnavg / prwxst2_15mnavg | — | No v2 equivalent (present-weather SYNOP/METAR codes) |
windccw_* / windcw__* | — | No v2 equivalent (clockwise/counter-clockwise direction deviations) |
wndccwm_* / wndcwm__* / wnddirm_* / wndgstm_01hrdir | — | No v2 equivalent (magnetic wind directions) |
wv* (e.g. wvsight_xxmnavg, wvzrxpd_xxmnavg) | — | No v2 equivalent (wave-buoy variables) |
Technical reference
For request parameters, response schemas, and a live try-it console, see the Weather Stations API v2 — Technical Reference. You can also download the OpenAPI specification.