List samples

Returns the caller org's utilization series, oldest first.

GET /v1/compute/fleet/samples

Addresshttps://api.hanzo.ai/v1/compute/fleet/samples
MethodGET
OperationlistFleetSamples
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the caller org's utilization series, oldest first.

A rejected narrower is a 400 carrying its own reason (the vocabulary is ours and safe to echo); a warehouse failure is logged and answered 503 "unavailable", because a chart that silently reads "no load" when the truth is "we cannot tell" is worse than one that says so. An ABSENT warehouse is different again: it returns an empty series, which renders honestly as "no samples yet".

Request

3 fields.

FieldInTypeRequiredDescription
unitquerystring—Unit selects one compute unit's series by its source-local id.
sourcequerystring—Source selects one plane: "agent", "byo" or "visor".
rangequerystring—Range is the lookback window (e.g. "1h", "24h", "7d"); empty takes the warehouse default.

Response

StatusBodyMeaning
200compute.sampleListok
defaultproblem-detailsrefused

200 body — 37 fields.

FieldInTypeAlwaysDescription
samplesbodycompute.sampleView[]—Samples are the readings, OLDEST first — the order a chart plots.
samples[].atbodystring—At is when the reading was MEASURED, RFC 3339 in UTC — the x-axis a chart plots against.
samples[].costCentsbodyinteger (int64)—CostCents is what this unit resold for over the hour the reading falls in, in whole US cents.
samples[].cpuTempbodynumber (double)—CPUTemp is the CPU package temperature in °C.
samples[].cpuUtilbodynumber (double)—CPUUtil is the busy fraction of all cores over the sample window, 0..1.
samples[].cpusbodyinteger (int64)—CPUs is logical cores.
samples[].decodebodynumber (double)—Decode is generation throughput over the sample window, in tokens per second.
samples[].diskReadbodynumber (double)—DiskRead is the block-device read rate in bytes per second.
samples[].diskTotalbodyinteger (int64)—DiskTotal is the size of those filesystems, in BYTES.
samples[].diskUsedbodyinteger (int64)—DiskUsed is the space used across local block filesystems, in BYTES.
samples[].diskWritebodynumber (double)—DiskWrite is the block-device write rate in bytes per second.
samples[].gpuMemTotalbodyinteger (int64)—GPUMemTotal is dedicated VRAM in BYTES; absent when the GPU shares system memory (unified).
samples[].gpuMemUsedbodyinteger (int64)—GPUMemUsed is the memory held by GPU processes, in BYTES.
samples[].gpuModelbodystring—GPUModel names the representative accelerator ("GB10"); GPUs carries how many.
samples[].gpuPowerbodynumber (double)—GPUPower is the total GPU power draw in watts.
samples[].gpuPowerLimitbodynumber (double)—GPUPowerLimit is the total enforced GPU power limit in watts; absent when the driver reports none.
samples[].gpuTempbodynumber (double)—GPUTemp is the hottest GPU's temperature in °C.
samples[].gpuUtilbodynumber (double)—GPUUtil is aggregate accelerator utilization as a FRACTION of 1 — 0.42 is 42% busy.
samples[].gpusbodyinteger (int64)—GPUs is how many accelerators the reading covers.
samples[].hostbodystring—Host is the hostname the unit reported at the time of the reading.
samples[].kindbodystring—Kind is what the measured unit is: laptop, cloud, gpu, cluster, machine or worker.
samples[].kvCachebodynumber (double)—KVCache is the KV-cache occupancy, 0..1.
samples[].load1bodynumber (double)—Load1 is the 1-minute load average — runnable processes, not a percentage.
samples[].load5bodynumber (double)—Load5 is the 5-minute load average, the same units as Load1.
samples[].load15bodynumber (double)—Load15 is the 15-minute load average, the same units as Load1.
samples[].memFreebodyinteger (int64)—MemFree is host memory available, in BYTES, as reported rather than derived.
samples[].memUsedbodyinteger (int64)—MemUsed is host memory in use, in BYTES.
samples[].memorybodyinteger (int64)—Memory is total system RAM in BYTES at the time of the reading.
samples[].modelbodystring—Model is the model id(s) served on the unit, comma-separated, at most 128 bytes.
samples[].netRxbodynumber (double)—NetRx is the receive rate of physical interfaces in bytes per second.
samples[].netTxbodynumber (double)—NetTx is the transmit rate of physical interfaces in bytes per second.
samples[].prefillbodynumber (double)—Prefill is prompt (prefill) throughput over the sample window, in tokens per second.
samples[].runningbodyinteger (int64)—Running is the number of requests being served at the reading.
samples[].sourcebodystring—Source is the plane that reported the reading: "agent", "byo" or "visor" — the same vocabulary the board's rows carry, and what ?source= narrows on.
samples[].ttftbodynumber (double)—TTFT is the mean time to first token, in seconds, of requests that started in the window.
samples[].unitbodystring—Unit is the source's own id for the measured unit.
samples[].waitingbodyinteger (int64)—Waiting is the number of requests queued at the reading.

Failure carries the platform error shape — see Errors.

Examples

hanzo compute fleet samples get
import { Configuration, ComputeApi } from 'hanzoai';

const api = new ComputeApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.listFleetSamples();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import ComputeApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = ComputeApi(client).list_fleet_samples()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.ComputeAPI.ListFleetSamples(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, compute_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = compute_api::list_fleet_samples(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.ComputeApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new ComputeApi(client).listFleetSamples();
curl https://api.hanzo.ai/v1/compute/fleet/samples \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool compute, op listFleetSamples — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "compute",
         "arguments": {
           "op": "listFleetSamples",
           "input": {}
         }
       }
     }'

Compute API · All Hanzo APIs · Interactive reference

Was this page useful?