RODEO

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

TypeData
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