Hanzo
OpenapiPlatform

Returns one platform service, resolved to production by default.

Returns one platform service, resolved to production by default.

GET /v1/platform/fleet/{app}

Addresshttps://api.hanzo.ai/v1/platform/fleet/{app}
MethodGET
Operationget_platform_fleet_by_app
AuthAuthorization: Bearer $HANZO_API_KEY

Returns one platform service, resolved to production by default.

It returns a single platform service by its CR name, with the same declared-versus-running and drift facts the board carries. The name must be a DNS-1123 label; anything else is 400.

Namespaces are scanned in lifecycle order — main, then test, then dev — and the first match wins, so a bare name resolves to PRODUCTION. The scan covers only the namespaces the caller is authorized for, so an org admin can never read a service outside their own org, and a name found in none of them is 404 rather than a leak.

Request

2 fields.

FieldInTypeRequiredDescription
apppathstringyesApp is the service's CR name, from the path.
envquerystringEnv narrows the scan to one lifecycle env: main, test or dev.

Response

StatusBodyMeaning
200AppViewok

200 body — 21 fields.

FieldInTypeAlwaysDescription
appbodystringservice / CR name, e.g.
clusterbodystringalways "hanzo-k8s"; cross-cluster federation is a follow-up phase
declaredTagbodystringspec.image.tag — the tag the CR SAYS to run; anything but vX.Y.Z is red drift
driftbodyVerdict
drift.flagsbodyDriftFlag[]Flags are the findings behind the severity, in detection order: floating-declared, floating-running, stale, un-rolled, then the release-artifact ones.
drift.flags[].kindbodystringKind is which finding this is, one of stale, un-rolled, floating-declared, floating-running, no-release or zero-assets.
drift.flags[].messagebodystringMessage is the finding in words, naming the tags that produced it ("running v1.2.3 has not rolled to declared v1.2.4").
drift.flags[].severitybodystringSeverity is this ONE finding's weight — yellow for stale and un-rolled, red for the other four.
drift.severitybodystringSeverity is the roll-up over Flags — red if any flag is red, else yellow if any is yellow, else ok.
endpointsbodystring[]status.endpoints the operator published for this service; empty until it reconciles
envbodystringmain|test|dev
healthbodystringgreen|yellow|red|"" (unknown)
idbodystring<org>/<app>/<env>, e.g.
latestTagbodystringnewest released tag; "" until the GH release reader lands, so "stale" cannot fire yet
namespacebodystringnamespace the row was scanned from: a platform one (hanzo, hanzo-testnet, …) or a tenant-<org>
orgbodystringimage namespace, e.g.
phasebodystringoperator status.phase (Running/…)
registrybodystringspec.image.repository verbatim (ghcr.io/hanzoai/iam); Org and Repo are read off it
repobodystringowner/repo, e.g.
rolebodystringoperator spec.role (sql|kv|generic|ingress|…) or "" — the one declared class field
runningTagbodystringthe tag the live Deployment actually runs; "" when unreadable — unknown, not a guess

Failure carries the platform error shape — see Errors.

Examples

hanzo platform fleet get <app>

Platform API · All Hanzo APIs · Interactive reference

How is this guide?

On this page