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

# Get event summary

> Read hourly-aggregated event counts for an advertiser

`GET /api/v2/buyer/advertisers/{advertiserId}/events/summary`

Returns hourly-aggregated event counts for an advertiser, broken down by event type and hour. Use this for hour-grain conversion, click, and impression counts tracked through your own pixel or event sources — the day-grain delivery rollups live on [Get reporting metrics](/v2/buyer/reporting/tasks/get-reporting-metrics).

## Request

```bash theme={null}
curl "https://api.interchange.io/api/v2/buyer/advertisers/12345/events/summary?eventType=conversion&startHour=2026-03-27T14:00:00Z&endHour=2026-03-27T15:00:00Z" \
  -H "Authorization: Bearer $SCOPE3_API_KEY"
```

## Parameters

| Param          | Type          | Required | Notes                                                                                                           |
| -------------- | ------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| `advertiserId` | string (path) | Yes      | Advertiser the events belong to                                                                                 |
| `eventType`    | enum          | No       | `conversion`, `click`, `impression`, `measurement`, or `mmp`. When omitted, returns all types                   |
| `startHour`    | string        | No       | Inclusive, hour-aligned ISO 8601 (`2026-03-27T14:00:00Z`). Defaults to the start of the last completed UTC hour |
| `endHour`      | string        | No       | Exclusive, hour-aligned ISO 8601. Defaults to the end of the last completed UTC hour                            |

## Response

```json theme={null}
{
  "periodStart": "2026-03-27T14:00:00.000Z",
  "periodEnd": "2026-03-27T15:00:00.000Z",
  "entries": [
    {
      "eventHour": "2026-03-27T14:00:00.000Z",
      "eventType": "conversion",
      "eventCount": 1500
    }
  ],
  "totalEventCount": 1500
}
```

Each entry is one `(eventHour, eventType)` bucket. `totalEventCount` sums `eventCount` across every entry.

## Errors

* `400 VALIDATION_ERROR` — `startHour` or `endHour` is not hour-aligned, an unknown `eventType`, or a missing `advertiserId`.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Reporting tasks" href="/v2/buyer/reporting/tasks" icon="list-check">
    All reporting operations
  </Card>

  <Card title="Get reporting metrics" href="/v2/buyer/reporting/tasks/get-reporting-metrics" icon="chart-line">
    Day-grain delivery rollups
  </Card>

  <Card title="Reporting overview guide" href="/v2/guides/reporting-overview" icon="book">
    Hierarchy, metrics, and delivery flow
  </Card>
</CardGroup>
