Matomo HeatmapSessionRecording API

The Matomo HeatmapSessionRecording API exposes 31 operations of the Matomo Reporting API (module `HeatmapSessionRecording`). Heatmaps and session recordings — configure them, read recorded heatmap data, and list, fetch and delete recorded sessions. Every operation is dispatched through the single `/index.php?module=API&method=HeatmapSessionRecording.` entrypoint on the customer's own Matomo instance, self-hosted or on Matomo Cloud. The OpenAPI 3.1.0 document is Matomo's own, generated by its first-party ApiReference plugin.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/heatmap-session-recording-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

matomo-heatmap-session-recording-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"Matomo Reporting API for HeatmapSessionRecording plugin","version":"1.0.0"},"servers":[{"url":"https:\/\/demo-proxy.innocraft.cloud\/","description":"Current Matomo instance"}],"paths":{"\/index.php?module=API&method=HeatmapSessionRecording.addHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Adds a new heatmap.","operationId":"HeatmapSessionRecording.addHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to configure.","required":true,"schema":{"type":"integer","example":1}},{"name":"name","in":"query","description":"The heatmap name shown in the reporting UI.","required":true,"schema":{"type":"string","example":"Pricing"}},{"name":"matchPageRules","in":"query","description":"Matching rules that define which pages contribute to this heatmap.","required":true,"schema":{"type":"array","items":[]}},{"name":"sampleLimit","in":"query","description":"The number of matching page views to record before the heatmap ends automatically.","required":false,"schema":{"type":"integer","default":1000}},{"name":"sampleRate","in":"query","description":"The percentage of matching traffic to record, from 0 to 100 with up to one decimal place.","required":false,"schema":{"type":"number","default":5}},{"name":"excludedElements","in":"query","description":"Comma-separated CSS selectors to exclude from the heatmap output.","required":false,"schema":{"type":"string"}},{"name":"screenshotUrl","in":"query","description":"URL of the page to capture for the heatmap screenshot.","required":false,"schema":{"type":"string"}},{"name":"breakpointMobile","in":"query","description":"Width threshold used to classify visits as mobile when device detection is unavailable.","required":false,"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]}},{"name":"breakpointTablet","in":"query","description":"Width threshold used to classify visits as tablet when device detection is unavailable.","required":false,"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]}},{"name":"captureDomManually","in":"query","description":"Whether the DOM should be captured manually instead of automatically.","required":false,"schema":{"type":"boolean","default":false}},{"name":"description","in":"query","description":"Optional description providing additional context, such as the purpose or usage.","required":false,"schema":{"type":"string","default":""}},{"name":"autoRepeat","in":"query","description":"Whether Matomo should automatically create a new heatmap once this one finishes.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"The ID of the newly created heatmap configuration.\n\nExample responses require Super User access. Use Try it out to see a live response."},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.duplicateHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Copies a specified heatmap to one or more sites. If a heatmap with the same name already exists, the new heatmap will have an automatically adjusted name to make it unique to the assigned site.","operationId":"HeatmapSessionRecording.duplicateHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the source heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to duplicate.","required":true,"schema":{"type":"integer","example":1}},{"name":"idDestinationSites","in":"query","description":"Site IDs to copy the heatmap to. Defaults to the source site when omitted.","required":false,"schema":{"type":"array","items":{"type":"integer"},"default":[]}}],"responses":{"200":{"description":"The duplication result, including success state, messages, and any newly created heatmap IDs.\n\nExample responses require Super User access. Use Try it out to see a live response."},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.updateHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Updates an existing heatmap.","operationId":"HeatmapSessionRecording.updateHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to update.","required":true,"schema":{"type":"integer","example":1}},{"name":"name","in":"query","description":"The heatmap name shown in the reporting UI.","required":true,"schema":{"type":"string","example":"Pricing"}},{"name":"matchPageRules","in":"query","description":"Matching rules that define which pages contribute to this heatmap.","required":true,"schema":{"type":"array","items":[]}},{"name":"sampleLimit","in":"query","description":"The number of matching page views to record before the heatmap ends automatically.","required":false,"schema":{"type":"integer","default":1000}},{"name":"sampleRate","in":"query","description":"The percentage of matching traffic to record, from 0 to 100 with up to one decimal place.","required":false,"schema":{"type":"number","default":5}},{"name":"excludedElements","in":"query","description":"Comma-separated CSS selectors to exclude from the heatmap output.","required":false,"schema":{"type":"string"}},{"name":"screenshotUrl","in":"query","description":"URL of the page to capture for the heatmap screenshot.","required":false,"schema":{"type":"string"}},{"name":"breakpointMobile","in":"query","description":"Width threshold used to classify visits as mobile when device detection is unavailable.","required":false,"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]}},{"name":"breakpointTablet","in":"query","description":"Width threshold used to classify visits as tablet when device detection is unavailable.","required":false,"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]}},{"name":"captureDomManually","in":"query","description":"Whether the DOM should be captured manually instead of automatically.","required":false,"schema":{"type":"boolean","default":false}},{"name":"description","in":"query","description":"Optional description providing additional context, such as the purpose or usage.","required":false,"schema":{"type":"string","default":""}},{"name":"autoRepeat","in":"query","description":"Whether Matomo should automatically create a new heatmap once this one finishes.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.deleteHeatmapScreenshot":{"get":{"tags":["HeatmapSessionRecording"],"description":"Deletes the stored snapshot (screenshot) for a heatmap.","operationId":"HeatmapSessionRecording.deleteHeatmapScreenshot","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to update.","required":true,"schema":{"type":"integer","example":1}},{"name":"captureManually","in":"query","description":"Whether the new snapshot must be captured manually instead of automatically.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Whether the snapshot reference was removed.\n\nExample responses require Super User access. Use Try it out to see a live response."},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.addSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Adds a new session recording.","operationId":"HeatmapSessionRecording.addSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to configure.","required":true,"schema":{"type":"integer","example":1}},{"name":"name","in":"query","description":"The session recording name shown in the reporting UI.","required":true,"schema":{"type":"string","example":"Pricing"}},{"name":"matchPageRules","in":"query","description":"Matching rules that define which pages contribute to this heatmap.","required":false,"schema":{"type":"array","items":[],"default":[]}},{"name":"sampleLimit","in":"query","description":"The number of sessions to record before the recording ends automatically.","required":false,"schema":{"type":"integer","default":1000}},{"name":"sampleRate","in":"query","description":"The percentage of matching traffic to record, from 0 to 100 with up to one decimal place.","required":false,"schema":{"type":"number","default":10}},{"name":"minSessionTime","in":"query","description":"Minimum time in seconds a visitor must spend on the current page before recording.","required":false,"schema":{"type":"integer","default":0}},{"name":"requiresActivity","in":"query","description":"Whether the visitor must interact by scrolling or clicking before the session is kept.","required":false,"schema":{"type":"boolean","default":true}},{"name":"captureKeystrokes","in":"query","description":"Whether entered form text should be recorded. Password fields are masked automatically.","required":false,"schema":{"type":"boolean","default":true}},{"name":"description","in":"query","description":"Optional description providing additional context, such as the purpose or usage.","required":false,"schema":{"type":"string","default":""}},{"name":"autoRepeat","in":"query","description":"Whether Matomo should automatically create a new session recording once this one finishes.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"The ID of the newly created session recording configuration.\n\nExample responses require Super User access. Use Try it out to see a live response."},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.updateSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Updates an existing session recording.","operationId":"HeatmapSessionRecording.updateSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the session recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to update.","required":true,"schema":{"type":"integer","example":1}},{"name":"name","in":"query","description":"The session recording name shown in the reporting UI.","required":true,"schema":{"type":"string","example":"Pricing"}},{"name":"matchPageRules","in":"query","description":"Matching rules that define which pages contribute to this heatmap.","required":false,"schema":{"type":"array","items":[],"default":[]}},{"name":"sampleLimit","in":"query","description":"The number of sessions to record before the recording ends automatically.","required":false,"schema":{"type":"integer","default":1000}},{"name":"sampleRate","in":"query","description":"The percentage of matching traffic to record, from 0 to 100 with up to one decimal place.","required":false,"schema":{"type":"number","default":10}},{"name":"minSessionTime","in":"query","description":"Minimum time in seconds a visitor must spend on the current page before recording.","required":false,"schema":{"type":"integer","default":0}},{"name":"requiresActivity","in":"query","description":"Whether the visitor must interact by scrolling or clicking before the session is kept.","required":false,"schema":{"type":"boolean","default":true}},{"name":"captureKeystrokes","in":"query","description":"Whether entered form text should be recorded. Password fields are masked automatically.","required":false,"schema":{"type":"boolean","default":true}},{"name":"description","in":"query","description":"Optional description providing additional context, such as the purpose or usage.","required":false,"schema":{"type":"string","default":""}},{"name":"autoRepeat","in":"query","description":"Whether Matomo should automatically create a new session recording once this one finishes.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.getHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns a single heatmap configuration.","operationId":"HeatmapSessionRecording.getHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to fetch.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"The heatmap configuration data for the requested heatmap.\n\nExample responses require Super User access. Use Try it out to see a live response.","content":{"text\/xml":[],"application\/json":[]}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.getSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns a single session recording configuration.","operationId":"HeatmapSessionRecording.getSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to fetch.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"The session recording configuration data for the requested recording.\n\nExample responses require Super User access. Use Try it out to see a live response.","content":{"text\/xml":[],"application\/json":[]}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.pauseHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Pauses a heatmap configuration.","operationId":"HeatmapSessionRecording.pauseHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to pause.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.resumeHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Resumes a paused heatmap configuration.","operationId":"HeatmapSessionRecording.resumeHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to resume.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.deleteHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Deletes a heatmap configuration.","operationId":"HeatmapSessionRecording.deleteHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to delete.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.endHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Ends a heatmap configuration.","operationId":"HeatmapSessionRecording.endHeatmap","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the heatmap.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the heatmap configuration to end.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.pauseSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Pauses a session recording configuration.","operationId":"HeatmapSessionRecording.pauseSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the session recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to pause.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.resumeSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Resumes a paused session recording configuration.","operationId":"HeatmapSessionRecording.resumeSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the session recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to resume.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.deleteSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Deletes a session recording configuration.","operationId":"HeatmapSessionRecording.deleteSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the session recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to delete.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.endSessionRecording":{"get":{"tags":["HeatmapSessionRecording"],"description":"Ends a session recording configuration.","operationId":"HeatmapSessionRecording.endSessionRecording","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the session recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to end.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.getHeatmaps":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns all non-deleted heatmaps for a website.","operationId":"HeatmapSessionRecording.getHeatmaps","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"includePageTreeMirror","in":"query","description":"Whether to include the stored page tree mirror for each heatmap.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A list of heatmap configurations for the requested website.\n\nExample responses require Super User access. Use Try it out to see a live response.","content":{"text\/xml":[]}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.getSessionRecordings":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns all non-deleted session recordings for a website.","operationId":"HeatmapSessionRecording.getSessionRecordings","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to query.","required":true,"schema":{"type":"integer","example":1}}],"responses":{"200":{"description":"A list of session recording configurations for the requested website.\n\nExample responses require Super User access. Use Try it out to see a live response.","content":{"text\/xml":[],"application\/json":[]}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.getRecordedSessions":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns all recorded sessions for a specific session recording.","operationId":"HeatmapSessionRecording.getRecordedSessions","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"period","in":"query","description":"The period to process, processes data for the period containing the specified date.","required":true,"schema":{"type":"string","enum":["day","week","month","year","range"],"example":"day"}},{"name":"date","in":"query","description":"The date or date range to process. 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).","required":true,"schema":{"type":"string","example":"yesterday"}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"segment","in":"query","description":"Custom segment to filter the report. Example: \"referrerName==example.com\" Supports AND (;) and OR (,) operators.","required":false,"schema":{"type":"string"}},{"name":"idSubtable","in":"query","description":"Visit ID to fetch recorded pageviews for one visit instead of the session list.","required":false,"schema":{"oneOf":[{"type":"integer"},{"type":"string"}]}}],"responses":{"200":{"description":"The recorded sessions, or the recorded pageviews for one visit when `idSubtable` is provided.\n\nExample responses require Super User access. Use Try it out to see a live response.","content":{"text\/xml":[],"application\/json":[],"application\/vnd.ms-excel":[]}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.getRecordedSession":{"get":{"tags":["HeatmapSessionRecording"],"description":"Get all activities of a specific recorded session.","operationId":"HeatmapSessionRecording.getRecordedSession","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"idLogHsr","in":"query","description":"The ID of the recorded session entry to fetch.","required":true,"schema":{"type":"integer","example":101}}],"responses":{"200":{"description":"The recorded session details, including events and recorded pageviews for the replay.\n\nExample responses require Super User access. Use Try it out to see a live response."},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.deleteRecordedSession":{"get":{"tags":["HeatmapSessionRecording"],"description":"Deletes all recorded page views within a recorded session.","operationId":"HeatmapSessionRecording.deleteRecordedSession","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration whose data should be deleted.","required":true,"schema":{"type":"integer","example":1}},{"name":"idVisit","in":"query","description":"The visit ID of the recorded session to delete.","required":true,"schema":{"type":"integer","example":1001}}],"responses":{"200":{"$ref":"#\/components\/responses\/GenericSuccess"},"400":{"$ref":"#\/components\/responses\/BadRequest"},"401":{"$ref":"#\/components\/responses\/Unauthorized"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"},"500":{"$ref":"#\/components\/responses\/ServerError"},"default":{"$ref":"#\/components\/responses\/DefaultError"}}}},"\/index.php?module=API&method=HeatmapSessionRecording.deleteRecordedPageview":{"get":{"tags":["HeatmapSessionRecording"],"description":"Deletes an individual page view within a recorded session.","operationId":"HeatmapSessionRecording.deleteRecordedPageview","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"idSite","in":"query","description":"The numeric ID of the website that owns the recording.","required":true,"schema":{"type":"integer","example":1}},{"name":"idSiteHsr","in":"query","description":"The ID of the session recording configuration whose data should be deleted.","required":true,"schema":{"type":"integer","example":1}},{"name":"idLogHsr","in":"query","description":"The ID of the recorded pageview entry to delete.","requ

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/matomo/refs/heads/main/openapi/matomo-heatmap-session-recording-openapi.json