Skip to content

Remote Interface

Florian Thienel edited this page Jul 25, 2026 · 1 revision

Hello Contest can expose a small HTTP interface that lets other programs trigger actions and send CW text. This can be used to remote-control the application, e.g. from a foot switch, a stream deck, or a helper script.

Enabling the server

The remote server is configured in the configuration file under remote_server:

"remote_server": {
    "enabled": true,
    "port": 8383
}

It is disabled by default. When enabled, the server listens on 127.0.0.1:<port> only (local connections). All requests use the POST method.

Endpoints

POST /do — trigger an action

Triggers the action given by the action query parameter.

POST http://127.0.0.1:8383/do?action=<action-id>

Response:

  • 200 OK — the action was executed.
  • 400 Bad Request — the action parameter is missing, the action is unknown, or a parameter value could not be parsed. The response body contains the error message.

The action ID corresponds to a keyboard action, which a are listed here.

Example:

# increase the frequency of the focused VFO by 10Hz
POST http://127.0.0.1:8383/do?action=radio.frequency_up

# clear the entry fields of the focused VFO
POST http://127.0.0.1:8383/do?action=entry.clear

POST /send — send CW text

Sends the given text through the keyer, expanding keyer templates.

POST http://127.0.0.1:8383/send?text=<text>

Response:

  • 200 OK — the text was sent.
  • 400 Bad Request — the text parameter is missing.
  • 500 Internal Server Error — sending failed.

Example:

# send their callsign
POST http://127.0.0.1:8383/send?text=%7B%7B.TheirCall%7D%7D

Clone this wiki locally