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

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

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