Event Stream
The event stream is the queryable, pull-based companion to
Webhooks. Instead of receiving events pushed to your server,
you fetch them on demand — ideal for backfills, reconciliation, and audits.
Endpoints
GET /v1/events # list events (newest first, cursor-paginated)
GET /v1/events/{id} # a single event
Requires the events.read scope. Events are retained for a 60-day window.
What's in the stream
Activity across your academy — courses, lessons, quizzes, sessions, enrollments,
certificates, memberships, and payments — plus every internal notification and
email sent to students and instructors, each recorded as its specific cause event
notification.<type>.
Filtering
Filter by event type. Subscribe to a specific cause (e.g. one notification
type) or use notification.* for all notifications. The full list of notification
event types is available from GET /constraints → notification_event_types
(see Discovery).
curl "https://api.dwrrah.com/v1/events?type=session.booked&limit=50" \
-H "Authorization: Bearer dwr_live_…"Event shape
{
"id": "evt_99cc",
"type": "session.booked",
"created_at": "2026-03-01T12:00:00Z",
"api_version": "2026-01-01",
"academy_id": "ac_4f1b2c3d",
"data": { }
}Prefer webhooks for real-time reactions and the event stream for polling, backfills, and reconciliation. They share the same event shape.
Updated about 2 months ago
