Raw schema
{
"type": "object",
"properties": {
"station": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{4,10}$",
"description": "Station ID. Water-level/met stations use 7-digit numeric IDs (e.g. \"9414290\" San Francisco); current stations use alphanumeric IDs (e.g. \"cb0102\"). Find stations with noaa_search_stations or noaa_find_nearest_stations."
},
"product": {
"type": "string",
"enum": [
"high_low",
"daily_mean",
"daily_max_min",
"monthly_mean"
],
"description": "Summary product: high_low (daily tide extremes, 1yr max), daily_mean (Great Lakes only, 10yr), daily_max_min (10yr), monthly_mean (datum means, 200yr)."
},
"datum": {
"type": "string",
"enum": [
"MHHW",
"MHW",
"MTL",
"MSL",
"MLW",
"MLLW",
"NAVD",
"STND",
"IGLD",
"LWD",
"CRD"
],
"description": "Vertical reference datum for heights. MLLW is the standard chart datum for coastal stations. IGLD and LWD apply to Great Lakes stations ONLY; NAVD/CRD exist only at stations where computed. Check a station's supported datums with noaa_get_station_datums.",
"default": "MLLW"
},
"units": {
"type": "string",
"enum": [
"english",
"metric"
],
"default": "english",
"description": "Unit system. english: feet, °F, knots (wind AND currents), nautical miles. metric: meters, °C, m/s for wind but cm/s for currents, kilometers. Air pressure is millibars and salinity is PSU in BOTH systems."
},
"time_zone": {
"type": "string",
"enum": [
"gmt",
"lst",
"lst_ldt"
],
"default": "lst_ldt",
"description": "Time zone for timestamps: gmt = UTC, lst = station local standard time (no DST), lst_ldt = station local time with DST. Note: daily_mean data requires lst."
},
"date": {
"type": "string",
"enum": [
"today",
"latest",
"recent"
],
"description": "Shortcut window: \"today\" = midnight to now, \"latest\" = single most recent reading, \"recent\" = last 72 hours. Mutually exclusive with begin_date/end_date/range."
},
"begin_date": {
"type": "string",
"description": "Start date/time. Formats: yyyyMMdd, \"yyyyMMdd HH:mm\", MM/dd/yyyy, or ISO yyyy-MM-dd[THH:mm]."
},
"end_date": {
"type": "string",
"description": "End date/time. Same formats as begin_date."
},
"range": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Number of hours. With begin_date: hours forward. With end_date: hours back. Alone: hours back from now."
},
"response_format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown",
"description": "Output format: \"markdown\" for a readable summary table, \"json\" for the complete structured payload."
}
},
"required": [
"station",
"product"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}