REST API
WsprryPi exposes both an HTTP REST interface and a WebSocket interface for configuration, control, monitoring, and UI synchronization.
For persistent event and command connections, see WebSocket Interface.
For normal browser and API use, access these interfaces through the Apache proxy path:
http://{servername}.local/wsprrypi/
The WsprryPi backend still listens on its service ports internally:
HTTP REST/UI backend:
31415WebSocket backend:
31416
Those ports are implementation details behind the proxy. Most users and documentation examples should use the proxied /wsprrypi/ paths.
The HTTP interface serves both the browser UI and the REST API through the proxied base path.
The UI entry point is:
http://{servername}.local/wsprrypi/
Configuration Endpoint
The primary proxied configuration endpoint is:
http://{servername}.local/wsprrypi/config
Supported operations:
GET: Returns the active runtime configuration as JSONPUT: Replaces the configuration with a full JSON payloadPATCH: Updates selected configuration fields
The backend service receives this request internally as:
http://127.0.0.1:31415/config
The API exposes configuration for:
WSPR Type 2/3 support
QRSS, FSKCW, and DFCW configuration
Si5351 backend configuration
Band GPIO selector configuration
Amp Control GPIO support
Web and WebSocket port configuration
CW timing and fade configuration
Planner preferences and paired-frame behavior
A typical payload resembles:
{
"Operation": {
"Mode": "WSPR",
"Transmit": true,
"Transmit Backend": "gpio",
"Use LED": true,
"LED Pin": 18,
"Use Amp": false,
"Amp Pin": -1,
"Amp Pin Active High": false,
"Use Shutdown": true,
"Shutdown Button": 19,
"Web Port": 31415,
"Socket Port": 31416
},
"Common": {
"Call Sign": "AA0NT",
"Grid Square": "EM18",
"Power": 20,
"Frequencies": "20m"
},
"GPIO": {
"Transmit Pin": 4,
"Power Level": 7,
"Use NTP": true,
"PPM": 0.0
},
"Band GPIO": {
"20m": {
"Enabled": true,
"GPIO": 21,
"Active High": true
}
},
"Meta": {
"Use INI": true,
"INI Filename": "/usr/local/etc/wsprrypi.ini",
"Date Time Log": true,
"Loop TX": false,
"TX Iterations": 0
}
}
Version Endpoint
Version and update metadata are available through the proxied endpoint:
http://{servername}.local/wsprrypi/version
The backend service receives this request internally as:
http://127.0.0.1:31415/version
Modern versions expose structured metadata:
{
"wspr_version": "3.0.0-rc.4+abcdef0 (devel)",
"ui_version": "3.0.0-rc.4+abcdef0 (devel)",
"ui_build_id": "mtime-1234567890abcdef",
"wspr_version_raw": "3.0.0-rc.4+abcdef0",
"wspr_branch": "devel",
"wspr_branch_state": "branch",
"wspr_commit": "abcdef0123456789",
"wspr_build_dirty": false
}
This endpoint is used for:
Browser UI version display
Automatic update polling
UI build reload detection
Asset cache busting
GitHub update comparison logic