Docs · Console
Console snapshot and billing
The snapshot is the desktop app's view of the operator's console state: plan, machine count, and connection. Billing and plan selection are available as separate endpoints.
Overview
The Zero desktop app maintains a local cache of console state. The snapshot is the most recent version of that cache — it reflects what the desktop knows right now without making a network request to the console.
Use POST /console/refresh to force the cache to update from the remote console before reading the snapshot.
Snapshot
Returns the current cached console state. Returns null if no session has been established.
GET /console/snapshot
→ {
"plan": "solo" | "team" | "enterprise",
"machine_count": 1,
"connection": "CONNECTED" | ...
}
→ null (no cached state)The snapshot is updated by POST /console/refresh and POST /console/sign-in. It is read-only — use /console/select-plan to change plan.
Billing
Returns the operator's billing record from the console. This is a live fetch, not from the local cache.
GET /console/billing
→ billing record (plan, status, period, usage)
→ 503 if console is unreachableSelect plan
Changes the operator's plan. The planId value must match a plan identifier from the console's plan registry.
POST /console/select-plan
{ "planId": "solo" | "team" | "enterprise" }
→ 200 OK
→ 400 Bad Request: missing planId
→ 503: console unreachableAfter selecting a plan, call POST /console/refresh to update the local snapshot.
API reference
| Method | Path | Description |
|---|---|---|
| GET | /console/snapshot | Current cached console state |
| GET | /console/billing | Live billing record |
| POST | /console/select-plan | Change operator plan |