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