Changelog

Changelog

Notable changes to Umami Cloud and the Umami Cloud API, including new features, endpoint changes, and deprecations, listed by date.

This page documents notable changes made to Umami Cloud (cloud.umami.is) and API (api.umami.is).

October 23, 2026#

Integrations

  • Added Integrations under Settings for Pro and Business plans. Connect a payment provider (Stripe, Paddle, Lemon Squeezy, Dodo Payments, Polar, or WooCommerce) to import payments and refunds as revenue, or Google Search Console to see search queries, clicks, and impressions for a website.
  • Payment providers have moved from Settings → Payment providers to Settings → Integrations.

API: Websites, links, and pixels

  • POST /api/websites, POST /api/links, and POST /api/pixels: Requests that supply an id already used by another website, link, pixel, board, team, or user now return 400 Bad Request with the message ID already in use.

October 16, 2026#

Error tracking

  • Added browser error tracking. Add data-errors="true" to your tracking script to capture uncaught exceptions and unhandled promise rejections, or report caught exceptions with umami.captureException(). Errors are grouped into issues under the new Errors tab for each website.

API: Errors

  • GET /api/websites/:websiteId/errors: Added — lists error issues.
  • GET /api/websites/:websiteId/errors/stats: Added — returns error totals and a daily trend.
  • GET /api/websites/:websiteId/errors/values: Added — lists the distinct values of an error field across issues.
  • GET /api/websites/:websiteId/errors/:issueId: Added — returns an error issue.
  • PATCH /api/websites/:websiteId/errors/:issueId: Added — changes the status of an error issue to unresolved, resolved, or ignored.
  • GET /api/websites/:websiteId/errors/:issueId/events: Added — lists the occurrences of an error issue.
  • GET /api/websites/:websiteId/errors/:issueId/events/:eventId: Added — returns an error occurrence.
  • GET /api/websites/:websiteId/errors/:issueId/values: Added — lists the distinct values of an error field for one issue.

API: Collection

  • POST /api/send: Accepts a new error payload type for error tracking. Error payloads are limited to 48,000 bytes and return 413 when larger, and 429 with a Retry-After header when the website's error quota is exceeded.

October 8, 2026#

API: Session replays

  • GET /api/websites/:websiteId/replays and GET /api/websites/:websiteId/replays/saved: Each replay now includes distinctIds, the list of distinct IDs linked to the replay's session.

API: Goals

  • POST /api/websites/:websiteId/goals, POST /api/websites/:websiteId/goals/:goalId, and GET /api/websites/:websiteId/goals/stats: The goal type must be path or event. Other values return a validation error.

October 1, 2026#

API: Segments

  • POST /api/websites/:websiteId/segments and POST /api/websites/:websiteId/segments/:segmentId: name can no longer be empty. Cohorts also require an action type, action value, and date range.

September 24, 2026#

API: Date ranges

  • Added an optional period query parameter to use in place of startAt and endAt. Accepted values: today, 24h, 7d, 30d, 0day, 24hour, 0week, 7day, 0month, 30day, 90day, 0year, 6month, 12month.
  • period is calculated relative to the current time in the request's timezone (default UTC). Sending period together with startAt or endAt returns a validation error.
  • Supported endpoints:
    • GET /api/websites/:websiteId/stats, /pageviews, /metrics, /events, /events/series, and /annotations
    • GET /api/websites/:websiteId/sessions, /sessions/stats, /sessions/weekly, and /sessions/:sessionId/activity
    • GET /api/websites/:websiteId/event-data, /event-data/* (except /event-data/:eventId), /event-data-pivot, and /event-data-pivot/*
    • GET /api/websites/:websiteId/session-data/* and /session-data-pivot
    • GET /api/websites/charts

September 15, 2026#

API: Sessions

  • GET /api/websites/:websiteId/sessions/:sessionId: Response now includes distinctIds, the list of distinct IDs linked to the session.
  • If a session is linked to more than one distinct ID, distinctId is omitted and the session is no longer merged with other sessions for those IDs. This also applies to GET /api/websites/:websiteId/sessions/:sessionId/activity.

September 10, 2026#

MCP

  • Added a remote Model Context Protocol server at https://cloud.umami.is/mcp. Connect Claude, ChatGPT, Cursor, and other MCP clients to ask questions about your website traffic in natural language. See MCP for setup instructions.
  • Authenticate with your existing Cloud API key using an Authorization: Bearer api_<key> header (or x-umami-api-key). The same subscription requirements and website/team permissions as the Cloud API apply.
  • All tools are read-only and cover stats, traffic, metrics, realtime, events, sessions, annotations, segments, funnels, goals, journeys, retention, attribution, revenue, and performance.

September 9, 2026#

API: Reports

  • POST /api/reports/* report endpoints and GET/POST/DELETE /api/reports are Deprecated in favor of the website-scoped GET endpoints below. Existing clients can keep calling the old URLs with the same requests and responses. No removal date has been set.
  • GET /api/websites/:websiteId/reports: Deprecated. Use the funnels and goals endpoints to list saved definitions.
  • New endpoints take startAt and endAt (epoch milliseconds), optional timezone and unit, and the standard filter parameters as query parameters. The report envelope is no longer used.
Deprecated endpointReplacement
POST /api/reports/attributionGET /api/websites/:websiteId/attribution
POST /api/reports/breakdownGET /api/websites/:websiteId/breakdown
POST /api/reports/funnelGET /api/websites/:websiteId/funnels/stats
POST /api/reports/goalGET /api/websites/:websiteId/goals/stats
POST /api/reports/heatmapGET /api/websites/:websiteId/heatmaps
POST /api/reports/journeyGET /api/websites/:websiteId/journeys
POST /api/reports/performanceGET /api/websites/:websiteId/performance/stats, /performance/chart, /performance/metrics
POST /api/reports/retentionGET /api/websites/:websiteId/retention
POST /api/reports/revenueGET /api/websites/:websiteId/revenue/stats, /revenue/chart, /revenue/metrics
POST /api/reports/utmGET /api/websites/:websiteId/utm/metrics

API: Funnels

  • GET /api/websites/:websiteId/funnels: Added — lists saved funnels.
  • POST /api/websites/:websiteId/funnels: Added — creates a saved funnel.
  • GET /api/websites/:websiteId/funnels/:funnelId: Added — returns a saved funnel.
  • POST /api/websites/:websiteId/funnels/:funnelId: Added — updates a saved funnel.
  • DELETE /api/websites/:websiteId/funnels/:funnelId: Added — deletes a saved funnel.
  • GET /api/websites/:websiteId/funnels/:funnelId/stats: Added — calculates a saved funnel.
  • GET /api/websites/:websiteId/funnels/stats: Added — calculates a funnel from steps and window without saving it.

API: Goals

  • GET /api/websites/:websiteId/goals: Added — lists saved goals.
  • POST /api/websites/:websiteId/goals: Added — creates a saved goal.
  • GET /api/websites/:websiteId/goals/:goalId: Added — returns a saved goal.
  • POST /api/websites/:websiteId/goals/:goalId: Added — updates a saved goal.
  • DELETE /api/websites/:websiteId/goals/:goalId: Added — deletes a saved goal.
  • GET /api/websites/:websiteId/goals/:goalId/stats: Added — calculates a saved goal.
  • GET /api/websites/:websiteId/goals/stats: Added — calculates a goal from type and value without saving it.

API: Websites

  • GET /api/websites/:websiteId/attribution: Added — returns attribution data by model, type, and step.
  • GET /api/websites/:websiteId/breakdown: Added — returns a breakdown by the given fields.
  • GET /api/websites/:websiteId/heatmaps: Added — returns heatmap data by urlPath and mode.
  • GET /api/websites/:websiteId/journeys: Added — returns user journeys by steps, startStep, endStep, and eventType.
  • GET /api/websites/:websiteId/retention: Added — returns retention data.
  • GET /api/websites/:websiteId/performance/stats: Added — returns a summary of all Web Vitals metrics.
  • GET /api/websites/:websiteId/performance/chart: Added — returns chart data for one metric (lcp | inp | cls | fcp | ttfb).
  • GET /api/websites/:websiteId/performance/metrics: Added — returns a performance breakdown by type (path | title | device | browser).
  • GET /api/websites/:websiteId/utm/metrics: Added — returns UTM metrics for one type (utm_source | utm_medium | utm_campaign | utm_term | utm_content).

September 3, 2026#

Annotations

  • Added annotations, which let you pin dated notes (deploys, campaign launches, outages) to a website's traffic chart. Available from the Notes button below the Overview chart.
  • Annotations appear as markers on the chart and are visible on shared and public dashboards.

API: Annotations

  • GET /api/websites/:websiteId/annotations: Added — lists annotations for a website.
  • POST /api/websites/:websiteId/annotations: Added — creates an annotation.
  • GET /api/websites/:websiteId/annotations/:annotationId: Added — returns a single annotation.
  • POST /api/websites/:websiteId/annotations/:annotationId: Added — updates an annotation.
  • DELETE /api/websites/:websiteId/annotations/:annotationId: Added — deletes an annotation.

September 1, 2026#

API: API Keys

  • GET /api/me/api-keys: Added — lists your API keys.
  • POST /api/me/api-keys: Added — creates an API key.
  • DELETE /api/me/api-keys/:keyId: Added — deletes an API key.
  • GET /api/me: Response now includes authType and, when you authenticate with an API key, apiKey.

June 6, 2026#

Cloud

  • Collect endpoint changed to gateway.umami.is.

June 1, 2026#

Heatmaps

  • Added path filtering to heatmap pages.

May 28, 2026#

API: Revenue

  • GET /api/websites/:websiteId/revenue/chart: Added — returns revenue chart data for a given date range and currency.
  • GET /api/websites/:websiteId/revenue/stats: Added — returns revenue statistics with optional period-over-period comparison.
  • GET /api/websites/:websiteId/revenue/metrics: Added — returns revenue breakdown by type (country | region | referrer | channel).
  • GET /api/websites/:websiteId/revenue/sessions: Added — returns paginated sessions with revenue data.

API: Websites

  • GET /api/websites/:websiteId/recorder: Added — returns the recorder configuration for a website. Used by the tracker to initialize session replay and heatmap collection. Requires no authentication.
  • POST /api/websites/:websiteId: replayConfig is now a nested object. replayEnabled has moved inside replayConfig.

May 12, 2026#

Revenue

  • Added cumulative mode to revenue charts.
  • Improved revenue query performance.

May 8, 2026#

Events

  • Added a table/card view toggle to data grids.
  • Event chart labels now stay hidden when changing date ranges.

May 7, 2026#

Heatmaps

  • Added heatmap reports, including snapshot-based rendering.
  • Added share-page options for filtering and theme enforcement.

Cloud

  • Added sorting to website, board, link, pixel, team, and admin tables.

May 5, 2026#

Heatmaps

  • Added scroll heatmaps.

May 4, 2026#

API: Events

  • GET /api/websites/:websiteId/event-data-pivot: Added — returns event data in a pivoted format with properties as parallel arrays.

API: Sessions

  • GET /api/websites/:websiteId/session-data-pivot: Added — returns session data in a pivoted format with properties as parallel arrays.
  • GET /api/websites/:websiteId/session-data/stats: Added — returns aggregated activity statistics for sessions grouped by a property value.
  • GET /api/websites/:websiteId/session-data/properties: Added propertyName parameter to filter results to a specific property.
  • GET /api/websites/:websiteId/session-data/values: Added dataType parameter to filter results by data type.

April 29, 2026#

Session Data

  • Added session-data screens and filtering.

April 27, 2026#

Heatmaps

  • Added click heatmaps.

April 24, 2026#

Event Data

  • Added event-data property filtering.
  • Added support for array, boolean, and date event-data properties.

March 25, 2026#

Funnels

  • Added per-step filters to funnels.
  • Added wildcard support for goal reports.

March 23, 2026#

Sharing

  • Added new share-screen options.

March 15, 2026#

Performance

  • Added rating badges to performance report metrics.

March 11, 2026#

API: Websites

  • GET /api/websites/:websiteId/daterange: Added — returns the earliest and latest date range of collected data for a website.

API: Events

  • GET /api/websites/:websiteId/events/stats: Added — returns event statistics with optional period-over-period comparison.

API: Links

  • POST /api/links: Added — creates a link.

API: Pixels

  • POST /api/pixels: Added — creates a pixel.

API: Reports

  • POST /api/reports/goal: Renamed from POST /api/reports/goals (singular path).
  • POST /api/reports/performance: Added — performance report type supporting LCP, INP, CLS, FCP, and TTFB metrics.
  • POST /api/reports/revenue: Added compare parameter. Response now includes arpu and comparison in the total object, and new region, referrer, and channel breakdown arrays.

March 10, 2026#

Boards

  • Added separate board details and design flows.
  • Improved the board editor layout and component picker.

March 9, 2026#

Sharing

  • Added sharing to pixel and link detail pages.

March 4, 2026#

Boards

  • Added text blocks for free-form content on boards.

March 3, 2026#

Session Replay

  • Added session replay tables, filters, and replay modal.

Revenue

  • Added AOV and ARPU metrics to the revenue page.

March 2, 2026#

API: Events

  • GET /api/websites/:websiteId/event-data: Added

February 13, 2026#

Boards

  • Added personal dashboard flow and per-component website selection.

February 12, 2026#

Boards

  • Added board selector to the top navigation.
  • Added link and pixel selectors to the top navigation.

February 8, 2026#

Performance

  • Added Web Vitals performance tracking for LCP, INP, CLS, FCP, and TTFB.

February 4, 2026#

API: Share

  • Added share API docs here.

November 13, 2025#

API: Realtime

  • GET /api/realtime/:websiteId: Removed timezone parameter. Response will always return in UTC across all datasets.

October 7, 2025#

API: Filters

  • Changed filter url to path.
  • Changed filter host to hostname.

API: Websites

  • GET /websites/[id]/metrics: The type parameter url has been changed to path.
  • GET /websites/[id]/stats: The response data structure has changed.

API: Events

  • GET /event-data/values: The eventName query parameter has been changed to event.

API: Reports

  • POST /reports: The insights report has been changed to breakdown.

September 9, 2024#

API: Websites

  • GET /websites/[id]/pageviews: Fixed region parameter to optional.
  • GET /websites/[id]/events: Changed result set to website event details within a given time range.
  • GET /websites/[id]/events/series: Added event metrics endpoint (previously GET /websites/[id]/events).

API: Event Data

  • GET /event-data/events: Moved to /websites/[id]/event-data/events.
  • GET /event-data/fields: Moved to /websites/[id]/event-data/fields.
  • GET /event-data/stats: Moved to /websites/[id]/event-data/stats.
  • GET /websites/[id]/event-data/values: Added.

API: Sessions

  • GET /websites/:websiteId/sessions: Added.
  • GET /websites/:websiteId/sessions/stats: Added.
  • GET /websites/:websiteId/sessions/:sessionId: Added.
  • GET /websites/:websiteId/sessions/:sessionId/activity: Added.
  • GET /websites/:websiteId/sessions/:sessionId/properties: Added.
  • GET /websites/:websiteId/session-data/properties: Added.
  • GET /websites/:websiteId/session-data/values: Added.

May 23, 2024#

API: Websites

  • GET /websites/[id]/stats: Renamed change to prev.

March 27, 2024#

API: Websites

  • GET /websites/[id]/stats: Renamed uniques to visitors. Added visits.

February 16, 2024#

API: Websites

  • POST /websites: Added teamId as an optional parameter.

API: Teams

  • /teams/[id]/websites/[websiteId]: Deprecated.
  • GET /teams/[id]/users/[userId]: Added.

API: Reports

  • GET /reports: Added websiteId and teamId as query parameters.