Matomo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Matomo Reporting API for plugin Dashboard API

6 actions 6 updates phrasing extends openapi/matomo-dashboard-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 6

$.info
$.paths['/index.php?module=API&method=Dashboard.getDashboards'].get
$.paths['/index.php?module=API&method=Dashboard.createNewDashboardForUser'].get
$.paths['/index.php?module=API&method=Dashboard.removeDashboard'].get
$.paths['/index.php?module=API&method=Dashboard.copyDashboardToUser'].get
$.paths['/index.php?module=API&method=Dashboard.resetDashboardLayout'].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 Dashboard API
  version: 1.0.0
extends: openapi/matomo-dashboard-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: 5
- target: $.paths['/index.php?module=API&method=Dashboard.getDashboards'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's dashboards and widgets
      effect: read
      questions:
      - Which dashboards does a user have, and what widgets are on them?
      - Can I fall back to the default dashboard when a user has none?
      instructions:
      - text: List the dashboards and their widgets for user {login}.
        slots:
          login: query.login
      - text: Show my dashboards.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=Dashboard.createNewDashboardForUser'].get
  update:
    x-apievangelist-phrasing:
      intent: Create a dashboard for a user
      effect: write
      questions:
      - How do I create a new dashboard for a teammate?
      - Can a new dashboard start with the default widgets already added?
      instructions:
      - text: Create a dashboard named {dashboardName} for user {login}.
        slots:
          dashboardName: query.dashboardName
          login: query.login
      - text: Make an empty dashboard for {login} with addDefaultWidgets {addDefaultWidgets}.
        slots:
          login: query.login
          addDefaultWidgets: query.addDefaultWidgets
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=Dashboard.removeDashboard'].get
  update:
    x-apievangelist-phrasing:
      intent: Remove a dashboard
      effect: destructive
      questions:
      - Can I delete a dashboard I no longer use?
      - Is it possible to remove another user's dashboard?
      instructions:
      - text: Remove dashboard {idDashboard}.
        slots:
          idDashboard: query.idDashboard
      - text: Delete dashboard {idDashboard} belonging to user {login}.
        slots:
          idDashboard: query.idDashboard
          login: query.login
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=Dashboard.copyDashboardToUser'].get
  update:
    x-apievangelist-phrasing:
      intent: Copy a dashboard to another user
      effect: write
      questions:
      - Can I share one of my dashboards by copying it to a colleague?
      - Does copying a dashboard to another user need admin access?
      instructions:
      - text: Copy my dashboard {idDashboard} to user {copyToUser}.
        slots:
          idDashboard: query.idDashboard
          copyToUser: query.copyToUser
      - text: Give {copyToUser} a copy of dashboard {idDashboard} named {dashboardName}.
        slots:
          copyToUser: query.copyToUser
          idDashboard: query.idDashboard
          dashboardName: query.dashboardName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=Dashboard.resetDashboardLayout'].get
  update:
    x-apievangelist-phrasing:
      intent: Reset a dashboard to the default layout
      effect: destructive
      questions:
      - How do I restore a messy dashboard to its default widgets?
      - Will resetting a dashboard remove the widgets I added?
      instructions:
      - text: Reset dashboard {idDashboard} to the default widget layout.
        slots:
          idDashboard: query.idDashboard
      - text: Restore the default layout on dashboard {idDashboard} for user {login}.
        slots:
          idDashboard: query.idDashboard
          login: query.login
      method: generated
      generated: '2026-10-01'