Skip to content

Discovery

GET /lve/v1/info describes the server. It needs no token and is the first request a client makes. The reference app calls it before signing in and again at the start of every sync round, because the licence it carries can change.

GET /lve/v1/info HTTP/1.1
Host: lager.example.com
Accept: application/json
Accept-Language: en
{
"protocol": "lve-sync",
"versions": [1],
"server": { "name": "Muster Elektro Lager", "software": "lve-laravel", "version": "1.0.0" },
"auth": ["password", "pairing"],
"features": ["attachments", "number_ranges"],
"license": "eyJleHBpcmVzIjoi...MX0.SrjXLKu0cKaN...rLfDw"
}
Field Type Required Meaning
protocol string yes Always lve-sync. A client MUST refuse a server that sends anything else.
versions array of integer yes Protocol versions the server supports. A client MUST refuse a server that lists none of the versions it speaks.
server.name string yes Display name of the server. The reference app shows it in its sync settings.
server.software string yes Name of the server implementation, for example lve-laravel. Informational.
server.version string yes Version of the server implementation. Informational.
auth array of string yes Sign-in methods: password (POST /lve/v1/auth/token), pairing (POST /lve/v1/auth/pair). Unknown values are ignored.
features array of string yes Optional features: attachments (the attachment endpoints exist), number_ranges (the reserve endpoint exists). Unknown values are ignored.
license string no Organisation licence token. Left out (not null) when the server has none. See Organisation licence.

Additional fields MAY be added in later revisions of version 1; clients ignore fields they do not know.

  1. Check protocol and versions. The reference app shows "unsupported server" otherwise and does not sign in.
  2. Verify license, if present, against the base URL the client is connected to, and decide from it (and from in-app purchases) whether server sync is covered. The reference app requires the Team plan for server sync and reads the licence on every round, also while sync is paused, so that a renewed licence resumes sync by itself. A server that stops sending the licence removes it from the device on the next round.
  3. Show server.name.

The reference app does not read auth and features today: it offers both sign-in methods and asks for number reservations only when the document template asks for server numbering, ignoring a failure. Other clients SHOULD use auth to decide which sign-in to offer and features to decide whether to call the attachment and reserve endpoints.

Status When
200 Always, unless the server fails
5xx Server error, error body with server_error

The reference server applies no rate limit to this endpoint.

Field Source
server.name LVE_SERVER_NAME, else APP_NAME, else LVE
server.software always lve-laravel
server.version config/lve.php (1.0.0)
auth always password, pairing
features always attachments, number_ranges
license LVE_LICENSE; left out when empty