Destination Weather
POST /v1/destination/weather — a daily forecast for a destination, honestly degraded.
POST /v1/destination/weather returns a multi-day forecast for a destination, resolved
server-side from an airport code, a city name, or explicit coordinates.
Airline-scoped, model-free: no
X-Session-Id (harmless if sent — simply ignored). Body (max 16 KiB):
* At least one of airport, city, or the lat+lon pair is required — see the error note
below.
weatherAvailableis a required field — always present,trueorfalse, never omitted (it’s a boolean, not a nullable one, so the null-omission rule doesn’t apply here).- On honest degradation,
forecastis an empty array, not omitted. precipProbis the only optional field on a forecast day; it’s omitted when unknown.
Honest degradation
Two distinct failure modes both return 200 with weatherAvailable: false and forecast: [] —
never an error:
- The locator doesn’t resolve to a known place (an unrecognized city with no airport/coordinates to fall back on).
- The weather provider call itself fails.
Errors
This is the one endpoint on the platform where request.validation is a 400, not a 422.
Every other validation failure across this API returns 422 request.validation — see Errors &
Limits. Here specifically, sending a request with none of airport, city, or
a lat+lon pair returns 400 request.validation. Branch on the code field as always;
just don’t assume this one is a 422 by pattern-matching on the code name.
Standard envelope otherwise: 401 / 403, 500. There is no 429 — this
endpoint is model-free and never touches AI admission or ceilings, and no dedicated 500 case
exists beyond the platform-wide generic one (a provider failure degrades honestly, per above,
rather than erroring).