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 CustomReports API

The Matomo CustomReports API exposes 13 operations of the Matomo Reporting API (module `CustomReports`). Build and read custom report definitions combining arbitrary dimensions and metrics. Every operation is dispatched through the single `/index.php?module=API&method=CustomReports.` 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 CustomReports 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, Custom Reports, and Reporting. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 13 operations across 13 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/.

13 operations 13 paths 4 schemas 13 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 CustomReports 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 13

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

CustomReports 13

Exposes Custom Reports configuration and reporting endpoints. Use it to create, duplicate, manage, and query custom report definitions and their archived data.

GET
/index.php?module=API&method=CustomReports.duplicateCustomReport
Duplicates a custom report to one or more websites.
CustomReports.duplicateCustomReport 4 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.addCustomReport
Creates a new custom report definition.
CustomReports.addCustomReport 11 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.updateCustomReport
Updates an existing custom report definition.
CustomReports.updateCustomReport 13 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getConfiguredReports
Returns all configured custom reports for a website.
CustomReports.getConfiguredReports 3 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getConfiguredReport
Returns a specific custom report configuration.
CustomReports.getConfiguredReport 3 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.deleteCustomReport
Deletes a custom report definition.
CustomReports.deleteCustomReport 3 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.pauseCustomReport
Pauses a custom report.
CustomReports.pauseCustomReport 3 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.resumeCustomReport
Resumes a paused custom report.
CustomReports.resumeCustomReport 3 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getAvailableCategories
Returns report categories and subcategories that can contain custom reports.
CustomReports.getAvailableCategories 2 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getAvailableReportTypes
Returns report types that can be used for custom reports.
CustomReports.getAvailableReportTypes 1 param → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getAvailableDimensions
Returns dimensions that can be used in custom reports.
CustomReports.getAvailableDimensions 2 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getAvailableMetrics
Returns metrics that can be used in custom reports.
CustomReports.getAvailableMetrics 2 params → 200400401403404500default
GET
/index.php?module=API&method=CustomReports.getCustomReport
Returns archived data for a configured custom report.
CustomReports.getCustomReport 10 params → 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-custom-reports-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 SitesManager API
Matomo TagManager API
Matomo UsersManager API
Matomo CrashAnalytics API
Matomo HeatmapSessionRecording API
Matomo FormAnalytics API
Matomo Referrers API
Where this information came from

This is an independent, third-party profile of Matomo CustomReports 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.