Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Alerts

Alerts: what is wrong, acknowledging and silencing, and where notifications go.

GET /api/v1/alerts

Alerts: open ones first, and what happened lately.

Who may call it: anyone signed in (a person or a token).

Answers

GET /api/v1/alerts/channels

Where alerts go, and how sending has gone lately. Secrets are never shown. Operator.

Who may call it: an operator or admin.

Answers

POST /api/v1/alerts/channels/{name}/test

Send a test notification to a channel now (it says it is a test). Answers 502 with the reason when it can't be sent. Operator; logged.

Who may call it: an operator or admin.

Parameters

InType
name (required)pathtextChannel name.

Answers

GET /api/v1/alerts/{id}

One alert and its history.

Who may call it: anyone signed in (a person or a token).

Parameters

InType
id (required)pathnumberAlert id.

Answers

POST /api/v1/alerts/{id}/ack

Acknowledge an open alert: someone is on it. No reminders until it gets worse or recovers. Operator.

Who may call it: an operator or admin.

Parameters

InType
id (required)pathnumberAlert id.

Answers

POST /api/v1/alerts/{id}/silence

Silence an alert: nothing is sent about it (fired, worse, reminders, recovery) until the time is up. It still shows. Works before anything fires (planned work). A silence is not a pause: messages still wait. Operator.

Who may call it: an operator or admin.

Parameters

InType
id (required)pathnumberAlert id.

Body (application/json): SilenceRequest

Answers

DELETE /api/v1/alerts/{id}/silence

End a silence early. Operator.

Who may call it: an operator or admin.

Parameters

InType
id (required)pathnumberAlert id.

Answers

Shapes

The JSON bodies the operations above take and return.

AlertDetail

FieldType
alertAlertInfo
eventslist of AlertEventNewest first (the last 100).

AlertEvent

FieldType
alertnumber
attime (RFC 3339)
by (optional)text or nullWho acknowledged or silenced it.
failednumber
idnumber
keytext
kindtextfired, escalated, reminded, recovered, acknowledged, silenced, unsilenced.
sentnumberIts notifications: sent, still to send (waiting for quiet hours to end, or being retried), and given up on.
severity (optional)text or null
state (optional)text or nullThe state then (for recovered: what it recovered from).
summary (optional)text or null
waitingnumber

AlertInfo

FieldType
acknowledged_at (optional)time (RFC 3339) or null
acknowledged_by (optional)text or null
destination (optional)text or nullThe destination; for a certificate, host:port.
idnumber
interfacetextThe interface; for a certificate, its resource.
keytextiface:<interface>, dest:<interface>/<destination> or cert:<resource>:<host>:<port>.
last_notified_at (optional)time (RFC 3339) or nullWhen people were last told (or will be, once quiet hours end).
mutedtrue or falseIts interface says alert: { mute: true }: nothing is ever sent about it.
notificationsnumberNotifications sent since it fired.
recovering_since (optional)time (RFC 3339) or nullFine again since then, but not for alerts.settle yet (it may still reopen).
severity (optional)text or nullwarning or critical while open.
silence_reason (optional)text or null
silenced_by (optional)text or null
silenced_until (optional)time (RFC 3339) or nullSet while silenced: nothing is sent until then.
since (optional)time (RFC 3339) or nullBad since.
statetextok, or what is wrong: error, stalled, behind (a destination), stopped, silent, missed (an interface), certificate (expiring or expired).
summary (optional)text or nullThe health view's words, as of the last check.

AlertsOverview

FieldType
alertslist of AlertInfoEvery interface and destination, open alerts first (critical, then oldest).
configuredtrue or falsealerts: is in ductus.yaml. Without it nothing is judged or sent.
recentlist of AlertEventThe latest events, newest first.

ChannelCounts

FieldType
failednumber
last_error (optional)text or null
sentnumber
waitingnumber

ChannelInfo

FieldType
emaillist of text
failednumber
last_error (optional)text or null
last_sent (optional)time (RFC 3339) or null
nametext
sentnumberNotifications in the last 7 days: sent, still to send, given up on.
waitingnumber
webhook (optional)text or nullScheme and host only: the rest of a webhook URL is often its secret.
webhook_format (optional)text or nulljson, slack or teams.

ChannelsOverview

FieldType
channelslist of ChannelInfo
configuredtrue or false
heartbeat (optional)text or nullThe heartbeat URL (scheme and host) and how often.
owner_notifications (optional)ChannelCounts or null
ownerslist of OwnerReachOwners named in interface.yaml, when a rule sends to owner.
quiet (optional)text or null"22:00-06:00" and which severities wait, if set.
repeat (optional)text or nullReminders: 4h, or none.
smtp (optional)SmtpInfo or null

ErrorBody

FieldType
errortextWhat went wrong, in plain words.

OwnerReach

FieldType
addresseslist of textWhere alerts for this owner go; empty: nowhere (no user with that name and an email, not in owners:, not an address).
ownertext

SilenceRequest

FieldType
fortextHow long: 30m, 4h, 2d (at most 30 days).
reason (optional)text or nullWhy (planned work, a known outage): shown to everyone who sees the alert.

SmtpInfo

FieldType
fromtext
hosttext
portnumber
tlstextstarttls, tls or none.
username (optional)text or null

TestResult

FieldType
channeltext
senttrue or false