Skip to content

API Documentation

This section documents the on-device REST API exposed by the OWTS firmware.

HTTPS + conditional write protection

  • The UI and API are served over HTTPS (self-signed certificate). See Firmware HTTPS.
  • GET endpoints are intentionally public (read-only).
  • Mutating endpoints (PUT, PATCH, POST, DELETE) require Authorization: Bearer <password> only when an API password is configured on the device (default: no password configured).

Getting Started

Source of truth

The OpenAPI specification lives in the repository at:

The API is RESTful and uses standard HTTP methods:

  • GET - Retrieve resources
  • POST - Create resources
  • PUT - Update resources
  • DELETE - Remove resources

All API endpoints return JSON responses.

Logs

The device exposes a small in-RAM ring buffer of recent log lines:

  • GET /api/log

Use ETag + If-None-Match (304) and the after query parameter for efficient polling.

Aircraft live IAS (aircraft mode only)

  • GET /api/aircraft/live — runtime IAS + flight_phase / is_landed from owts_aircraft_state (same semantics as the OLED)

Use ETag + If-None-Match for ~2 Hz UI polling. During landing_hold, the ETag includes elapsed whole seconds so the landing-hold counter updates even when IAS is 0.

Not registered in winch mode (do not call; the static SPA handler may return HTML).

Interactive Documentation

For interactive API documentation with request/response examples, see the Swagger UI page.