changedInput schema / properties / canvas_id / description
Previous value: -"Canvas ID from a prior call to add this series as a table on an existing canvas rather than creating a new one. Each distinct site, parameter code, series type, and date range gets its own table name, so re-running the identical query replaces its own table while a different query adds another alongside it. Applies only when the series spills to a canvas. Omit to start a fresh canvas."New value: +"Canvas ID from a prior call to add this series as a table on an existing canvas rather than creating a new one. Each distinct site, parameter code, series type, date range, and selected statistic and method gets its own table name, so re-running the identical query replaces its own table while a different query adds another alongside it. Applies only when the series spills to a canvas. Omit to start a fresh canvas."
addedInput schema / properties / methodId
Added value: +{
+ "description": "NWIS method ID of the sensor series to return — the methodId or an otherSeries[].methodId from a prior response for the same site, parameter, and seriesType. Omit for the method with the most records. IDs differ between daily and instantaneous series and between daily statistics.",
+ "type": "string"
+}
addedInput schema / properties / statCd
Added value: +{
+ "description": "Daily statistic to return, as a 5-digit NWIS code: \"00003\" mean, \"00001\" maximum, \"00002\" minimum. Omit for the mean when NWIS returns one with values, otherwise the first statistic that has values; the response names the one returned and lists the others in otherSeries. Daily series only — instantaneous values carry just \"00000\".",
+ "type": "string"
+}
changedOutput schema / anyOf
Previous value: -[
- {
- "not": {
- "required": [
- "error"
- ]
- },
- "required": [
- "siteNumber",
- "siteName",
- "parameterCd",
- "parameterName",
- "unitCode",
- "seriesType",
- "values",
- "totalRecords",
- "truncated",
- "query"
- ]
- },
- {
- "required": [
- "error"
- ]
- }
-]New value: +[
+ {
+ "not": {
+ "required": [
+ "error"
+ ]
+ },
+ "required": [
+ "siteNumber",
+ "siteName",
+ "parameterCd",
+ "parameterName",
+ "unitCode",
+ "seriesType",
+ "statCd",
+ "statName",
+ "methodId",
+ "methodDescription",
+ "values",
+ "totalRecords",
+ "truncated",
+ "otherSeries",
+ "query"
+ ]
+ },
+ {
+ "required": [
+ "error"
+ ]
+ }
+]
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `no_data_for_range`: The site and parameter combination has no data in the requested date range. `invalid_date_range`: endDate is before startDate, or a date passes the YYYY-MM-DD shape check but is not a real calendar date. `invalid_request`: NWIS rejected the request. Input formats are validated against NWIS-accepted patterns before the call, so this surfaces a value that is well-formed but unacceptable upstream. `upstream_error`: NWIS returned a 5xx error or the request timed out. `canvas_not_found`: The supplied canvas_id names a canvas that never existed or has expired. Raised before the NWIS request, so no upstream call is spent on it. `canvas_capacity_exhausted`: canvas_id was omitted and a fresh canvas was needed to stage the series, but this tenant already holds the maximum number of active canvases. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `no_data_for_range`: The site and parameter combination has no data in the requested date range. `invalid_date_range`: endDate is before startDate, or a date passes the YYYY-MM-DD shape check but is not a real calendar date. `invalid_stat_cd`: statCd is not a 5-digit NWIS statistic code. Raised before the NWIS request. `stat_cd_for_instantaneous`: statCd names a daily statistic but seriesType is \"instantaneous\", whose values carry only statistic \"00000\". Raised before the NWIS request. `method_not_found`: No series NWIS returned for this query carries the requested methodId (within the requested statCd, when one is given), or that method returned no values over the range. `invalid_request`: NWIS rejected the request. Input formats are validated against NWIS-accepted patterns before the call, so this surfaces a value that is well-formed but unacceptable upstream. `upstream_error`: NWIS returned a 5xx error, timed out, or sent a response body that is not valid WaterML-JSON (cut off mid-document), and retrying did not clear it. `canvas_not_found`: The supplied canvas_id names a canvas that never existed or has expired. Raised before the NWIS request, so no upstream call is spent on it. `canvas_capacity_exhausted`: canvas_id was omitted and a fresh canvas was needed to stage the series, but this tenant already holds the maximum number of active canvases. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / error / properties / data / properties / reason / examples
Previous value: -[
- "no_data_for_range",
- "invalid_date_range",
- "invalid_request",
- "upstream_error",
- "canvas_not_found",
- "canvas_capacity_exhausted"
-]New value: +[
+ "no_data_for_range",
+ "invalid_date_range",
+ "invalid_stat_cd",
+ "stat_cd_for_instantaneous",
+ "method_not_found",
+ "invalid_request",
+ "upstream_error",
+ "canvas_not_found",
+ "canvas_capacity_exhausted"
+]
addedOutput schema / properties / methodDescription
Added value: +{
+ "description": "NWIS description of that method (e.g. \"From multiparameter sonde\", \"7.1 ft from riverbed (top), [Discontinued]\"). Null when NWIS leaves it blank, as it does for the default series at most single-sensor sites.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / methodId
Added value: +{
+ "description": "NWIS method ID of the sensor series returned. Pass it back as the methodId input to request this series again. Null only when NWIS returned the series with no method block.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / otherSeries
Added value: +{
+ "description": "Every other statistic × method series NWIS returned for this query — re-request one with its statCd and methodId. Empty when the query produced a single series. A method block with no values over the range is omitted when another method of the same statistic has values.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One series NWIS returned for this query that was not selected.",
+ "properties": {
+ "methodDescription": {
+ "description": "NWIS description of the method; null when blank.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "methodId": {
+ "description": "NWIS method ID of this series — pass as the methodId input.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "recordCount": {
+ "description": "Number of value records this series holds over the requested range.",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "statCd": {
+ "description": "NWIS statistic code of this series (e.g. \"00001\").",
+ "type": "string"
+ },
+ "statName": {
+ "description": "Statistic name for statCd (e.g. \"Maximum\"); null when NWIS gives none.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "statCd",
+ "statName",
+ "methodId",
+ "methodDescription",
+ "recordCount"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / query / properties / methodId
Added value: +{
+ "description": "Method ID requested, if any.",
+ "type": "string"
+}
addedOutput schema / properties / query / properties / statCd
Added value: +{
+ "description": "Statistic code requested, if any.",
+ "type": "string"
+}
addedOutput schema / properties / statCd
Added value: +{
+ "description": "NWIS statistic code of the returned series: \"00003\" daily mean, \"00001\" daily maximum, \"00002\" daily minimum, \"00000\" for instantaneous values.",
+ "type": "string"
+}
addedOutput schema / properties / statName
Added value: +{
+ "description": "Statistic name NWIS attaches to statCd (e.g. \"Mean\", \"Maximum\"). Null when NWIS gives none, as for instantaneous values.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
changedOutput schema / properties / values / items / properties / value / description
Previous value: -"Measured value as a string (empty string means no data for that interval)."New value: +"Measured value as a string. Empty string when NWIS reported no value for that interval — qualifiers then give the reason (e.g. \"Ssn\" seasonal, \"Dis\" discontinued, \"Dry\", \"Eqp\" equipment malfunction). A staged canvas table holds NULL for these."