跳至主要内容

Reports

Overview

The Reports module lets you schedule recurring collection of Tenant-level usage metrics and download the results as summary reports.

Report configurations and usage metrics are not scoped to an individual Org. A Usage Job periodically collects platform usage metrics — such as active device count and data point count — and you download the generated data as a summary report for a chosen date range.


Usage Jobs

A Usage Job is a scheduled task that periodically collects Tenant usage metrics until a defined end date.

Metrics

Metric keyDescription
ActiveDeviceCountCount of devices that have not been deleted, across the Tenant or the specified Orgs — this includes Deactivated devices; it does not reflect actual online/connected status
DataPointCountVolume of telemetry data points collected during the job's period, measured from the previous scheduled trigger to the start of the current one

Operations

OperationAPIDescription
Create Usage JobPOST /api/v1/reports/usage-jobsDefine a new usage job
List Usage JobsGET /api/v1/reports/usage-jobsList usage jobs (paginated)
Get Usage JobGET /api/v1/reports/usage-jobs/{usageJobId}Get one job by ID
Update Usage JobPUT /api/v1/reports/usage-jobs/{usageJobId}Replace the job configuration
Delete Usage JobDELETE /api/v1/reports/usage-jobs/{usageJobId}Remove the job
Download SummaryGET /api/v1/reports/usage-jobs/{usageJobId}/summariesDownload usage summary data for a date range

Create Usage Job

POST /api/v1/reports/usage-jobs

See Create Usage Job for full field reference. All of the following fields are required:

FieldDescription
nameA label for the usage job
repeatPeriodCollection period: Daily, Weekly, or Monthly
endTimeDate (YYYY-MM-DD) after which collection stops
timeZoneUTC offset (e.g. +08:30)
jobsOne or more metric keys (ActiveDeviceCount, DataPointCount)

Each job runs on its repeatPeriod at a system-defined schedule boundary and generates usage metrics until endTime. The endTime must extend beyond the job's next scheduled execution — for example, a Monthly job's end date must allow at least one more monthly run.

Response 201 Created

Update Usage Job

PUT /api/v1/reports/usage-jobs/{usageJobId} replaces a usage job's configuration. name, endTime, timeZone, and jobs are required; repeatPeriod is optional on update.

Download Summary

GET /api/v1/reports/usage-jobs/{usageJobId}/summaries

See Download Summary for full field reference. Downloads usage summary data for the requested date range.

  • startTime and endTime are both required, in yyyy-MM-dd format (for example 2025-07-01)
  • format currently accepts only json
  • The report covers the specified period only
  • On success the response is a downloadable file named summary-report-{usageJobId}.json
  • Downloading does not modify or delete the Usage Job
備註

The API does not publish a schema for the downloaded file, so its exact structure is not documented here. Run the request once against your own job to see the shape before you build against it.


Scenario

A tenant admin wants a weekly active-device-count snapshot, then downloads the results as JSON:


Constraints

  • repeatPeriod must be Daily, Weekly, or Monthly
  • name, repeatPeriod, endTime, timeZone, and jobs are all required
  • endTime uses YYYY-MM-DD and must extend beyond the job's next scheduled execution
  • jobs must include at least one valid metric key
  • Download requires both startTime and endTime; JSON is the only supported format
  • Deleting a Usage Job permanently removes its schedule and stops future collection; once deleted, its summaries can no longer be downloaded
備註

DataPointCount is a Tenant usage metric. It does not provide report generation for individual DataStreams — see DataStreams for querying telemetry values.


Last updated on Aug-2, 2026 | Version 1.1.1