For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cleaning Alerts

Cleaning-alert history per room: one data point per alert status change, plus one each time a cleaning is recorded.

Measurement
Data keyed by

cleaning_alert_events

room_id

Intervals: none. This is an event measurement, so you can leave out interval, and any value sent is ignored. Max range: 730 days; see Query Limits.

Fields

Field
Description

alert_id

ID of the alert. Every status change of one alert shares this ID. Empty for cleaning_done, which is not part of an alert.

alert_type

clean_now or end_of_day. Empty for cleaning_done.

status

For an alert: triggered, cleaning_in_progress, or resolved. cleaning_done records a completed cleaning on its own, outside any alert.

resolved_reason

For resolved only: cleaned, auto_cleared, manual_dismiss, or day_reset

resolved_by_name

For manual_dismiss only: display name of the person who dismissed the alert

source_sensor_type

Which data drove the alert: traffic or door_window

cumulative_value

Accumulated value when the status changed

threshold

Configured threshold that cumulative_value is compared with

Each point has stop equal to start, and carries room-level location metadata.

To follow one alert, group points by alert_id and order them by start.

fill_gaps is not supported; the request fails with code -5015.

Example: alerts on a floor over two weeks

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": ["cleaning_alert_events"],
    "items": ["space_XXXX"],
    "start": "2026-09-01",
    "stop": "2026-09-15"
  }'

Last updated