Skip to main content
Paths are relative to /api/v1. All routes use a project-scoped API key - Authorization: Bearer <api_key> - that must belong to the project in the path. See Authentication for scopes. Alert conditions currently include thresholds, percentage changes, position drops, downtrends, top-N transitions, competitor overtakes, SERP features, and ranking URL mismatches. Rules can target the whole project, selected keywords, or tags. Delivery channels depend on the integrations configured in the app. Slack tenant delivery is available as an API-only preview. Workspace installation and channel management are not yet exposed in the dashboard. The channels array accepts email, slack, and webhook; a rule with channels: ["slack"] is accepted through this API. See Configure alerts for the delivery channel contract. Email rules created through the API without recipient_ids default to the project owner. On create, an explicit empty array creates a rule with no email recipients and does not use that fallback. On update, omitting recipient_ids preserves the current recipient set, while an explicit empty array clears it. Mutations require write scope and honor project read-only mode. Muting preserves the alert’s firing status and sets snoozed_until. Mark-read matches the app’s bulk action and returns { "updated": <count> }. The generated OpenAPI JSON remains the machine-readable source of truth for request and response schemas.