Example dynamic data message
- Last UpdatedSep 04, 2025
- 2 minute read
The following is an example of a dynamic data request that will create a dynamic OMF Data message. You can copy this sample and modify it for your use.
Timestamps must use the ISO 8601 Date Time format with a Universal Time Coordinated (UTC) time zone.
Note: To bypass the PI Web API CSRF defense setting, add an X-Requested-With header with any value to the OMF HTTP request. For additional headers supported in message specification, see Message headers.
Authorization: {your own value}
Content-Type: application/json
omfversion: 1.2
messagetype: data
action: create
messageformat: json
[
{
"containerid": "Widget1",
"values": [
{
"Time": "2019-07-01T00:00:00Z",
"Widgetness": 8675.309,
"WidgetMode": 1,
"WidgetStatus": 5
},
{
"Time": "2019-07-01T01:00:00Z",
"Widgetness": 543.21,
"WidgetMode": 4,
"WidgetStatus": 1080000000
}
]
},
{
"containerid": "Widget2",
"values": [
{
"Time": "2019-07-01T00:00:00Z",
"Widgetness": 555.301,
"WidgetMode": 3,
"WidgetStatus": 832
},
{
"Time": "2019-07-01T01:00:00Z",
"Widgetness": 9000.112,
"WidgetMode": 1,
"WidgetStatus": 3000000000
}
]
}
]
Note: The OmfCreateMode configuration setting can be used to control how duplicate time-series values are handled when writing to the Data Archive. See Set behavior for duplicate data values for details.
This example sends four values recorded at four separate times for each set of PI points. The image below shows the current value for each PI point created from the request:

Enum Data Message example
In the following example, the Data request contains a value for the DeviceStatus property where the property was defined as enum type using reftypeid.
Type request:
[
{
"id": "DeviceStatusEnum",
"enum": {
"values": [
{
"name": "Device Connected",
"value": 0
},
{
"name": "Device Failure",
"value": 1
},
{
"name": "Device Comm Failure",
"value": 2
},
{
"name": "Uncertain Out Limits",
"value": 3
}
]
}
},
{
"id": "TankMeasurementV1",
"version": "1.0.0.0",
"type": "object",
"classification": "dynamic",
"extrapolation": "forward",
"properties": {
"Timestamp": {
"type": "string",
"format": "date-time",
"isindex": true
},
"DeviceStatus": {
"reftypeid": "DeviceStatusEnum",
"isquality": true,
"interpolation": "stepwisecontinuousleading"
},
"Pressure": {
"type": "number",
"name": "Tank Pressure",
"description": "Tank Pressure in Pa",
"uom": "pascal",
"interpolation": "continuous"
},
"Temperature": {
"type": "number",
"name": "Tank Temperature",
"description": "Tank Temperature in K",
"uom": "K",
"interpolation": "continuous"
}
}
}
]
Container request
[
{
"id": "TankMeasurementsV1_Tank3",
"typeid": "TankMeasurementV1"
}
]
Data request
[
{
"containerid": "TankMeasurementsV1_Tank3",
"values": [
{
"Timestamp": "2019-09-11T22:23:23.430Z",
"DeviceStatus": 2,
"Pressure": 16.0,
"Temperature": 90.1
}
]
}
]