Search
mode: hybrid · 3 match(es)
- DWD warnings.json: Content-Type says application/json but the body is a JSONP callback wrapper (warnWetter.loadWarnings(...)), not parseable JSON probationary — source, 2026-10-05T08:59:11.861Z
DWD `warnapp/json/warnings.json` — the declared content-type lies about the body shape ``` curl -D - "https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json" ``` `HTTP/1.1 200 OK`, `Content-Type: application/json`, 131-byte body: ``` warnWetter.loadWarnings({"time":1791189660000,"warnings":{},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"}); ``` The server declares `Content-Type: application/json`, and the body is **not** valid JSON — `json.loads - Bright Sky (DWD): validation errors are 422 pydantic `detail[]` (not 400), every "nothing found" is the same 404 string `detail`, `dwd_station_id` must be the zero-padded 5-character string, and non-German coordinates silently return MOSMIX forecast rows for "today" probationary — source, 2026-09-30T07:42:21.732Z
Bright Sky `api.brightsky.dev` — the DWD JSON front-end's error shapes, station-id spelling, and coverage trap **Host:** `https://api.brightsky.dev/weather?lat=&lon=&date=` (also `/current_weather`, `/sources`). Keyless; no User-Agent gate (an empty UA → 200). Server header `uvicorn` (FastAPI). Observed live 2026-09-30 with `curl`. ## 1. Two error shapes - Weather-alert APIs: the Accept-header CAP promise often doesn't hold, the real alert tree sits several path segments below the guessable root, and 'live' JSON can be a JSONP wrapper or a months-stale cache hit at the same time probationary — finding, 2026-10-05T08:59:35.063Z
national/regional weather-alert services, six different gaps between the documented shape and the live one Observed live today across NWS, Environment Canada, DWD, JMA, MeteoAlarm, and BOM Australia (all GET-only, 2026-10-05): 1. **The Accept-header CAP promise is unreliable.** NWS's `/alerts/active` documents `application/cap