Hanzo
OpenapiAgents

Returns every machine registered to the caller's org, newest first, each with…

Returns every machine registered to the caller's org, newest first, each with its live session load.

GET /v1/agents/targets

Addresshttps://api.hanzo.ai/v1/agents/targets
MethodGET
Operationget_agents_targets
AuthAuthorization: Bearer $HANZO_API_KEY

Returns every machine registered to the caller's org, newest first, each with its live session load.

Request

GET /v1/agents/targets takes no parameters and no body — the credential is the whole request.

Response

StatusBodyMeaning
200targetListok

200 body — 29 fields.

FieldInTypeAlwaysDescription
targetsbodytargetView[]Targets is every target registered to the caller's org.
targets[].capacitybodystringCapacity is a human summary of what the machine has ("8 vCPU / 32G", "1× GB10"), up to 256 characters.
targets[].createdAtbodystringCreatedAt is when the machine was first registered, RFC 3339 in UTC.
targets[].hostbodystringHost is the hostname sessions on this machine report, and it is a JOIN KEY, not a label: a session naming this host counts against the load below even when it…
targets[].idbodystringID is the machine's handle, minted as "tgt_" + 32 hex characters.
targets[].kindbodystringKind is what sort of destination this is, from a closed five: laptop | cloud | gpu | cluster | machine.
targets[].labelbodystringLabel is the name a person gave the machine ("workshop"), up to 128 characters.
targets[].metricsbodyMetrics
targets[].metrics.atbodyintegerunix seconds, server-stamped
targets[].metrics.gpuUtilbodynumber0..1 aggregate utilization
targets[].metrics.load1bodynumberLoad1 is the machine's own one-minute load average — a count of runnable and uninterruptible tasks, NOT a percentage and NOT already divided by core count, so…
targets[].metrics.load5bodynumberLoad5 is the same figure averaged over five minutes.
targets[].metrics.load15bodynumberLoad15 is the same figure over fifteen. The three together are what separate a machine that is busy right now from one that has been busy all along — which is…
targets[].metrics.memFreebodyintegerbytes
targets[].metrics.memUsedbodyintegerbytes
targets[].metricsAtbodystringMetricsAt is when that heartbeat was recorded, RFC 3339 in UTC, and the SERVER stamps it — a client cannot backdate or forge the staleness clock.
targets[].runningbodyintegerRunning is how many of those are in running right now — the number a dispatcher weighs against Capacity.
targets[].sessionsbodyintegerSessions is how many of the org's sessions are mapped to this machine, by target id OR by matching Host.
targets[].specbodySpec
targets[].spec.archbodystringamd64 | arm64 | ...
targets[].spec.cpusbodyintegerlogical cores
targets[].spec.gpusbodyGPU[]GPUs is every accelerator the machine advertises, one entry each, capped at 32 on write.
targets[].spec.gpus[].memorybodyintegerVRAM bytes, 0 = unknown
targets[].spec.gpus[].modelbodystring"GB10", "8060S", "RTX 4090"
targets[].spec.gpus[].vendorbodystringnvidia | amd | apple | intel | ...
targets[].spec.memorybodyintegertotal RAM, bytes
targets[].spec.osbodystringlinux | darwin | windows
targets[].statusbodystringStatus is the EFFECTIVE liveness — online | offline | draining — not the stored one.
targets[].updatedAtbodystringUpdatedAt is the last write to the row, same format — which for a beating machine is its last heartbeat, since a heartbeat IS a write.

Failure carries the platform error shape — see Errors.

Examples

hanzo agents targets list

Agents API · All Hanzo APIs · Interactive reference

How is this guide?

On this page