Public docs
App API — Alerts
Create, list, update, and resolve workspace alerts.
Alert lifecycle
Alerts have two states derived from the resolved_at field:
resolved_at = null→ Activeresolved_at = timestamp→ Resolved
There is no separate status column.
---
GET /alerts/list/{workspace_id}
Returns all alerts for the workspace, newest first.
Response: { "success": true, "alerts": [...] }
---
GET /alerts/active/{workspace_id}
Returns only Active alerts (resolved_at IS NULL).
Response: { "success": true, "alerts": [...] }
---
GET /alerts/{alert_id}
Returns a single alert by ID.
Response: { "success": true, "alert": { ... } }
---
POST /alerts/create
Create a new alert manually.
Request body
{
"workspace_id": 1,
"severity": "high" | "medium" | "low",
"summary": "Alert summary text",
"partners": ["Partner A", "Partner B"],
"action": "Recommended action (optional)",
"created_by_user_id": 1,
"source": "manual" | "ai_ingested" | "api",
"alert_type": "breaking_change" | "auth" | "billing" | etc. (optional)",
"metadata": {}
}---
PUT /alerts/{alert_id}/status
Set alert to Active or Resolved.
{ "status": "active" }
{ "status": "resolved" }Setting to active clears resolved_at. Setting to resolved sets resolved_at = NOW().
---
PUT /alerts/{alert_id}/severity
Update severity on an active alert.
{ "severity": "high" | "medium" | "low" }Only works on active alerts (resolved_at IS NULL).
---
PUT /alerts/{alert_id}/resolve
Resolve an alert (sets resolved_at to current timestamp). No request body needed.
curl -X POST https://api.opsentry.ai/alerts/create \ -H "Content-Type: application/json" \ -d '{ "workspace_id": 1, "severity": "high", "summary": "OAuth scope auth:legacy deprecated — partners must migrate", "partners": ["Northstar Bank", "Apex Solutions"], "action": "Contact affected partners before June 30", "created_by_user_id": 1, "source": "manual", "alert_type": "breaking_change", "metadata": {} }'