## monitors/update

`GET /v1/monitors/update`

Pause, resume, rename, reschedule or re-scope one of your monitors. Give at least one field besides id.

*Update a monitor*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Monitor id — e.g. `mon_0f2c8b1d4e6a7c9b0d1e2f3a` |
| `status` | no | active to resume runs, paused to stop them. Pausing clears the next run time; resuming schedules the next run one interval from now. Accepted values: active, paused. Case, spaces, hyphens and underscores are interchangeable. — e.g. `paused` |
| `name` | no | New label; pass an empty string to clear it — e.g. `Monzo complaints` |
| `schedule_minutes` | no | New interval between runs; minimum 15, maximum 43200. Rescheduling re-times the next run from now. — e.g. `1440` |
| `monthly_cap_credits` | no | Legacy field accepted for compatibility but ignored and returned as null. It does not impose a spending cap. Account balance, quoted run cost and existing account safeguards still apply. |
| `delivery_in_app` | no | subject/feed: in-app notifications on or off — e.g. `true` |
| `delivery_webhook` | no | subject/feed: signed webhook deliveries on or off — e.g. `false` |
| `sources` | no | subject: replace the platforms searched — e.g. `reddit,hackernews` |
| `relationships` | no | subject: replace which classes of material count Accepted values (comma-separated): independent_audience, editorial_news, official_owned, employee_team, collaborator_partner, fan_clip. Case, spaces, hyphens and underscores are interchangeable. — e.g. `independent_audience` |
| `filters` | no | subject: replace the purpose filters Accepted values (comma-separated): complaints, switching, buying, bugs_crashes, bugs_glitches, bugs_exploits, bugs_blockers, bugs_performance, requests, questions. Case, spaces, hyphens and underscores are interchangeable. — e.g. `complaints` |
| `max_metered` | no | subject: metered platforms per run, 0-2 — e.g. `1` |
| `output` | no | subject and feed: report (each run leads with what changed and why it matters, every line with its receipts; the default for the intelligence templates) or everything (every new post, comment or review, listed; the default for feeds and follow templates) — e.g. `report` |
| `destinations` | no | JSON array of where alerts go and how often. kind: email (the account address), endpoint (one of your Slack channels, Discord channels or webhooks by endpoint_id; omit endpoint_id for every active endpoint), push (the devices that turned push on). cadence: immediate, daily or weekly. min_severity for immediate: info (every new finding), notable or critical. The monitor page is always included unless delivery_in_app=false. Replaces delivery_email, delivery_webhook and delivery_mode when given. — e.g. `[{"kind":"endpoint","endpoint_id":"whk_…","cadence":"immediate","min_severity":"notable"},{"kind":"email","cadence":"daily"}]` |
| `feeds_json` | no | Several feeds at once, as a JSON array of {platform, endpoint, params}. Follow an account reads timelines: x/tweets (handle, metered), bluesky/user/posts (handle), youtube/channel/videos (handle or url). Every feed must be live-proven on this deployment; the review says so per feed. — e.g. `[{"platform":"bluesky","endpoint":"user/posts","params":{"handle":"name.bsky.social"}},{"platform":"youtube","endpoint":"channel/videos","params":{"handle":"name"}}]` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `rules` | no | Optional change-monitor rules as a JSON object. Use metric_fields with up to 10 published numeric object JSON pointers (for example /followers or /stats/likes), with result_mode=changes. Unknown/nonnumeric paths are rejected before a source call or charge; missing actual values are not zero and the check is refunded. Numeric selection replaces family rules. Or use watch_fields for generic field comparisons. See /docs/monitors#metric-fields. — e.g. `{"metric_fields":["/followers"]}` |
| `relevance_enabled` | no | Optional on every monitor. Enable or disable relevance filtering. Enabling requires a nonempty relevance_prompt. — e.g. `true` |
| `relevance_prompt` | no | Up to 600 characters describing what should trigger an alert. A nonempty value enables filtering unless explicitly disabled. Empty clears it. — e.g. `Only genuine requests for recommendations; exclude promotions.` |
| `exclusions` | no | Comma-separated phrases skipped before AI; empty clears. Returned by monitor read tools. — e.g. `sponsored,job opening` |

### Useful optional inputs

- `rules`: For metric monitoring, set rules.metric_fields to published numeric JSON pointers before scheduling; missing values are not zero. Preview the estimate first. Confirmed tests use the existing source price; invalid paths are uncharged.
- `sources`: Restrict a multi-source request to the platforms useful for your task. Use dry_run to inspect the resulting quote before fetching.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** free — 0 credits.

```bash
curl "https://www.monocrawl.com/v1/monitors/update?id=mon_0f2c8b1d4e6a7c9b0d1e2f3a" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "id": null,
  "kind": null,
  "name": null,
  "description": null,
  "status": null,
  "workflow": null,
  "capped_reason": null,
  "target_label": null,
  "group_id": null,
  "last_run_at": null,
  "last_success_at": null,
  "next_run_at": null,
  "created_at": null,
  "schedule_minutes": 0,
  "estimated_credits_per_run": 0,
  "monthly_cap_credits": 0,
  "credits_spent_month": 0,
  "consecutive_failures": 0,
  "target": {},
  "subject": {},
  "delivery": {},
  "last_run": {}
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/monitors/update#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/monitors/update.json)
