How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Matomo SitesManager API

The Matomo SitesManager API exposes 53 operations of the Matomo Reporting API (module `SitesManager`). Site provisioning and configuration — add, update and delete tracked sites, retrieve JavaScript and image tracking codes, and manage global exclusions, currencies and timezones. The largest single surface in Matomo. Every operation is dispatched through the single `/index.php?module=API&method=SitesManager.` entrypoint on the customer's own Matomo instance, self-hosted or on Matomo Cloud. The OpenAPI 3.1.0 document is Matomo's own, generated by its first-party ApiReference plugin.

Matomo SitesManager API is one of 61 APIs that Matomo publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Analytics, Site Management, Provisioning, and Tracking Code. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 53 operations across 53 paths, and defines 4 schemas. It is described by OpenAPI 3.1.0, at version 1.0.0.

Requests are made against a single base URL, https://demo-proxy.innocraft.cloud/.

53 operations 53 paths 4 schemas 53 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0.0
Base URL
https://{matomo_host}/index.php
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Matomo SitesManager API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (MatomoToken). By default, every request must be authenticated.

  • MatomoToken — Paste your token generated from Personal Security. Swagger will send it as a Bearer token.

Paths & Operations 53

Across 53 paths, the API surfaces 53 operations — 53 GET. Each is listed below with its method, path, parameters, and response codes.

SitesManager 53

The SitesManager API gives you full control on Websites in Matomo (create, update and delete), and many methods to retrieve websites based on various attributes. This API lets you…

GET
/index.php?module=API&method=SitesManager.getJavascriptTag
Returns the JavaScript tracking tag for the given website.
SitesManager.getJavascriptTag 18 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getImageTrackingCode
Returns image link tracking code for a given site with specified options.
SitesManager.getImageTrackingCode 7 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesFromGroup
Returns all websites belonging to the specified group.
SitesManager.getSitesFromGroup 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesGroups
Returns the list of website groups, including the empty group if no group was specified for some websites.
SitesManager.getSitesGroups 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSiteFromId
Returns the website information for a single site: name, mainurl, timezone, currency, etc.
SitesManager.getSiteFromId 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSiteUrlsFromId
Returns the list of all URLs registered for the given website (mainurl + alias URLs).
SitesManager.getSiteUrlsFromId 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getAllSites
Returns all websites.
SitesManager.getAllSites 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getAllSitesId
Returns the list of all the website IDs registered.
SitesManager.getAllSitesId 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithAdminAccess
Returns the list of websites with the 'admin' access for the current user.
SitesManager.getSitesWithAdminAccess 5 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithMinimumAccess
Returns the list of websites where the current user has at least the provided access level.
SitesManager.getSitesWithMinimumAccess 6 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithViewAccess
Returns the list of websites with the 'view' access for the current user.
SitesManager.getSitesWithViewAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesWithAtLeastViewAccess
Returns the list of websites with the 'view' or 'admin' access for the current user.
SitesManager.getSitesWithAtLeastViewAccess 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithAdminAccess
Returns the list of website IDs with the 'admin' access for the current user.
SitesManager.getSitesIdWithAdminAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithViewAccess
Returns the list of website IDs with the 'view' access for the current user.
SitesManager.getSitesIdWithViewAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithWriteAccess
Returns the list of website IDs with the 'write' access for the current user.
SitesManager.getSitesIdWithWriteAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdWithAtLeastViewAccess
Returns the list of website IDs with the 'view' or 'admin' access for the current user.
SitesManager.getSitesIdWithAtLeastViewAccess 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSitesIdFromSiteUrl
Returns the list of website IDs associated with a URL.
SitesManager.getSitesIdFromSiteUrl 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.addSite
Add a website.
SitesManager.addSite 20 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSiteSettings
Returns the editable measurable settings metadata for a website.
SitesManager.getSiteSettings 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.deleteSite
Delete a website from the database, given its ID.
SitesManager.deleteSite 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.addSiteAliasUrls
Add a list of alias URLs to the given website.
SitesManager.addSiteAliasUrls 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setSiteAliasUrls
Set the list of alias URLs for the given website.
SitesManager.setSiteAliasUrls 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getIpsForRange
Get the start and end IP addresses for an IP address range.
SitesManager.getIpsForRange 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalExcludedIps
Sets IPs to be excluded from all websites. IPs can contain wildcards.
SitesManager.setGlobalExcludedIps 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalSearchParameters
Sets global Site Search keyword/category parameter names, to be used on websites which have not specified these values individually.
SitesManager.setGlobalSearchParameters 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSearchKeywordParametersGlobal
Returns the global site search keyword parameter names.
SitesManager.getSearchKeywordParametersGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getSearchCategoryParametersGlobal
Returns the global site search category parameter names.
SitesManager.getSearchCategoryParametersGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedQueryParameters
Returns the list of URL query parameters that are excluded for the given website
SitesManager.getExcludedQueryParameters 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedQueryParametersGlobal
Returns the list of URL query parameters that are excluded from all websites.
SitesManager.getExcludedQueryParametersGlobal 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedUserAgentsGlobal
Returns the list of user agent substrings to look for when excluding visits for all websites. If a visitor's user agent string contains one of these substrings, their visits will not be included.
SitesManager.getExcludedUserAgentsGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalExcludedUserAgents
Sets list of user agent substrings to look for when excluding visits.
SitesManager.setGlobalExcludedUserAgents 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedReferrers
Returns the list of URLs/hosts that should be ignored when detecting referrers for the given site.
SitesManager.getExcludedReferrers 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedReferrersGlobal
Returns the global list of URLs/hosts that should be ignored when detecting referrers.
SitesManager.getExcludedReferrersGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalExcludedReferrers
Sets list of URLs/hosts that should be ignored when detecting referrers.
SitesManager.setGlobalExcludedReferrers 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getKeepURLFragmentsGlobal
Returns whether the default global behavior is to keep URL fragments when tracking.
SitesManager.getKeepURLFragmentsGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setKeepURLFragmentsGlobal
Sets whether the default behavior should be to keep URL fragments when tracking or not.
SitesManager.setKeepURLFragmentsGlobal 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExcludedIpsGlobal
Returns the list of IPs that are excluded from all websites
SitesManager.getExcludedIpsGlobal 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getDefaultCurrency
Returns the default currency that will be set when creating a website through the API.
SitesManager.getDefaultCurrency 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setDefaultCurrency
Sets the default currency that will be used when creating websites.
SitesManager.setDefaultCurrency 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getDefaultTimezone
Returns the default timezone that will be set when creating a website through the API.
SitesManager.getDefaultTimezone 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setDefaultTimezone
Sets the default timezone that will be used when creating websites.
SitesManager.setDefaultTimezone 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.setGlobalQueryParamExclusion
Sets global query parameter exclusion based on the specified exclusion type.
SitesManager.setGlobalQueryParamExclusion 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getExclusionTypeForQueryParams
Gets the exclusion type, if the option is not present in the store then it infers the type based on if there are custom exclusions already defined.
SitesManager.getExclusionTypeForQueryParams 2 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.updateSite
Update an existing website.
SitesManager.updateSite 21 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getCurrencyList
Returns the list of supported currencies.
SitesManager.getCurrencyList 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getCurrencySymbols
Returns the list of currency symbols.
SitesManager.getCurrencySymbols 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.isTimezoneSupportEnabled
Returns whether timezone support is enabled on the server.
SitesManager.isTimezoneSupportEnabled 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getTimezonesList
Returns the list of supported timezones, grouped by continent.
SitesManager.getTimezonesList 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getTimezoneName
Returns a user-friendly label for a timezone.
SitesManager.getTimezoneName 4 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getUniqueSiteTimezones
Returns the list of unique timezones from all configured sites.
SitesManager.getUniqueSiteTimezones 1 param → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.renameGroup
Renames a website group across all sites that currently use it.
SitesManager.renameGroup 3 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getPatternMatchSites
Find websites matching the given pattern.
SitesManager.getPatternMatchSites 4 params → 200400401403404500default
GET
/index.php?module=API&method=SitesManager.getNumWebsitesToDisplayPerPage
Returns the number of websites to display per page.
SitesManager.getNumWebsitesToDisplayPerPage 1 param → 200400401403404500default

Schemas 4

The contract defines 4 schemas that model the data the API accepts and returns. The most detailed are Error (3 properties), GenericSuccess (3 properties), ErrorXml (1 property), GenericSuccessXml (1 property). Each schema is shown below with its type and property counts.

GenericSuccess
object
Generic Matomo success payload.
3 properties 2 required
GenericSuccessXml
object
Generic Matomo success payload in XML.
1 property 1 required
Error
object
Generic Matomo error payload.
3 properties 2 required
ErrorXml
object
Generic Matomo error payload in XML.
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

matomo-sites-manager-openapi.json Raw ↑

Other APIs Matomo publishes across the network.

Matomo Live API
Matomo Goals API
Matomo Segments API
Matomo Reporting API (index.php entrypoint)
Matomo Tracking API (matomo.php entrypoint)
Matomo TagManager API
Matomo UsersManager API
Matomo CrashAnalytics API
Matomo HeatmapSessionRecording API
Matomo FormAnalytics API
Matomo Referrers API
Matomo Funnels API
Where this information came from

This is an independent, third-party profile of Matomo SitesManager API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.