/  Yamcs HTTP API  /  Events  /  Subscribe Events

Subscribe EventsΒΆ

Receive event updates

WebSocket

This method requires to upgrade an HTTP connection to WebSocket. See details on how Yamcs uses WebSocket.

Use the message type events.

This method supports client-streaming. The reply on the first message includes the call identifier assigned by Yamcs. Ensure to specify this call identifier on subsequent messages, or Yamcs will assume that you are making a new unrelated call.

Input Type

interface SubscribeEventsRequest {

  // Yamcs instance name
  instance: string;

  // Filter query. See :doc:`../filtering` for how to write a filter query.
  //
  // Literal text search matches against the fields ``message``, ``source`` and
  // ``type``.
  //
  // Field comparisons can use any of the following fields:
  //
  // .. list-table::
  //     :widths: 25 25 50
  //
  //     * - ``message``
  //       - string
  //       -
  //     * - ``seqNumber``
  //       - number
  //       -
  //     * - ``severity``
  //       - enum
  //       - One of ``info``, ``watch``, ``warning``, ``distress``, ``critical`` or ``severe``.
  //     * - ``source``
  //       - string
  //       -
  //     * - ``type``
  //       - string
  //       -
  filter: string;
}

Output Type

interface Event {
  source: string;
  generationTime: string;  // RFC 3339 timestamp
  receptionTime: string;  // RFC 3339 timestamp
  seqNumber: number;
  type: string;
  message: string;
  severity: EventSeverity;

  // Set by API when event was posted by a user
  createdBy: string;

  // Additional properties
  extra: {[key: string]: string};
}

Related Types

enum EventSeverity {
  INFO = "INFO",
  WARNING = "WARNING",

  // Legacy, avoid use.
  ERROR = "ERROR",
  WATCH = "WATCH",

  // Placeholder for future WARNING constant.
  // (correctly sorted between WATCH and DISTRESS)
  //
  // Most clients can ignore, this state is here
  // to give Protobuf clients (Python Client, Yamcs Studio)
  // the time to add a migration for supporting both WARNING
  // and WARNING_NEW (Protobuf serializes the number).
  //
  // Then in a later phase, we move from:
  // WARNING=1, WARNING_NEW=4
  //
  // To:
  // WARNING_OLD=1, WARNING=4
  //
  // (which is a transparent change to JSON clients)
  WARNING_NEW = "WARNING_NEW",
  DISTRESS = "DISTRESS",
  CRITICAL = "CRITICAL",
  SEVERE = "SEVERE",
}