/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.