Device Connection Events
device.connected
Triggered when a device is successfully connected to your account.
device.disconnected
Triggered when a device is disconnected from your account (e.g., user revokes access).
device.reconnected
Triggered when a previously disconnected device is reconnected.
Action Events
Webhooks are only sent for actions that reach a terminal state (completed or failed). When an action is first created, it starts in the acknowledged state, but no webhook is sent at that time. You can check the action status by polling the API (e.g., GET /hvac/actions/{actionId}), but webhooks are only delivered when the action completes or fails.
push.completed
Triggered when an action completes successfully. This webhook is only sent when the action reaches the completed terminal state.
push.failed
Triggered when an action fails to complete. This webhook is only sent when the action reaches the failed terminal state.
Action States
When you send a push command via the API, the action goes through the following states:acknowledged- The action has been created and acknowledged. No webhook is sent at this stage. You can poll the API to check if an action is still inacknowledgedstate.completed- The action completed successfully. Apush.completedwebhook is sent.failed- The action failed to complete. Apush.failedwebhook is sent.
Common Error Codes
Device is currently offline and cannot receive commands
The requested command is not supported by this device model
The command timed out waiting for device response
Too many commands sent to the device in a short period
Authentication with the OEM failed
Webhook Payload Fields
The webhook event type. Currently only
push.completed and push.failed are sent.Unique identifier for this webhook delivery. Use this for idempotency.
ISO 8601 timestamp when the webhook was sent
Event-specific data payload
Handling Webhooks
Idempotency
Always useeventId to prevent processing duplicate webhooks:
Response Requirements
Your webhook endpoint must:- Return
200 OKfor successful processing - Respond within 30 seconds
- Handle duplicate deliveries gracefully
Next Steps
Webhook Overview
Learn about webhook setup
Security
Verify webhook signatures