API Reference

Control StageTime from anything on the local network.

Overview

StageTime includes a built-in HTTP API that binds to 0.0.0.0 on the configured port (default 8088). All responses are JSON with CORS headers. Accessible from any device on the same network. Change the port from App → Change API Port… in the menu bar.

Timer Control

MethodEndpointDescription
GET/api/startStart the countdown.
GET/api/stopPause the countdown.
GET/api/toggleToggle start / stop.
GET/api/clearReset the timer to 00:00.

Set & Adjust Time

MethodEndpointDescription
GET/api/set?minutes=NSet the timer to N minutes. Also accepts seconds.
GET/api/set?minutes=N&seconds=SSet timer to N minutes and S seconds.
GET/api/add?minutes=NAdd N minutes (use negative values to subtract).
GET/api/add?seconds=SAdd S seconds (use negative values to subtract).

Display Modes

MethodEndpointDescription
GET/api/mode/countdownSwitch to countdown mode.
GET/api/mode/localSwitch to local time display.
GET/api/countup/onEnable count-up (stopwatch) mode.
GET/api/countup/offDisable count-up mode.

Messages

MethodEndpointDescription
GET/api/message?text=WRAP%20UPShow a message on the display. URL-encode the text.
GET/api/message/hideHide the current message.

Options

MethodEndpointDescription
GET/api/flash/onEnable flash at zero.
GET/api/flash/offDisable flash at zero.
GET/api/stopatzero/onEnable stop at zero.
GET/api/stopatzero/offDisable stop at zero.
GET/api/wrapup?minutes=2Set wrap-up warning to 2 minutes. Also accepts seconds.
GET/api/wrapup?minutes=0&seconds=0Disable wrap-up warning.
GET/api/background/blueSet display background to blue.
GET/api/background/blackSet display background to black.

Presets

MethodEndpointDescription
GET/api/presetsList all saved presets as a JSON array.
GET/api/preset/1Load preset by slot number (1–5).
GET/api/preset/load?name=KeynoteLoad preset by name.

Status

MethodEndpointDescription
GET/api/statusReturns the full current state as JSON.
Example Response
{
  "ok": true,
  "remainingSeconds": 573,
  "running": true,
  "localMode": false,
  "countUpMode": false,
  "flashOn": false,
  "stopAtZero": false,
  "wrapUpSeconds": 120,
  "messageVisible": false,
  "formattedTime": "09:33",
  "lightColor": "green",
  "lightColorHex": "#00ff00"
}

Quick Test

With StageTime running, try these from a terminal:

# Check current status
curl http://localhost:8088/api/status

# Set timer to 10 minutes
curl http://localhost:8088/api/set?minutes=10

# Start the countdown
curl http://localhost:8088/api/start

# Show a message on screen
curl "http://localhost:8088/api/message?text=WRAP%20UP"