Creates a Watts report distribution from the current report definition without saving a report
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
|
|||||||||||||||||
| 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
{ "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
|
|||||||||||||||||
| recipientUsers | The explicitly selected individual EnergyCAP users. An empty list means recipients are selected through groups only. | UserChild[] | |||||||||||||||
|
UserChild properties
|
|||||||||||||||||
| replyToEmail | The reply-to email override. Null means no override was supplied. | string | |||||||||||||||
| reportDefinition | WattsReportDistributionDefinition | ||||||||||||||||
|
WattsReportDistributionDefinition properties
|
|||||||||||||||||
| 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
{ "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.