{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/api-evangelist/uptrace/main/json-schema/uptrace-alert-schema.json", "title": "Uptrace Alert", "description": "An alert rule in the Uptrace APM platform", "type": "object", "required": ["id", "projectId", "name", "query"], "properties": { "id": { "type": "integer" }, "projectId": { "type": "integer" }, "name": { "type": "string", "description": "Alert rule name" }, "type": { "type": "string", "enum": ["metric", "error-rate", "span-count"], "description": "Alert type" }, "state": { "type": "string", "enum": ["active", "resolved", "muted"], "description": "Current alert state" }, "query": { "type": "string", "description": "PromQL or Uptrace query expression" }, "forDuration": { "type": "string", "description": "Duration the condition must hold (e.g., 5m)" }, "condition": { "type": "string", "description": "Comparison condition (e.g., > 0)" }, "notificationChannels": { "type": "array", "items": { "type": "string", "enum": ["email", "slack", "webhook", "alertmanager"] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }