Query device timeseries
POST/workspaces/:id/telemetry/query
Historical timeseries query (raw resolution, cursor-paginated). Auth: Bearer JWT or X-API-Key with devices.read. Device scope matches device GET visibility;
unknown or unauthorized device_keys → 403. Mobile end-users use
POST //devices/{device_id}/telemetry/query with JWT (bound device only). Limits: Max 7 days range; max 50 devices; max 20 metric_slugs (active metric catalog only).
Default limit 5000 points, max 10000. Public contract uses metric_slugs — never send ClickHouse column names.
device_key maps to ClickHouse gateway_device_key. 503 when TELEMETRY_QUERY_URL is unset or the Telemetry Query Gateway is unreachable.
No self-service ClickHouse DDL; no raw SQL. Prefer latest for tiles and aggregate for week/month energy bars.
Request
Responses
- 200
- 400
- 403
- 503
Timeseries series with optional next_cursor
Validation error (missing fields, range, unknown slug)
Forbidden (no workspace access or device_key not visible)
Telemetry query gateway not configured or unreachable