> ## Documentation Index
> Fetch the complete documentation index at: https://docs.larm.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Update monitor

> Updates an existing monitor

Requires `monitors:read_write` permission. Only include the fields you want to change.

<ParamField path="id" type="string" required>
  Monitor ID (UUID)
</ParamField>

<ParamField body="name" type="string">
  Monitor name (1–255 characters)
</ParamField>

<ParamField body="config" type="object">
  Type-specific configuration. See [Monitors](/monitors) for fields per type.
</ParamField>

<ParamField body="interval_seconds" type="integer">
  Check interval in seconds (minimum: 30)
</ParamField>

<ParamField body="timeout_ms" type="integer">
  Timeout in milliseconds (range: 1000–60000)
</ParamField>

<ParamField body="confirm_down_minutes" type="integer">
  Minutes of consecutive failures before marking down
</ParamField>

<ParamField body="confirm_up_minutes" type="integer">
  Minutes of consecutive successes before marking recovered
</ParamField>

<ParamField body="enabled" type="boolean">
  Whether the monitor is active
</ParamField>

<ParamField body="alert_channel_ids" type="string[]">
  Replace the linked alert channels. Pass all channel IDs you want linked — this is a full replacement, not an append.
</ParamField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Production site",
      "check_type": "http",
      "enabled": true,
      "interval_seconds": 60,
      "timeout_ms": 10000,
      "confirm_down_minutes": 1,
      "confirm_up_minutes": 3,
      "config": {
        "url": "https://example.com",
        "method": "GET",
        "expected_status_codes": [200],
        "follow_redirects": true
      },
      "current_state": "up",
      "alert_channel_ids": ["660e8400-e29b-41d4-a716-446655440000"],
      "inserted_at": "2025-03-01T12:00:00Z",
      "updated_at": "2025-03-01T14:30:00Z"
    }
  }
  ```
</ResponseExample>
