Skip to content

Acknowledge an alarm

POST
/components/{name}/alarms/{id}:acknowledge
curl --request POST \
--url https://example.com/api/v1/components/example/alarms/example:acknowledge

Records that a human has seen this alarm, and changes nothing else. The alarm stays exactly as raised as it was: acknowledging is not fixing, so health is NOT recomputed and cleared_at is untouched. Acknowledging is orthogonal to clearing in both directions, so a cleared alarm can still be acknowledged by whoever reviews the history, and clearing never acknowledges on an operator’s behalf. Acknowledging twice is idempotent: the first person and the first time stay, and the no-op writes no second audit row. Gated by alarm:acknowledge, whose scope is resolved on the component tier from that permission (not from component:update); a component outside the caller’s component:read is a non-disclosing 404, and one it can read but not acknowledge on is a 403.

name
required

The component’s name, or a dotted address (e.g. boi.17c.415a.$comp.display-1)

string

The component’s name, or a dotted address (e.g. boi.17c.415a.$comp.display-1)

id
required

The alarm id

string

The alarm id

OK

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
acknowledged
required

Whether anybody has recorded seeing this alarm; says nothing about whether it is still raised

boolean
acknowledged_at

When a human first recorded seeing this alarm; null while nobody has. Independent of cleared_at

string format: date-time
acknowledged_by

Who acknowledged it, by name; empty while unacknowledged, or once that principal has been purged (the audit log keeps the name)

string
active
required
boolean
cleared_at

Null while the alarm is active

string format: date-time
component
required
string
dedup_key
required

The condition identity: one open alarm per (component, dedup_key)

string
id
required
string
message
required
string
raised_at
required
string format: date-time
severity
required

Info, warning, or critical

string
Example
{
"$schema": "/api/v1/schemas/AlarmBody.json"
}

Error

Media type application/problem+json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object> | null
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank
Example
{
"$schema": "/api/v1/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}