Stream Object

Use StreamObjects when a client needs synchronized awareness of Objects over time. The stream sends initial state for matching non-deleted Objects and then emits lifecycle updates as Objects are created, updated, deleted, or heartbeat messages are sent.

StreamObjects is a server-streaming RPC. For request/response access to Object data, use Search, Get, and Publish.

Stream Modes

Mode Behavior

OBJECT_STREAM_MODE_UNSPECIFIED

Send initial matching Objects, then continue with live updates.

OBJECT_STREAM_MODE_INITIAL_ONLY

Send the initial snapshot and close the stream.

OBJECT_STREAM_MODE_LIVE_ONLY

Skip initial state and emit only changes that happen after subscription.

Event Types

Event Meaning

OBJECT_EVENT_TYPE_INITIAL

Object existed when the stream was established.

OBJECT_EVENT_TYPE_CREATED

Object was newly created.

OBJECT_EVENT_TYPE_UPDATED

Object was modified.

OBJECT_EVENT_TYPE_DELETED

Object status was set to OBJECT_STATUS_DELETED.

OBJECT_EVENT_TYPE_HEARTBEAT

Keepalive message when heartbeat is configured.

Bandwidth Controls

Use projection when the full Object is larger than the consuming workflow needs. The minimal projection returns only the fields needed for basic tactical tracking: ID, status, position, affiliation, and provenance. Use a custom field mask when a client needs a narrower domain-specific view, such as maritime identity or aviation motion.

Minimal Shape

A request with no filter streams all Objects. Set projection and stream_mode to control payload size and which events are delivered.

{
  "projection": "OBJECT_PROJECTION_MODE_MINIMAL",
  "stream_mode": "OBJECT_STREAM_MODE_UNSPECIFIED"
}