POST /api/v202610/wattsreportdistribution

Creates a Watts report distribution from the current report definition without saving a report

CreateWattsReportDistributionV202610 Permissions: DistributedReportsSettings (Manage)
Use this endpoint from the Watts report builder for saved or unsaved reports. It stores an independent snapshot of the submitted definition; it does not create or modify a saved Watts report. At least one individual user or group is required. Attachment formats are CSV, CSV Data Only, and Excel. Filters and standard report IDs are not accepted by this request contract.

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Request Body

WattsReportDistributionCreateRequest
Property Description Type
dayIndicatorValue Schedule-dependent delivery day: daily 0; weekly 0 (Sunday) through 6 (Saturday); monthly 1 through 28, or 0 for the last day; quarterly month 1 through 3. Must be between 0 and 28 Required integer (int32)
dynamicReportId The source saved Watts report’s unique numeric identifier. Null means the report has not been saved. The supplied report definition, not the saved report, determines the distributed content. Must be between 1 and 2147483647 integer (int32)
emailMessage The message included in each delivery email. Required string
emailSubject The subject line of each delivery email, up to 255 characters. Must be between 0 and 255 characters Required string
onlySendIfData When true, skip delivery if the report has no data. When false, deliver even if the report has no data. Required boolean
recipientUserGroupIds Unique numeric identifiers of recipient user groups in the customer’s database. Empty means only individual users are selected. Membership is resolved at delivery time. integer[]
recipientUserIds Unique numeric identifiers of individual EnergyCAP users in the customer’s database. Empty means only recipient groups are selected. integer[]
replyToEmail The reply-to email address. Null means no reply-to override. Must be between 0 and 128 characters string (email)
reportDefinition WattsReportDistributionDefinition
WattsReportDistributionDefinition properties
Property Description Type
description The report description. Null means no description was supplied. Must be between 0 and 4000 characters string
kql The current KQL query to execute for delivery. The query runs with the recipient’s data access. Required string
reportName The report title included with delivered data, up to 255 characters. Must be between 0 and 255 characters Required string
state The versioned Watts grid and chart state as a JSON string, used to format exported data. Null means the report uses its default rendering state. string
reportDistributionName The unique display name for this scheduled delivery, up to 255 characters. Must be between 0 and 255 characters Required string
reportFormat Attachment format: CSV (formatted data), CSV Data Only (underlying values), or Excel. PDF and standard-report-only formats are not supported. Required One of ‘CSV’, ‘CSV Data Only’, ‘Excel’ string
reportSubscriptionScheduleTypeId Delivery frequency: 1 for daily, 2 for weekly, 3 for monthly, or 4 for quarterly. Required One of ‘1’, ‘2’, ‘3’, ‘4’ Case sensitive integer (int32)
Example Request Body application/json
{  "dayIndicatorValue": 1,  "dynamicReportId": 1,  "emailMessage": "string",  "emailSubject": "string",  "onlySendIfData": false,  "recipientUserGroupIds": [
    1
  ],  "recipientUserIds": [
    1
  ],  "replyToEmail": "string",  "reportDefinition": {    "description": "string",    "kql": "string",    "reportName": "string",    "state": "string"
  },  "reportDistributionName": "string",  "reportFormat": "string",  "reportSubscriptionScheduleTypeId": 1
}

Responses

201 Created The resource was successfully created. The response body contains the new resource.

Response Body Parameters

WattsReportDistributionDetailsResponse
Property Description Type
createdDate The date and time the distribution was created, including its UTC offset. string (date-time)
dayIndicatorValue Schedule-dependent delivery day: daily 0; weekly 0 (Sunday) through 6 (Saturday); monthly 1 through 28, or 0 for the last day; quarterly month 1 through 3. Must be between 0 and 28 Required Must be between 0 and 28 Required integer (int32)
dynamicReportId The optional source saved Watts report identifier. Null means no source is linked; the stored definition remains executable. integer (int32)
emailMessage The message included in each delivery email. Required Required string
emailSubject The subject line of each delivery email, up to 255 characters. Must be between 0 and 255 characters Required Must be between 0 and 255 characters Required string
enabled When true, scheduled delivery is enabled. When false, the distribution is retained but scheduled delivery is disabled. boolean
lastRunDate The last scheduled execution date and time, including its UTC offset. Null means the distribution has never run. string (date-time)
modifiedDate The date and time the distribution was last modified, including its UTC offset. string (date-time)
nextRunDate The next date and time the distribution is scheduled to run, calculated from LastRunDate and the schedule the same way as for standard report distributions. Null when no next run can be calculated, for example when the distribution has no recurring schedule. string (date-time)
onlySendIfData When true, skip delivery if the report has no data. When false, deliver even if the report has no data. Required Required boolean
recipientUserGroups The explicitly selected user groups. An empty list means only individual users receive this distribution. UserGroupChild[]
UserGroupChild properties
Property Description Type
userGroupId The unique numeric identifier of the user group in the customer’s database. integer (int32)
userGroupName The group’s display name, used when selecting recipients and reviewing report distributions. string
recipientUsers The explicitly selected individual EnergyCAP users. An empty list means recipients are selected through groups only. UserChild[]
UserChild properties
Property Description Type
fullName The user’s full display name. string
userCode The user’s login code, which distinguishes users whose display names are the same. string
userId The unique numeric identifier of the EnergyCAP user in the customer’s database. integer (int32)
replyToEmail The reply-to email override. Null means no override was supplied. string
reportDefinition WattsReportDistributionDefinition
WattsReportDistributionDefinition properties
Property Description Type
description The report description. Null means no description was supplied. Must be between 0 and 4000 characters string
kql The current KQL query to execute for delivery. The query runs with the recipient’s data access. Required string
reportName The report title included with delivered data, up to 255 characters. Must be between 0 and 255 characters Required string
state The versioned Watts grid and chart state as a JSON string, used to format exported data. Null means the report uses its default rendering state. string
reportDistributionId The unique numeric identifier of the Watts distribution, independent of standard-distribution identifiers. integer (int32)
reportDistributionName The user-defined name of this scheduled delivery. string
reportFormat The saved attachment format: CSV, CSV Data Only, or Excel. string
reportSubscriptionScheduleTypeId Delivery frequency: 1 for daily, 2 for weekly, 3 for monthly, or 4 for quarterly. Required One of ‘1’, ‘2’, ‘3’, ‘4’ Case sensitive Required One of ‘1’, ‘2’, ‘3’, ‘4’ Case sensitive integer (int32)
Example Response application/json
{  "createdDate": "2026-11-12",  "dayIndicatorValue": 1,  "dynamicReportId": 1,  "emailMessage": "string",  "emailSubject": "string",  "enabled": false,  "lastRunDate": "2026-11-12",  "modifiedDate": "2026-11-12",  "nextRunDate": "2026-11-12",  "onlySendIfData": false,  "recipientUserGroups": [
    {    "userGroupId": 1,    "userGroupName": "string"
  }
  ],  "recipientUsers": [
    {    "fullName": "string",    "userCode": "string",    "userId": 1
  }
  ],  "replyToEmail": "string",  "reportDefinition": {    "description": "string",    "kql": "string",    "reportName": "string",    "state": "string"
  },  "reportDistributionId": 1,  "reportDistributionName": "string",  "reportFormat": "string",  "reportSubscriptionScheduleTypeId": 1
}
400 Bad Request The request was malformed or contains invalid parameters. Check the request body and query parameters.
404 Not Found The requested resource was not found. Verify the ID or path is correct.