Streaming API
SSE for real-time scene monitoring.
GET /scenes/:id/stream
Headers: Authorization: Bearer <key>, Accept: text/event-stream
data: {"type":"beat_fired","beat_id":"uuid","data":{"sequence":1},"timestamp":"..."}
data: {"type":"sensor_reading","data":{"type":"delivery","metric":"delivered","value":true},"timestamp":"..."}
data:Empty data: lines are heartbeats (every 15s).
Event Types
| Type | Data |
|---|---|
beat_scheduled | { beat_id, sequence } |
beat_firing | { beat_id, sequence } |
beat_fired | { beat_id, sequence, drift_ms } |
beat_failed | { beat_id, sequence, error } |
beat_skipped | { beat_id, sequence, reason } |
sensor_reading | { type, metric, value, confidence } |
adaptation_triggered | { rule, reading } |
bounds_blocked | { beat_id, reason } |
scene_completed | { outcome } |
scene_aborted | {} |
Stream closes on scene completion. Standard SSE reconnection applies.
curl -N -H "Authorization: Bearer your-api-key" \
http://localhost:3000/scenes/uuid/stream