system

Report provisioning state, hostname, auth state, device id, versions, and the last Wi-Fi attempt.

Always unauthenticated and always served, even while unprovisioned — this is the one endpoint every client (including the setup flow itself) polls to decide what to show.

auth_state is one of "open_setup" (DIY, no identity file -- legacy open /auth/setup available), "initial" (identity file present, no owner yet -- login with the sticker password), "set" (normal operation), "corrupt" (auth.json exists but cannot be read -- login and setup both refuse until an operator deletes it over SSH), or "unavailable" (identity file could not be read at all -- a transient error, not clean absence -- so /auth/setup and /auth/login refuse with 503 until it clears) -- see :func:~palmimo_portal.core.identity.compute_auth_state.

device_id is the number printed on the device's sticker (also its hostname suffix) -- public, reported whenever the identity file was successfully read, independent of auth_state. None both when there is no identity file and when the read is currently unavailable.

adapters and state_dir expose what this process is actually running as, so a device on fake adapters or the wrong state directory is diagnosable from a client request.

ntp_synchronized and disk_free_bytes back the "clock not synced yet" / "disk almost full" UI warnings (design doc 3.6).

get/api/v1/system/status

Request

  • The document declares no server URL.
  • Auth: none declared

Response

Successful Response

adaptersstring required
auth_statestring required
device_idstring nullable required
disk_free_bytesinteger required
hostnamestring required
ntp_synchronizedboolean required
statestring required
state_dirstring required

Changes

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status