For COUNTER reports in JSON format the header is in the Report_Header field (see the COUNTER_SUSHI API Specification for details). The differences compared to the header in the tabular reports are:
- The header includes an additional element Customer_ID, the value is the Customer ID used for the SUSHI request (not empty).
- The header does not include the elements Metric_Types and Reporting_Period. These elements are actually report filters which are separate header elements in the tabular reports for easier reading. In the JSON report these elements are included in Report_Filters.
- Exceptions include additional information (Severity, Help_URL).
- Arrays are used for multiple values instead of encoding them into a string. 17 COUNTER Request for proposals for the development of tools for the COUNTER community If the report is a Custom Report the validation should be aborted, and the user should be informed that the report cannot be validated.
For COUNTER reports in JSON format the body is in the Report_Items field (see the COUNTER_SUSHI API Specification for details). The differences compared to the body in the tabular reports are:
- The usage data is reported in a Performance, Period and Instance structure which also includes the Metric_Type (i.e. all rows in a tabular report which only differ by Metric_Type and the usage data are included in one Performance element in the JSON report).
- Instance elements with a Count of zero are omitted; Performance elements without Instance element are omitted; Report_Items without Performance elements are omitted.
- Fields with missing or unknown values are either expressed as empty as appropriate for the data type (if the field is required by the specification) or omitted.
- Reporting_Period_Total must not be included.
- If a granularity is specified in the Report_Attributes header, the usage counts might not be totals by month but for example totals by year or Reporting_Period totals.