Alert types
| Type | Threshold meaning |
|---|---|
failure_rate | Fraction 0.0–1.0 — fires when the failure rate exceeds this value (e.g. 0.20 = 20%) |
inactivity | Hours — fires when the agent has not run for this many hours |
cost_threshold | USD — fires when the daily cost exceeds this amount |
latency_threshold | Milliseconds — fires when p95 latency exceeds this value |
composite | Uses composite_config — fires when combined AI + infrastructure conditions are met |
Delivery channels
| Channel | Behavior |
|---|---|
email | Sends an email to your account address (default) |
webhook | Posts to your webhook_url |
both | Sends both email and webhook |
List alerts
GET /alerts
Returns all alerts associated with agents belonging to the authenticated user.
Response — 200
An array of alert objects.Alert UUID.
UUID of the target agent, or
null for service-targeted alerts.Name of the target agent, or
null.Alert type:
failure_rate, inactivity, cost_threshold, latency_threshold, or composite.Threshold value. Semantics depend on the alert type.
Minimum minutes between consecutive firings of this alert.
Whether this alert is currently enabled.
Delivery channel:
email, webhook, or both.Webhook delivery URL. Present when
channel is webhook or both.Composite rule definition. Present only for
composite type alerts.Service name for service-targeted alerts. Null for agent-targeted alerts.
ISO 8601 timestamp of the last time this alert fired.
ISO 8601 timestamp when this alert was created.
Create an alert
POST /alerts
Creates an alert rule. Either agent_id or target_service must be provided. Validation rules:
failure_rate,inactivity,cost_threshold, andlatency_thresholdalerts require athresholdvalue.compositealerts require a validcomposite_configwith at least oneaicondition and oneinfracondition.- Alerts with
channelofwebhookorbothrequire awebhook_url.
Request body
UUID of the agent to monitor. Either
agent_id or target_service must be provided.Service name to monitor (for infrastructure-only alerts). Either
agent_id or target_service must be provided.Alert type:
failure_rate, inactivity, cost_threshold, latency_threshold, or composite.Threshold value. Required for all types except
composite. See the alert types table for semantics.Minimum minutes between consecutive firings of this alert.
Delivery channel:
email, webhook, or both.HTTPS URL to deliver webhook notifications to. Required when
channel is webhook or both.Composite alert rule. Required when
type is composite.Response — 201
Returns the created alert object. Same schema as the list response.Get an alert
GET /alerts/{alert_id}
Returns a single alert. Returns 404 if the alert does not belong to the authenticated user.
Path parameters
UUID of the alert.
Response — 200
Same schema as a single item from the list response.Update an alert
PATCH /alerts/{alert_id}
Updates one or more mutable fields on an alert. All fields are optional — omit any fields you do not want to change.
Path parameters
UUID of the alert.
Request body
New threshold value.
New cooldown period in minutes.
Set to
false to pause the alert, true to re-enable it.New delivery channel:
email, webhook, or both.New webhook URL.
Response — 200
Returns the updated alert object.Delete an alert
DELETE /alerts/{alert_id}
Permanently deletes an alert and all its associated events. This action is irreversible.
Path parameters
UUID of the alert to delete.