viewer, editor, or admin.
GET /api/v1/system-health
Returns the alert feed for the current tenant, newest first, with the requesting user’s read state resolved per alert.Query parameters
Severities:
info, success, warning, error, critical.
Sources: flow, decisioning, approvals, license, system, data, model, sentinel.
(The source column accepts arbitrary strings; these are the canonical values emitted across the codebase.)
Response 200
sources and severities value lists so a client can build filter
controls without hard-coding them.
A user sees alerts addressed directly to them (
userId matches) plus fan-out alerts
(userId: null). API-key callers with no resolved user id see only fan-out alerts, and their
read is always false (they have no per-user read state).PATCH /api/v1/system-health/:id/read
Mark a single alert as read for the requesting user.POST /api/v1/system-health/read-all
Mark every alert visible to the requesting user as read.DELETE /api/v1/system-health/:id
Dismiss (delete) an alert for the tenant.Read state is per-user, stored in
SystemHealthAlertRead. Marking read does not delete or
modify the alert — it only clears the unread indicator for that user. All three endpoints
accept role viewer, editor, or admin.