Alerts
| Method | Path | Does |
|---|---|---|
GET | /alerts | List alerts |
PATCH | /alerts/{id} | Acknowledge or resolve an alert |
See Alerts for what raises an alert and when alerts resolve themselves.
List alerts
GET /alerts?state=open
| Query | |
|---|---|
state | open, acked or resolved. Leave it out to get all states. |
Up to 200 alerts, newest first.
[
{
"id": "4b5c6d7e-8f90-4a1b-8c2d-3e4f5a6b7c8d",
"ruleKind": "reader_offline",
"severity": "critical",
"state": "open",
"subjectType": "reader",
"subjectId": "3c9a2f61-0e4b-4d7a-8f15-2b6c9d0e1a73",
"message": "Reader \"Goods In 1\" is offline: it dropped its connection to Titan. Usually power or the network at the reader.",
"openedAt": "2026-10-10T13:58:00.000Z"
}
]
| Field | |
|---|---|
ruleKind | reader_offline (also used for a reader running hot) or asset_missing. |
severity | critical or warning. |
subjectType / subjectId | What the alert is about: a reader (an id from /readers) or an asset (an id from /assets). |
ackedAt, resolvedAt | Present once the alert has been acknowledged or resolved. |
Acknowledge or resolve
PATCH /alerts/{id}
{ "state": "acked" }
state is acked or resolved. Returns 204.
Forwarding alerts to another system
Titan doesn't push alerts out by email or webhook. To get alerts into a ticketing tool or chat channel, poll GET /alerts?state=open every minute or so and track which ids you've already forwarded. Titan keeps at most one open alert per problem, so the list stays short.