Skip to content

Live event stream

GET /events/stream is a Server-Sent Events (SSE) endpoint that pushes your team’s email events as they happen, often the fastest way to watch delivery during development, and a good fit for live dashboards. For durable processing, use webhooks.

Terminal window
curl -N https://api.sendsignal.dev/events/stream \
-H "Authorization: Bearer ss_..." \
-H "Accept: text/event-stream"

Each SSE message’s data is the same envelope shape webhooks use, plus the event id:

id: 7f0a…
data: {"id":"7f0a…","type":"email.delivered","created_at":"…","data":{"email_id":"…"}}

By default the stream carries email.sent, email.delivered, email.bounced, email.complained, email.failed, email.delivery_delayed, email.opened, and email.clicked. Pass ?types=email.bounced,email.complained (comma-separated event types) to narrow it.

The stream sends a comment heartbeat every 15 seconds so idle connections stay alive. On reconnect, send the last event id you saw as the Last-Event-ID header (EventSource clients do this automatically) and up to one hour of missed events is replayed in order before live delivery resumes.