{
    "info": {
        "name": "MeteoFeed API v1",
        "description": "MeteoFeed — global weather, climate and hazards API.\n\n1. Create a key at https://meteofeed.com/dashboard.\n2. Set the collection variable **api_key** to your `mtfd_…` key.\n3. Run any request. Every response carries X-RateLimit-* / X-Quota-* / X-Tier headers.\n\nAuto-generated from the OpenAPI spec (https://api.meteofeed.com/openapi/v1.yaml).",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{api_key}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://api.meteofeed.com",
            "type": "string"
        },
        {
            "key": "api_key",
            "value": "mtfd_REPLACE_WITH_YOUR_KEY",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "Health",
            "item": [
                {
                    "name": "API liveness",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/healthz",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "healthz"
                            ],
                            "query": []
                        },
                        "description": ""
                    }
                }
            ]
        },
        {
            "name": "Account",
            "item": [
                {
                    "name": "Info about the calling key + your subscription + current usage",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/me",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "me"
                            ],
                            "query": []
                        },
                        "description": "Returns the key's id/prefix/scopes/expiry, your user info, and your current-period quota usage. Useful for SDKs to display \"X of Y requests used this month\" without a separate billing API call."
                    }
                }
            ]
        },
        {
            "name": "Stations",
            "item": [
                {
                    "name": "List weather stations (NL by default; DE / BE / METAR networks / combined optional)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/stations?country=NL",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "stations"
                            ],
                            "query": [
                                {
                                    "key": "country",
                                    "value": "NL",
                                    "disabled": false,
                                    "description": "Country filter — `NL` (default), `DE`, `BE`, `FR`, `PH`, `PL`, `DK`, `GB`, `IE`, `ES`, `PT`, `LU`, `CH`, `IT`, `CZ`, `AT`, `SK`, `SI`, `HR`, `HU`, `RO`, `BG`, `GR`, `LT`, `LV`, `EE`, `FI`, `SE`, `NO`, `IS`, `MT`, `CY`, `RS`, `ME`, `BA`, or `all`."
                                }
                            ]
                        },
                        "description": "Multi-country station registry: - **`country=NL`** (default — back-compat): 76 KNMI stations with an `active` flag (= has any observation in the last 30 days). Source: KNMI Data Platform. - **`country=DE`**: 20 curated major-city DWD POI stations (Berlin / Hamburg / München-Flughafen / Frankfurt …"
                    }
                }
            ]
        },
        {
            "name": "Current",
            "item": [
                {
                    "name": "Latest observation at the station nearest to (lat, lng) — KNMI / RMI / DWD POI / ECMWF waterfall",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/current?lat=52.37&lng=4.9",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "current"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "source",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Which KNMI **feed granularity** to read for NL coordinates: `knmi.10min` (live, sub-hourly — default), `knmi.uurgegevens` (hourly aggregates) or `knmi.etmaal` (daily aggregates). This does NOT choose the weather provider/model — the upstream is selected automatically from the location (KNMI in NL…"
                                }
                            ]
                        },
                        "description": "4-tier coverage waterfall: 1. **NL path**: resolves the nearest KNMI station via great- circle distance; if within 60 km, returns the full envelope from `weather.observations`: 15 core metrics, derived wind/pressure unit-conversions, weather-code decoration, rolling temperature / grass-temp / pre…"
                    }
                },
                {
                    "name": "Latest observation at a specific KNMI, DWD or RMI station",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/current/station/rmi-6447",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "current",
                                "station",
                                "rmi-6447"
                            ],
                            "query": [
                                {
                                    "key": "source",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Which KNMI **feed granularity** to read for NL coordinates: `knmi.10min` (live, sub-hourly — default), `knmi.uurgegevens` (hourly aggregates) or `knmi.etmaal` (daily aggregates). This does NOT choose the weather provider/model — the upstream is selected automatically from the location (KNMI in NL…"
                                }
                            ]
                        },
                        "description": "Same envelope shape as `GET /v1/current` but skips the lat/lng resolution and queries the given station id directly. Three ID namespaces: - **KNMI** (NL): bare 3-digit IDs from the registry (e.g. `260` for De Bilt, `240` for Schiphol Airport). `meta.source` ∈ {`knmi.10min`, `knmi.uurgegevens`, `k…"
                    }
                }
            ]
        },
        {
            "name": "Forecast",
            "item": [
                {
                    "name": "Hourly forecast for one location (KNMI HARMONIE → DWD ICON-D2 → ECMWF IFS)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/forecast?lat=52.37&lng=4.9&hours=24&model=harmonie",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "forecast"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                },
                                {
                                    "key": "model",
                                    "value": "harmonie",
                                    "disabled": false,
                                    "description": "Forecast model selection. The default `best_match` runs the coverage waterfall (KNMI HARMONIE for NL+border → DWD ICON-D2 for the DACH/Benelux region → ECMWF Open Data IFS for every other served region worldwide). Customers can force a specific model if they need predictable behaviour across runs…"
                                }
                            ]
                        },
                        "description": "Hourly + daily forecast served from a direct-upstream waterfall: 1. **KNMI HARMONIE-AROME** (~2.5 km, NL + border, ~60 h horizon) for coords inside lat 50.6..53.7°, lng 3.1..7.3°. 2. **DWD ICON-D2** (~2.2 km) for coords inside its Central-European domain (DE + DACH + neighbours). 3. **ECMWF Open …"
                    }
                },
                {
                    "name": "Verkort daily forecast (one object per day, up to 10 days)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/forecast/short?lat=52.37&lng=4.9&days=7&model=harmonie",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "forecast",
                                "short"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "days",
                                    "value": "7",
                                    "disabled": false,
                                    "description": "Number of daily forecast points. Defaults to the tier maximum (free=3, basic=5, pro/business=10). Capped at 10."
                                },
                                {
                                    "key": "model",
                                    "value": "harmonie",
                                    "disabled": false,
                                    "description": "Forecast model selection. The default `best_match` runs the coverage waterfall (KNMI HARMONIE for NL+border → DWD ICON-D2 for the DACH/Benelux region → ECMWF Open Data IFS for every other served region worldwide). Customers can force a specific model if they need predictable behaviour across runs…"
                                }
                            ]
                        },
                        "description": "Compact daily summary — one object per day with the headline metrics customers display on a forecast tile (temp min/max, weather condition + icon, dominant wind, total precip + max probability, sun coverage, max UV). Each day is expressed as one object in a `days[]` array, indexed 0 (today) throu…"
                    }
                }
            ]
        },
        {
            "name": "Historical",
            "item": [
                {
                    "name": "24 hourly observations × all metrics for one calendar date",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/historical/day?lat=52.37&lng=4.9&date=1980-01-15",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "historical",
                                "day"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "date",
                                    "value": "1980-01-15",
                                    "disabled": false,
                                    "description": "UTC calendar date YYYY-MM-DD. Must be in `[1970-01-01, yesterday]`."
                                },
                                {
                                    "key": "source",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Long-archive source. Hourly (`knmi.uurgegevens`, default) or daily aggregates (`knmi.etmaal`)."
                                }
                            ]
                        },
                        "description": "Meteoserver-shape `historie.php?dag=YYYYMMDD` parity: returns the full 24-hour picture for one day at the nearest KNMI station in ONE response, instead of the 20+ per-metric round-trips you'd need on `/v1/historical?metric=X`. Each `hours[]` entry carries a `metrics` object keyed by metric name (…"
                    }
                },
                {
                    "name": "Archived day-ahead forecast — what the model PREDICTED for a past date",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/historical/forecast?lat=52.37&lng=4.9&date=2026-04-15&model=best_match",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "historical",
                                "forecast"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "date",
                                    "value": "2026-04-15",
                                    "disabled": false,
                                    "description": "UTC calendar date YYYY-MM-DD. Must be in `[archive_start, yesterday]` — `archive_start` is returned in responses and the `date_before_archive` error (the self-archive deepens going forward)."
                                },
                                {
                                    "key": "model",
                                    "value": "best_match",
                                    "disabled": false,
                                    "description": "Optional model picker. The self-archive currently serves only `best_match` (the global ECMWF Open Data canonical); more models are archived over time. Still gated by the tier's `forecast_models`."
                                }
                            ]
                        },
                        "description": "Returns the **day-ahead forecast** our system captured for one past calendar date at the requested location — *what the model PREDICTED* for that day (distinct from `/v1/historical/day`, which returns what the station actually MEASURED). Served from our OWN self-archived **ECMWF Open Data** runs …"
                    }
                },
                {
                    "name": "Bucketed historical observations (NL/KNMI · DE/DWD · BE/RMI synop)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/historical?lat=52.37&lng=4.9&metric=temperature_air&from=2026-05-10T00%3A00%3A00Z&to=2026-05-17T00%3A00%3A00Z&bucket=3600",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "historical"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "metric",
                                    "value": "temperature_air",
                                    "disabled": false,
                                    "description": "Canonical metric name. Common: `temperature_air`, `pressure`, `wind_speed`, `wind_direction`, `wind_gust`, `humidity_relative`, `precipitation`, `irradiance_global`, `dew_point`, `cloud_cover`, `sunshine_duration`. Discover available metrics for a station via the response of `GET /v1/current/stat…"
                                },
                                {
                                    "key": "from",
                                    "value": "2026-05-10T00:00:00Z",
                                    "disabled": false,
                                    "description": "Window start (ISO 8601 UTC, e.g. `2026-05-10T00:00:00Z`). Defaults to `to` minus your tier's max-days cap."
                                },
                                {
                                    "key": "to",
                                    "value": "2026-05-17T00:00:00Z",
                                    "disabled": false,
                                    "description": "Window end (ISO 8601 UTC). Defaults to now."
                                },
                                {
                                    "key": "bucket",
                                    "value": "3600",
                                    "disabled": false,
                                    "description": "Bucket size in seconds. If omitted, derived from range: ≤1h→60s, ≤6h→5m, ≤24h→15m, ≤7d→1h, ≤30d→6h, ≤1y→1d, else 1w."
                                },
                                {
                                    "key": "source",
                                    "value": "",
                                    "disabled": true,
                                    "description": "KNMI **feed granularity** for the historical query (NL coordinates only): `knmi.uurgegevens` (hourly, default — ~56 yrs depth), `knmi.etmaal` (daily aggregates, ~75 yrs depth) or `knmi.10min` (raw 10-minute observations — archive from 2020 onward; pair with `bucket=600` for the native resolution)…"
                                }
                            ]
                        },
                        "description": "Time-series for one metric over (from, to) at the nearest station. Coords resolve by country: - **NL** → KNMI (`weather.observations`, bucketed, back to 1970). - **DE** → DWD CDC daily archive (`dwd.daily`, one point/day, back to 1759). Period-aware station resolution. - **BE** → RMI synop daily …"
                    }
                }
            ]
        },
        {
            "name": "Sun",
            "item": [
                {
                    "name": "Sunrise / sunset / civil-nautical-astronomical twilight",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/sun?lat=52.37&lng=4.9&date=2026-05-17",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "sun"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "date",
                                    "value": "2026-05-17",
                                    "disabled": false,
                                    "description": "ISO 8601 date (YYYY-MM-DD, UTC). Defaults to today."
                                }
                            ]
                        },
                        "description": "Pure compute (PHP `date_sun_info`, equivalent to NOAA's solar calculator). Zero upstream dependency — works even if every other service is down. Polar-day / polar-night returned as `\"always_above_horizon\"` / `\"always_below_horizon\"` strings instead of timestamps when applicable. **Scope**: `sun`."
                    }
                }
            ]
        },
        {
            "name": "UV",
            "item": [
                {
                    "name": "Hourly UV index forecast (derived from sun elevation + cloud cover)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/uv?lat=52.37&lng=4.9&hours=24",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "uv"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                }
                            ]
                        },
                        "description": "Hourly UV index derived in-house from sun elevation and cloud cover — no external UV product needed. Pipeline: 1. Cloud-cover forecast pulled from the same direct-upstream waterfall as `/v1/forecast` (HARMONIE → ECMWF → 503). 2. Per hour, compute UV index via: UVI_clear = 12.5 × max(0, sin(elevat…"
                    }
                }
            ]
        },
        {
            "name": "Warnings",
            "item": [
                {
                    "name": "Severe-weather warnings (NL · KNMI 48h cube · DE · DWD CAP · BE · MeteoAlarm)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/warnings?region=NL",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "warnings"
                            ],
                            "query": [
                                {
                                    "key": "region",
                                    "value": "NL",
                                    "disabled": false,
                                    "description": "Country region — `NL` (KNMI), `DE` (DWD), `BE`/`FR`/`PL`/`DK`/`GB`/`IE`/`ES`/`PT`/`LU`/`CH`/`IT`/`CZ`/`AT`/`SK`/`SI`/`HR`/`HU`/`RO`/`BG`/`GR`/`LT`/`LV`/`EE`/`FI`/`SE`/`NO`/`IS`/`MT`/`CY`/`RS`/`ME`/`BA` (MeteoAlarm)."
                                }
                            ]
                        },
                        "description": "Region-aware severe-weather warnings. All regions return the same envelope shape — `report_info`, `active_warnings[]`, `by_phenomenon{}` — so client code branches only on `region`. - **`region=NL`** (default): KNMI Data Platform `waarschuwingen_nederland_48h` dataset. `?format=xml` returns the ra…"
                    }
                }
            ]
        },
        {
            "name": "Radar",
            "item": [
                {
                    "name": "Most-recent precipitation radar tile (NL/KNMI · DE/DWD · BE/OPERA)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/radar/precip/latest.png?region=NL",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "radar",
                                "precip",
                                "latest.png"
                            ],
                            "query": [
                                {
                                    "key": "region",
                                    "value": "NL",
                                    "disabled": false,
                                    "description": "Radar composite — `NL` (KNMI), `DE` (DWD RADOLAN), `BE`/`FR`/`PL`/`DK`/`GB`/`IE`/`ES`/`PT`/`LU`/`CH`/`IT`/`CZ`/`AT`/`SK`/`SI`/`HR`/`HU`/`RO`/`BG`/`GR`/`LT`/`LV`/`EE`/`FI`/`SE`/`NO`/`IS`/`MT`/`RS`/`ME`/`BA` (EUMETNET OPERA) or `PH`/`CY` (NASA GIBS IMERG satellite precipitation — satellite-derived,…"
                                }
                            ]
                        },
                        "description": "Returns the freshest 5-min radar composite as a PNG. We walk back from now (5-min floor) up to 6 frames looking for the first one in our cache. `?region=` selects the composite (default `NL`): - **NL** — KNMI radar, 700×765 PNG. - **DE** — DWD RADOLAN-RY composite, 900×900 PNG on the RADOLAN pola…"
                    }
                },
                {
                    "name": "Specific 5-min radar tile (NL/KNMI · DE/DWD · BE/OPERA)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/radar/precip/202605171625.png?region=NL",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "radar",
                                "precip",
                                "202605171625.png"
                            ],
                            "query": [
                                {
                                    "key": "region",
                                    "value": "NL",
                                    "disabled": false,
                                    "description": "Radar composite — `NL` (KNMI), `DE` (DWD RADOLAN), `BE`/`FR`/`PL`/`DK`/`GB`/`IE`/`ES`/`PT`/`LU`/`CH`/`IT`/`CZ`/`AT`/`SK`/`SI`/`HR`/`HU`/`RO`/`BG`/`GR`/`LT`/`LV`/`EE`/`FI`/`SE`/`NO`/`IS`/`MT`/`RS`/`ME`/`BA` (EUMETNET OPERA) or `PH`/`CY` (NASA GIBS IMERG satellite precipitation — satellite-derived,…"
                                }
                            ]
                        },
                        "description": "Returns the PNG for the given 5-min frame. `ts` is a 12-digit `YYYYMMDDHHMM` UTC timestamp; minute must be a multiple of 5 (`…00`, `…05`, `…10`, …). `?region=` selects the composite (default `NL`): NL → KNMI (700×765, ~17-month retention); DE → DWD RADOLAN-RY (900×900 national grid, ~18-month ret…"
                    }
                }
            ]
        },
        {
            "name": "Solar",
            "item": [
                {
                    "name": "PV / solar-radiation bundle (current obs + hourly forecast)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/solar?lat=52.37&lng=4.9&hours=24",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "solar"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                },
                                {
                                    "key": "tilt",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Panel tilt, degrees (0 = horizontal). Default ≈ |latitude|, capped 60°."
                                },
                                {
                                    "key": "azimuth",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Panel azimuth, compass degrees (180 = south, 90 = east). Default equator-facing."
                                },
                                {
                                    "key": "kwp",
                                    "value": "",
                                    "disabled": true,
                                    "description": "System size in kW-peak. When set, adds `pv_power_w[]` + daily `pv_energy_kwh`."
                                },
                                {
                                    "key": "losses",
                                    "value": "",
                                    "disabled": true,
                                    "description": "System loss percentage applied to AC output (default 14, PVWatts-style)."
                                },
                                {
                                    "key": "albedo",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Ground reflectance for the POA ground-reflected term (default 0.2)."
                                }
                            ]
                        },
                        "description": "Solar-focused observation + forecast endpoint for PV yield models, tilt calculators, sun-tracker hints and any radiation math. `current` block — live KNMI 10-min observation from the nearest station: temperature, irradiance (both W/m² and J/cm²·h), sunshine duration, cloud cover (total, oktas), v…"
                    }
                }
            ]
        },
        {
            "name": "AirQuality",
            "item": [
                {
                    "name": "Hourly air-quality forecast (Copernicus CAMS European regional ensemble)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/air-quality?lat=52.37&lng=4.9&hours=24",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "air-quality"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                }
                            ]
                        },
                        "description": "Hourly pollutant concentrations + European AQI for one location. Served direct from Copernicus CAMS European regional ensemble (CC-BY-4.0, full commercial use). Coverage gate: EU bbox (lat 30..72°, lng -25..45°). Outside Europe the endpoint falls through to the CAMS **global** atmospheric-composi…"
                    }
                },
                {
                    "name": "Hourly pollen forecast — six species + per-species risk band",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/pollen?lat=52.37&lng=4.9&hours=24",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "pollen"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                }
                            ]
                        },
                        "description": "Hourly pollen concentrations (grains/m³) for six species: alder, birch, grass, mugwort, olive, ragweed. Each species hourly array is decorated with a categorical risk band (`none`, `low`, `moderate`, `high`, `very-high`) — exact per-species thresholds (EAACI / Wörishofen scale) are tabulated in t…"
                    }
                }
            ]
        },
        {
            "name": "Maritime",
            "item": [
                {
                    "name": "Maritime — nearest KNMI offshore platform observation",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/marine/observations?lat=52.37&lng=4.9",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "marine",
                                "observations"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                }
                            ]
                        },
                        "description": "Picks the nearest KNMI offshore platform (North Sea oil/gas rig or coastal measurement tower) to the requested lat/lng and returns its current wind, pressure, temperature and humidity readings. 13 offshore stations are tagged with `is_offshore: true` in the registry (`/v1/stations`); a haversine …"
                    }
                },
                {
                    "name": "Maritime — wave-height + period + direction forecast (ECMWF Open Data wave model)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/marine/forecast?lat=52.37&lng=4.9&hours=24",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "marine",
                                "forecast"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                }
                            ]
                        },
                        "description": "Tier-capped hourly wave forecast served direct from the ECMWF Open Data wave model (CC-BY-4.0, full commercial use), at 0.5° downsample. Coverage spans the EU seas plus regional sea crops worldwide — the Mediterranean, the Gulf, the South + East Asian seas, the Caribbean, both American coasts, Oc…"
                    }
                },
                {
                    "name": "Daily global sea-surface temperature + anomaly + sea ice (NOAA OISST)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/marine/sst?lat=52.37&lng=4.9",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "marine",
                                "sst"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                }
                            ]
                        },
                        "description": "Daily global **sea-surface temperature** from NOAA OISST v2.1 (0.25°, US Government public domain): `sst_c`, the **anomaly vs the 1971-2000 climatology** (`anomaly_c` — the marine-heatwave signal), and the sea-ice concentration where present. The value is the **nearest ocean cell** to your coordi…"
                    }
                }
            ]
        },
        {
            "name": "Water",
            "item": [
                {
                    "name": "Latest Rijkswaterstaat water level at the nearest station",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/water/observations?lat=52.37&lng=4.9",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "water",
                                "observations"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                }
                            ]
                        },
                        "description": "Latest water-level reading from the nearest curated Rijkswaterstaat station (~28 stations covering the Dutch coast + major rivers + IJsselmeer). Values are in centimetres; for inland and coastal stations the reference datum is typically NAP (Normaal Amsterdams Peil), but RWS may report `NVT` (not…"
                    }
                },
                {
                    "name": "Latest Rijkswaterstaat water level at one named station",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/water/observations/station/lobith.bovenrijn.tolkamer",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "water",
                                "observations",
                                "station",
                                "lobith.bovenrijn.tolkamer"
                            ],
                            "query": []
                        },
                        "description": "Same response shape as `/v1/water/observations`, but picks the station by its RWS DDAPI code (e.g. `lobith.bovenrijn.tolkamer`, `hoekvanholland`, `vlissingen`). Codes must be present in the curated registry — list them via `/v1/water/stations`. **Scope**: `water`."
                    }
                },
                {
                    "name": "Hourly tide-curve forecast (astronomical · harmonic regression)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/water/forecast?lat=52.37&lng=4.9&hours=24",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "water",
                                "forecast"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "hours",
                                    "value": "24",
                                    "disabled": false,
                                    "description": "Number of hourly forecast points. Tier-capped: Free=24, Basic=48, Pro/Business=168. Requesting more than your tier allows truncates the response and adds a `hours_capped` warning."
                                }
                            ]
                        },
                        "description": "Hourly astronomical tide-curve forecast for the nearest coastal / estuarine RWS station. Built **in-house by harmonic regression**: the 7 dominant tidal constituents (M2/S2/N2 semi-diurnal, K1/O1 diurnal, M4/MS4 overtones) are least-squares-fit to ~35 days of the station's OWN observed water leve…"
                    }
                },
                {
                    "name": "Curated Rijkswaterstaat water-level station registry",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/water/stations",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "water",
                                "stations"
                            ],
                            "query": []
                        },
                        "description": "Lists the ~28 curated RWS water-level stations meteofeed serves. Covers Dutch coast (Vlissingen, Hoek van Holland, IJmuiden, Den Helder, Harlingen, Delfzijl, ...), Rhine/Waal (Lobith, Nijmegen, Tiel, ...), Meuse (Eijsden, Borgharen, Roermond, Lith), IJssel (Deventer, Olst, Zutphen, Kampen) and IJ…"
                    }
                }
            ]
        },
        {
            "name": "Climate",
            "item": [
                {
                    "name": "Monthly climate norms — KNMI (NL ~56y) · RMI (BE 74y) · DWD (DE to 1759)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/climate?lat=52.37&lng=4.9&metric=temperature_air&years=30",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "climate"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "pc",
                                    "value": "7941BV",
                                    "disabled": true,
                                    "description": "NL postal code (e.g. `7941BV` — case-insensitive, whitespace tolerated). Resolved to lat/lng via the self-hosted BAG geocoder before the controller runs. Mutually exclusive with explicit `lat`/`lng` — when both are present, `lat`/`lng` win. Outside the Dutch postcode grid returns `400 invalid_req…"
                                },
                                {
                                    "key": "locatie",
                                    "value": "Meppel",
                                    "disabled": true,
                                    "description": "NL city / woonplaats name (e.g. `Meppel`, `Utrecht`). Resolved to the woonplaats centroid via the self-hosted BAG geocoder. NL only; same precedence as `pc` (explicit `lat`/`lng` win when present)."
                                },
                                {
                                    "key": "metric",
                                    "value": "temperature_air",
                                    "disabled": false,
                                    "description": "Metric to aggregate. Defaults to `temperature_air`. Allowlist: `temperature_air`, `temperature_min`, `temperature_max`, `precipitation`, `humidity_relative`, `pressure`, `wind_speed`, `sunshine_duration`, `cloud_cover`."
                                },
                                {
                                    "key": "source",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Long-archive source for NL coords: `knmi.etmaal` (daily aggregates, default, fastest for multi-decade windows) or `knmi.uurgegevens` (hourly, finer min/max but heavier). Ignored for BE / DE / FR / PH / PL / DK / GB / IE coords — the resolved country drives the effective source (`rmi.synop` for BE…"
                                },
                                {
                                    "key": "years",
                                    "value": "30",
                                    "disabled": false,
                                    "description": "Number of trailing complete years to include in the aggregate. Tier-capped (Free: 3, Basic: 30, Pro / Business: 56). Excess requests truncate + add a `years_capped` warning."
                                }
                            ]
                        },
                        "description": "Monthly mean / min / max for one metric at the nearest station, aggregated over the last N years of the archive. Coords resolve to the NEAREST station across four networks (closest wins): - **NL** → KNMI (≤60 km, `meta.source` = `knmi.etmaal`/`knmi.uurgegevens`). - **BE** → RMI synop daily archiv…"
                    }
                }
            ]
        },
        {
            "name": "Geocode",
            "item": [
                {
                    "name": "Forward geocoder (NL via self-hosted BAG · rest of world via Nominatim/OSM)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/geocode?q=Meppel&country=DE&type=woonplaats&rows=5",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "geocode"
                            ],
                            "query": [
                                {
                                    "key": "q",
                                    "value": "Meppel",
                                    "disabled": false,
                                    "description": "Free-form query (city, address, postcode, gemeente, weg name, etc.)"
                                },
                                {
                                    "key": "country",
                                    "value": "DE",
                                    "disabled": false,
                                    "description": "Country to geocode in. NL → self-hosted BAG (default), every other country → Nominatim against OpenStreetMap."
                                },
                                {
                                    "key": "type",
                                    "value": "woonplaats",
                                    "disabled": false,
                                    "description": "Optional feature-class filter. Omit to rank across all classes."
                                },
                                {
                                    "key": "rows",
                                    "value": "5",
                                    "disabled": false,
                                    "description": "Maximum number of results. Capped at 25."
                                }
                            ]
                        },
                        "description": "Country-aware free-form geocoding: - **`country=NL`** (default): self-hosted **BAG** geocoder (the Dutch national address register, ~9.9M addresses, served from ClickHouse). Best-in-class for NL addresses, postcodes, cities, gemeenten and provinces. - **any other `country`**: Nominatim against Op…"
                    }
                }
            ]
        },
        {
            "name": "Typhoons",
            "item": [
                {
                    "name": "Active tropical cyclones worldwide (typhoons / hurricanes / cyclones · GDACS)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/typhoons?country=NL",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "typhoons"
                            ],
                            "query": [
                                {
                                    "key": "country",
                                    "value": "NL",
                                    "disabled": false,
                                    "description": "Filter to cyclones affecting this country (ISO-3166 alpha-2/3 or name substring, e.g. `PH`, `PHL`, `Philippines`)."
                                }
                            ]
                        },
                        "description": "Active tropical cyclones worldwide, sourced from **GDACS** (UN-OCHA + EC Joint Research Centre — free reuse). Each entry carries name, alert level (green/orange/red), Saffir–Simpson `category`, max sustained wind (km/h + kt), current position, affected countries, and a `source_url` linking to the…"
                    }
                }
            ]
        },
        {
            "name": "Space Weather",
            "item": [
                {
                    "name": "Global space-weather state (Kp · storm scales · solar wind · X-ray flares · NOAA SWPC)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/space-weather",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "space-weather"
                            ],
                            "query": []
                        },
                        "description": "Current global space-weather conditions from **NOAA SWPC** (US Government, public domain): the planetary **Kp index** (current + recent series + a 3-day forecast), the NOAA **G/S/R storm scales** (geomagnetic / solar-radiation / radio-blackout), real-time **solar wind** (speed, density, Bz, Bt) a…"
                    }
                },
                {
                    "name": "Aurora forecast + visibility at a location (NOAA OVATION)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/aurora?lat=52.37&lng=4.9",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "aurora"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                }
                            ]
                        },
                        "description": "Location-specific aurora forecast from the **NOAA OVATION** model: the `probability` (%) of visible aurora **directly overhead** at `forecast_time` (~30-40 min ahead), with a `band` label. Because aurora is only visible once the sky is dark, the response also carries our own solar-elevation compu…"
                    }
                }
            ]
        },
        {
            "name": "Earthquakes",
            "item": [
                {
                    "name": "Recent global earthquakes (USGS), optionally near a location",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/earthquakes?lat=52.37&lng=4.9&radius=1000&min_mag=4&limit=20",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "earthquakes"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "radius",
                                    "value": "1000",
                                    "disabled": false,
                                    "description": "Search radius in km from lat/lng (default 1000, max 20000). Ignored without lat+lng."
                                },
                                {
                                    "key": "min_mag",
                                    "value": "4",
                                    "disabled": false,
                                    "description": "Minimum magnitude (e.g. 4.5 for significant quakes only)."
                                },
                                {
                                    "key": "limit",
                                    "value": "20",
                                    "disabled": false,
                                    "description": "Max number of quakes returned (default 50, max 500)."
                                }
                            ]
                        },
                        "description": "Recent earthquakes from **USGS** (US Government, public domain) — magnitude, place, depth, tsunami flag, felt reports, alert level. The snapshot covers **M2.5+ over the past week** plus **significant quakes over the past month** (so a major event from >1 week ago still appears). Pass `lat`+`lng` …"
                    }
                }
            ]
        },
        {
            "name": "Tsunamis",
            "item": [
                {
                    "name": "Current tsunami bulletins (NOAA/NWS warning centers)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/tsunamis",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "tsunamis"
                            ],
                            "query": []
                        },
                        "description": "Current bulletins from the two **NOAA/NWS tsunami warning centers** (NTWC Palmer AK + PTWC Honolulu, tsunami.gov — US Government, public domain). Each bulletin carries a `category` — `information` means an earthquake occurred but poses **no tsunami threat** (the normal calm state) while `warning`…"
                    }
                }
            ]
        },
        {
            "name": "Volcanoes",
            "item": [
                {
                    "name": "Volcanoes at an elevated alert level (USGS), optionally near a location",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/volcanoes?lat=52.37&lng=4.9&radius=1000",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "volcanoes"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                },
                                {
                                    "key": "radius",
                                    "value": "1000",
                                    "disabled": false,
                                    "description": "Filter radius in km from lat/lng (default 1000, max 20000). Ignored without lat+lng."
                                }
                            ]
                        },
                        "description": "USGS-monitored volcanoes currently **above NORMAL** — `alert_level` (ADVISORY / WATCH / WARNING) + the **aviation color code** (YELLOW / ORANGE / RED), with position, region, synopsis and the issuing observatory. Coverage: the USGS-monitored volcanoes (Alaska — the most aviation-critical arc — Ha…"
                    }
                }
            ]
        },
        {
            "name": "Avalanche",
            "item": [
                {
                    "name": "Avalanche danger at a coordinate — EUREGIO bulletins (avalanche.report)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/v1/avalanche?lat=52.37&lng=4.9",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "avalanche"
                            ],
                            "query": [
                                {
                                    "key": "lat",
                                    "value": "52.37",
                                    "disabled": false,
                                    "description": "Latitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied (NL-only BAG lookup; see those parameters)."
                                },
                                {
                                    "key": "lng",
                                    "value": "4.9",
                                    "disabled": false,
                                    "description": "Longitude in decimal degrees (WGS84). Required unless `pc` or `locatie` is supplied."
                                }
                            ]
                        },
                        "description": "Avalanche danger for an Alpine coordinate from the **EUREGIO** bulletins — **Tyrol** (AT-07), **South Tyrol** (IT-32-BZ) and **Trentino** (IT-32-TN), published by avalanche.report under CC BY 4.0. The point is resolved to its EAWS micro-region (CC0 geometry) and the current bulletin's **danger ra…"
                    }
                }
            ]
        }
    ]
}