RESTful API
The back end exposes a number of API endpoints which are referenced in the table below.
Method | Request URL | Authentication | POST JSON Body | Info |
---|---|---|---|---|
GET | /rest/features | NONE_REQUIRED |
none | Tells the client which features of the UI should be use |
GET | /rest/mqttStatus | IS_AUTHENTICATED |
none | Current MQTT connection status |
GET | /rest/mqttSettings | IS_ADMIN |
none | Currently used MQTT settings |
POST | /rest/mqttSettings | IS_ADMIN |
{"enabled":false,"uri":"mqtt://192.168.1.12:1883","username":"","password":"","client_id":"esp32-f412fa4495f8","keep_alive":120,"clean_session":true} |
Update MQTT settings with new parameters |
GET | /rest/ntpStatus | IS_AUTHENTICATED |
none | Current NTP connection status |
GET | /rest/ntpSettings | IS_ADMIN |
none | Current NTP settings |
POST | /rest/ntpSettings | IS_ADMIN |
{"enabled": true,"server": "time.google.com","tz_label": "Europe/London","tz_format": "GMT0BST,M3.5.0/1,M10.5.0"} |
Update the NTP settings |
GET | /rest/apStatus | IS_AUTHENTICATED |
none | Current AP status and client information |
GET | /rest/apSettings | IS_ADMIN |
none | Current AP settings |
POST | /rest/apSettings | IS_ADMIN |
{"provision_mode": 1,"ssid": "ESP32-SvelteKit-e89f6d20372c","password": "esp-sveltekit","channel": 1,"ssid_hidden": false,"max_clients": 4,"local_ip": "192.168.4.1","gateway_ip": "192.168.4.1","subnet_mask": "255.255.255.0"} |
Update AP settings |
GET | /rest/wifiStatus | IS_AUTHENTICATED |
none | Current status of the wifi client connection |
GET | /rest/scanNetworks | IS_ADMIN |
none | Async Scan for Networks in Range |
GET | /rest/listNetworks | IS_ADMIN |
none | List networks in range after successful scanning. Otherwise triggers scanning. |
GET | /rest/wifiSettings | IS_ADMIN |
none | Current WiFi settings |
POST | /rest/wifiSettings | IS_ADMIN |
{"hostname":"esp32-f412fa4495f8","priority_RSSI":true,"wifi_networks":[{"ssid":"YourSSID","password":"YourPassword","static_ip_config":false}]} |
Update WiFi settings and credentials |
GET | /rest/systemStatus | IS_AUTHENTICATED |
none | Get system information about the ESP. |
POST | /rest/restart | IS_ADMIN |
none | Restart the ESP32 |
POST | /rest/factoryReset | IS_ADMIN |
none | Reset the ESP32 and all settings to their default values |
POST | /rest/uploadFirmware | IS_ADMIN |
none | File upload of firmware.bin |
POST | /rest/signIn | NONE_REQUIRED |
{"password": "admin","username": "admin"} |
Signs a user in and returns access token |
GET | /rest/securitySettings | IS_ADMIN |
none | retrieves all user information and roles |
POST | /rest/securitySettings | IS_ADMIN |
{"jwt_secret": "734cb5bb-5597b722", "users": [{"username": "admin", "password": "admin", "admin": true}, {"username": "guest", "password": "guest", "admin": false, }]} |
retrieves all user information and roles |
GET | /rest/verifyAuthorization | NONE_REQUIRED |
none | Verifies the content of the auth bearer token |
GET | /rest/generateToken?username={username} | IS_ADMIN |
{"token": "734cb5bb-5597b722"} |
Generates a new JWT token for the user from username |
POST | /rest/sleep | IS_AUTHENTICATED |
none | Puts the device in deep sleep mode |
POST | /rest/downloadUpdate | IS_ADMIN |
{"download_url": "https://github.com/theelims/ESP32-sveltekit/releases/download/v0.1.0/firmware_esp32s3.bin"} |
Download link for OTA. This requires a valid SSL certificate and will follow redirects. |