System information
Any signed-in user can ask the server about itself. Nothing here changes anything.
Status
curl -s -u 'admin:PASSWORD' -H 'X-Weavster-CSRF: 1' http://127.0.0.1:8080/api/v1/system
{"id":"weavster","status":"running","version":"0.1.0","buildDate":"2026-09-27",
"time":"2026-09-27T12:00:00-04:00","timezone":"EDT -04:00","uptimeSeconds":3600,"runtime":"go1.25.4",
"charsets":["UTF-8","ISO-8859-1"],
"tls":{"enabled":true,"address":"0.0.0.0:8443","minVersion":"1.3","protocols":["TLS 1.3"],
"ciphers":["TLS_AES_128_GCM_SHA256","TLS_AES_256_GCM_SHA384","TLS_CHACHA20_POLY1305_SHA256"]},
"license":"MVP (no entitlement gating)"}
timeanduptimeSecondsare computed for each request;timezoneis the server's zone abbreviation and offset.tlsdescribes the HTTPS listener as configured (listen.tlsAddress,tls.minVersion; see Server configuration). Without an HTTPS listener it is{"enabled":false,"protocols":[],"ciphers":[]}. WithminVersion: "1.2"the list also has TLS 1.2 and the ECDHE AES-GCM suites that match the certificate's key (RSA, or ECDSA for ECDSA and Ed25519 keys).
Other requests
| Request | What it returns |
|---|---|
GET /api/v1/system/about |
name, version, buildDate, runtime, os, arch, license. |
GET /api/v1/system/password-requirements |
The password policy: minLength, minUpper, minLower, minNumeric, minSpecial (0 = no requirement, -1 = not allowed), and rules, the same in words for showing to users. |
GET /api/v1/system/resources |
cpus, goroutines, memoryAllocBytes, memorySysBytes, uptimeSeconds of the server process. |
GET /api/v1/system/guid |
{"guid": "…"}: a new random UUID each time. |
{"minLength":12,"minUpper":1,"minLower":1,"minNumeric":1,"minSpecial":-1,
"rules":["at least 12 characters","at least 1 uppercase letter","at least 1 lowercase letter","at least 1 digit","no special characters (only letters and digits)"]}
If the server was built without system information (only in embedded test setups), every
request except /guid returns 503.