auto_silence_noisy_alert
Silence noisy alerts that fired repeatedly in the past hour, either a single alert by ID or all alerts exceeding a threshold, with configurable duration and dry-run preview.
Instructions
Bulk-silence noisy alerts that fired repeatedly in the past hour (POST /v1/tier2/alerts/auto-silence). Finishes "this alert fired 50 times in the past hour — silence it for an hour" in one prompt. Specify exactly one of alertId (silence a single alert) or byVolumeThreshold (all alerts with N+ firings in the past hour). silenceDurationMinutes is 5-1440 (5 minutes to 24 hours), default 60. An optional reason can be attached. dryRun=true previews the targets with fireCount; dryRun=false UPDATEs alerts.silenced_until and emits an audit event per alert (tier2.auto_silence_noisy_alert). Because this is a reversible mutation (the existing unsilence_alert can undo it) with strict per-account scoping (other accounts' alerts are unaffected), there is no founder gate — paid Pro+ users can call it directly. Returns (dryRun=true) { dryRun: true, targetCount, silenceUntil, silenceDurationMinutes, lookbackStart, targets: [{alertId, name, fireCount}] }; (dryRun=false) { dryRun: false, targetCount, silenceUntil, silenceDurationMinutes, succeeded: string[], failed: [{alertId, reason}], skipped: string[], reason }. idempotencyId = sha1(endpoint+accountId+alertId+silenceUntil truncated to the minute), coalescing duplicate runs within the same minute.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | true = preview only (zero mutation); false = actual silence. Default false | |
| reason | No | Silence reason (recorded in the audit log, 200 chars max) | |
| alertId | No | Alert id for single-alert silencing (alrt_xxx format). Cannot be combined with byVolumeThreshold | |
| approvalId | No | Approval id granted via request_approval (apr_ + 32 hex; create with action 'auto_silence_noisy_alert'). Server-side verification + atomic consumption on the actual silence (1 approval = 1 execution). dryRun only verifies | |
| byVolumeThreshold | No | Batch-silence all alerts with N+ firings in the past hour. Cannot be combined with alertId | |
| silenceDurationMinutes | No | Silence duration (minutes, 5-1440 = 5 minutes to 24 hours), default 60 |