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

The Matomo Goals API exposes 11 operations of the Matomo Reporting API (module `Goals`). Conversion goal management and goal reporting — create, update and delete goals, and read conversions, revenue and days/visits-to-conversion. Every operation is dispatched through the single `/index.php?module=API&method=Goals.` 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 Goals 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, Conversions, Goals, and Revenue. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

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

11 operations 11 paths 4 schemas 11 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 Goals 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 11

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

Goals 11

Goals API lets you Manage existing goals, via "updateGoal" and "deleteGoal", create new Goals via "addGoal", or list existing Goals for one or several websites via "getGoals" If y…

GET
/index.php?module=API&method=Goals.getGoal
Return a single goal.
Goals.getGoal 3 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.getGoals
Returns all goals for one or more websites.
Goals.getGoals 3 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.addGoal
Creates a goal for a website.
Goals.addGoal 11 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.updateGoal
Updates an existing goal without reprocessing already recorded conversions.
Goals.updateGoal 12 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.deleteGoal
Soft deletes a given Goal.
Goals.deleteGoal 3 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.getItemsSku
Returns ecommerce product metrics grouped by product SKU.
Goals.getItemsSku 6 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.getItemsName
Returns ecommerce product metrics grouped by product name.
Goals.getItemsName 6 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.getItemsCategory
Returns ecommerce product metrics grouped by product category.
Goals.getItemsCategory 6 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.get
Returns goal and ecommerce metrics, including new and returning visitor variants.
Goals.get 9 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.getDaysToConversion
Returns conversions grouped by the number of days between first visit and conversion.
Goals.getDaysToConversion 6 params → 200400401403404500default
GET
/index.php?module=API&method=Goals.getVisitsUntilConversion
Returns conversions grouped by the visit count before conversion.
Goals.getVisitsUntilConversion 6 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-goals-openapi.json Raw ↑

Other APIs Matomo publishes across the network.

Matomo Live 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
Matomo Funnels API
Where this information came from

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