Delivery
A delivery is a routing configuration: publishers write state over HTTP, and deliveries decide which matching object updates go to subscribers. Clients connect to a delivery (most often over WebSocket); they do not subscribe to individual objects one by one unless the delivery’s object patterns say so.
Use separate deliveries when different clients need different feeds—for example a live dashboard that watches a chart namespace, a mobile app with a narrower pattern, or staging versus production channels. That keeps each connection scoped to the objects it should see instead of pushing every update to every subscriber.
Channel types#
Each delivery has a display name, a channel type, and objects patterns:
WebSocket (type 1)
Push matching updates to connected clients in real time.
HTTP (type 2)
Deliver updates over an HTTP-based channel.
File (type 3)
Write matching updates through a file delivery channel.
The objects list selects which object names are included (exact names or patterns such as *). Prefer narrow patterns so a subscriber only receives the streams it needs.
HTTP remains the source of truth for state. Delivery notifies consumers that something changed; they can always re-fetch the latest or a specific version when they need the authoritative value.
When to use these endpoints#
- Create a delivery once from a trusted environment before clients connect
- Change object patterns or channel type when the feed should grow or shrink
- List deliveries with a glob-style pattern when managing many channels
- Delete a delivery you no longer need (connected clients will stop receiving that feed)
For a first live subscribe loop, see Deliver and read state and WebSocket delivery.