Base URL
The API runs on your local network:Authentication
Most endpoints require a Bearer token in theAuthorization header:
Response Format
All responses are JSON. Successful responses include the requested data:Units
The Aris API uses metric (SI) units for all measurements:| Measurement | Unit | Field Suffix | Example |
|---|---|---|---|
| Temperature | Celsius | _c | tempC: 22.5 |
| Power | Kilowatts | _kw | thermalPowerKw: 12.5 |
| Energy | Kilowatt-hours | _kwh | lifetimeElecKwh: 450.2 |
| Flow | Liters per minute | _lpm | flowRateLpm: 4.2 |
| Volume | Liters | _liters | effectiveCapacityLiters: 242 |
| Pressure | Bar | _bar | systemPressureBar: 1.2 |
Why metric? Metric units are the international standard for HVAC engineering and provide consistent precision across calculations. The Aris web UI displays temperatures in your preferred unit (°F or °C), but the API always uses Celsius for consistency.Quick conversion: °F = (°C × 9/5) + 32. So 22°C = 71.6°F.
Numeric Precision
Values are rounded to reflect actual sensor accuracy and avoid false precision:- Temperature, power, energy, flow, pressure: 1 decimal place (e.g.,
22.4,12.5) - Percentages: integers (e.g.,
65, not65.4)
Sparse Telemetry
Some derived metrics are omitted entirely when they have no meaningful value, rather than being set to0 or null. This prevents statistics and averages from being polluted by meaningless data.
Example: copInstant (instantaneous Coefficient of Performance) is only present when the system is actively running. When the system is idle, there’s no meaningful COP to report—including a 0 would incorrectly suggest the system is running inefficiently.
For API consumers: Handle missing fields gracefully by displaying ”—” or “N/A” in your UI. Do not assume a missing numeric field equals zero.
HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created (for POST creating new resources) |
| 400 | Bad Request (invalid parameters) |
| 401 | Unauthorized (missing or invalid token) |
| 404 | Not Found |
| 500 | Internal Server Error |
| 503 | Service Unavailable (service not configured or starting) |
Endpoint Groups
Health
System health and readiness checks. No auth required.
System
System-wide state, mode control, and configuration.
Zones
Zone temperatures, setpoints, and control.
Equipment
FCUs, heat pumps, HCU, DHW, and TES status.
Events
Event log, audit trail, and fault history.
Metrics
Time-series data and Prometheus-compatible queries.
What’s not in the API? Some system components are managed internally and don’t have dedicated API endpoints:
- Circuits & branches — Configured during installation, not user-adjustable
- Individual sensors — Raw readings are aggregated into zone and equipment data
- Thermostats — Readings flow into zone temperature and setpoint data
- Hydronic emitters — Part of the physical distribution system, controlled via zones
Real-Time Updates
For real-time data, connect to the WebSocket atws://aris.local. Include your API token as a query parameter:
- Zone state changes
- Equipment telemetry
- System events
- Fault notifications
Rate Limits
The local API has no rate limits. However, making too many requests may impact system performance. Recommended polling intervals:| Data Type | Interval |
|---|---|
| Zone state | 5-10 seconds |
| Equipment telemetry | 10-30 seconds |
| Health check | 30-60 seconds |

