Skip to main content
Events tell apps what changed. Resource updates create events automatically, and your app can send its own. Reading needs events:read. Resource change events include the resource’s full state and attributes, so give this permission only to apps allowed to read that data. Publishing needs events:write.

Try it

What you’ll see

  • type describes the change.
  • data contains its details.
  • cursor is your place in the event list. Use it as after in the next request.
  • hasMore means another page is available.

Send an event

Your own event names must begin with custom..

Listen live

This connection stays open and sends new events as they happen:
Each message has an id, an event type and JSON data. Reconnect using the latest event ID. Keep credentials in headers; browser apps need a client that supports authenticated streams.

Other requests

Automatic types include resource.created, resource.updated, resource.deleted and schedule.executed. The newest 10,000 events are kept for each account. If your cursor is too old, the API returns 410. Load a fresh resource snapshot and resume from its cursor. Home Assistant snapshots provide both together.