What Is a Serious Incident?
Article 3(49) defines a serious incident as an event that directly or indirectly leads to or could have led to:- Death or serious damage to health
- Serious and irreversible disruption of critical infrastructure management
- Breach of fundamental rights obligations
Severity
Incidents are recorded with one of four severity levels:Reporting Deadlines
MeshAI automatically calculates
notification_deadline when the incident is created, based on is_widespread.
Create an Incident
reported_by is required and is bound to the authenticated API key. anomaly_event_id is an optional integer linking the incident to an ML-detected anomaly. root_cause and corrective_actions are not create-time fields - they’re set later via the update endpoint below.
Incident Statuses
Track an Incident
Update an Incident
Use the update endpoint to record investigation progress, root cause, corrective actions, and authority notification:status: "resolved" records resolved_at automatically.
Notify the Authority
There is no dedicated “notify authority” endpoint. Recording that you’ve notified the relevant market surveillance authority is the same update endpoint, settingauthority_notified: true:
authority_notified: true records authority_notified_at automatically. IncidentUpdate accepts status, root_cause, corrective_actions, and authority_notified - track the authority name, contact details, and any filing notes in your own systems, since MeshAI does not have dedicated fields for them.
Export an Evidence Pack
One call assembles the incident report plus the telemetry evidence recorded around it into a single document shaped for an Article 73 filing:
Window semantics that matter for evidence:
- The telemetry window (
window_hours, default 24, max 168) is anchored at the incident’sreported_atand looks backward: the lead-up to the incident. - The audit trail additionally runs through generation time, because the human response to an incident happens after it is reported. Acknowledgements, kill switches, and reclassifications are part of the record.
deadline_days_remaininguses a ceiling, so 47 hours remaining reads as 2 days and a 1-hour lapse reads as 0 days withoverdue: true.- Record lists are capped at 200 entries per category with uncapped totals, so truncation is always detectable (
totalexceeds the record count).
Evidence pack export requires the Professional plan or above, matching the audit trail export entitlement. Starter and free tenants receive a 402 with an upgrade path.
Dashboard Alerts
The MeshAI dashboard shows:- Active incidents with countdown timers to reporting deadlines
- Overdue incidents highlighted in red
- Deadline approaching warnings 48 hours before the deadline

