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.1Host: lager.example.comAccept: application/jsonAccept-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"}Fields
Section titled “Fields”| 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.
What clients do with it
Section titled “What clients do with it”- Check
protocolandversions. The reference app shows "unsupported server" otherwise and does not sign in. - 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. - 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.
Responses
Section titled “Responses”| 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.
Reference server configuration
Section titled “Reference server configuration”| 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 |