NetworkStatusIncident network.status-incident@1
Generated at from
openvibe-contracts v0.76.0 and
openvibe-sdk v0.20.1.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/network/status-incident.v1.json
network.status-incident@1 (roadmap WS-N task 12): one incident or maintenance window on openvibe.network/status, public. An incident moves investigating → identified → monitoring → resolved; a maintenance window scheduled → in_progress → completed. Each change adds an update with its message; the newest state is the incident's. Services are registry ids. Messages are plain text written for people (no internal hostnames, secrets or personal data).
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
kind | enum | yes |
| |
title | string | yes |
| |
severity | enum | Incidents only. |
| |
state | enum | yes |
| |
services | array of string | yes |
| |
starts_at | string | yes |
| |
ends_at | string | null | When it ended, or a maintenance window's planned end. |
| |
updates | array of object | yes |
| |
updates[].at | string | yes |
| |
updates[].state | enum | yes |
| |
updates[].message | string | yes |
| |
created_at | string | yes |
| |
updated_at | string | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: incident
{
"id": "inc_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"kind": "incident",
"title": "Live streams stall on start",
"severity": "major",
"state": "identified",
"services": [
"live"
],
"starts_at": "2026-09-26T16:00:00Z",
"ends_at": null,
"updates": [
{
"at": "2026-09-26T16:00:00Z",
"state": "investigating",
"message": "New streams take a minute to start."
},
{
"at": "2026-09-26T16:10:00Z",
"state": "identified",
"message": "A restart left the ingest socket unbound; rebinding."
}
],
"created_at": "2026-09-26T16:00:00Z",
"updated_at": "2026-09-26T16:10:00Z"
}Valid: maintenance
{
"id": "inc_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"kind": "maintenance",
"title": "Media storage move",
"state": "scheduled",
"services": [
"media"
],
"starts_at": "2026-09-28T03:00:00Z",
"ends_at": "2026-09-28T04:00:00Z",
"updates": [
{
"at": "2026-09-26T16:00:00Z",
"state": "scheduled",
"message": "Uploads pause for up to an hour."
}
],
"created_at": "2026-09-26T16:00:00Z",
"updated_at": "2026-09-26T16:00:00Z"
}Rejected: unknown-state
{
"id": "inc_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"kind": "incident",
"title": "x",
"state": "broken",
"services": [],
"starts_at": "2026-09-26T16:00:00Z",
"updates": [],
"created_at": "2026-09-26T16:00:00Z",
"updated_at": "2026-09-26T16:00:00Z"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('network.status-incident@1', value); // { valid, errors: [{ path, message }] }