API Reference
Hanzo Analytics API
Web analytics API for tracking website traffic, events, sessions, and generating reports.
Web analytics API for tracking website traffic, events, sessions, and generating reports.
All Hanzo APIs share one bearer credential and common error and pagination conventions. See API conventions.
curl -H "Authorization: Bearer $HANZO_API_KEY" https://analytics.hanzo.ai
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/admin/users | List all users (admin only) |
GET | /v1/analytics/admin/websites | List all websites for a user (admin only) |
| Method | Endpoint | Description |
|---|
POST | /v1/analytics/auth/login | Log in with username and password |
POST | /v1/analytics/auth/logout | Log out and invalidate token |
POST | /v1/analytics/auth/verify | Verify current auth token |
POST | /v1/analytics/auth/sso | Exchange SSO credentials for a session token |
GET | /v1/analytics/heartbeat | Health check |
GET | /v1/analytics/scripts/telemetry | Get telemetry pixel script |
| Method | Endpoint | Description |
|---|
POST | /v1/analytics/send | Send a single event or identify payload |
POST | /v1/analytics/batch | Send a batch of events |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/websites/{websiteId}/events | Get paginated list of events |
GET | /v1/analytics/websites/{websiteId}/events/series | Get event metrics as a time series |
GET | /v1/analytics/websites/{websiteId}/event-data/events | Get event data grouped by event name |
GET | /v1/analytics/websites/{websiteId}/event-data/fields | Get event data fields |
GET | /v1/analytics/websites/{websiteId}/event-data/properties | Get event data properties |
GET | /v1/analytics/websites/{websiteId}/event-data/values | Get event data values for a property |
GET | /v1/analytics/websites/{websiteId}/event-data/stats | Get event data aggregate stats |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/me | Get current authenticated user info |
POST | /v1/analytics/me/password | Change current user password |
GET | /v1/analytics/me/teams | List teams for the current user |
GET | /v1/analytics/me/websites | List websites for the current user |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/websites/{websiteId}/pageviews | Get pageview and session time series |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/realtime/{websiteId} | Get realtime visitor data for the last 30 minutes |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/reports | List reports, optionally filtered by website or team |
POST | /v1/analytics/reports | Create a new report |
GET | /v1/analytics/reports/{reportId} | Get a report by ID |
POST | /v1/analytics/reports/{reportId} | Update a report |
DELETE | /v1/analytics/reports/{reportId} | Delete a report |
GET | /v1/analytics/websites/{websiteId}/reports | List reports for a specific website |
POST | /v1/analytics/reports/funnel | Run a funnel report |
POST | /v1/analytics/reports/insights | Run an insights report |
POST | /v1/analytics/reports/retention | Run a retention report |
POST | /v1/analytics/reports/goals | Run a goals report |
POST | /v1/analytics/reports/journey | Run a user journey report |
POST | /v1/analytics/reports/utm | Run a UTM report |
GET | /v1/analytics/reports/revenue | Get available revenue values for a website |
POST | /v1/analytics/reports/revenue | Run a revenue report |
POST | /v1/analytics/reports/attribution | Run an attribution report |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/websites/{websiteId}/sessions | Get paginated list of sessions |
GET | /v1/analytics/websites/{websiteId}/sessions/stats | Get aggregate session statistics |
GET | /v1/analytics/websites/{websiteId}/sessions/weekly | Get weekly session breakdown |
GET | /v1/analytics/websites/{websiteId}/sessions/{sessionId} | Get a single session by ID |
GET | /v1/analytics/websites/{websiteId}/sessions/{sessionId}/activity | Get activity log for a session |
GET | /v1/analytics/websites/{websiteId}/sessions/{sessionId}/properties | Get custom session data properties |
GET | /v1/analytics/websites/{websiteId}/session-data/properties | Get distinct session data property names |
GET | /v1/analytics/websites/{websiteId}/session-data/values | Get session data values for a property |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/share/{shareId} | Get a shared website by share ID (no auth required) |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/websites/{websiteId}/stats | Get aggregate statistics for a website |
GET | /v1/analytics/websites/{websiteId}/metrics | Get breakdown metrics by type (url, referrer, browser, os, device, country, event, channel, etc.) |
| Method | Endpoint | Description |
|---|
POST | /v1/analytics/teams | Create a new team |
POST | /v1/analytics/teams/join | Join a team using an access code |
GET | /v1/analytics/teams/{teamId} | Get team by ID (includes members) |
POST | /v1/analytics/teams/{teamId} | Update team (owner only) |
DELETE | /v1/analytics/teams/{teamId} | Delete team (owner only) |
GET | /v1/analytics/teams/{teamId}/users | List team members |
POST | /v1/analytics/teams/{teamId}/users | Add a user to a team |
GET | /v1/analytics/teams/{teamId}/users/{userId} | Get a team member |
POST | /v1/analytics/teams/{teamId}/users/{userId} | Update team member role (owner only) |
DELETE | /v1/analytics/teams/{teamId}/users/{userId} | Remove user from team |
GET | /v1/analytics/teams/{teamId}/websites | List websites belonging to a team |
| Method | Endpoint | Description |
|---|
POST | /v1/analytics/users | Create a new user (admin only) |
GET | /v1/analytics/users/{userId} | Get user by ID |
POST | /v1/analytics/users/{userId} | Update user |
DELETE | /v1/analytics/users/{userId} | Delete user (admin only) |
GET | /v1/analytics/users/{userId}/teams | List teams a user belongs to |
GET | /v1/analytics/users/{userId}/websites | List websites owned by a user |
GET | /v1/analytics/users/{userId}/usage | Get event usage breakdown for a user (admin only) |
| Method | Endpoint | Description |
|---|
GET | /v1/analytics/websites | List websites owned by current user |
POST | /v1/analytics/websites | Create a new website |
GET | /v1/analytics/websites/{websiteId} | Get website by ID |
POST | /v1/analytics/websites/{websiteId} | Update website |
DELETE | /v1/analytics/websites/{websiteId} | Delete website |
GET | /v1/analytics/websites/{websiteId}/active | Get count of active visitors |
GET | /v1/analytics/websites/{websiteId}/daterange | Get the date range of data available for a website |
POST | /v1/analytics/websites/{websiteId}/reset | Reset all data for a website |
POST | /v1/analytics/websites/{websiteId}/transfer | Transfer website ownership to another user or team |
GET | /v1/analytics/websites/{websiteId}/values | Get distinct values for a given column type |
Hanzo Analytics API guide · All Hanzo APIs · OpenAPI spec
How is this guide?