Matomo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Matomo Reporting API for plugin Custom Alerts API
8 actions
8 updates
phrasing
extends
openapi/matomo-customalerts-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Matomo's API. It is a proposal applied on top of the contract, not a document Matomo publishes.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/index.php?module=API&method=CustomAlerts.getValuesForAlertInPast'].get
$.paths['/index.php?module=API&method=CustomAlerts.getAlert'].get
$.paths['/index.php?module=API&method=CustomAlerts.getAlerts'].get
$.paths['/index.php?module=API&method=CustomAlerts.addAlert'].get
$.paths['/index.php?module=API&method=CustomAlerts.editAlert'].get
$.paths['/index.php?module=API&method=CustomAlerts.deleteAlert'].get
$.paths['/index.php?module=API&method=CustomAlerts.getTriggeredAlerts'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Matomo Reporting API for plugin Custom Alerts API
version: 1.0.0
extends: openapi/matomo-customalerts-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 7
- target: $.paths['/index.php?module=API&method=CustomAlerts.getValuesForAlertInPast'].get
update:
x-apievangelist-phrasing:
intent: Get an alert's computed value for a past period
effect: read
questions:
- What value did my alert's metric have for each site in an earlier period?
- Can I check what an alert would have measured a few periods ago?
instructions:
- text: Get the values for alert {idAlert} from {subPeriodN} periods ago.
slots:
idAlert: query.idAlert
subPeriodN: query.subPeriodN
- text: Show the computed metric for each site on alert {idAlert}, {subPeriodN} periods back.
slots:
idAlert: query.idAlert
subPeriodN: query.subPeriodN
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CustomAlerts.getAlert'].get
update:
x-apievangelist-phrasing:
intent: Get one custom alert
effect: read
questions:
- What conditions is a specific custom alert set to trigger on?
- Can I look up one alert's definition by ID?
instructions:
- text: Show custom alert {idAlert}.
slots:
idAlert: query.idAlert
- text: Get the definition of alert {idAlert}.
slots:
idAlert: query.idAlert
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CustomAlerts.getAlerts'].get
update:
x-apievangelist-phrasing:
intent: List custom alerts for sites
effect: read
questions:
- What custom alerts are configured on my websites?
- Can a super user see every alert, not just their own?
instructions:
- text: List custom alerts for sites {idSites}.
slots:
idSites: query.idSites
- text: 'Show all alerts for sites {idSites}, including other users'' when I am super user: {ifSuperUserReturnAllAlerts}.'
slots:
idSites: query.idSites
ifSuperUserReturnAllAlerts: query.ifSuperUserReturnAllAlerts
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CustomAlerts.addAlert'].get
update:
x-apievangelist-phrasing:
intent: Create a custom alert
effect: write
questions:
- How do I get emailed when visits drop by more than 20 percent?
- Can an alert notify a Slack channel or Microsoft Teams webhook?
instructions:
- text: Create alert {name} on sites {idSites} that fires when {metric} {metricCondition} {metricValue}.
slots:
name: query.name
idSites: query.idSites
metric: query.metric
metricCondition: query.metricCondition
metricValue: query.metricValue
- text: Add a {period} alert {name} for sites {idSites} on report {reportUniqueId}, comparing {metric} to {comparedTo}.
slots:
period: query.period
name: query.name
idSites: query.idSites
reportUniqueId: query.reportUniqueId
metric: query.metric
comparedTo: query.comparedTo
- text: Set up alert {name} for sites {idSites} that emails {additionalEmails} when {metric} {metricCondition} {metricValue}.
slots:
name: query.name
idSites: query.idSites
additionalEmails: query.additionalEmails
metric: query.metric
metricCondition: query.metricCondition
metricValue: query.metricValue
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CustomAlerts.editAlert'].get
update:
x-apievangelist-phrasing:
intent: Update an existing custom alert
effect: write
questions:
- How do I change the threshold on an alert I already created?
- Can I add more email recipients to an existing alert?
instructions:
- text: Change alert {idAlert} so it fires when {metric} {metricCondition} {metricValue}.
slots:
idAlert: query.idAlert
metric: query.metric
metricCondition: query.metricCondition
metricValue: query.metricValue
- text: Rename existing alert {idAlert} to {name} and apply it to sites {idSites}.
slots:
idAlert: query.idAlert
name: query.name
idSites: query.idSites
- text: Update alert {idAlert} to also email {additionalEmails}.
slots:
idAlert: query.idAlert
additionalEmails: query.additionalEmails
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CustomAlerts.deleteAlert'].get
update:
x-apievangelist-phrasing:
intent: Delete a custom alert
effect: destructive
questions:
- How do I stop and remove an alert I no longer need?
- Can I permanently delete a custom alert?
instructions:
- text: Delete custom alert {idAlert}.
slots:
idAlert: query.idAlert
- text: Remove alert {idAlert} permanently.
slots:
idAlert: query.idAlert
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CustomAlerts.getTriggeredAlerts'].get
update:
x-apievangelist-phrasing:
intent: List alerts that have fired
effect: read
questions:
- Which of my alerts have actually triggered recently?
- Did any alert fire for my sites?
instructions:
- text: List triggered alerts for sites {idSites}.
slots:
idSites: query.idSites
- text: Show which alerts fired on sites {idSites}.
slots:
idSites: query.idSites
method: generated
generated: '2026-10-01'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/matomo-customalerts-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.