
# Enable and Disable Monitors

Individual monitors can be enabled or disabled to control DNS checking without losing configuration or event history.

## Disabling a Monitor

Send a POST request to `/monitors/{uuid}/disable`:

```
POST https://api.dnsradar.dev/monitors/mon_abc123/disable
```

The monitor immediately stops checking DNS and won't trigger webhooks.

## Enabling a Monitor

Send a POST request to `/monitors/{uuid}/enable`:

```
POST https://api.dnsradar.dev/monitors/mon_abc123/enable
```

The monitor resumes DNS checking according to its frequency setting.

## API Response

Both endpoints return the updated monitor:

```json
{
  "uuid": "mon_abc123",
  "domain": "piedpiper.com",
  "record_type": "A",
  "is_active": false,
  "frequency": 15,
  ...
}
```


## Bulk Operations

For bulk enable/disable, use group-level updates:

```
PATCH https://api.dnsradar.dev/groups/customer-123/monitors

is_active: false
```

This disables all monitors in the group at once. See [bulk updates documentation](/docs/update-monitors-bulk).

## Monitoring State

You can check whether a monitor is currently active by retrieving its details.

### Check Single Monitor Status

Get the monitor details to inspect the `is_active` field:

```
GET https://api.dnsradar.dev/monitors/mon_abc123
```

The response includes the `is_active` parameter:

```json
{
  "uuid": "mon_abc123",
  "domain": "piedpiper.com",
  "subdomain": "www",
  "record_type": "A",
  "expected_value": ["1.2.3.4"],
  "is_active": true,
  "frequency": 15,
  "last_checked": "2026-01-09T10:30:00Z",
  "created": "2026-01-01T08:00:00Z"
}
```

### Monitor State Field

| Value | State | Description |
|-------|-------|-------------|
| `true` | Active | Monitor is checking DNS and triggering webhooks |
| `false` | Disabled | Monitor is paused and not performing checks |

### List Monitors with State

Get all monitors to see their active status:

```
GET https://api.dnsradar.dev/monitors
```

Filter for only active monitors:

```
GET https://api.dnsradar.dev/monitors?is_active=true
```

Filter for only disabled monitors:

```
GET https://api.dnsradar.dev/monitors?is_active=false
```

> ℹ️ **INFO:** **Tip**: Use the `is_active` filter when listing monitors to quickly identify which monitors are currently running or paused.

## Next Steps

- [Bulk Update Monitors](/docs/update-monitors-bulk)
- [View Monitor Events](/docs/monitor-events)
- [Enable/Disable Webhooks](/docs/enable-disable-webhooks)
