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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'