API Server

This page documents the FastAPI integration for hid_usb_relay.

The API server exposes health and relay control endpoints using the RelayAPI class.

FastAPI application surface for HID USB relay control.

RelayAPI()

Owns API app lifecycle, routes, and error adaptation.

Source code in src\hid_usb_relay\api.py
30
31
32
33
def __init__(self) -> None:
    self.service = RelayService()
    self.app = FastAPI(title='HID USB Relay API', version='26.1.0')
    self._bind_routes()

RelayControlRequest

Bases: BaseModel

Payload for relay state mutation requests.

RelayReadRequest

Bases: BaseModel

Payload for relay state read requests.

run_api(host='0.0.0.0', port=9400)

Run API server using uvicorn.

Source code in src\hid_usb_relay\api.py
109
110
111
def run_api(host: str = '0.0.0.0', port: int = 9400) -> None:
    """Run API server using uvicorn."""
    uvicorn.run(app, host=host, port=port)