Documentation
Water API Reference
A developer overview of Hydrotec's Water API. Endpoints and schemas below are illustrative examples of the platform's data model — confirm exact fields and availability with our team before integrating, since access is provisioned per customer.
Overview
The Water API exposes the same resources that power Hydrotec's dashboards and mobile apps: sites, devices, water quality readings, dispensing and payment transactions, alerts and reports. It's a REST API returning JSON, with webhooks available for real-time events.
API access is provisioned per customer and partner rather than fully self-serve today. See Contact to discuss access for your integration.
Authentication
Requests are authenticated with a bearer token scoped to your organization, and optionally to a specific site or device group.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonSites & Devices
Sites represent a physical location; devices represent individual machines, meters or sensors registered under a site.
{
"site_id": "site-nairobi-14",
"devices": [
{ "device_id": "wq-1042", "type": "quality_sensor", "status": "online" },
{ "device_id": "arosia-500-0142", "type": "water_atm", "status": "online" }
]
}Water Quality
Quality readings are returned per device with a timestamp and parameter set — typically pH and TDS on Hydrotec's own hardware, extensible to other parameters on integrated third-party sensors.
{
"device_id": "wq-1042",
"readings": [
{ "parameter": "ph", "value": 7.1 },
{ "parameter": "tds", "value": 214, "unit": "ppm" }
],
"recorded_at": "2026-08-14T09:32:00Z"
}Dispensing & Transactions
For Water ATM deployments, dispensing events capture volume, payment mode and amount per transaction. See the dedicated Water ATM API page for more detail.
{
"transactions": [
{
"machine_id": "arosia-500-0142",
"volume_ml": 1000,
"payment_mode": "rfid",
"amount": 5.0,
"timestamp": "2026-08-14T07:12:03Z"
}
]
}Alerts & Webhooks
Instead of polling for changes, subscribe to webhook events for machine offline, low tank level, or quality threshold breaches.
{
"event": "device.offline",
"device_id": "arosia-500-0142",
"last_seen_at": "2026-08-14T05:02:11Z"
}Reports
Aggregated report data (daily, weekly, monthly) is available as a resource for building custom exports, in addition to the built-in reporting in the dashboard.
SDKs
Client SDKs are not currently published. Integrations today are built directly against the REST API. If a specific language SDK would help your integration, tell us when you get in touch — it helps us prioritize.
Get started
Ready to integrate?
Tell us what you're building and we'll set up API access and current schema documentation.
