Getting Started
Error Codes
All errors return JSON with a detail field describing the issue.
An empty result is not an error
A request that matches no rows returns 200 with count: 0 and an emptyresults array. Treat count as the check, not the status code. The usual causes are a time window that predates your tier's history floor, a window shorter than your tier's sampling interval, or a filter combination no option matches.
When your requested range is older than your tier allows, the window is clamped rather than refused, and the response says so via window_start and history_clamped. See Response Format.