Skip to main content
err:user:bad_request:query_range_exceeds_retention
The time filter in your analytics query asks for data older than your workspace keeps. You get HTTP 400, and detail gives the earliest date you can query and the date you asked for.
Example response

Likely causes

  • The lower bound on time (with >, >=, =, or BETWEEN) goes back further than your plan’s retention.
We check bounds written as a literal timestamp or date, today(), or now() with INTERVAL N UNIT, such as now() - INTERVAL 90 DAY. A bound written another way, such as toIntervalDay(90), or no lower bound at all, isn’t rejected. The query runs, and rows older than your retention are left out without an error.

How to fix

  1. Move the lower bound to the date in detail or later.
  2. If you need older data, move to a plan with longer retention. See Limits.
  3. To keep data long-term, schedule exports that run inside the retention window.
Last modified on October 6, 2026