Matomo Ab Testing API

Exposes the AbTesting API for managing experiments, embedding experiment scripts, and reading experiment reports.

Business capability
A/B Test Execution BC-4280.50

Operations 17

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /index.php?module=API&method=AbTesting.getMetricsOverview Get overview metrics per experiment variation · Ab testing get metrics overview #
Ask an LLM
“Which variation is winning my A/B test so far?”
“Can I see summary metrics for every variation in an experiment side by side?”
Tell an agent
Show the variation overview for experiment {idExperiment} on site {idSite} for {period} {date}.
Compare all variations of experiment {idExperiment} for {date}.
GET /index.php?module=API&method=AbTesting.getMetricDetails Get detailed results for one success metric · Ab testing get metric details #
Ask an LLM
“How did each variation do on one specific success metric, like conversions?”
“Can I drill into a single metric's detailed report for an experiment?”
Tell an agent
Show detailed {successMetric} results for experiment {idExperiment} on site {idSite} for {period} {date}.
Break down the {successMetric} metric of experiment {idExperiment} on {date}.
GET /index.php?module=API&method=AbTesting.addExperiment Create an A/B test experiment · Ab testing add experiment #
Ask an LLM
“How do I set up a new A/B test with variations and success metrics?”
“What do I need to define before creating an experiment, like a hypothesis and targeting?”
Tell an agent
Create experiment {name} on site {idSite} with hypothesis {hypothesis}, variations {variations} and success metrics {successMetrics}.
Set up a new A/B test called {name} described as {description} targeting {includedTargets}.
GET /index.php?module=API&method=AbTesting.updateExperiment Update an experiment's configuration · Ab testing update experiment #
Ask an LLM
“Can I change the confidence threshold or traffic share of an existing experiment?”
“What can I edit on an experiment after I've created it?”
Tell an agent
Set the confidence threshold of experiment {idExperiment} on site {idSite} to {confidenceThreshold}.
Include {percentageParticipants} percent of visitors in existing experiment {idExperiment}.
GET /index.php?module=API&method=AbTesting.startExperiment Start an experiment now · Ab testing start experiment #
Ask an LLM
“Can I launch an A/B test immediately instead of waiting for its start date?”
“What starts an experiment running right away?”
Tell an agent
Start experiment {idExperiment} on site {idSite} now.
Launch A/B test {idExperiment} immediately.
GET /index.php?module=API&method=AbTesting.finishExperiment Finish an experiment · Ab testing finish experiment #
Ask an LLM
“How do I end an A/B test so it stops collecting new data?”
“Does finishing an experiment stop new tracking requests from counting?”
Tell an agent destructive · confirm first
Finish experiment {idExperiment} on site {idSite}.
Stop A/B test {idExperiment} from accepting new tracking requests.
GET /index.php?module=API&method=AbTesting.archiveExperiment Archive an experiment · Ab testing archive experiment #
Ask an LLM
“Can I hide an old experiment from reports and segments without deleting it?”
“What happens to an experiment once it's archived?”
Tell an agent destructive · confirm first
Archive experiment {idExperiment} on site {idSite}.
Move A/B test {idExperiment} to the archive so it leaves reports.
GET /index.php?module=API&method=AbTesting.getJsIncludeTemplate Get the A/B testing tracker script tag · Ab testing get js include template #
Ask an LLM
“What script tag do I add to my pages to load the A/B testing JavaScript?”
“Is there a ready include snippet for the experiments tracker?”
Tell an agent
Give me the script tag that includes the A/B testing tracker.
Get the JavaScript include template for experiments.
GET /index.php?module=API&method=AbTesting.getJsExperimentTemplate Get the JavaScript snippet for one experiment · Ab testing get js experiment template #
Ask an LLM
“What code do I embed on a page to run a specific experiment?”
“Can I get the per-experiment JavaScript snippet to paste into my site?”
Tell an agent
Get the JavaScript snippet that runs experiment {idExperiment} on site {idSite}.
Show the embed code for A/B test {idExperiment}.
GET /index.php?module=API&method=AbTesting.getAllExperiments List all experiments for a site · Ab testing get all experiments #
Ask an LLM
“Which A/B tests have ever been set up on my website?”
“Can I list every experiment for a site regardless of status?”
Tell an agent
List all experiments on site {idSite}.
Show every A/B test ever configured for website {idSite}.
GET /index.php?module=API&method=AbTesting.getActiveExperiments List currently active experiments · Ab testing get active experiments #
Ask an LLM
“Which A/B tests are running on my site right now?”
“Can I see only the experiments that are currently active?”
Tell an agent
List the active experiments on site {idSite}.
Show the A/B tests running right now on website {idSite}.
GET /index.php?module=API&method=AbTesting.getExperimentsByStatuses List experiments filtered by status · Ab testing get experiments by statuses #
Ask an LLM
“Can I list only finished or archived experiments?”
“How can I filter my experiments by one or more statuses?”
Tell an agent
List experiments on site {idSite} with status {statuses}.
Filter A/B tests on website {idSite} to statuses {statuses}.
GET /index.php?module=API&method=AbTesting.getExperiment Get one experiment's definition · Ab testing get experiment #
Ask an LLM
“What variations, targets and metrics does a particular experiment use?”
“Can I fetch a single experiment's full setup by ID?”
Tell an agent
Get the definition of experiment {idExperiment} on site {idSite}.
Show me how A/B test {idExperiment} is configured.
GET /index.php?module=API&method=AbTesting.deleteExperiment Permanently delete an experiment · Ab testing delete experiment #
Ask an LLM
“How do I permanently delete an A/B test?”
“Is deleting an experiment reversible, unlike archiving it?”
Tell an agent destructive · confirm first
Permanently delete experiment {idExperiment} on site {idSite}.
Remove A/B test {idExperiment} for good.
GET /index.php?module=API&method=AbTesting.getAvailableStatuses List valid experiment statuses · Ab testing get available statuses #
Ask an LLM
“What status values can an experiment have?”
“Which statuses can I use when filtering experiments?”
Tell an agent
List the valid experiment statuses for site {idSite}.
Show the possible A/B test status values on website {idSite}.
GET /index.php?module=API&method=AbTesting.getAvailableSuccessMetrics List success metrics available to experiments · Ab testing get available success metrics #
Ask an LLM
“Which success metrics, like goals or revenue, can I measure an experiment by?”
“What metrics can be assigned to an A/B test on my site?”
Tell an agent
List the success metrics I can assign to experiments on site {idSite}.
Show the measurable outcomes available for A/B tests on website {idSite}.
GET /index.php?module=API&method=AbTesting.getAvailableTargetAttributes List targeting attributes and rule types · Ab testing get available target attributes #
Ask an LLM
“Which page attributes can I target an experiment on, like URL or path?”
“What targeting rule types are supported for experiments?”
Tell an agent
List the target attributes and rule types for experiment targeting.
Show the options for deciding which pages an experiment runs on.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/matomo:matomo-ab-testing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

matomo-ab-testing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Matomo Reporting API for plugin Ab Testing API
  version: 1.0.0
  description: Exposes the AbTesting API for managing experiments, embedding experiment scripts, and reading experiment reports.
servers:
- url: https://demo-proxy.innocraft.cloud/
  description: Current Matomo instance
security:
- MatomoToken: []
tags:


# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/matomo/refs/heads/main/openapi/matomo-ab-testing-api-openapi.yml