Change settings of many monitors
bulk_update_monitorsSet the same interval, timeout, regions, channels, threshold, or cooldown on up to 100 monitors in one call, all or nothing.
Instructions
Set the same interval, timeout, regions, channels, threshold or cooldown on up to 100 monitors in one call, all or nothing. For example, move twenty PING monitors to other regions. Not for config or name (use update_monitor, one monitor at a time) or tags (use bulk_update_monitor_tags). Requires a key with the write scope. The plan's rules apply to the result: an interval below the plan minimum, too many fast monitors, too many regions or an unknown region is a 403. A value one monitor cannot take (several regions on an SSL, DNS or port-list TCP monitor, or an interval under 300 on a port-list one) is a 422 that starts with monitors[] (""). Returns monitors: list_monitors rows, which show the interval but not the other settings; read those with get_monitor. Example: {"monitor_ids": ["", ""], "changes": {"regions": ["eu-central", "us-east"], "interval_seconds": 300}}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| changes | Yes | The values to set, at least one of: interval_seconds (30 to 86400), timeout_seconds (1 to 120), regions (region codes from limits.allowed_regions in get_plan_usage), channel_ids (channel uuids from list_channels; replaces each binding, [] clears it, an unknown channel is a 404), confirmation_threshold (1 to 10) and notification_cooldown_seconds (60 to 86400). Omit a field to keep it; never send null. | |
| monitor_ids | Yes | 1 to 100 distinct monitor uuids from list_monitors. A repeated id is a 422; an id that is not a monitor of this organization is a 404 naming it, and then nothing changes. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| monitors | Yes |