> Section: [10. Reference](https://jaque.sh/docs/reference/cli-flags.md)
> Next: project/status
> Index: https://jaque.sh/llms.txt


`/status.json` predates `QueryService` and stays around as a narrow
surface for exactly the things that want a plain unauthenticated GET: a
Kubernetes liveness probe, a CI smoke test.

## 1. What it's for now

It's legacy in the sense that it isn't where new integration work should
point -- the dashboard itself reads from `ListStatus` on `QueryService`
(see [Command and query service](https://jaque.sh/docs/api/command-and-query-service.md)),
not from `/status.json`. What still uses it: Kubernetes probes and the
smoke test that runs against a kind cluster in CI, both of which just want
"is this alive and what does it currently see" without a JSON-RPC call
shape.

## 2. Where it lives

Served on the same `-listen` port as everything else -- empty `-listen`
disables it along with the dashboard and `/metrics`. The same snapshot
shape backs `-snapshot-out`, the file jaque writes at shutdown with its
final status.

For anything beyond a liveness check -- filtering by host, reading
history, calling a command -- use `QueryService` and `CommandService`
instead; they're the maintained, structured surface.

## 3. Security considerations

`/status.json` is never gated by `-api-token` -- there is no way to
require a token on it, unlike `CommandService` (see [Command and query
service](../api/command-and-query-service.md), section 5, and [CLI
flags](../reference/cli-flags.md), section 9). Anyone who can reach
`-listen` can read the full current status snapshot: every object's
state, output and acknowledgement/downtime detail. That is the same
exposure `QueryService`'s reads already carry by design; `/status.json`
does not widen it, but it is also not narrowed by anything `-api-token`
does elsewhere on the same port.
