{"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.","required":true,"schema":{"type":"integer","example":101}}],"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.getRecordedHeatmapMetadata":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns summary metadata for a recorded heatmap.","operationId":"HeatmapSessionRecording.getRecordedHeatmapMetadata","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 heatmap 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"}}],"responses":{"200":{"description":"The recorded heatmap metadata for the requested period.\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.getRecordedHeatmap":{"get":{"tags":["HeatmapSessionRecording"],"description":"Get all activities of a heatmap.","operationId":"HeatmapSessionRecording.getRecordedHeatmap","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 heatmap configuration to query.","required":true,"schema":{"type":"integer","example":1}},{"name":"heatmapType","in":"query","description":"Heatmap activity type to return.","required":true,"schema":{"type":"integer","example":1}},{"name":"deviceType","in":"query","description":"Device type to return.","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"}}],"responses":{"200":{"description":"The aggregated heatmap activity points for the requested heatmap, period, and device type.\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.testUrlMatchPages":{"get":{"tags":["HeatmapSessionRecording"],"description":"Tests, checks whether the given URL matches the given page rules.","operationId":"HeatmapSessionRecording.testUrlMatchPages","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"},{"name":"url","in":"query","description":"The URL to test the matching rules against.","required":true,"schema":{"type":"string","example":"https:\/\/example.org\/pricing"}},{"name":"matchPageRules","in":"query","description":"Matching rules to evaluate against the URL.","required":false,"schema":{"type":"array","items":[],"default":[]}}],"responses":{"200":{"description":"The result of the test, including the URL and whether it matches all rules.\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.getAvailableStatuses":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns the valid heatmap and session recording statuses.","operationId":"HeatmapSessionRecording.getAvailableStatuses","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"}],"responses":{"200":{"description":"The list of potential statuses and their human-friendly names.\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.getAvailableTargetPageRules":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns the available target attributes and rule types for page matching.","operationId":"HeatmapSessionRecording.getAvailableTargetPageRules","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"}],"responses":{"200":{"description":"The available components for building heatmap and session recording page rules.\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.getAvailableDeviceTypes":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns the device types supported by the heatmap reporting endpoints.","operationId":"HeatmapSessionRecording.getAvailableDeviceTypes","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"}],"responses":{"200":{"description":"The list of available device types and their human-friendly names.\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.getAvailableHeatmapTypes":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns the heatmap activity types supported by the heatmap reporting endpoints.","operationId":"HeatmapSessionRecording.getAvailableHeatmapTypes","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"}],"responses":{"200":{"description":"The list of available categories of heatmaps and their human-friendly names.\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.getAvailableSessionRecordingSampleLimits":{"get":{"tags":["HeatmapSessionRecording"],"description":"Get a list of available session recording sample limits.","operationId":"HeatmapSessionRecording.getAvailableSessionRecordingSampleLimits","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"}],"responses":{"200":{"description":"The list of available integer values that can be used as the session recording sample limit.\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.getEventTypes":{"get":{"tags":["HeatmapSessionRecording"],"description":"Returns the event types that may appear in recorded session data.","operationId":"HeatmapSessionRecording.getEventTypes","parameters":[{"$ref":"#\/components\/parameters\/formatOptional"}],"responses":{"200":{"description":"The tracked event types and their human-friendly names.\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"}}}}},"components":{"schemas":{"GenericSuccess":{"description":"Generic Matomo success payload.","required":["result","message"],"properties":{"result":{"type":"string","example":"success"},"message":{"type":"string","example":"ok"},"code":{"type":"integer","example":"200"}},"type":"object","example":{"result":"success","message":"ok"},"additionalProperties":true},"GenericSuccessXml":{"description":"Generic Matomo success payload in XML.","required":["success"],"properties":{"success":{"properties":{"message":{"type":"string","xml":{"attribute":true},"example":"ok"}},"type":"object","xml":{"name":"success"}}},"type":"object","xml":{"name":"result"},"example":{"success":{"message":"ok"}},"additionalProperties":true},"Error":{"description":"Generic Matomo error payload.","required":["result","message"],"properties":{"result":{"type":"string","example":"error"},"message":{"type":"string","example":"There was an error"},"code":{"type":"integer"}},"type":"object","additionalProperties":true},"ErrorXml":{"description":"Generic Matomo error payload in XML.","properties":{"error":{"properties":{"message":{"type":"string","xml":{"attribute":true},"example":"There was an error"}},"type":"object","xml":{"name":"error"}}},"type":"object","xml":{"name":"result"}}},"responses":{"BadRequest":{"description":"Bad request (validation or missing parameters).","content":{"text\/plain":{"schema":{"type":"string"},"example":"Error: There was an error."},"text\/html":{"schema":{"type":"string"},"example":"There was an error."},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/ErrorXml"}}}},"Unauthorized":{"description":"Authentication failed or missing token.","content":{"text\/plain":{"schema":{"type":"string"},"example":"Error: You must be logged in to access this functionality."},"text\/html":{"schema":{"type":"string"},"example":"You must be logged in to access this functionality."},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/ErrorXml"}}}},"Forbidden":{"description":"Authenticated but not allowed to access the resource.","content":{"text\/plain":{"schema":{"type":"string"},"example":"Error: Not authorised."},"text\/html":{"schema":{"type":"string"},"example":"Not authorised."},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/ErrorXml"}}}},"NotFound":{"description":"Resource not found.","content":{"text\/plain":{"schema":{"type":"string"},"example":"Error: The method is not available."},"text\/html":{"schema":{"type":"string"},"example":"The method is not available."},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/ErrorXml"}}}},"ServerError":{"description":"Unexpected server error.","content":{"text\/plain":{"schema":{"type":"string"},"example":"Error: There was an error."},"text\/html":{"schema":{"type":"string"},"example":"There was an error."},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/ErrorXml"}}}},"DefaultError":{"description":"Default error response (any non-2xx).","content":{"text\/plain":{"schema":{"type":"string"},"example":"Error: There was an error."},"text\/html":{"schema":{"type":"string"},"example":"There was an error."},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/ErrorXml"}}}},"GenericSuccessNoBody":{"description":"Generic 200 response with no body"},"GenericSuccess":{"description":"Generic 200 response","content":{"text\/plain":{"schema":{"type":"string"},"example":"Success:ok"},"text\/html":{"schema":{"type":"string"},"example":""},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GenericSuccess"}},"application\/xml":{"schema":{"$ref":"#\/components\/schemas\/GenericSuccessXml"}}}},"GenericString":{"description":"Generic 200 response with only a string body","content":{"text\/plain":{"schema":{"type":"string"},"example":"Result: success"},"text\/html":{"schema":{"type":"string"},"example":"success"},"application\/json":{"schema":{"type":"string"}},"application\/xml":{"schema":{"type":"string"}}}},"GenericBoolean":{"description":"Generic 200 response with only true or false as the body","content":{"text\/plain":{"schema":{"type":"boolean"}},"text\/html":{"schema":{"type":"boolean"}},"application\/json":{"schema":{"type":"boolean"}},"application\/xml":{"schema":{"type":"boolean"}}}},"GenericInteger":{"description":"Generic 200 response with only an integer as the body","content":{"text\/plain":{"schema":{"type":"integer"}},"text\/html":{"schema":{"type":"integer"}},"application\/json":{"schema":{"type":"integer"}},"application\/xml":{"schema":{"type":"integer"}}}},"GenericArray":{"description":"Generic 200 response with array body","content":{"text\/plain":{"schema":{"type":"string"}},"text\/html":{"schema":{"type":"string"}},"application\/json":{"schema":{"type":"array","items":[]}},"application\/xml":{"schema":{"type":"array","items":[]}}}}},"parameters":{"moduleRequired":{"name":"module","in":"query","description":"Always `API` for Reporting API requests.","required":true,"schema":{"type":"string","default":"API"}},"methodRequired":{"name":"method","in":"query","description":"API method, e.g. `VisitsSummary.get` or `CustomAlerts.getAlert`.","required":true,"schema":{"type":"string","example":"CustomAlerts.getAlert"}},"formatRequired":{"name":"format","in":"query","description":"Response format such as `xml` or `json`. Use `original` to get the original PHP data structure.","required":true,"schema":{"type":"string","default":"xml","enum":["xml","json","csv","tsv","html","rss","original"]}},"formatOptional":{"name":"format","in":"query","description":"Response format. Defaults to `xml`. Use `original` to get the original PHP data structure.","required":false,"schema":{"type":"string","default":"xml","enum":["xml","json","csv","tsv","html","rss","original"]}},"idSiteRequired":{"name":"idSite","in":"query","description":"Matomo site ID.","required":true,"schema":{"type":"integer","example":1}},"idSiteOptional":{"name":"idSite","in":"query","description":"Matomo site ID.","required":false,"schema":{"type":"integer","example":1}},"periodRequired":{"name":"period","in":"query","description":"Reporting period.","required":true,"schema":{"type":"string","enum":["day","week","month","year","range"],"example":"day"}},"periodOptional":{"name":"period","in":"query","description":"Reporting period.","required":false,"schema":{"type":"string","enum":["day","week","month","year","range"],"example":"day"}},"dateRequired":{"name":"date","in":"query","description":"Date or range (e.g. `2025-08-01`, `yesterday`, `last30`, or `2025-08-01,2025-08-11`).","required":true,"schema":{"type":"string","example":"today"}},"dateOptional":{"name":"date","in":"query","description":"Date or range (e.g. `2025-08-01`, `yesterday`, `last30`, or `2025-08-01,2025-08-11`).","required":false,"schema":{"type":"string","example":"today"}},"segmentRequired":{"name":"segment","in":"query","description":"Segment expression; see `API.getSegmentDimensionMetadata`.","required":true,"schema":{"type":"string"}},"segmentOptional":{"name":"segment","in":"query","description":"Segment expression; see `API.getSegmentDimensionMetadata`.","required":false,"schema":{"type":"string"}},"expandedOptional":{"name":"expanded","in":"query","description":"If true, loads all subtables.","required":false,"schema":{"type":"integer","default":0,"enum":[0,1],"example":0}},"idSubtableOptional":{"name":"idSubtable","in":"query","description":"An in-database subtable ID.","required":false,"schema":{"type":"integer"}},"idSubtableRequired":{"name":"idSubtable","in":"query","description":"An in-database subtable ID.","required":true,"schema":{"type":"integer"}},"flatOptional":{"name":"flat","in":"query","description":"Flatten subtables into the parent table.","required":false,"schema":{"type":"integer","enum":[0,1],"example":0}},"filter_patternOptional":{"name":"filter_pattern","in":"query","description":"Regex to keep matching rows.","required":false,"schema":{"type":"string"}},"filter_columnOptional":{"name":"filter_column","in":"query","description":"Column to apply the regex to (e.g., `label`).","required":false,"schema":{"type":"string","example":"label"}},"filter_pattern_recursiveOptional":{"name":"filter_pattern_recursive","in":"query","description":"Recursive regex filter.","required":false,"schema":{"type":"string"}},"filter_column_recursiveOptional":{"name":"filter_column_recursive","in":"query","description":"Column for the recursive regex filter.","required":false,"schema":{"type":"string"}},"filter_excludelowpopOptional":{"name":"filter_excludelowpop","in":"query","description":"Column to threshold and exclude low values.","required":false,"schema":{"type":"string"}},"filter_excludelowpop_valueOptional":{"name":"filter_excludelowpop_value","in":"query","description":"Minimum value threshold for `filter_excludelowpop`.","required":false,"schema":{"type":"number","example":0}},"filter_sort_columnOptional":{"name":"filter_sort_column","in":"query","description":"Column to sort by.","required":false,"schema":{"type":"string"}},"filter_sort_orderOptional":{"name":"filter_sort_order","in":"query","description":"Sort direction.","required":false,"schema":{"type":"string","enum":["asc","desc"],"example":"desc"}},"filter_truncateOptional":{"name":"filter_truncate","in":"query","description":"Row index after which rows are removed.","required":false,"schema":{"type":"integer"}},"filter_limitOptional":{"name":"filter_limit","in":"query","description":"Maximum number of rows to return.","required":false,"schema":{"type":"integer"}},"filter_offsetOptional":{"name":"filter_offset","in":"query","description":"Row offset.","required":false,"schema":{"type":"integer"}},"keep_summary_rowOptional":{"name":"keep_summary_row","in":"query","description":"Keep the summary row.","required":false,"schema":{"type":"integer","enum":[0,1],"example":1}},"disable_generic_filtersOptional":{"name":"disable_generic_filters","in":"query","description":"Disable generic filters (those above).","required":false,"schema":{"type":"integer","enum":[0,1],"example":0}},"disable_queued_filtersOptional":{"name":"disable_queued_filters","in":"query","description":"Skip queued filters.","required":false,"schema":{"type":"integer","enum":[0,1],"example":0}},"hideColumnsOptional":{"name":"hideColumns","in":"query","description":"Comma-separated list of columns to hide.","required":false,"schema":{"type":"string"}},"showColumnsOptional":{"name":"showColumns","in":"query","description":"Comma-separated list of columns to include.","required":false,"schema":{"type":"string"}},"labelOptional":{"name":"label","in":"query","description":"Keep only rows with these label(s). Supports path via '>' and arrays.","required":false,"schema":{"type":"string"}},"idGoalRequired":{"name":"idGoal","in":"query","description":"The ID of a configured goal.","required":true,"schema":{"type":"integer"}},"idGoalOptional":{"name":"idGoal","in":"query","description":"The ID of a configured goal.","required":false,"schema":{"type":"integer"}}},"securitySchemes":{"MatomoToken":{"type":"http","description":"Paste your token generated from Personal > Security. Swagger will send it as a Bearer token.","scheme":"bearer"}}},"security":[{"MatomoToken":[]}],"tags":[{"name":"HeatmapSessionRecording","description":"Exposes the Heatmap & Session Recording API endpoints for managing configurations and retrieving recorded activity. Heatmap coordinates use relative values: X and Y positions range from 0 to 2000, where 1000 represents 50% of the matched element. Scroll reach and above-the-fold positions range from 0 to 1000, where 100 represents 10% of the page height. idSiteHsr<\/code> identifies a heatmap or session recording configuration, while idLogHsr<\/code> identifies an individual recorded activity entry."}],"externalDocs":{"description":"Matomo Reporting API developer page","url":"https:\/\/developer.matomo.org\/api-reference\/reporting-api\/"}}