An IANA time zone id (Europe/Zurich, America/Los_Angeles) — the shape
only (IANA_ZONE_REGEX, at most MAX_ZONE_ID_LENGTH chars).
The server then checks it against the tz database and refuses an unknown
one — an abbreviation like CEST, a typo — with 400 invalid_request
("timezone: unknown IANA zone"); validate client-side with
isKnownTimeZone from ./timezones to catch it first. Offsets (+02:00)
fail the shape itself: they do not survive daylight saving.
An IANA time zone id (
Europe/Zurich,America/Los_Angeles) — the shape only (IANA_ZONE_REGEX, at most MAX_ZONE_ID_LENGTH chars). The server then checks it against the tz database and refuses an unknown one — an abbreviation likeCEST, a typo — with400 invalid_request("timezone: unknown IANA zone"); validate client-side withisKnownTimeZonefrom./timezonesto catch it first. Offsets (+02:00) fail the shape itself: they do not survive daylight saving.