Clients and versions
Anything that talks to a wall other than its own page is a client of The API: a script with a token, a monitoring system, a program of its own that shows the wall. This is what such a program goes by, so that it keeps working from one version of qKVM to the next, and says the same things the page says.
- Ask
GET /healthzfirst. It needs no sign-in.apilists the versions of the interface this qKVM speaks: a program written againstv1uses it where it is listed and, where it is not, says so plainly (one of the two has to be updated) and sends nothing else.lockedsays that the wall reaches no device until somebody has signed in. - Within
v1nothing is taken away and nothing is given another meaning; fields, requests, states, codes and words are added. A program takes what it knows from an answer and leaves the rest. A state, a code or a word it has not met is one that was added since: a code is shown as a problem, with the sentence the wall sent for it; a word incanis left out. - What a machine can do comes from the wall, in
can, never from its kind: see The API. A new kind of device brings new words, and a program that goes bycanshows the right buttons for it without having heard of it. - The words are one file.
words.json, in the source atqkvm/static/words.jsonand served by every wall at/static/words.json, holds the states and what the page says for each (states; andserver_states, for a server, whose "no signal" is "powered off"), a device's trouble by its code and the state a tile shows it under (codes), every code the wall refuses a request with and the statuses it comes with (refusals), the kinds of device and their names (kinds), and the words ofcanwith a label for each. The page reads it as it starts; another program is built from it, or checked against it when it is built, so that no two programs call one thing by two names. A test of qKVM's own fails when the page or a driver uses a word the file does not have. - What the page does beyond this (setting a wall up, its settings, accounts, alerts, updates) is the page's own, listed at the end of The API: a program leaves that to the page, in a browser.