Skip to content

Admin Routes

Blueprint: admin — registered at /

All routes require @login_required unless noted.


GET/POST /admin

Main admin dashboard. Accepts a ?tab= query parameter to open a specific tab (default: home).

Renders pages/admin.html with all users, all SSIDs, current app config, and the active cron schedule for the guest SSID.


POST /log

Accepts a JSON body { "message": "..." } and writes it to the application log under the current user's name. Used by the frontend for client-side audit logging.


POST /updateConfig

Updates the controller configuration (API type, credentials, controller IP) and writes back to config.json.

Form fields: api_type, apiKey (UniFi) or username/password (Omada), controller_host, tab


POST /manualCron/<id>

Sets a custom cron schedule for the SSID with the given id.

Form fields: schedule (cron expression, e.g. 0 3 * * 1)


POST /users/add

Creates a new application user. Accessible during init_mode (first run) or when already authenticated.

Form fields: newUsername, newPassword, newPasswordConfirm, newRole (admin | user)


GET /makeguest/<id>

Designates the SSID with the given id as the active guest network (only one allowed at a time).


GET /rescanSSIDs

Deletes all locally stored SSIDs and re-imports them from the controller. Useful after adding or removing SSIDs on the controller.