Platform Event Structure

Every platform event has two parts: a header and body.

Event Header

The platform header contains metadata to help route and correlate events in the rules engine or in your application, and all fields are automatically filled in when an event is received.

{
  "header": {
    "tags": [
      "groupB",
      "pilotDevices"
    ],
    "messageId": "4440b830-f226-11e6-a9ef-19403a4f36d6",
    "eventId": "5e9329a0-58e4-11e7-a256-2778557aafc9",
    "brokerType": "DanlawUdp",
    "ingestionTimestamp": "2017-06-13T19:54:44.915Z",
    "tenantId": "lost-generation",
    "deviceId": "6020981915"
  },
  "body": {...}
}
- header (object)
  - tags: (array[string]) - A collection of tags that were assigned to the device sending this event.
  - messageId: (string) - Unique identifier for the device packet that the event came in.
  - eventId: (string) - Unique identifier for the device event that produced the event.
  - brokerType: (string) - Name of the broker type that produced the event.
  - ingestionTimestamp: (string) - ISO 8601-formatted time stamp showing when the message was ingested.
  - tenantId: (string) - Unique identifier of tenant.
  - deviceId: (string) - Unique identifier of the device that sent the event.

Event Body

The event body contains everything that was sent by the device. The rest of this catalog details the contents of events sent over the protocols we support.