Unified Event Model
A standardised schema for all events with detailed device information.
| $id | https://schemas.texecom-prod.com/v2/events/unified-event-model/v1.0.0.json |
| $schema | http://json-schema.org/draft-07/schema |
Properties
eventId
| Description |
A unique, immutable identifier for this specific event instance. This should be a UUID. |
| Type | String |
| Required |
Yes |
| Format |
uuid |
eventSource
Defined in ../event-source/v1.0.0.html
| $id |
https://schemas.texecom-prod.com/v2/events/event-source/v1.0.0.json |
| Title |
Event Source Definition |
| Description |
Defines valid sources for events generated. |
| Type | String |
| Required |
Yes |
| Enum |
- third_party.monitor
- arc.masxml-sia-dc09
- arc.sentinel-sia
- arc.sia-dc09
- arc.sia-mlr2
- arc.json
- panel.connect
- panel.monitor
- smartcom_v5.monitor
- smartcom_v4.monitor
- cloud.internal
|
eventType
timestamp
| Description |
The UTC timestamp when the event was generated at the source, in ISO 8601 format. |
| Type | String |
| Required |
Yes |
| Format |
date-time |
version
| Description |
The version of this standardised event schema. Example: '1.0.0' |
| Type | String |
| Required |
Yes |
| Pattern |
^\d+\.\d+\.\d+$ |
correlationId
| Description |
A unique identifier for a sequence of related events. |
| Type | String |
| Required |
Yes |
| Format |
uuid |
metadata
| Description |
Additional, non-essential data about the event, like routing information or device details. |
| Type | Object |
| Required |
No |
payload
Defined in ../payload-options/v1.0.0.html
| $id |
https://schemas.texecom-prod.com/v2/events/payload-options/v1.0.0.json |
| Title |
Payload Options |
| Description |
The original, raw event data from the source, wrapped within this unified schema. |
| Type | [object, array, string, number, boolean, null] |
| Required |
Yes |
sourceDetails
Defined in ../source-details/v1.0.0.html
| $id |
https://schemas.texecom-prod.com/v2/events/source-details/v1.0.0.json |
| Title |
Source Details |
| Description |
Structured information for physical devices related to an event. |
| Type | Array [../source-details/v1.0.0.html] |
| Required |
Yes |
Schema
{
"$id": "https://schemas.texecom-prod.com/v2/events/unified-event-model/v1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Unified Event Model",
"description": "A standardised schema for all events with detailed device information.",
"type": "object",
"properties": {
"eventId": {
"description": "A unique, immutable identifier for this specific event instance. This should be a UUID.",
"type": "string",
"format": "uuid"
},
"eventSource": {
"$ref": "../event-source/v1.0.0.json"
},
"eventType": {
"type": "string"
},
"timestamp": {
"description": "The UTC timestamp when the event was generated at the source, in ISO 8601 format.",
"type": "string",
"format": "date-time"
},
"version": {
"description": "The version of this standardised event schema. Example: '1.0.0'",
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"correlationId": {
"description": "A unique identifier for a sequence of related events.",
"type": "string",
"format": "uuid"
},
"metadata": {
"description": "Additional, non-essential data about the event, like routing information or device details.",
"type": "object",
"additionalProperties": true
},
"payload": {
"description": "The original, raw event data from the source, wrapped within this unified schema.",
"$ref": "../payload-options/v1.0.0.json"
},
"sourceDetails": {
"$ref": "../source-details/v1.0.0.json"
}
},
"required": [
"eventId",
"eventSource",
"eventType",
"timestamp",
"version",
"correlationId",
"payload",
"sourceDetails"
],
"oneOf": [
{
"properties": {
"eventSource": {
"const": "cloud.internal"
},
"eventType": {
"$ref": "../event-type/cloud/internal/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "panel.connect"
},
"eventType": {
"$ref": "../event-type/panel/connect/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "panel.monitor"
},
"eventType": {
"$ref": "../event-type/panel/monitor/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "smartcom_v5.monitor"
},
"eventType": {
"$ref": "../event-type/smartcom_v5/monitor/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "smartcom_v4.monitor"
},
"eventType": {
"$ref": "../event-type/smartcom_v4/monitor/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "third_party.monitor"
},
"eventType": {
"$ref": "../event-type/third_party/monitor/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "arc.masxml-sia-dc09"
},
"metadata": {},
"eventType": {
"$ref": "../event-type/arc/masxml-sia-dc09/received/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "arc.sentinel-sia"
},
"metadata": {},
"eventType": {
"$ref": "../event-type/arc/sentinel-sia/received/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "arc.sia-dc09"
},
"metadata": {},
"eventType": {
"$ref": "../event-type/arc/sia-dc09/received/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "arc.sia-mlr2"
},
"metadata": {},
"eventType": {
"$ref": "../event-type/arc/sia-mlr2/received/v1.0.0.json"
}
}
},
{
"properties": {
"eventSource": {
"const": "arc.json"
},
"metadata": {},
"eventType": {
"$ref": "../event-type/arc/json/received/v1.0.0.json"
}
}
}
],
"additionalProperties": false
}