This is a complete list of available classes:
API\Request— Dispatches API requests to the appropriate API method.
Access— Singleton that manages user access to Piwik resources.
Archive— The Archive class is used to query cached analytics statistics (termed "archive data").
ArchiveProcessor— Used by Archiver instances to insert and aggregate archive data.
ArchiveProcessor\Parameters— Contains the analytics parameters for the reports that are currently being archived.
AuthResult— Authentication result.
Auth\Password— Main class to handle actions related to password hashing and verification.
Category\Subcategory— Base type for subcategories.
Columns\Updater— Class that handles dimension updates
Common— Contains helper methods used by both Piwik Core and the Piwik Tracking engine.
Config— Singleton that provides read & write access to Piwik's INI configuration.
DataAccess\LogAggregator— Contains methods that calculate metrics by aggregating log data (visits, actions, conversions, ecommerce items).
DataTable— The primary data structure used to store analytics data in Piwik.
DataTable\BaseFilter— A filter is set of logic that manipulates a DataTable.
DataTable\Filter\AddColumnsProcessedMetrics— Adds processed metrics columns to a DataTable using metrics that already exist.
DataTable\Filter\AddColumnsProcessedMetricsGoal— Adds goal related metrics to a DataTable using metrics that already exist.
DataTable\Filter\AddSegmentByLabel— Executes a filter for each row of a DataTable and generates a segment filter for each row.
DataTable\Filter\AddSegmentByLabelMapping— Executes a filter for each row of a DataTable and generates a segment filter for each row.
DataTable\Filter\AddSegmentBySegmentValue— Converts for each row of a DataTable a segmentValue to a segment (expression).
DataTable\Filter\AddSegmentValue— Executes a filter for each row of a DataTable and generates a segment filter for each row.
DataTable\Filter\AddSummaryRow— Adds a summary row to DataTables that contains the sum of all other table rows.
DataTable\Filter\BeautifyRangeLabels— A DataTable filter that replaces range label columns with prettier, human-friendlier versions.
DataTable\Filter\BeautifyTimeRangeLabels— A DataTable filter that replaces range labels whose values are in seconds with prettier, human-friendlier versions.
DataTable\Filter\CalculateEvolutionFilter— A DataTable filter that calculates the evolution of a metric and adds it to each row as a percentage.
DataTable\Filter\ColumnCallbackAddColumn— Adds a new column to every row of a DataTable based on the result of callback.
DataTable\Filter\ColumnCallbackAddColumnPercentage— Calculates a percentage value for each row of a DataTable and adds the result to each row.
DataTable\Filter\ColumnCallbackAddColumnQuotient— Calculates the quotient of two columns and adds the result as a new column for each row of a DataTable.
DataTable\Filter\ColumnCallbackAddMetadata— Executes a callback for each row of a DataTable and adds the result as a new row metadata value.
DataTable\Filter\ColumnCallbackDeleteMetadata— Executes a callback for each row of a DataTable and removes the defined metadata column from each row.
DataTable\Filter\ColumnCallbackDeleteRow— Deletes all rows for which a callback returns true.
DataTable\Filter\ColumnCallbackReplace— Replaces one or more column values in each row of a DataTable with the results of a callback.
DataTable\Filter\ColumnDelete— Filter that will remove columns from a DataTable using either a blacklist, whitelist or both.
DataTable\Filter\ExcludeLowPopulation— Deletes all rows for which a specific column has a value that is lower than specified minimum threshold value.
DataTable\Filter\GroupBy— DataTable filter that will group DataTable rows together based on the results of a reduce function.
DataTable\Filter\Limit— Delete all rows from the table that are not in the given [offset, offset+limit) range.
DataTable\Filter\MetadataCallbackAddMetadata— Executes a callback for each row of a DataTable and adds the result to the row as a metadata value.
DataTable\Filter\MetadataCallbackReplace— Execute a callback for each row of a DataTable passing certain column values and metadata as metadata, and replaces row metadata with the callback result.
DataTable\Filter\Pattern— Deletes every row for which a specific column does not match a supplied regex pattern.
DataTable\Filter\PatternRecursive— Deletes rows that do not contain a column that matches a regex pattern and do not contain a subtable that contains a column that matches a regex pattern.
DataTable\Filter\PrependSegment— Executes a callback for each row of a DataTable and prepends each existing segment with the given segment.
DataTable\Filter\PrependValueToMetadata— Executes a callback for each row of a DataTable and prepends the given value to each metadata entry but only if the given metadata entry exists.
DataTable\Filter\ReplaceColumnNames— Replaces column names in each row of a table using an array that maps old column names new ones.
DataTable\Filter\ReplaceSummaryRowLabel— Replaces the label of the summary row with a supplied label.
DataTable\Filter\Sort— Sorts a DataTable based on the value of a specific column.
DataTable\Filter\Truncate— Truncates a DataTable by merging all rows after a certain index into a new summary row.
DataTable\Map— Stores an array of DataTables indexed by one type of DataTable metadata (such as site ID or period).
DataTable\Row— This is what a DataTable is composed of.
DataTable\Simple— A DataTable where every row has two columns: label and value.
Date— Utility class that wraps date/time related PHP functions.
Db— Contains SQL related helper functions for Piwik's MySQL database.
DbHelper— Contains database related helper functions.
Filesystem— Contains helper functions that deal with the filesystem.
FrontController— This singleton dispatches requests to the appropriate plugin Controller.
Http— Contains HTTP client related helper methods that can retrieve content from remote servers and optionally save to a local file.
IP— Contains IP address helper functions (for both IPv4 and IPv6).
Intl\Data\Provider\CurrencyDataProvider— Provides currency data.
Intl\Data\Provider\LanguageDataProvider— Provides language data.
Intl\Data\Provider\RegionDataProvider— Provides region related data (continents, countries, etc.).
Log— Logging utility class.
Measurable\Measurable— Provides access to individual measurables.
Menu\MenuAbstract— Base class for classes that manage one of Piwik's menus.
Menu\MenuAdmin— Contains menu entries for the Admin menu.
Menu\MenuTop— Contains menu entries for the Top menu (the menu at the very top of the page).
Metrics— This class contains metadata regarding core metrics and contains several related helper functions.
Metrics\Formatter— Contains methods to format metric values.
Metrics\Formatter\Html— Metrics formatter that formats for HTML output.
NoAccessException— Exception thrown when a user doesn't have sufficient access to a resource.
Nonce— Nonce class.
Notification— Describes a UI notification.
Notification\Manager— Posts and removes UI notifications (see Notification to learn more).
Option— Convenient key-value storage for user specified options and temporary data that needs to be persisted beyond one request.
Period— Date range representation.
Period\Range— Arbitrary date range representation.
Piwik— Main piwik helper class.
Plugin— Base class of all Plugin Descriptor classes.
Plugin\API— The base class of all API singletons.
Plugin\Archiver— The base class that should be extended by plugins that compute their own analytics data.
Plugin\Controller— Base class of all plugin Controllers.
Plugin\ControllerAdmin— Base class of plugin controllers that provide administrative functionality.
Plugin\Dimension\ActionDimension— Defines a new action dimension that records any information during tracking for each action.
Plugin\Dimension\ConversionDimension— Defines a new conversion dimension that records any visit related information during tracking.
Plugin\Dimension\VisitDimension— Defines a new visit dimension that records any visit related information during tracking.
Plugin\Manager— The singleton that manages plugin loading/unloading and installation/uninstallation.
Plugin\Menu— Base class of all plugin menu providers.
Plugin\Metric— Base type of metric metadata classes.
Plugin\ProcessedMetric— Base type for processed metrics.
Plugin\Report— Defines a new report.
Plugin\ReportsProvider— Get reports that are defined by plugins.
Plugin\Segment— Creates a new segment that can be used for instance within the \Piwik\Columns\Dimension::configureSegment() method.
Plugin\SettingsProvider— Base class of all plugin settings providers.
Plugin\Tasks— Base class for all Tasks declarations.
Plugin\ViewDataTable— The base class of all report visualizations.
Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite— The average number of seconds spent on the site per visit.
Plugins\CoreHome\Columns\Metrics\EvolutionMetric— Calculates evolution values for any other metric.
Plugins\CoreVisualizations\Metrics\Formatter\Numeric— A metrics formatter that prettifies metric values without returning string values.
Plugins\Diagnostics\DiagnosticService— Runs the Piwik diagnostics.
Plugins\Diagnostics\Diagnostic\DiagnosticResult— The result of a diagnostic.
Plugins\Login\SessionInitializer— Initializes authenticated sessions using an Auth implementation.
Plugins\MobileMessaging\SMSProvider— The SMSProvider abstract class is used as a base class for SMS provider implementations.
RankingQuery— The ranking query class wraps an arbitrary SQL query with more SQL that limits the number of results while aggregating the rest in an a new "Others" row.
Registry— Registry class.
Report\ReportWidgetConfig— Defines a widget config that is used to render a report.
Report\ReportWidgetFactory— Report widget factory.
ScheduledTask— Contains metadata referencing PHP code that should be executed at regular intervals.
Scheduler\Schedule\Daily— Daily class is used to schedule tasks every day.
Scheduler\Schedule\Hourly— Hourly class is used to schedule tasks every hour.
Scheduler\Schedule\Monthly— Monthly class is used to schedule tasks every month.
Scheduler\Schedule\Schedule— Describes the interval on which a scheduled task is executed.
Scheduler\Schedule\Weekly— Weekly class is used to schedule tasks every week.
Scheduler\Scheduler— Schedules task execution.
Scheduler\Task— Describes a task that should be executed on a given time.
Segment— Limits the set of visits Piwik uses when aggregating analytics data.
SettingsPiwik— Contains helper methods that can be used to get common Piwik settings.
SettingsServer— Contains helper methods that can be used to get information regarding the server, its settings and currently used PHP settings.
Settings\FieldConfig— Lets you configure a form field.
Settings\Plugin\SystemConfigSetting— Describes a system wide setting.
Settings\Plugin\SystemSetting— Describes a system wide setting.
Settings\Setting— Base setting type class.
Settings\Settings— Base class of all settings providers.
Singleton— The singleton base class restricts the instantiation of derived classes to one object only.
Site— Provides access to individual site entity data (including name, URL, etc.).
TaskScheduler— Manages scheduled task execution.
Translation\Translator— Translates messages.
Updater— Load and execute all relevant, incremental update scripts for Piwik core and plugins, and bump the component version numbers for completed updates.
Updater\Migration— Base class for migrations.
Updater\Migration\Db— Base class for a single database migration.
Updater\Migration\Db\Factory— Provides database migrations.
Updater\Migration\Factory— Migration factory to create various migrations that implement the Migration interface.
Updater\Migration\Plugin\Factory— Provides plugin migrations.
Updates— Base class for update scripts.
Url— Provides URL related helper methods.
UrlHelper— Contains less commonly needed URL helper methods.
Version— Piwik version information.
View— Encapsulates and manages a Twig template.
ViewDataTable\Config— Contains base display properties for ViewDataTables.
ViewDataTable\Factory— Provides a means of creating ViewDataTable instances by ID.
ViewDataTable\RequestConfig— Contains base request properties for ViewDataTable instances.
View\UIControl— Base type of UI controls.
Widget\Widget— Defines a new widget.
Widget\WidgetConfig— Configures a widget.
Widget\WidgetContainerConfig— Defines a new widget container.
Widget\WidgetsList— Manages the global list of reports that can be displayed as dashboard widgets.