Skip to main content
GET /v1/analytics/events is a unified event feed across four domains — email, automation, trigger, and inbound. Filter by recipientEmail to get one contact’s complete engagement timeline, or by eventType / automationId to slice the whole brand. Requires the emails scope. When from/to are omitted the API defaults to the last 7 days. The response carries { events, pagination, range }.

One contact’s timeline

curl -G "https://brew.new/api/v1/analytics/events" \
  -H "Authorization: Bearer $BREW_API_KEY" \
  --data-urlencode "recipientEmail=jane@example.com" \
  --data-urlencode "limit=100"

Export a full timeline

The SDK auto-pager walks every page so you never touch the cursor:
const timeline = []
for await (const event of brew.analytics.eventsAll({
  recipientEmail: 'jane@example.com',
  from: '2026-01-01T00:00:00.000Z',
})) {
  timeline.push(event)
}

Filter by event type or automation

// Every bounce in the brand over the last 7 days
const { events } = await brew.analytics.events({ eventType: 'bounced' })

// Everything that happened inside one automation
const { events: runEvents } = await brew.analytics.events({
  automationId: 'auto_welcome',
})
Each EventRow carries domain, eventType, recipientEmail?, emailId?/emailName?, automationId?/automationName?, nodeId?, mode? (live | test), and a human summary?.

See also

Need Help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

Search Documentation

Type in the “Ask any question” search bar at the top left to instantly find relevant documentation pages.

ChatGPT/Claude Integration

Click “Open in ChatGPT” at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.