addedInput schema / properties / canvas_id
Added value: +{
+ "description": "DataCanvas token for wide past_days, archive-range, or multi-variable queries. When a result is too large to return inline — driven by total payload size, so a wide multi-variable pull can spill at any row count — it spills to this canvas for SQL querying. Omit to create a fresh canvas.",
+ "type": "string"
+}
addedInput schema / properties / end_date
Added value: +{
+ "description": "End date for the archive range (YYYY-MM-DD, inclusive). Must be on or after start_date. Requires start_date — the pair must be sent together, and neither combines with forecast_days or past_days.",
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "type": "string"
+}
removedInput schema / properties / forecast_days / default
Removed value: -5
changedInput schema / properties / forecast_days / description
Previous value: -"Forecast horizon in days (1–7). Default 5."New value: +"Forecast horizon in days (1–7). Omit for the upstream default of 5. Mutually exclusive with start_date/end_date — omit it entirely when pulling an archive range."
addedInput schema / properties / past_days
Added value: +{
+ "default": 0,
+ "description": "Include this many days of past data before today (0–92). Use for recent history instead of a start_date/end_date range. Default 0. Must stay 0 when start_date/end_date are used.",
+ "maximum": 92,
+ "minimum": 0,
+ "type": "integer"
+}
addedInput schema / properties / start_date
Added value: +{
+ "description": "Start date for the archive range (YYYY-MM-DD, e.g., \"2024-07-01\"). Real CAMS values go back to at least 2022-10-01; earlier dates return rows of nulls. Requires end_date — the pair must be sent together, and neither combines with forecast_days or past_days.",
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "type": "string"
+}
addedOutput schema / properties / canvas_id
Added value: +{
+ "description": "DataCanvas token for the staged full dataset. Present only when truncated is true AND DataCanvas is enabled (CANVAS_PROVIDER_TYPE=duckdb) — absent otherwise, in which case the preview is all this response carries. Query with SQL using this token.",
+ "type": "string"
+}
changedOutput schema / properties / data_source / description
Previous value: -"Data source identifier — this is modeled forecast data from CAMS, not measured station data."New value: +"Data source identifier — this is modeled CAMS data, forecast or archive, not measured station data."
changedOutput schema / properties / hourly / description
Previous value: -"Per-hour records with \"time\" (ISO 8601) + one key per requested variable. Units: pm2_5/pm10/dust in μg/m³, carbon_monoxide in μg/m³, nitrogen_dioxide/sulphur_dioxide/ozone in μg/m³, european_aqi/us_aqi as index values."New value: +"Per-hour records with \"time\" (ISO 8601) + one key per requested variable. Units: pm2_5/pm10/dust in μg/m³, carbon_monoxide in μg/m³, nitrogen_dioxide/sulphur_dioxide/ozone in μg/m³, european_aqi/us_aqi as index values. When truncated, contains only a preview — query canvas_id for the full dataset when one is present."
addedOutput schema / properties / notice
Added value: +{
+ "description": "Warning that a requested variable came back with no data — names each column whose unit is \"undefined\", which is how the endpoint reports a name it parsed but does not serve.",
+ "type": "string"
+}
addedOutput schema / properties / record_count
Added value: +{
+ "description": "Total number of hourly records — the full upstream total when truncated is true, not the length of the hourly preview.",
+ "type": "number"
+}
addedOutput schema / properties / table_name
Added value: +{
+ "description": "DuckDB table name for the staged data — pass to openmeteo_dataframe_query. Present only alongside canvas_id.",
+ "type": "string"
+}
addedOutput schema / properties / truncated
Added value: +{
+ "description": "True when the response was too large to return inline, so hourly carries a bounded preview rather than the full set. With DataCanvas enabled the complete data is staged at canvas_id. With it disabled there is no canvas_id, and the omitted rows are reached only by narrowing the request.",
+ "type": "boolean"
+}
changedOutput schema / required
Previous value: -[
- "latitude",
- "longitude",
- "timezone",
- "data_source"
-]New value: +[
+ "latitude",
+ "longitude",
+ "timezone",
+ "record_count",
+ "data_source",
+ "truncated"
+]