Skip to main content
This page describes the TruU event structure, which is specified by JSON Schema files that are publicly available under the TruU Assets URL.
The schema files are published to a public S3 bucket and can be referenced directly at https://assets.truu.ai/json-schema/event/v2.20/event.json

Base rules

Formatting

  • An event record is a JSON structure.
  • All attribute names use the camelCase convention.
  • All enum values are UPPERCASE.
  • All letters in UUID, MAC address, IPv4, and IPv6 address values are lowercase.
  • All dates and timestamps are strings in UTC, formatted per ISO 8601 (the trailing Z is required).

Structure

Only one source of truth. Avoid duplicating the same information across multiple attributes.
Keep backward compatibility:
  • Keep the minimal set of data required.
  • Adding new sections and attributes is safe.
  • Avoid renaming, removing, or shuffling attributes.

JSON Schema

Parts of the JSON Schema

Contains the main event structure and common related objects, including common abstract objects and objects used in many places (such as Policy).Public URL: event.json
Contains specific event detail for the application authentication event.Public URL: auth-event.json
Contains specific event detail for the registration event.Public URL: reg-event.json
Contains specific event detail for the device event. Typically used by system and diagnostics events from the device.Public URL: device-event.json
Contains specific event detail for the asset heartbeat event.Public URL: asset-heartbeat-event.json

Other Structures

Specific structures for the general structures defined in the main schema definition.
A subtype of Event Entity. Typically represents a resource entity as the target of the action that initiated the event (see types in the main entity).Public URL: resource-event-entity.json
A subtype of Event Request.Public URL: http-event-request.json

How the TruU Platform Uses Schema Fields

The schema includes three related elements that serve different purposes for the platform.
  • Determines the Kafka topic onto which a message is published. Different platform and Next-Gen applications subscribe to a subset of Kafka topics, so the choice of Event Category affects which consumers process an event.
  • Determines the Elastic/OpenSearch index into which an event is saved. Heartbeat events are tracked separately from authentication and registration events, for instance, due to volume and velocity.