Local API Reference
Your Annaboto runs a local HTTP server that exposes a REST API for monitoring, configuration, and control. This lets you build your own tools, scripts, or integrations — no cloud required.
http://<device-ip>:8080/annaboto/api/Your device IP depends on your network. Find it in the Annaboto app under Settings, or check your router's connected devices list.
Interactive API Explorer
The device includes a built-in Swagger UI where you can browse and test all available endpoints directly in your browser:
http://<device-ip>:8080/annaboto/api/ui/
Open this URL while connected to the same network as your Annaboto to explore the full API interactively.
API Endpoints
The API is organized into the following groups. Click through for detailed documentation, request/response formats, and examples.
📊 Device Status
Real-time device state — sensor readings, grow progress, plant info, and operational status.
GET /status— Full device state snapshot
📈 Sensor History
Historical temperature, humidity, and water level data. Supports raw readings and pre-computed hourly summaries for charting.
GET /sensor_history— Raw sensor readingsGET /sensor_history/summary— Hourly averages for full-grow charts
🌱 Recipe Management
Read and customize grow recipes — nutrient schedules, light settings, and growth parameters across 16 weeks.
GET /recipe_base— Default recipe templateGET /recipe_overlay/{name}— Current custom recipePUT /recipe_overlay— Save a custom recipe
⚙️ Device Configuration & Control
WiFi setup, user preferences, version info, and device control commands.
PUT /config/wifi— Set WiFi credentialsPUT /config/user— Update user settings (plant name, etc.)GET /version— Device firmware versionPOST /control/reload— Reload device configuration
📸 Media (Photos & Timelapses)
Access the latest plant photos and timelapse videos captured by your Annaboto's camera.
GET /pictures/latest— Latest plant photoGET /timelapses/latest— Latest timelapse video
General Notes
- Content-Type: All requests and responses use
application/json. - Authentication: None required. The API is local-only — accessible only on your network.
- Default port: 8080
- Connectivity check: Use
GET /versionto verify the device is reachable before making other calls. - Timeouts: Some endpoints (especially sensor_history with large limits) can be slow on the device CPU. Use reasonable limits or the summary endpoint for charting.