The Matomo platform, our public APIs, and maintaining backward compatibility #8125
Labels
Major
Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
not-in-changelog
For issues or pull requests that should not be included in our release changelog on matomo.org.
RFC
Indicates the issue is a request for comments where the author is looking for feedback.
Milestone
In this issue we shall describe what parts of the Piwik platform are publicly available for other developers to use. The goal of this issue ideally is to create a guide or page (likely on developer.piwik.org) to document this knowledge.
Up to date list of API's is now managed on our developer website. Please check there for an up to date list
https://developer.matomo.org/guides/apis
Our public APIs
We call these "Public APIs" but this term can be a bit confusing as it includes more than just APIs.
Everything below is considered a public API:
index.php
, URL structure?module=API&method=X.Y&format=...
, method names and parameter names are part of the API.piwik.php
, parameter names are part of the API.@api
in our sourcecode. (these docs are automatically generated on each commit.)core:archive
,core:update
,plugin:activate
,plugin:deactivate
,git:pull
,development:enable
,development:disable
,customvariables:set-max-custom-variables
.piwik.*
objectconfig/global.ini.php
are APIconfig/config.ini.php
libs/PiwikTracker/PiwikTracker.php
<- tracker API client directly used from this path (as we advise in our doc)misc/log-analytics/import_logs.py
<- Log Analytics scriptpiwik.js
is the minified JavaScript tracking client referenced in Tracking code in users' websites/js/
endpoint is sometimes used to serve the minified file ensuring caching of the file in browsers.Some other parts are sometimes considered public APIs but it is not a hard rule:
General_*
andCoreHome_*
keys, are part of the API and should not change.Deprecations and changes to any of these public APIs will be documented in the developer changelog #8127
The text was updated successfully, but these errors were encountered: