Developer
Public API
H2OFlows public API reference — reaches, gauges, flow ranges, conditions.
Base URL
https://api.h2oflows.app
All endpoints return JSON. Reads are unauthenticated. Writes require a bearer token (Phase 6).
Reaches
List reaches
GET /api/v1/reaches
Returns all reaches in the registry.
Get reach
GET /api/v1/reaches/{slug}
Returns reach metadata: name, class, description, geometry.
Reach gauges
GET /api/v1/reaches/{slug}/gauges
Returns all gauges linked to this reach with current CFS.
Reach conditions
GET /api/v1/reaches/{slug}/conditions
Returns active conditions reports (auto-expires after 7 days).
Reach flow ranges
GET /api/v1/gauges/{id}/flow-ranges
Returns CFS band definitions for all reaches linked to this gauge.
Gauges
Get gauge readings
GET /api/v1/gauges/{id}/readings
Returns recent CFS readings for this gauge.
Readings with date range
GET /api/v1/gauges/{id}/readings?from=2024-01-01&to=2024-01-31
Both from and to are ISO 8601 date strings. Maximum range is 90 days.
Rate limits
| Tier | Limit |
|---|---|
| Anonymous | 1000 req/hour |
| Authenticated | Elevated (Phase 6) |
| Commercial / outfitter | Paid tier (Phase 6) |
Attribution
If you build on H2OFlows data, attribution is requested:
Data sourced from H2OFlows community (h2oflows.app)
Status
The API is in active development. Endpoints marked above reflect the current implementation. Breaking changes will be versioned at /api/v2/.