Raise an alarm on a component
const url = 'https://example.com/api/v1/components/example/alarms';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"dedup_key":"example","message":"example","severity":"info"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/components/example/alarms \ --header 'Content-Type: application/json' \ --data '{ "dedup_key": "example", "message": "example", "severity": "info" }'Records a condition on this component, then recomputes health in the same transaction: the component’s own verdict moves, and if it is now outage (a critical alarm), any role it occupies loses it as an occupant while the alarm is active, which can move its system and location verdicts with it; a lesser (info or warning) alarm degrades the component but leaves it occupying its roles. Gated by component:update; read and update scopes drive the 404 versus 403 split.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The component’s name, or a dotted address (e.g. boi.17c.415a.$comp.display-1)
The component’s name, or a dotted address (e.g. boi.17c.415a.$comp.display-1)
Request Body required
Section titled “Request Body required ”object
A URL to the JSON Schema for this object.
The condition identity; defaults to the message. Raising an already-open (component, dedup_key) returns the existing open alarm instead of a duplicate
What is wrong, for the operator reading it later
How bad it is; critical puts the component itself in outage
Responses
Section titled “ Responses ”Created
object
A URL to the JSON Schema for this object.
Whether anybody has recorded seeing this alarm; says nothing about whether it is still raised
When a human first recorded seeing this alarm; null while nobody has. Independent of cleared_at
Who acknowledged it, by name; empty while unacknowledged, or once that principal has been purged (the audit log keeps the name)
Null while the alarm is active
The condition identity: one open alarm per (component, dedup_key)
Info, warning, or critical
Example
{ "$schema": "/api/v1/schemas/AlarmBody.json"}default
Section titled “default ”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
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"}