Watchdog
GET /v1/config/monitoring
List every watchdog rule on the project plus the master enabled state
Returns every watchdog rule configured on the current project, the project's master enabled flag, and a small stats block.
Authentication
API key with config:read permission. Project-scoped or
tenant-scoped (with X-Project-Id).
Endpoint
GET /v1/config/monitoringResponse
200 OK
{
"success": true,
"data": {
"enabled": true,
"rules": [
{
"id": "wdg_a1b2...",
"name": "Checkout error spike",
"ruleType": "spike",
"isEnabled": true,
"intervalMode": "fixed",
"intervalMinutes": 15,
"avgChecksPerDay": null,
"lookbackMinutes": 30,
"errorCountThreshold": null,
"errorRateThreshold": null,
"minErrorCount": 5,
"patterns": [],
"spikeMultiplier": 3.0,
"action": "auto_analyze",
"cooldownMinutes": 30,
"dailyAlertCap": 10,
"channelOverrideIds": null
}
],
"stats": {
"activeRules": 1,
"checksToday": 0,
"alertsThisWeek": 0,
"autoAnalyses": 0
}
}
}| Field | Type | Notes |
|---|---|---|
enabled | boolean | Project-level master switch — when false, no rule runs regardless of its own isEnabled |
rules[] | array | Each rule's full configuration |
rules[].ruleType | 'error_count' | 'error_rate' | 'pattern' | 'spike' | What the rule watches for |
rules[].isEnabled | boolean | Per-rule enable flag |
rules[].intervalMode | 'fixed' | 'random' | How the check schedule is spaced (see Scheduling) |
rules[].action | 'notify_only' | 'auto_analyze' | What happens when the rule trips |
rules[].channelOverrideIds | string[] | null | Notification channels to use instead of the project default |
stats | object | Lightweight counters for the dashboard summary |
For field-by-field guidance on rule configuration see the create endpoint or Rule types.
Error responses
| Status | error.code | When |
|---|---|---|
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Key lacks config:read |
Example
curl https://api.sigsentry.com/v1/config/monitoring \
-H "Authorization: Bearer ss_secret_..."