Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The ReportBody interface of the Reporting API represents the body of a report. Individual report types inherit from this interface, adding specific attributes relevant to the particular report.

Reports that inherit from ReportBody

An instance of ReportBody is returned as the value of Report.body. The interface has no constructor.


ReportBody.toJSON() Experimental

A serializer which returns a JSON representation of the ReportBody object.


In this example we create a new ReportingObserver to observe intervention reports. The InterventionReportBody interface inherits from ReportBody.

let options = {
  types: ['intervention'],
  buffered: true

let observer = new ReportingObserver(function(reports, observer) {
  let firstReport = reports[0];
  console.log(firstReport.type); // intervention
}, options);


Reporting API
# reportbody

Browser compatibility

This feature is not yet available by default in any released browser. It can be activated in Firefox by setting dom_reporting_enabled to true and in Chrome if you enable this experimental feature.