Skip to main content
Subscribe a URL to the events you care about. HueChat posts a JSON body for each one and signs it with a secret only you and HueChat know.

Create a subscription

The response carries the secret once. Store it next to your token.

Events

What a delivery looks like

Headers: Body:

Verify the signature

Always verify X-HueChat-Signature before acting on a delivery. Anyone who finds your URL can post to it; only HueChat can sign with your secret.
The signature is sha256= followed by the hex HMAC-SHA256 of the raw request body, keyed with the subscription secret.
Compute the HMAC over the raw bytes, before any JSON parsing or re-serialisation.

Responding

Return 200 within a few seconds and do the real work asynchronously. Any other status counts as a failure and is retried. After 10 consecutive failures the subscription is switched off; re-enable it with a PATCH once your endpoint is healthy. Use X-HueChat-Delivery to drop duplicates, and reject deliveries whose X-HueChat-Timestamp is more than a few minutes old.

Test, inspect, rotate

Account webhooks (v1)

/core/accounts/{account_id}/webhooks is the older subscription list used by the dashboard’s Settings → Integrations page. It posts a flat event object with underscore event names such as message_created and carries no signature header. It still works; for anything new, use the signed subscriptions above.