Events
Operations around Events and Event data.
Endpoints
GET /api/websites/:websiteId/events
GET /api/websites/:websiteId/event-data/:eventId
GET /api/websites/:websiteId/event-data/events
GET /api/websites/:websiteId/event-data/fields
GET /api/websites/:websiteId/event-data/properties
GET /api/websites/:websiteId/event-data/values
GET /api/websites/:websiteId/event-data/statsFilters
All Endpoints marked with filters can now be filtered with the parameters below.
Parameters
path: (string | optional) Name of URL.referrer: (string | optional) Name of referrer.title: (string | optional) Name of page title.query: (string | optional) Name of query parameter.browser: (string | optional) Name of browser.os: (string | optional) Name of operating system.device: (string | optional) Name of device (ex. Mobile)country: (string | optional) Name of country.region: (string | optional) Name of region/state/province.city: (string | optional) Name of city.hostname: (string | optional) Name of hostname.tag: (string | optional) Name of tag.segment: (uuid | optional) UUID of segment.cohort: (uuid | optional) UUID of cohort.
GET /api/websites/:websiteId/events
Gets website event details within a given time range.
Parameters
startAt: (number) Timestamp (in ms) of starting date.endAt: (number) Timestamp (in ms) of end date.search: (string | optional) Search text.page: (optional number, default 1) Determines page.pageSize: (number | optional, default 20) Determines how many results to return.filters: Can accept filter parameters.
Sample response
{
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"createdAt": "2025-10-15T16:26:28Z",
"hostname": "umami.is",
"urlPath": "/docs/api",
"urlQuery": "",
"referrerPath": "",
"referrerQuery": "",
"referrerDomain": "",
"country": "US",
"city": "Scott",
"device": "desktop",
"os": "Mac OS",
"browser": "chrome",
"pageTitle": "API – Docs - Umami",
"eventType": 1,
"eventName": "",
"hasData": 0
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"createdAt": "2025-10-15T16:26:23Z",
"hostname": "umami.is",
"urlPath": "/docs/sessions",
"urlQuery": "",
"referrerPath": "/docs/distinct-ids",
"referrerQuery": "",
"referrerDomain": "umami.is",
"country": "PL",
"city": "Warsaw",
"device": "desktop",
"os": "Mac OS",
"browser": "chrome",
"pageTitle": "Sessions – Docs - Umami",
"eventType": 2,
"eventName": "login-button-header",
"hasData": 0
}
],
"count": 2,
"page": 1,
"pageSize": 20
}GET /api/websites/:websiteId/event-data/:eventId
Gets event-data for a individual event
Sample response
[
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"eventId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"urlPath": "/",
"eventName": "revenue-demo",
"dataKey": "currency",
"stringValue": "USD",
"numberValue": null,
"dateValue": null,
"dataType": 1,
"createdAt": "2025-10-10T12:31:03Z"
},
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"eventId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"urlPath": "/",
"eventName": "revenue-demo",
"dataKey": "revenue",
"stringValue": "40.0000",
"numberValue": 40,
"dateValue": null,
"dataType": 2,
"createdAt": "2025-10-10T12:31:03Z"
}
]GET /api/websites/:websiteId/event-data/events
Gets event data names, properties, and counts
Parameters
startAt: (number) Timestamp (in ms) of starting date.endAt: (number) Timestamp (in ms) of end date.event: (string | optional) Event name filter.filters: Can accept filter parameters.
Sample response
[
{
"eventName": "button-click",
"propertyName": "id",
"dataType": 1,
"total": 4
},
{
"eventName": "button-click",
"propertyName": "name",
"dataType": 1,
"total": 4
},
{
"eventName": "track-product",
"propertyName": "price",
"dataType": 2,
"total": 2
}
]GET /api/websites/:websiteId/event-data/fields
Gets event data property and value counts within a given time range.
Parameters
startAt: (number) Timestamp (in ms) of starting date.endAt: (number) Timestamp (in ms) of end date.filters: Can accept filter parameters.
Sample response
[
{
"propertyName": "age",
"dataType": 2,
"value": "33",
"total": 1
},
{
"propertyName": "age",
"dataType": 2,
"value": "31",
"total": 4
},
{
"propertyName": "gender",
"dataType": 1,
"value": "female",
"total": 4
},
{
"propertyName": "gender",
"dataType": 1,
"value": "male",
"total": 1
}
]GET /api/websites/:websiteId/event-data/properties
Gets event name and property counts for a website.
Parameters
startAt: (number) Timestamp (in ms) of starting date.endAt: (number) Timestamp (in ms) of end date.filters: Can accept filter parameters.
Sample response
[
{
"eventName": "revenue-demo",
"propertyName": "revenue",
"total": 122
},
{
"eventName": "revenue-demo",
"propertyName": "currency",
"total": 122
}
]GET /api/websites/:websiteId/event-data/values
Gets event data counts for a given event and property
Parameters
startAt: (number) Timestamp (in ms) of starting date.endAt: (number) Timestamp (in ms) of end date.event: (string) Event name.propertyName: (string) Property name.filters: Can accept filter parameters.
Sample response
[
{
"value": "Male",
"total": 28
},
{
"value": "Female",
"total": 26
}
]GET /api/websites/:websiteId/event-data/stats
Gets aggregated website events, properties, and records within a given time range.
Parameters
startAt: (number) Timestamp (in ms) of starting date.endAt: (number) Timestamp (in ms) of end date.filters: Can accept filter parameters.
Sample response
[
{
"events": 16,
"properties": 13,
"records": 26
}
]