From 7ca76f7767c91769343158af3d384c89ff2ef7b1 Mon Sep 17 00:00:00 2001 From: August Cayzer Date: Fri, 30 Oct 2026 22:13:39 +0000 Subject: [PATCH] docs(build): state how a window bound is read --- content/docs/build/list-filter-search.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/docs/build/list-filter-search.mdx b/content/docs/build/list-filter-search.mdx index 0b2034cd..a04b62f8 100644 --- a/content/docs/build/list-filter-search.mdx +++ b/content/docs/build/list-filter-search.mdx @@ -229,6 +229,8 @@ Each entry has a `starts_at`, an `ends_at` where the event has one, and the `ite } ``` +Marfa reads a bound as it reads any other time you send: a time with no zone, such as `2026-10-12T09:00:00`, is UTC, a date with no time is its midnight in UTC, and an offset or `Z` is honored. A bound that isn't an ISO 8601 time, or names a date that doesn't exist such as `2026-02-30`, is refused with `400 validation_error`, and `details.field` says whether it was `from` or `to`. + The whole window comes in one page, in order of `starts_at`. A window spans at most **400 days**, and Marfa refuses one with too many occurrences rather than trim it, so narrow the window. If the answer carries `expansion_incomplete: true`, **the calendar is missing something**: `series_errors` names the series that couldn't be unfolded. ## When a query is refused