> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brew.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Explore Per-Contact Engagement

> Use the unified event explorer (GET /v1/analytics/events) to pull a single contact's full engagement timeline across email, automation, trigger, and inbound domains.

`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` / `sendId` to slice the whole brand. Requires the `emails` scope.

Every delivery event attaches to the `sendId` it came from, so you can also scope the feed to a single send. To pull just one send's per-recipient events, read that send with `GET /v1/analytics/sends?sendId=…&include=events`. See [Monitor campaign sends](/api-reference/guides/monitor-campaign-sends).

When `from`/`to` are omitted the API defaults to the last 7 days. The response carries `{ data, pagination, range }`.

## One Contact's Timeline

<CodeGroup>
  ```bash curl theme={null}
  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"
  ```

  ```ts SDK theme={null}
  import { createBrewClient } from '@brew.new/sdk'

  const brew = createBrewClient({ apiKey: process.env.BREW_API_KEY! })

  const { data, range } = await brew.analytics.events({
    recipientEmail: 'jane@example.com',
  })
  for (const event of data) {
    console.log(event.occurredAt, event.domain, event.eventType, event.emailName)
  }
  ```
</CodeGroup>

## Export a Full Timeline

The SDK auto-pager walks every page so you never touch the cursor:

```ts theme={null}
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

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

// Everything that happened inside one automation
const { data: runEvents } = await brew.analytics.events({
  automationId: 'auto_welcome',
})

// Every event from one campaign send
const { data: sendEvents } = await brew.analytics.events({
  sendId: 'snd_8fK2mQ4p',
})
```

Each `EventRow` carries `domain`, `eventType`, `recipientEmail?`, `sendId?`, `emailId?`/`emailName?`, `automationId?`/`automationName?`, `nodeId?`, `mode?` (`live` | `test`), and a human `summary?`.

## See Also

* `GET /v1/analytics/events` in the [Public API v1 reference](/api-reference/api/api-introduction) (sidebar): full schema + filters.
* [Reading analytics](/analytics/reading-analytics): the dashboard view of the same data.
* [Pagination](/api-reference/api/pagination): cursor semantics.

## 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:

<Tabs>
  <Tab title="Self-Service Tools">
    <CardGroup cols="2">
      <Card title="Search Documentation" icon="magnifying-glass" color="#c44925">
        Type in the "Ask any question" search bar at the top left to instantly find relevant documentation pages.
      </Card>

      <Card title="ChatGPT/Claude Integration" icon="robot" color="#c44925">
        Click "Open in ChatGPT" at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Talk to Our Team">
    <CardGroup cols="2">
      <Card title="Schedule a Call" icon="calendar" color="#c44925" href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1iYoRUG1J792XQpbuQLjSRRDupr7MwraFK-HQRCtTYdBmrQi8nZu2qXfzKQigb8gbKJK3KN3-R">
        Book time with our founders for personalized guidance on strategy, best practices, or complex implementation questions.
      </Card>

      <Card title="Call Us Directly" icon="phone" color="#c44925">
        Need immediate assistance? Reach us at **+1-(332)-203-2145** for urgent issues or time-sensitive questions.
      </Card>

      <Card title="Slack Channel" icon="slack" color="#c44925">
        Our preferred support channel. You'll receive an invite after signup for direct founder support and fast responses.
      </Card>

      <Card title="Email Support" icon="envelope" color="#c44925" href="mailto:support@brew.new">
        Contact us at **[support@brew.new](mailto:support@brew.new)** for detailed inquiries or if you prefer not to use Slack.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
