Skip to main content
The Rhombus WebSocket event stream delivers real-time notifications about everything happening in your organization. This guide covers the event structure, available entity types, and patterns for filtering and processing events.

Event Topic

All organizational events are published to a single topic:
Every create, update, and delete operation across your Rhombus organization emits an event on this topic.

Event Payload Structure

Each MESSAGE frame contains a JSON body with the following fields:

Core Fields

Event-specific detail (for example, the particulars of a policy alert) lives inside the update object. Its shape depends on the entity type, so read the keys present on update rather than assuming a fixed structure.

Change Types

Entity Types

The entity field indicates what kind of object changed. Common entity types include:
The entity types available depend on your organization’s configured devices and policies. Subscribe to /topic/change/{orgUuid} and log the entity field of each event to discover all available event types.
Start by filtering for POLICY_ALERT events, which are the most common use case. Every entity type is delivered on the same /topic/change/{orgUuid} topic — there is no server-side entity filter on the subscription, so filter client-side by inspecting the entity field in your message handler and ignoring the types you don’t need.

Inspecting Policy Alerts

When an event has entity: "POLICY_ALERT", the alert-specific detail is carried inside the update object. The shape of update depends on the entity type and is not a fixed public schema, so inspect the keys present on each alert rather than assuming particular fields:
To learn the structure of update for the entity types you care about, connect, subscribe, and log a few real events. The keys present depend on the entity type and may evolve, so treat update defensively.

Filtering Events

By Entity Type

Filter for specific event types to reduce noise:

By Change Type

React differently based on whether an event was created, updated, or deleted:

By Device

Filter events for a specific camera or sensor:

By Entity and Change Type

React to specific kinds of security events by combining the entity and type fields:

Enriching Events with REST API Data

WebSocket events contain minimal data for efficiency. Use the REST API to fetch additional details when needed:

Get Camera Name from Device UUID

Get Alert Details

Cache camera names locally to avoid excessive REST API calls. Camera names change infrequently, so a cache with a 5-minute TTL works well.

Output Formats

Formatted Alert Display

Raw JSON Output

For piping to other tools or logging systems:

Integration Patterns

Webhook Relay

Forward Rhombus events to your own webhook endpoint:

Slack Notifications

Send high-priority alerts to a Slack channel:

Database Logging

Persist events for historical analysis:
Last modified on July 8, 2026