Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Open Message Format (OMF)

Instance messages

  • Last UpdatedAug 19, 2026
  • 2 minute read

Instance messages are sent to share specific data and object examples that match a set OMF schema. Instance messages are data-centric and not structural. They rely on schema messages for validation and interpretation. .

Like a schema message, instance messages use an object-of-typed-arrays structure. Each top-level array groups instances of a specific classification, allowing consumers to process entities, events, streaming data, and relationships independently. Multiple instance types can be sent together in a single message.

You can use an instance message to:

  • Create or update entities

  • Send streaming data values

  • Publish events

  • Define relationships between instances

  • Send grouped updates or snapshots of runtime data

Instance message structure

A instance message is a JSON objects that may include any of the following :

Array name

Description

entities

Instance of entity types.

streamingData

Timestamped values associated with streaming data types

events

Event instances, including lifecycle information

relationships

Relationships between entity, event, or streaming data instances

As with schema messages, each of these arrays are optional, but when you used, it must only contain objects of that specific kind. The array name explicitly defines how the objects are interpreted.

Instance message example

The following example creates a tank entity, an active event, two streaming values, and relationships between them

omfversion: 2.0

messagetype: instance

action: create

messageformat: json

{

"entities": [

{

"typeid": "Tank",

"id": "Tank-101",

"name": "Tank 101",

"description": "Primary finished-product storage tank",

"datasource": "Plant-A-Asset-System",

"tags": [

"Plant-A",

"Storage"

],

"metadata": {

"area": "Storage",

"criticality": "High"

},

"value": {

"SerialNumber": "TK-101-2026",

"Model": "ST-5000",

"Capacity": 5000.0

}

}

],

"events": [

{

"typeid": "HighPressureAlarm",

"id": "Alarm-Tank-101-20260717-001",

"name": "High pressure in Tank 101",

"description": "Tank pressure exceeded the configured operating limit",

"starttime": "2026-08-05T08:03:39.3157748Z",

"endtime": null,

"datasource": "Plant-A-Alarm-System",

"tags": [

"Pressure",

"Active"

],

"value": {

"Severity": 2,

"Message": "Pressure exceeded 450 kPa",

"MaximumPressure": 463.8

}

}

],

"streamingdata": [

{

"id": "Tank-101.Measurements",

"values": [

{

"Timestamp": "2026-07-17T22:29:00Z",

"Pressure": 442.1,

"Temperature": 27.4,

"ValveState": 0

},

{

"Timestamp": "2026-07-17T22:30:00Z",

"Pressure": 463.8,

"Temperature": 27.6,

"ValveState": 1

}

]

}

],

"relationships": [

{

"source": {

"collection": "entities",

"id": "Tank-101"

},

"target": {

"collection": "streamingdata",

"id": "Tank-101.Measurements"

}

},

{

"source": {

"collection": "events",

"id": "Alarm-Tank-101-20260717-001",

"type": "Related",

"label": "hasEntity"

},

"target": {

"collection": "entities",

"id": "Tank-101"

}

}

]

}