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.

Instance methods


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.

const options = {
  types: ["intervention"],
  buffered: true,

const observer = new ReportingObserver(([firstReport], observer) => {
  console.log(firstReport.type); // intervention
}, options);


Reporting API
# reportbody

Browser compatibility

BCD tables only load in the browser