Overview
Why Integrate with EnergyStackHub?
EnergyStackHub sits at the intersection of energy cost intelligence and building operations for commercial real estate. Our platform tracks utility costs, demand charges, and energy benchmarking data for thousands of commercial buildings.
When your edge AI or IoT platform connects via this API, your equipment health signals combine with our energy cost data to create something neither platform can offer alone: a complete picture of building efficiency that maps equipment degradation directly to energy waste and dollar cost.
🔌
What This API Enables
Push equipment sensor readings and maintenance predictions to EnergyStackHub. Building operators see your alerts in context with their energy costs — making them more actionable and increasing your platform's value.
📊
Unified Dashboard
Your equipment data appears in the building operator's ESH dashboard alongside energy costs, demand peaks, and utility bills.
🏢
Directory Listing
Integration partners get a featured listing in our Predictive Maintenance directory, reaching qualified commercial building buyers.
💰
Partner Revenue
10–15% referral revenue when ESH refers a building to your platform. We only refer buildings that match your ideal customer profile.
📈
Data Enrichment
Access building energy context via the GET /building-profile endpoint — make your AI smarter with utility rate and consumption data.
Authentication
Authentication
All API requests must include your partner API key in the Authorization header using Bearer token format. API keys are scoped to your partner organization and carry access to all buildings that have granted your integration permission.
⚠️
Beta Access Required
The Edge AI Integration API is currently in private beta.
Apply for partner access to receive API credentials. We review applications within 5 business days.
# Include in every request
Authorization: Bearer esh_partner_sk_live_xxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
X-Partner-ID: your-partner-slug
curl -X POST https://energystackhub.com/api/integrations/equipment-data \
-H "Authorization: Bearer esh_partner_sk_live_xxxx" \
-H "Content-Type: application/json" \
-H "X-Partner-ID: your-partner-slug" \
-d '{ "equipment_id": "chiller-01", "building_id": "bld_abc123", ... }'
Configuration
Base URL & Versioning
All API endpoints are served from:
https://energystackhub.com/api/integrations/v1
The API uses URL versioning. The current stable version is v1. We maintain backward compatibility within a major version and announce breaking changes with 90 days notice.
Error Handling
Error Responses
All errors return a standard JSON body with an HTTP status code ≥ 400.
{
"success": false,
"error": {
"code": "INVALID_BUILDING_ID",
"message": "Building bld_xyz not found or partner access not granted",
"status": 404
}
}
| Status Code | Meaning |
| 400 | Bad Request — missing required fields or invalid data format |
| 401 | Unauthorized — missing or invalid API key |
| 403 | Forbidden — building has not granted this partner access |
| 404 | Not Found — building_id or equipment_id does not exist |
| 429 | Rate Limited — max 1,000 readings/minute per partner |
| 500 | Server Error — retry with exponential backoff |
Data Model
Equipment Data Object
The core data object shared between your platform and EnergyStackHub. Flexible enough to support any equipment type while providing consistent fields for the unified dashboard.
| Field | Type | Required | Description |
| equipment_id |
string |
Required |
Unique identifier for this equipment unit within your platform. Stable across readings (e.g., chiller-north-01). |
| building_id |
string |
Required |
EnergyStackHub building ID. Obtain from GET /building-profile lookup or building operator. |
| sensor_type |
enum |
Required |
Category of sensor reading. See Sensor Types for full enum. |
| reading_value |
number |
Required |
Numeric sensor measurement. Units defined by reading_unit. |
| reading_unit |
string |
Required |
Unit of measure (e.g., "°F", "kW", "RPM", "vibration_g"). |
| timestamp |
ISO 8601 string |
Required |
UTC timestamp of reading (e.g., "2026-04-12T07:15:00Z"). Readings older than 24h are flagged as historical. |
| alert_type |
enum | null |
Optional |
Set if this reading represents an alert condition. See Alert Types. |
| maintenance_prediction |
object | null |
Optional |
Predictive maintenance forecast. See schema below. |
| equipment_name |
string |
Optional |
Human-readable equipment label shown in the ESH dashboard (e.g., "North Tower Chiller"). |
| equipment_type |
string |
Optional |
Equipment category (e.g., "chiller", "ahu", "boiler", "pump"). |
| health_score |
number 0–100 |
Optional |
Overall equipment health score from your AI model. 100 = fully healthy, 0 = critical failure imminent. |
| metadata |
object |
Optional |
Arbitrary key-value pairs for partner-specific context. Stored and returned as-is. |
maintenance_prediction Object
| Field | Type | Description |
| failure_probability |
number 0–1 |
Probability of failure within the prediction horizon (0.0 – 1.0). |
| days_to_failure |
number | null |
Estimated days until failure. Null if probability is below threshold. |
| recommended_action |
string |
Plain-language maintenance recommendation (e.g., "Schedule bearing inspection within 14 days"). |
| confidence |
enum |
Model confidence: "LOW" | "MEDIUM" | "HIGH" |
| component |
string |
Specific component at risk (e.g., "compressor_bearing", "fan_motor"). |
| estimated_repair_cost_usd |
number | null |
Optional cost estimate for the repair, used by ESH to prioritize alerts vs. energy savings. |
Data Model
Alert Types
| Value | Severity | Description |
| PREDICTIVE_FAILURE | CRITICAL | AI model predicts imminent equipment failure. Triggers immediate notification to building operator. |
| PERFORMANCE_DEGRADATION | HIGH | Equipment operating outside optimal efficiency window — energy waste detected. |
| ANOMALY_DETECTED | MEDIUM | Sensor readings deviate significantly from baseline. May indicate emerging issue. |
| MAINTENANCE_DUE | LOW | Scheduled or time-based maintenance window approaching. |
| EFFICIENCY_OPPORTUNITY | INFO | Equipment could operate more efficiently — optimization recommendation available. |
| SENSOR_FAULT | MEDIUM | Sensor is offline or producing suspect data. ESH marks this data as unverified. |
Data Model
Sensor Types
Use the most specific sensor type available. ESH uses sensor_type to map readings to energy cost impact calculations.
| Value | Typical Unit | Description |
| TEMPERATURE | °F / °C | Supply/return air or water temperature |
| VIBRATION | g / mm/s | Motor or bearing vibration amplitude |
| CURRENT_DRAW | Amps | Electrical current to motor or compressor |
| POWER_CONSUMPTION | kW / kWh | Real-time or interval power consumption |
| PRESSURE | PSI / Pa | Refrigerant, duct static, or water pressure |
| RPM | RPM | Motor or pump rotation speed |
| RUNTIME_HOURS | hours | Cumulative or interval operating hours |
| COP | ratio | Coefficient of Performance for chillers/HVAC |
| HUMIDITY | %RH | Relative humidity in supply air or space |
| FLOW_RATE | GPM / CFM | Water or air volumetric flow rate |
| REFRIGERANT_LEVEL | % / lbs | Refrigerant charge level or leak detection |
| FILTER_PRESSURE_DROP | in-wg | Air filter differential pressure — dirty filter indicator |
| HEALTH_SCORE | 0–100 | Composite AI-generated equipment health score |
| CUSTOM | any | Partner-defined sensor. Requires metadata.custom_sensor_name. |
API Endpoint
POST /equipment-data
Ingest sensor readings from your IoT platform into EnergyStackHub. Supports single readings or batch arrays of up to 500 readings per request.
Submit one or multiple equipment sensor readings. ESH stores readings, correlates with energy cost data, and surfaces anomalies to building operators in real time.
Single Reading
{
"equipment_id": "chiller-north-01",
"building_id": "bld_abc123def456",
"sensor_type": "COP",
"reading_value": 3.8,
"reading_unit": "ratio",
"timestamp": "2026-04-12T07:00:00Z",
"equipment_name": "North Tower Chiller",
"equipment_type": "chiller",
"health_score": 84,
"alert_type": null,
"maintenance_prediction": {
"failure_probability": 0.12,
"days_to_failure": null,
"recommended_action": "Monitor COP — trending below baseline by 15%",
"confidence": "MEDIUM"
}
}
Batch Readings (up to 500)
{
"readings": [
{
"equipment_id": "chiller-north-01",
"building_id": "bld_abc123def456",
"sensor_type": "POWER_CONSUMPTION",
"reading_value": 245.7,
"reading_unit": "kW",
"timestamp": "2026-04-12T07:00:00Z"
},
{
"equipment_id": "ahu-floor-3",
"building_id": "bld_abc123def456",
"sensor_type": "TEMPERATURE",
"reading_value": 58.4,
"reading_unit": "°F",
"timestamp": "2026-04-12T07:00:00Z"
}
]
}
Response
{
"success": true,
"readings_accepted": 2,
"readings_rejected": 0,
"alert_triggered": false,
"correlation_id": "corr_7f8a9b0c1d2e3f4"
}
API Endpoint
POST /maintenance-alert
Send a high-priority maintenance alert to EnergyStackHub. Unlike sensor data ingest, alerts are immediately surfaced to building operators via dashboard notification, email, and optionally SMS. Use this for actionable events requiring human response.
{
"equipment_id": "chiller-north-01",
"building_id": "bld_abc123def456",
"alert_type": "PREDICTIVE_FAILURE",
"severity": "CRITICAL",
"title": "Chiller Compressor Bearing Failure Predicted",
"message": "Vibration signature indicates bearing wear. 94% probability of failure within 18 days.",
"recommended_action": "Schedule emergency bearing inspection within 5 days",
"days_to_failure": 18,
"failure_probability": 0.94,
"component": "compressor_bearing",
"estimated_repair_cost_usd": 8500,
"energy_impact_kwh_per_day": 187,
"timestamp": "2026-04-12T07:15:00Z"
}
💡
Energy Impact Field
Include energy_impact_kwh_per_day when available. ESH translates this into a dollar cost estimate based on the building's utility rate, which dramatically increases alert urgency and action rates.
API Endpoint
GET /building-profile/:id
Retrieve building context from EnergyStackHub to enrich your AI models. Includes utility rate schedules, energy consumption baselines, peak demand history, and building metadata. Makes your predictive models smarter — a motor running inefficiently means more in a building with $0.18/kWh rates than $0.09/kWh.
{
"success": true,
"building": {
"building_id": "bld_abc123def456",
"name": "Midtown Office Tower",
"address": "123 Main St, New York, NY 10001",
"square_footage": 380000,
"building_type": "office",
"utility": {
"name": "Con Edison",
"rate_schedule": "SC-9",
"avg_rate_kwh": 0.182,
"demand_charge_kw": 18.50,
"peak_hours": "08:00-22:00 M-F"
},
"energy_baseline": {
"monthly_kwh": 892000,
"peak_demand_kw": 1840,
"eui_kbtu_sqft": 67.3
},
"climate_zone": "4A"
}
}
Webhooks
Webhook Events
EnergyStackHub can push events to your platform when building operators take action on alerts you've submitted, or when energy anomalies correlate with equipment readings.
| Event | Trigger |
| alert.acknowledged |
Building operator marked your maintenance alert as acknowledged in ESH dashboard. |
| alert.work_order_created |
Operator created a work order from your alert. Includes work order ID and scheduled date. |
| building.energy_spike |
ESH detected unusual energy consumption in a building where you have equipment registered. May correlate with your sensors. |
| building.new_equipment_registered |
Building operator added new equipment categories to their profile — potential expansion opportunity. |
| partner.referral_converted |
ESH referred a building to your platform and they signed up. Revenue share event initiated. |
{
"event": "alert.acknowledged",
"timestamp": "2026-04-12T10:22:00Z",
"partner_id": "your-partner-slug",
"data": {
"alert_id": "alrt_9x8y7z",
"equipment_id": "chiller-north-01",
"building_id": "bld_abc123def456",
"acknowledged_by": "facilities_manager@company.com",
"action_taken": "work_order_created"
},
"signature": "sha256=abc123..."
}
Webhooks
Webhook Security
All webhooks are signed with HMAC-SHA256 using your partner webhook secret. Verify the signature before processing any webhook payload.
const crypto = require('crypto');
function verifyESHWebhook(rawBody, signature, secret) {
const expected = `sha256=` +
crypto.createHmac('sha256', secret)
.update(rawBody)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature)
);
}
Partnership
Partner Program
Integration partners get more than API access. We actively drive customer referrals to your platform and provide co-marketing opportunities across our commercial real estate audience.
📁
Directory Listing
Featured listing in the Predictive Maintenance directory. Includes logo, description, case studies, and direct lead capture.
💸
Referral Revenue
10–15% of partner subscription when ESH refers a building and they become a paying customer. Tracked automatically.
📣
Co-Marketing
Joint content, newsletter features, and case study amplification to our commercial real estate audience.
🔗
Data Enrichment
Access building energy profiles to train smarter models. Better predictions → more referrals → more revenue.
Apply for Access
Apply to Become an Integration Partner
API access is invite-only during the beta period. We review applications from edge AI, IoT, and predictive maintenance platforms serving commercial buildings.
✅
Who We're Looking For
Platforms serving commercial buildings with 50,000+ sqft. Must have real-time sensor data or AI-generated maintenance predictions. Integration should add measurable value to the operator's view of their building.
✓ Application Received
We'll review your platform and reach out within 5 business days with next steps and temporary API credentials.
Ready to Connect Your Platform?
Apply for partner API access and get listed in our Predictive Maintenance directory. We'll have you integrated in under a week.