Matomo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Matomo Reporting API for plugin Crash Analytics API
32 actions
32 updates
phrasing
extends
openapi/matomo-crashanalytics-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 32 · first 16 shown; the file carries all of them
$.info
$.paths['/index.php?module=API&method=CrashAnalytics.mergeCrashes'].get
$.paths['/index.php?module=API&method=CrashAnalytics.unmergeCrashGroup'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getCrashGroups'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getCrashTypes'].get
$.paths['/index.php?module=API&method=CrashAnalytics.setIgnoreCrash'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getIgnoredCrashes'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getCrashSummary'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getCrashVisitContext'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getAllCrashes'].get
$.paths['/index.php?module=API&method=CrashAnalytics.get'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getAllCrashMessages'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getCrashMessages'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getUnidentifiedCrashMessages'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getDisappearedCrashes'].get
$.paths['/index.php?module=API&method=CrashAnalytics.getReappearedCrashes'].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 Crash Analytics API
version: 1.0.0
extends: openapi/matomo-crashanalytics-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: 31
- target: $.paths['/index.php?module=API&method=CrashAnalytics.mergeCrashes'].get
update:
x-apievangelist-phrasing:
intent: Merge several crashes into one group
effect: write
questions:
- Can I tell Matomo that several different crash entries are really the same bug?
- How do I combine duplicate crashes so reports count them together?
instructions:
- text: Merge crashes {idLogCrashes} on site {idSite} into one crash group.
slots:
idLogCrashes: query.idLogCrashes
idSite: query.idSite
- text: 'Group these crash IDs together as the same crash: {idLogCrashes} for site {idSite}.'
slots:
idLogCrashes: query.idLogCrashes
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.unmergeCrashGroup'].get
update:
x-apievangelist-phrasing:
intent: Split a merged crash group apart
effect: write
questions:
- How do I undo a crash merge I made by mistake?
- Can a merged crash group be separated back into individual crashes?
instructions:
- text: Unmerge the crash group containing crash {idLogCrash} on site {idSite}.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
- text: Split merged crash group {idLogCrash} back into separate crashes for site {idSite}.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashGroups'].get
update:
x-apievangelist-phrasing:
intent: List merged crash groups for a site
effect: read
questions:
- Which crashes have I already merged together on this site?
- What merged crash groups exist for my app?
instructions:
- text: List every merged crash group on site {idSite}.
slots:
idSite: query.idSite
- text: Show me which crashes are grouped together for site {idSite}.
slots:
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashTypes'].get
update:
x-apievangelist-phrasing:
intent: List the distinct crash types tracked
effect: read
questions:
- What kinds of crash types have been recorded for my site?
- Which unique error types has crash tracking picked up?
instructions:
- text: List the unique crash types tracked on site {idSite}.
slots:
idSite: query.idSite
- text: Show the first {filter_limit} distinct crash types for site {idSite}.
slots:
filter_limit: query.filter_limit
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.setIgnoreCrash'].get
update:
x-apievangelist-phrasing:
intent: Ignore or stop ignoring a crash
effect: write
questions:
- Can I stop a noisy crash from being tracked anymore?
- How do I start tracking a crash again after I ignored it?
instructions:
- text: Ignore crash {idLogCrash} on site {idSite} so it is no longer tracked.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
- text: Set ignore to {ignore} for crash {idLogCrash} on site {idSite}.
slots:
ignore: query.ignore
idLogCrash: query.idLogCrash
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getIgnoredCrashes'].get
update:
x-apievangelist-phrasing:
intent: List crashes currently being ignored
effect: read
questions:
- Which crashes have been muted from tracking on my site?
- What crashes am I currently ignoring?
instructions:
- text: List the ignored crashes for site {idSite}.
slots:
idSite: query.idSite
- text: Show which crashes are set to be ignored on site {idSite}.
slots:
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashSummary'].get
update:
x-apievangelist-phrasing:
intent: Get details for a single crash
effect: read
questions:
- What is the error message and source file behind a specific crash?
- Can I see the stack trace and origin for one crash ID?
instructions:
- text: Show the summary for crash {idLogCrash} on site {idSite}.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
- text: Get the message and originating source of crash {idLogCrash} for site {idSite}.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashVisitContext'].get
update:
x-apievangelist-phrasing:
intent: See the visits that hit a crash
effect: read
questions:
- What were users doing right before they hit a particular crash?
- Which recent visits ran into this crash, and what actions led up to it?
instructions:
- text: Show the visit context for crash {idLogCrash} on site {idSite} for {period} {date}.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
period: query.period
date: query.date
- text: List recent visits that hit crash {idLogCrash} on site {idSite} in {period} {date}, with their preceding actions.
slots:
idLogCrash: query.idLogCrash
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getAllCrashes'].get
update:
x-apievangelist-phrasing:
intent: List every crash tracked for a site
effect: read
questions:
- How can I get a full list of all crashes ever tracked on my site?
- Can I page through the complete crash list sorted by a column?
instructions:
- text: List all tracked crashes for site {idSite}.
slots:
idSite: query.idSite
- text: Fetch every crash on site {idSite} sorted by {filter_sort_column}, {filter_limit} at a time.
slots:
idSite: query.idSite
filter_sort_column: query.filter_sort_column
filter_limit: query.filter_limit
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.get'].get
update:
x-apievangelist-phrasing:
intent: Get the crash overview metrics
effect: read
questions:
- How many crashes did my site have this week and how many were new?
- What are the headline crash metrics for a given period?
instructions:
- text: Give me the archived crash report summary for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: Get total, new and disappeared crash counts for site {idSite} in {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getAllCrashMessages'].get
update:
x-apievangelist-phrasing:
intent: Report all crash messages and sources
effect: read
questions:
- Which crash messages and source combinations occurred, including ones with no source?
- Can I search crash messages by a text pattern?
instructions:
- text: Report every crash message and source combination for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List all crash messages on site {idSite} in {period} {date} matching {filter_pattern}.
slots:
idSite: query.idSite
period: query.period
date: query.date
filter_pattern: query.filter_pattern
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashMessages'].get
update:
x-apievangelist-phrasing:
intent: Report crash messages with known sources
effect: read
questions:
- Which crash messages have an identified originating source file?
- What errors came from known source files, leaving out unsourced ones?
instructions:
- text: Show crash messages with an identified source for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List sourced crash messages on site {idSite} in {period} {date} that match {filter_pattern}.
slots:
idSite: query.idSite
period: query.period
date: query.date
filter_pattern: query.filter_pattern
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getUnidentifiedCrashMessages'].get
update:
x-apievangelist-phrasing:
intent: Report crash messages with no source
effect: read
questions:
- Which crashes have no originating source file at all?
- Can I see the error messages that could not be traced to a source?
instructions:
- text: Show unsourced crash messages for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List crash messages with unknown origin on site {idSite} in {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getDisappearedCrashes'].get
update:
x-apievangelist-phrasing:
intent: Report crashes that stopped occurring
effect: read
questions:
- Which crashes stopped happening in this period?
- Did any bugs disappear after my last release?
instructions:
- text: Show disappeared crashes for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List crashes on site {idSite} that no longer occurred in {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getReappearedCrashes'].get
update:
x-apievangelist-phrasing:
intent: Report crashes that came back
effect: read
questions:
- Which previously gone crashes have started happening again?
- Did any old bugs regress and reappear this month?
instructions:
- text: Show reappeared crashes for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List crashes that returned on site {idSite} during {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getNewCrashes'].get
update:
x-apievangelist-phrasing:
intent: Report crashes seen for the first time
effect: read
questions:
- What brand-new crashes showed up in this period?
- Which errors appeared for the very first time after a deploy?
instructions:
- text: Show new crashes for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List first-time crashes on site {idSite} during {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesByPageUrl'].get
update:
x-apievangelist-phrasing:
intent: Report crashes grouped by page URL
effect: read
questions:
- Which page URLs on my site trigger the most crashes?
- Can I see crash counts broken down by URL as a flat list?
instructions:
- text: Show crashes by page URL for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: Break down crashes per page URL on site {idSite} in {period} {date}, flattened.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesForPageUrl'].get
update:
x-apievangelist-phrasing:
intent: Drill into crashes for one page URL row
effect: read
questions:
- What crashes happened on one specific URL row in the page URL report?
- How do I expand a page URL entry to see its individual crashes?
instructions:
- text: Show crashes under page URL subtable {idSubtable} for site {idSite} for {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
- text: Expand page URL row {idSubtable} on site {idSite} in {period} {date} to list its crashes.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesByPageTitle'].get
update:
x-apievangelist-phrasing:
intent: Report crashes grouped by page title
effect: read
questions:
- Which page titles are associated with the most crashes?
- Can I break crashes down by the title of the page users were on?
instructions:
- text: Show crashes by page title for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: Group crashes on site {idSite} by page title for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesForPageTitle'].get
update:
x-apievangelist-phrasing:
intent: Drill into crashes for one page title row
effect: read
questions:
- How do I see the individual crashes behind a single page title entry?
- What errors are listed under one row of the crashes-by-title report?
instructions:
- text: Show crashes under page title subtable {idSubtable} for site {idSite} for {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
- text: Expand page title row {idSubtable} on site {idSite} in {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesBySource'].get
update:
x-apievangelist-phrasing:
intent: Report crashes grouped by source file
effect: read
questions:
- Which source files are producing the most crashes?
- Can I rank my JavaScript files by how many crashes originate in them?
instructions:
- text: Show crashes by originating source file for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: Break down crashes per source file on site {idSite} in {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesForSource'].get
update:
x-apievangelist-phrasing:
intent: Drill into crashes for one source file row
effect: read
questions:
- What specific crashes came from a single source file in the report?
- How do I expand a source file entry to list its crashes?
instructions:
- text: Show crashes under source file subtable {idSubtable} for site {idSite} for {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
- text: Expand source file row {idSubtable} on site {idSite} in {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesByCategory'].get
update:
x-apievangelist-phrasing:
intent: Report crashes grouped by category
effect: read
questions:
- How are my crashes distributed across crash categories?
- Which crash category is most common on my site?
instructions:
- text: Show crashes by category for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: Group crashes on site {idSite} by crash category for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesForCategory'].get
update:
x-apievangelist-phrasing:
intent: Drill into crashes for one category row
effect: read
questions:
- Which individual crashes fall under one crash category?
- How do I expand a category in the crash report to see its entries?
instructions:
- text: Show crashes under category subtable {idSubtable} for site {idSite} for {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
- text: Expand crash category row {idSubtable} on site {idSite} in {period} {date}.
slots:
idSubtable: query.idSubtable
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesByFirstParty'].get
update:
x-apievangelist-phrasing:
intent: Report crashes from first-party code
effect: read
questions:
- How many crashes come from my own code rather than external scripts?
- Which of my own source files are crashing?
instructions:
- text: Show crashes from first-party source files for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List crashes originating in our own code on site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getCrashesByThirdParty'].get
update:
x-apievangelist-phrasing:
intent: Report crashes from third-party scripts
effect: read
questions:
- Are external third-party scripts causing crashes on my site?
- Which third-party source files throw errors for my visitors?
instructions:
- text: Show crashes from third-party source files for site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
- text: List crashes caused by external scripts on site {idSite} for {period} {date}.
slots:
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getLastCrashesOverview'].get
update:
x-apievangelist-phrasing:
intent: Get a realtime crash overview
effect: read
questions:
- How many crashes happened in the last 30 minutes?
- Is there a crash spike right now on my site?
instructions:
- text: Show the realtime crash overview for site {idSite}.
slots:
idSite: query.idSite
- text: Summarize crashes on site {idSite} over the last {lastMinutes} minutes.
slots:
idSite: query.idSite
lastMinutes: query.lastMinutes
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getLastTopCrashes'].get
update:
x-apievangelist-phrasing:
intent: Get the top crashes in realtime
effect: read
questions:
- Which crashes are happening most often right now?
- What are the top errors in the last few minutes?
instructions:
- text: Show the top realtime crashes for site {idSite}.
slots:
idSite: query.idSite
- text: List the {filter_limit} most frequent crashes on site {idSite} in the last {lastMinutes} minutes.
slots:
filter_limit: query.filter_limit
idSite: query.idSite
lastMinutes: query.lastMinutes
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getLastNewCrashes'].get
update:
x-apievangelist-phrasing:
intent: Get newly seen crashes in realtime
effect: read
questions:
- Did any brand-new crash just start occurring in the last few minutes?
- Which never-before-seen errors appeared just now after my deploy?
instructions:
- text: Show realtime new crashes for site {idSite}.
slots:
idSite: query.idSite
- text: List crashes first seen on site {idSite} in the last {lastMinutes} minutes.
slots:
idSite: query.idSite
lastMinutes: query.lastMinutes
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getLastReappearedCrashes'].get
update:
x-apievangelist-phrasing:
intent: Get reappeared crashes in realtime
effect: read
questions:
- Has an old crash just come back in the last few minutes?
- Which regressed errors reappeared just now?
instructions:
- text: Show realtime reappeared crashes for site {idSite}.
slots:
idSite: query.idSite
- text: List crashes that resurfaced on site {idSite} in the last {lastMinutes} minutes.
slots:
idSite: query.idSite
lastMinutes: query.lastMinutes
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=CrashAnalytics.getLastDisappearedCrashes'].get
update:
x-apievangelist-phrasing:
intent: Get disappeared crashes in realtime
effect: read
questions:
- Which crashes have gone quiet in the last few minutes?
- Did my hotfix make a crash stop happening just now?
instructions:
- text: Show realtime disappeared crashes for site {idSite}.
slots:
idSite: query.idSite
- text: List crashes that stopped on site {idSite} within the last {lastMinutes} minutes.
slots:
idSite: query.idSite
lastMinutes: query.lastMinutes
method: generated
generated: '2026-10-01'