Matomo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Matomo Reporting API for plugin Heatmap Session Recording…
32 actions
32 updates
phrasing
extends
openapi/matomo-heatmapsessionrecording-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=HeatmapSessionRecording.addHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.duplicateHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.updateHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteHeatmapScreenshot'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.addSessionRecording'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.updateSessionRecording'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.getHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.getSessionRecording'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.pauseHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.resumeHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.endHeatmap'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.pauseSessionRecording'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.resumeSessionRecording'].get
$.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteSessionRecording'].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 Heatmap Session Recording…
version: 1.0.0
extends: openapi/matomo-heatmapsessionrecording-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=HeatmapSessionRecording.addHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Create a new heatmap
effect: write
questions:
- How do I start collecting a click heatmap for a landing page?
- Can I limit how many page views a new heatmap samples?
instructions:
- text: Create a heatmap named {name} on site {idSite} for pages matching {matchPageRules}.
slots:
name: query.name
idSite: query.idSite
matchPageRules: query.matchPageRules
- text: Add heatmap {name} to site {idSite} matching {matchPageRules} with a sample limit of {sampleLimit}.
slots:
name: query.name
idSite: query.idSite
matchPageRules: query.matchPageRules
sampleLimit: query.sampleLimit
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.duplicateHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Copy a heatmap to other sites
effect: write
questions:
- Can I reuse an existing heatmap setup on my other websites?
- What happens if I copy a heatmap to a site that already has one with that name?
instructions:
- text: Copy heatmap {idSiteHsr} from site {idSite} to sites {idDestinationSites}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
idDestinationSites: query.idDestinationSites
- text: Duplicate heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.updateHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Change an existing heatmap's settings
effect: write
questions:
- How do I change the page rules on a heatmap I already set up?
- Can I adjust the sample rate of a running heatmap?
instructions:
- text: 'Update heatmap {idSiteHsr} on site {idSite}: rename it {name} and match {matchPageRules}.'
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
name: query.name
matchPageRules: query.matchPageRules
- text: Change the sample rate of heatmap {idSiteHsr} on site {idSite} to {sampleRate}, keeping name {name} and rules {matchPageRules}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
sampleRate: query.sampleRate
name: query.name
matchPageRules: query.matchPageRules
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteHeatmapScreenshot'].get
update:
x-apievangelist-phrasing:
intent: Delete a heatmap's stored screenshot
effect: destructive
questions:
- How do I force a fresh screenshot for a heatmap after a page redesign?
- Can I clear the saved page snapshot behind a heatmap?
instructions:
- text: Delete the stored screenshot for heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Remove the snapshot of heatmap {idSiteHsr} on site {idSite} so it is captured again.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.addSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: Create a new session recording
effect: write
questions:
- How do I start recording visitor sessions on my site?
- Can I only record sessions that last longer than a minimum time?
instructions:
- text: Create a session recording named {name} on site {idSite}.
slots:
name: query.name
idSite: query.idSite
- text: Add session recording {name} on site {idSite} that only keeps sessions longer than {minSessionTime} seconds.
slots:
name: query.name
idSite: query.idSite
minSessionTime: query.minSessionTime
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.updateSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: Change an existing session recording
effect: write
questions:
- Can I turn keystroke capture on or off for a session recording I already created?
- How do I edit the sampling of a session recording?
instructions:
- text: Update session recording {idSiteHsr} on site {idSite} and rename it {name}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
name: query.name
- text: Set keystroke capture to {captureKeystrokes} on session recording {idSiteHsr} for site {idSite}, keeping name {name}.
slots:
captureKeystrokes: query.captureKeystrokes
idSiteHsr: query.idSiteHsr
idSite: query.idSite
name: query.name
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Get one heatmap's configuration
effect: read
questions:
- What page rules and sampling is a particular heatmap using?
- Can I look up the settings of a single heatmap by its ID?
instructions:
- text: Show the configuration of heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Get heatmap {idSiteHsr} settings for site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: Get one session recording's configuration
effect: read
questions:
- What settings is a specific session recording configured with?
- Does this session recording capture keystrokes?
instructions:
- text: Show the configuration of session recording {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Get session recording {idSiteHsr} settings for site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.pauseHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Pause a heatmap
effect: write
questions:
- Can I temporarily stop a heatmap from collecting data?
- How do I put a heatmap on hold without ending it?
instructions:
- text: Pause heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Temporarily stop collecting data for heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.resumeHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Resume a paused heatmap
effect: write
questions:
- How do I restart data collection on a heatmap I paused?
- Can a paused heatmap pick up collecting again?
instructions:
- text: Resume heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Restart collection on paused heatmap {idSiteHsr} for site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Delete a heatmap
effect: destructive
questions:
- How do I permanently remove a heatmap I no longer need?
- Can I delete a heatmap configuration entirely?
instructions:
- text: Delete heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Remove heatmap configuration {idSiteHsr} from site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.endHeatmap'].get
update:
x-apievangelist-phrasing:
intent: End a heatmap
effect: destructive
questions:
- How do I finish a heatmap so it stops collecting for good but keeps its data?
- Can I mark a heatmap as ended?
instructions:
- text: End heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Finish data collection for heatmap {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.pauseSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: Pause a session recording
effect: write
questions:
- Can I temporarily stop recording sessions without deleting the setup?
- How do I put session recording on hold?
instructions:
- text: Pause session recording {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Temporarily stop recording sessions for {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.resumeSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: Resume a paused session recording
effect: write
questions:
- How do I start recording sessions again after pausing?
- Can a paused session recording continue collecting?
instructions:
- text: Resume session recording {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Restart paused session recording {idSiteHsr} for site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: Delete a session recording
effect: destructive
questions:
- How do I permanently remove a session recording configuration?
- Can I delete a session recording setup I no longer use?
instructions:
- text: Delete session recording {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Remove session recording configuration {idSiteHsr} from site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.endSessionRecording'].get
update:
x-apievangelist-phrasing:
intent: End a session recording
effect: destructive
questions:
- How do I finish a session recording so it stops capturing new sessions?
- Can I mark a session recording as ended?
instructions:
- text: End session recording {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Finish capturing for session recording {idSiteHsr} on site {idSite}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getHeatmaps'].get
update:
x-apievangelist-phrasing:
intent: List all heatmaps for a site
effect: read
questions:
- What heatmaps are set up on my website?
- Can I list every heatmap on a site that hasn't been deleted?
instructions:
- text: List all heatmaps on site {idSite}.
slots:
idSite: query.idSite
- text: Show every active or ended heatmap configured for site {idSite}.
slots:
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getSessionRecordings'].get
update:
x-apievangelist-phrasing:
intent: List all session recordings for a site
effect: read
questions:
- Which session recordings are configured on my website?
- Can I see every session recording setup that hasn't been deleted?
instructions:
- text: List all session recordings on site {idSite}.
slots:
idSite: query.idSite
- text: Show every session recording configured for site {idSite}.
slots:
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getRecordedSessions'].get
update:
x-apievangelist-phrasing:
intent: List sessions captured by a recording
effect: read
questions:
- Which visitor sessions were captured by a specific session recording last week?
- How many sessions did my recording collect in a period?
instructions:
- text: List recorded sessions for session recording {idSiteHsr} on site {idSite} for {period} {date}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
period: query.period
date: query.date
- text: Show sessions captured by recording {idSiteHsr} on site {idSite} in {period} {date}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getRecordedSession'].get
update:
x-apievangelist-phrasing:
intent: Replay one recorded session's activity
effect: read
questions:
- Can I get the full activity of a single recorded visitor session to replay it?
- What did the visitor do in one specific recorded session?
instructions:
- text: Get all activity for recorded session {idLogHsr} in recording {idSiteHsr} on site {idSite}.
slots:
idLogHsr: query.idLogHsr
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Load recorded session {idLogHsr} from recording {idSiteHsr} for replay on site {idSite}.
slots:
idLogHsr: query.idLogHsr
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteRecordedSession'].get
update:
x-apievangelist-phrasing:
intent: Delete a whole recorded session
effect: destructive
questions:
- How do I delete everything recorded for one visit?
- Can I remove a recorded visitor session for privacy reasons?
instructions:
- text: Delete all recorded page views for visit {idVisit} in recording {idSiteHsr} on site {idSite}.
slots:
idVisit: query.idVisit
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Remove recorded session for visit {idVisit} from recording {idSiteHsr} on site {idSite}.
slots:
idVisit: query.idVisit
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.deleteRecordedPageview'].get
update:
x-apievangelist-phrasing:
intent: Delete one page view from a recording
effect: destructive
questions:
- Can I delete just one page view from a recorded session?
- How do I remove a single recorded page from a session replay?
instructions:
- text: Delete recorded page view {idLogHsr} from recording {idSiteHsr} on site {idSite}.
slots:
idLogHsr: query.idLogHsr
idSiteHsr: query.idSiteHsr
idSite: query.idSite
- text: Remove only page view {idLogHsr} from recording {idSiteHsr} on site {idSite}.
slots:
idLogHsr: query.idLogHsr
idSiteHsr: query.idSiteHsr
idSite: query.idSite
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getRecordedHeatmapMetadata'].get
update:
x-apievangelist-phrasing:
intent: Get summary metadata for a heatmap
effect: read
questions:
- How many page views has my heatmap collected so far?
- What summary stats are available for a recorded heatmap?
instructions:
- text: Get summary metadata for heatmap {idSiteHsr} on site {idSite} for {period} {date}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
period: query.period
date: query.date
- text: Show how much data heatmap {idSiteHsr} recorded on site {idSite} in {period} {date}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getRecordedHeatmap'].get
update:
x-apievangelist-phrasing:
intent: Get the recorded heatmap activity data
effect: read
questions:
- Where are visitors clicking on my page on mobile devices?
- Can I pull the raw click or scroll heatmap data for a device type?
instructions:
- text: Get {heatmapType} heatmap data for heatmap {idSiteHsr} on site {idSite}, device type {deviceType}, for {period} {date}.
slots:
heatmapType: query.heatmapType
idSiteHsr: query.idSiteHsr
idSite: query.idSite
deviceType: query.deviceType
period: query.period
date: query.date
- text: Fetch the recorded heatmap activity for {idSiteHsr} on site {idSite} for {deviceType} devices, type {heatmapType}, {period} {date}.
slots:
idSiteHsr: query.idSiteHsr
idSite: query.idSite
deviceType: query.deviceType
heatmapType: query.heatmapType
period: query.period
date: query.date
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.testUrlMatchPages'].get
update:
x-apievangelist-phrasing:
intent: Test whether a URL matches page rules
effect: read
questions:
- Will my heatmap page rules actually match this URL?
- How can I check a target page rule before saving it?
instructions:
- text: Test whether {url} matches the page rules {matchPageRules}.
slots:
url: query.url
matchPageRules: query.matchPageRules
- text: Check if URL {url} would be targeted by my heatmap rules.
slots:
url: query.url
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getAvailableStatuses'].get
update:
x-apievangelist-phrasing:
intent: List heatmap and recording statuses
effect: read
questions:
- What statuses can a heatmap or session recording be in?
- Which status values are valid for recordings?
instructions:
- text: List the valid heatmap and session recording statuses.
- text: Show all possible statuses for heatmaps and recordings.
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getAvailableTargetPageRules'].get
update:
x-apievangelist-phrasing:
intent: List page-matching rule types
effect: read
questions:
- Which attributes and rule types can I use to target pages?
- What page matching options exist for heatmap targeting?
instructions:
- text: List the available target page rule types.
- text: Show which URL attributes and comparisons page rules support.
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getAvailableDeviceTypes'].get
update:
x-apievangelist-phrasing:
intent: List heatmap device types
effect: read
questions:
- Which device types can heatmap reports be filtered by?
- Are desktop, tablet and mobile all supported for heatmaps?
instructions:
- text: List the device types supported by heatmap reports.
- text: Show which devices I can break heatmaps down by.
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getAvailableHeatmapTypes'].get
update:
x-apievangelist-phrasing:
intent: List heatmap activity types
effect: read
questions:
- What kinds of heatmaps can I view, like clicks or scrolls?
- Which heatmap activity types are supported?
instructions:
- text: List the available heatmap types.
- text: Show the click, move and scroll heatmap type values.
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getAvailableSessionRecordingSampleLimits'].get
update:
x-apievangelist-phrasing:
intent: List allowed session recording sample limits
effect: read
questions:
- What sample limit values can I choose for a session recording?
- What is the maximum number of sessions a recording can sample?
instructions:
- text: List the allowed session recording sample limits.
- text: Show the sample limit options for session recordings.
method: generated
generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=HeatmapSessionRecording.getEventTypes'].get
update:
x-apievangelist-phrasing:
intent: List event types in recorded sessions
effect: read
questions:
- What event types can show up in recorded session data?
- How do I interpret the event type codes in a session replay?
instructions:
- text: List the event types used in recorded session data.
- text: Show what each recorded session event type means.
method: generated
generated: '2026-10-01'