Event webhook subscriptions: register a URL with /api/v1/webhook-subscriptions and receive signed POSTs when incident.opened / incident.acknowledged / incident.resolved / monitor.status_changed / log_alert.fired. HMAC-SHA256 with your org's webhook secret, 5-attempt exponential retry, auto-disable after 10 consecutive failures, per-subscription delivery log. Replaces polling.
Pre-converted LLM tool definitions: /openapi/openai-tools.json, /openapi/anthropic-tools.json, /openapi/langchain-tools.json, /openapi/tools-index.json. Drop straight into your agent framework — no schema wrangling.
Per-PAT rate-limit headers on every authenticated response: X-PAT-Mut-Limit, X-PAT-Mut-Remaining, X-PAT-Mut-Reset (unix timestamp), plus X-PAT-LogBytes-{Limit,Used,Remaining,Reset} on /logs/ingest. Your agent reads its budget without burning a mutation.
PAT scopes: 14 narrow scopes (monitors:read, monitors:write, webhooks:read, webhooks:write, logs:write, incidents:write, audit:read, secrets:read, and others) plus the original wildcard *. Per-PAT dailyMutationLimit and dailyLogBytesLimit bound the blast radius of a leaked token to a day.
Idempotency-Key body-mismatch detection: same key + different body returns 409 IDEMPOTENCY_KEY_REPLAY_CONFLICT. A buggy retry loop surfaces immediately instead of silently replaying a stale response.
New error codes that agents can branch on: MONITOR_TARGET_UNSAFE (write-time SSRF guard on monitor URLs — was check-time only before), WEBHOOK_URL_UNSAFE (SSRF on webhook URLs), WEBHOOK_URL_UNRESOLVABLE (DNS failure, distinct from SSRF), IDEMPOTENCY_KEY_REPLAY_CONFLICT.
New "Event webhooks" section in the Settings page: create / disable / delete subscriptions, view the last 50 delivery attempts inline with HTTP code, error message, and the bytes we sent.
New /docs/api-for-agents/ page: the six concrete things that make this API safe to hand to a Claude or GPT tool call.