Replaces an existing Watts distribution's definition, recipients, and delivery settings
Use this endpoint to edit a Watts distribution or enable/disable it while retaining its full configuration.
Enabled=false disables scheduled delivery; Enabled=true enables it. Changing this distribution never
modifies the source saved report. Use POST /api/v202610/wattsreportdistribution to create a copy.
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. |
Path Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| reportDistributionId | Unique numeric identifier of the Watts distribution to update. | integer (int32) | Required |
Request Body
WattsReportDistributionEditRequest
| 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 Required (defined) | 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 | |||||||||||||||
| enabled | When true, scheduled delivery is enabled. When false, the distribution is retained but scheduled delivery is disabled. Required | boolean | |||||||||||||||
| 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. Required (defined) | integer[] | |||||||||||||||
| recipientUserIds | Unique numeric identifiers of individual EnergyCAP users in the customer’s database. Empty means only recipient groups are selected. Required (defined) | integer[] | |||||||||||||||
| replyToEmail | The reply-to email address. Null means no reply-to override. Must be between 0 and 128 characters Required (defined) | 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", "enabled": false, "onlySendIfData": false, "recipientUserGroupIds": [
1
], "recipientUserIds": [
1
], "replyToEmail": "string", "reportDefinition": { "description": "string", "kql": "string", "reportName": "string", "state": "string"
}, "reportDistributionName": "string", "reportFormat": "string", "reportSubscriptionScheduleTypeId": 1
}
Responses
200
OK
The request succeeded and the response body contains the requested data.
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.