---
title: Clone a monitor through the API and MCP
description: Creating twenty similar monitors from a script meant repeating every rule and config key twenty times. POST /v1/monitors now takes cloneFromMonitorId: the…
canonical: https://watchfor.io/changelog/2026-09-05-api-clone-monitor
---

[All updates](/changelog/page/5#2026-09-05-api-clone-monitor) ✨ New Sep 5, 2026 · v 6.8.1

# Clone a monitor through the API and MCP

Creating twenty similar monitors from a script meant repeating every rule and config key twenty times. POST /v1/monitors now takes cloneFromMonitorId: the source monitor's alert rules and full config are copied, and any field you leave out — type, target, interval, locations, strategy, tags — defaults to the source's, so a name and an id make a complete request. The MCP create_monitor tool has the same argument. Cloning from the dashboard also keeps the transport mode now, which it used to lose.

## The problem

Say you run the same storefront in eight regions. Each region needs an HTTP monitor with the same headers, the same keyword check, the same alert rules and the same contact group. A script had to send every rule and config key eight times, and keep that copy in step with whatever you later tuned in the dashboard.

## What changed

- POST /v1/monitors takes cloneFromMonitorId . The source monitor's alert rules (thresholds, severity, contact group, on or off) and its whole config are copied.

- Type, target, interval, locations, scheduling strategy and tags default to the source's values. Anything you send wins.

- The source must be a monitor of the same type in your organization. An unknown id returns 404, a different type returns 400.

- The MCP create_monitor tool takes the same argument, so you can ask an assistant for "another one like Website, pointed at the pricing page".

## Example

Tune one monitor by hand in the dashboard until its rules are right, then create the rest from a loop:

curl -X POST https://watchfor.io/api/v1/monitors \
-H "Authorization: Bearer wf_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Shop (Frankfurt)", "cloneFromMonitorId": "0b0f6a41-…", "target": "https://de.shop.example.com" }'

Each new monitor starts with the same rules as the original, so its first failure alerts the same people.

More in [Clone a monitor](/docs/api/monitors#clone-a-monitor).

Share this update

---

Canonical page: https://watchfor.io/changelog/2026-09-05-api-clone-monitor · Site guide: https://watchfor.io/llms.txt
