Skip to main content

Events

Events are how Minut tells you that something happened — a noise disturbance, a low battery, a device going offline, and so on. You can receive them two ways: pushed to you as they happen via Webhooks, or pulled from the API after the fact via Fetching Events.

This page explains how an event is structured. It deliberately doesn't reproduce the full catalogue of event types — that list is long and changes over time, so the authoritative version lives in the API Reference (see The full list of events below).

Anatomy of an event

Minut exposes events through two surfaces, which use slightly different field names:

  • Webhooks deliver a reduced payload keyed on id, type and created_at (see Webhooks). The examples on this page show this shape.
  • The home events endpoint uses event_id, event_type and event_time (see Fetching Events).

Whichever surface you use, you branch on the event type and read the id from the field that surface provides. A webhook-delivered event has these fields:

FieldDescription
typeThe event type, e.g. disturbance_first_notice or battery_low. This is the field you branch on. (Home events call this event_type.)
created_atWhen the event occurred, as a UTC ISO-8601 timestamp. (Home events call this event_time.)
idA unique id for the event. (Home events call this event_id.)
home_idThe home the event belongs to. Present for home-scoped events.
user_idThe user the event belongs to.
device_idPresent when the event originated from a specific device.

Beyond these, the payload depends on type. A threshold crossing carries the sensor value and threshold involved, whereas a tamper event only references the device. Treat fields you don't recognise as optional and ignore them — new ones may be added over time, so branch on type and read only what you need.

Examples

A noise disturbance — the first alert raised by noise monitoring for a home. Noise events are tied to the home rather than a single device, so they carry a home_id but no device_id:

{
"id": "5ffffeecb167b70039f8076f",
"type": "disturbance_first_notice",
"user_id": "5ffff21db167b70039f806f8",
"created_at": "2026-05-29T08:21:00.708Z",
"home_id": "5ffff22ab167b70039f806fe"
}

A low battery — raised by a specific device, so it includes a device_id alongside the home:

{
"id": "60000241b167b70039f807a0",
"type": "battery_low",
"user_id": "5ffff21db167b70039f806f8",
"created_at": "2026-05-29T08:35:46.000Z",
"device_id": "5ffff25ab167b70039f80700",
"home_id": "5ffff22ab167b70039f806fe"
}

A device going offline — another device-scoped event, distinguished from the one above only by its type:

{
"id": "6000026eb167b70039f807a7",
"type": "device_offline",
"user_id": "5ffff21db167b70039f806f8",
"created_at": "2026-05-29T08:35:57.936Z",
"device_id": "5ffff25ab167b70039f80700",
"home_id": "5ffff22ab167b70039f806fe"
}

Notice that the three payloads share the same core fields (id, type, user_id, created_at, home_id) — your integration distinguishes them by reading type, not by their shape. Fields like device_id appear only when the event originated from a specific device.

The full list of events

For the complete, up-to-date list of event types Minut emits, see the Events section of the API Reference. If you're expecting an event that isn't documented there, contact us at support@minut.com.