WebSocket

A bounded batch window over a stream, not real-time delivery.

Read this first

A WebSocket run collects one bounded window of messages and loads it. It is a batch snapshot of a stream. If you need sub-second delivery, Ingest is the wrong tool and this page is telling you so deliberately.

Window bounds

A window ends at whichever comes first: until_idle_seconds, max_messages, max_seconds, or the run deadline. Always bound the window: an unbounded one is a run that never finishes.

Messages and errors

Each message yields records at message_path, after message_filter. A message matching error_message_path is an error. Ping/pong keeps the connection alive; a transport drop reconnects with bounded backoff and resubscribes.

Duplicates

Reconnects can replay. Duplicates are resolved by sequence_field when the protocol has one, and otherwise by primary key at merge time, never by hoping.

Credential proof

Connect, then read the first message.