HomeGuidesAPI ReferenceGuidesMRT APIConfiguration API
GitHubAirheads Developer Community
Guides

Alerts

🚧

Note

The Streaming API encoded message must be first decoded using CloudEvents proto file before decoding using the event specific proto file below

Alerts events provide real-time monitoring statistics for your Central network.

Endpoint

Connect to the following WebSocket endpoint to receive monitoring events:

wss://<host>/network-notifications/v1/alert-events

Ensure that you replace host value with your Central Base URL. Please check out our Getting Started guide for more information.

Proto File

Event messages published by Central are encoded using Google Protocol Buffers and sent over the WebSocket connection in serialized form.

To deserialize these messages, clients must use the following .proto file, which defines the schema used by Central when encoding the monitoring payloads.

syntax = "proto3";
package network_notifications.alerts.v1;

import "google/protobuf/timestamp.proto";

option java_outer_classname = "AlertStreamingProto";
option java_package = "com.hpe.greenlake.network_notifications.alerts.v1";


/**
 * Main alert streaming message
 * This message represents a single alert event for real-time streaming
 *
 * Required fields: id, alert_id, tenant_id, tenant_name, name, category,
 *                  device_type, severity, time, operation, state, config_scope, summary
 * Optional fields: msp_id, msp_name, site_id, site_name, notes,
 *                  impacted_entities, additional_details, priority
 */
message AlertStreamingMessage {
  /**
   * Required. Unique identifier for this alert event instance.
   * Format: UUID (RFC 4122)
   * Example: "cadc836a-ef94-3a20-bc35-57e7351a5162"
   */
  string id = 1;

  /**
   * Required. Unique identifier for the alert definition/key.
   * Used to correlate multiple events for the same alert.
   * Format: UUID (RFC 4122)
   * Example: "re2q31336a-ef94-3a20-bc35-57e7351a5162"
   */
  string alert_id = 2;

  /**
   * Required. Tenant ID (Customer ID).
   * Used for multi-tenant filtering.
   * Format: 32-character hex string
   * Example: "aad30b82ee0a11ef806342e359fd2e63"
   */
  string tenant_id = 3;

  /**
   * Required. Tenant name for display purposes.
   * Max length: 255 characters
   * Example: "ABC Enterprise"
   */
  string tenant_name = 4;

  /**
   * Optional. Managed Service Provider ID (if applicable).
   * Format: 32-character hex string
   */
  optional string msp_id = 5;

  /**
   * Optional. Managed Service Provider name (if applicable).
   * Max length: 255 characters
   */
  optional string msp_name = 6;

  /**
   * Required. Human-readable alert name.
   * Max length: 255 characters
   * Example: "Storage Utilization", "AP Disconnected"
   */
  string name = 7;

  /**
   * Required. Alert category for classification.
   * Example: "System", "Security", "Network"
   */
  string category = 8;

  /**
   * Required. Device type associated with the alert.
   * Example: "Switch", "AP", "Gateway"
   */
  string device_type = 9;

  /**
   * Required. Alert severity level.
   * Allowed values: "Info", "Warning", "Minor", "Major", "Critical"
   */
  string severity = 10;

  /**
   * Required. Timestamp when the alert event occurred.
   */
  google.protobuf.Timestamp time = 11;

  /**
   * Required. Operation that triggered this alert event.
   * Allowed values: "Add", "Update", "Delete"
   */
  string operation = 12;

  /**
   * Required. Current alert status.
   * Allowed values: "Active", "Deferred", "Cleared"
   */
  string state = 13;

  /**
   * Optional. Site ID where the alert originated.
   * Example: "14076693093"
   */
  optional string site_id = 14;

  /**
   * Required. Configuration scope of the alert rule.
   * Example: "Global", "Site", "Group"
   */
  string config_scope = 15;

  /**
   * Required. Alert summary with contextual details.
   * Max length: 1024 characters
   * Example: "SAMPLE switch REB01HPE module MMC_TYPE_A storage had utilization 100%."
   */
  string summary = 16;

  /**
   * Optional. Site name where the alert originated.
   */
  optional string site_name = 17;

  /**
   * Optional. User-provided notes or annotations on the alert.
   * Max length: 2048 characters
   * Example: "This is a sample note."
   */
  optional string notes = 18;

  /**
   * Optional. Entities impacted by this alert (devices, clients).
   */
  ImpactedEntities impacted_entities = 19;

  /**
   * Optional. Additional context and metadata as dynamic key-value pairs.
   * Each entry represents one related entity or context object.
   * Examples:
   *   {"deviceSerial": "SG00KM7005", "hostname": "REB01HPESW601"}
   */
  repeated AdditionalDetail additional_details = 20;

  /**
   * Optional. Alert priority level.
   * Allowed values: "Unspecified", "Low", "Very Low", "Medium", "High", "Very High"
   */
  optional string priority = 21;
}

/**
 * Dynamic key-value pair container for additional context metadata.
 * Each entry represents one related entity or context object.
 */
message AdditionalDetail {
  map<string, string> entries = 1;
}

/**
 * Entities impacted by an alert.
 * Contains lists of affected device serials and client MACs.
 */
message ImpactedEntities {
  /**
   * Serial numbers of impacted devices.
   * Example: ["SG00KM7005", "CNXXYYZZZ"]
   */
  repeated string device_serial = 1;

  /**
   * MAC addresses of impacted clients.
   * Format: colon-separated hex (e.g., "AA:BB:CC:DD:EE:FF")
   */
  repeated string client_mac = 2;
}

Did this page help you?