Telemetry graph series (1m/1h rollups)
const url = 'https://api.flotera.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/metrics?from=2026-07-25T10%3A15%3A30.123456Z&to=2026-07-25T10%3A15%3A30.123456Z&resolution=auto';const options = { method: 'GET', headers: {cookie: '__Host-erm_session=<__Host-erm_session>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.flotera.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/metrics?from=2026-07-25T10%3A15%3A30.123456Z&to=2026-07-25T10%3A15%3A30.123456Z&resolution=auto' \ --cookie __Host-erm_session=<__Host-erm_session>Aggregated series for the server-detail graphs, served from the report
cache (report:v1:{tenant}:server-metrics:...) backed by ClickHouse
rollups. Ranges over 48 hours read 1h rollups, shorter ranges read 1m.
Hot ranges refresh every 60 s; historical ranges are cached longer.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”UUID (v7 for new entities; v4 accepted during migration).
Header Parameters
Section titled “Header Parameters”Return 304 Not Modified when the entity tag still matches.
Query Parameters
Section titled “Query Parameters”RFC 3339 UTC with microsecond precision.
Range start (half-open [from, to)). Defaults to to - 24h.
RFC 3339 UTC with microsecond precision.
Range end. Defaults to now.
Bucket resolution. auto picks 5m/1h by range length. 1m is a legacy alias of 5m: minute rollups were retired 2026-08-22 and 5m is the finest history grain (04 §3.5).
Metric names to include (rollup column names, e.g. temperature_c, utilization_pct, power_w, fan_pct, cpu_usage_pct, hashrate). Omit for the default graph set.
Restrict GPU-level series to one GPU. Host series are unaffected.
Responses
Section titled “Responses”Metric series snapshot.
Telemetry graph series computed from ClickHouse 1m/1h rollups.
object
When this snapshot was computed.
Source watermark the snapshot is based on.
Snapshot form version (cache-shape version).
True when serving stale-while-revalidate data.
UUID (v7 for new entities; v4 accepted during migration).
Effective resolution after auto selection.
RFC 3339 UTC with microsecond precision.
RFC 3339 UTC with microsecond precision.
object
Present for scope=gpu series.
object
Bucket start (half-open bucket [t, t+resolution)).
Example
{ "generated_at": "2026-07-25T10:15:30.123456Z", "data_as_of": "2026-07-25T10:15:30.123456Z", "resolution": "5m", "from": "2026-07-25T10:15:30.123456Z", "to": "2026-07-25T10:15:30.123456Z", "series": [ { "metric": "temperature_c", "scope": "host", "unit": "C", "points": [ { "t": "2026-07-25T10:15:30.123456Z" } ] } ]}Headers
Section titled “Headers”Entity tag of the returned snapshot/resource version.
Not modified; the cached representation is still valid.
Missing/invalid credentials (code=unauthorized).
RFC 9457 problem document with a stable machine code.
object
Stable machine-readable error code (03 §2.4).
UUID (v7 for new entities; v4 accepted during migration).
object
JSON Pointer to the offending field.
Example
{ "type": "https://ermeon.com/problems/validation", "code": "unauthorized"}Authenticated but not permitted. code=forbidden — role/scope mismatch; code=feature_not_entitled — the plan does not include the capability; code=account_frozen — the account is frozen and this operation is declared x-ermeon-frozen: deny. The three are deliberately distinct: only the last one is fixed by a top-up (13 §5.6).
RFC 9457 problem document with a stable machine code.
object
Stable machine-readable error code (03 §2.4).
UUID (v7 for new entities; v4 accepted during migration).
object
JSON Pointer to the offending field.
Example
{ "type": "https://ermeon.com/problems/validation", "code": "unauthorized"}Resource does not exist in this tenant. Foreign identifiers also return 404 (anti-enumeration).
RFC 9457 problem document with a stable machine code.
object
Stable machine-readable error code (03 §2.4).
UUID (v7 for new entities; v4 accepted during migration).
object
JSON Pointer to the offending field.
Example
{ "type": "https://ermeon.com/problems/validation", "code": "unauthorized"}Request failed validation (code=validation_failed), with per-field errors.
RFC 9457 problem document with a stable machine code.
object
Stable machine-readable error code (03 §2.4).
UUID (v7 for new entities; v4 accepted during migration).
object
JSON Pointer to the offending field.
Example
{ "type": "https://ermeon.com/problems/validation", "code": "unauthorized"}