> For the complete documentation index, see [llms.txt](https://docs.butlr.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.butlr.io/integrations-api-third-party-sensors/reporting-api/device-heartbeat.md).

# Device Heartbeat

Connectivity of third-party sensors: one data point for each 15-minute window in which a device reported its network status.

| Measurement    | Data keyed by |
| -------------- | ------------- |
| `dt_heartbeat` | `device_id`   |

**Interval:** `15m` only. Any other interval fails with `-5009`, including when `dt_heartbeat` is combined with other measurements. **Max range:** set by the `15m` interval; see [Query Limits](/integrations-api-third-party-sensors/reporting-api/query-limits.md).

**A missing window means no status was received from the device in that window.**

## Fields

| Field                             | Description                                                  |
| --------------------------------- | ------------------------------------------------------------ |
| `device_id`                       | The sensor's device ID                                       |
| `sensor_type`                     | Butlr device type (e.g. `desk_sensor`, `temperature_sensor`) |
| `signal_strength`                 | The device's signal strength, as last reported in the window |
| `cloud_connector_id`              | ID of the gateway the device last reported through           |
| `cloud_connector_signal_strength` | Signal strength between the device and that gateway          |

Each point also carries spot-level [location metadata](/integrations-api-third-party-sensors/reporting-api/items-and-fields.md#location-metadata).

## Example: sensor connectivity on a floor over a day

```bash
curl -X POST https://api-integrations.butlr.io/api/v1/reporting \
  -H "Authorization: Bearer [insert access_token here]" \
  -H "Content-Type: application/json" \
  -d '{
    "measurements": ["dt_heartbeat"],
    "items": ["space_XXXX"],
    "start": "2026-09-15",
    "stop": "2026-09-16",
    "interval": "15m",
    "fields": ["sensor_type", "signal_strength", "cloud_connector_id"]
  }'
```

Gaps in a device's series show when it went silent.
