This page previously described a SQL-based Query API. That’s not how the real Data API works — there’s no SQL, no arbitrary datasets, and no query engine. It’s a fixed set of GET endpoints scoped to variables, metered entities, and data sources.
Available endpoints
All paths below are relative to the base URL https://api.communityhub.cloud/dh/public/v1. There’s no organization identifier in the path. A token is scoped to the user, not to a single organization — access to variables, metered entities, and data sources is governed by whatever permissions that user’s account already has, which may span more than one organization.
dataHubId is the same stable public identifier already used internally (the same one used in derived variable formulas) — no new public ID scheme.
Open — not fully decided: variables are queried and filtered via metered entity, not organization — there’s no orgId filter. The exact query-parameter design for GET /variables isn’t finalized, but the current direction is that discovery returns a hierarchy: organizations → metered entities → variables, reflecting everything the requesting user’s token has access to, rather than a flat list scoped to a single org. See Discovery Endpoints for the current thinking.
JSON only at launch.
Temporal resolutions
Raw, plus predefined resolutions: minute, 15-minute, hourly, daily, weekly, monthly, yearly. For cumulative-derived rate variables, values at any resolution represent the average rate over the interval computed from cumulative measurements — not an average of sampled rate measurements.
Units and standardization
Variables are stored in canonical units and delivered in those units by default. Supported unit conversions and standardizations (e.g. energy use per square foot, per occupant) are exposed — but only ones explicitly supported by Data Hub, not arbitrary conversions.
See Get Variable Data for a worked example, and Rate Limits for throughput constraints.