PUT /api/v202607/dynamicReporting/{reportId}

Updates a specific dynamic report by its ID. The report name and description can be changed, as well as the report body if desired. Returns 404 if the report does not exist.

UpdateDynamicReportV202607 Permissions: Reports (Run)

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
reportId integer (int32) Required

Request Body

DynamicReportRequestV202607
Property Description Type
kql The KQL that defines the data to be retrieved by the report Required (defined) string
reportDescription The description of the report Max length of 4000 Required (defined) string
reportName The report name Max length of 255 Required (defined) string
savedWattsChatMessageIds Identifiers of the reporting chat messages (user, assistant, and undo) that belong to this saved version of the report. Only these messages, plus WattsChatMessageId, are committed to the chat history; other unsaved messages in the chat stay hidden. Required (defined) integer[]
wattsChatMessageId The chat message ID associated with this version of the report, if applicable. Required (defined) integer (int32)
Example Request Body application/json
{  "kql": "string",  "reportDescription": "string",  "reportName": "string",  "savedWattsChatMessageIds": [
    1
  ],  "wattsChatMessageId": 1
}

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

DynamicReportResponseV202607
Property Description Type
columns Required (defined) string[]
createdBy UserChildWithActive
UserChildWithActive properties
Property Description Type
active True when the user’s account is active and can sign in. False when the user has been deactivated; deactivated users keep their records, including reports they created and shared. Required (defined) boolean
fullName The user’s full name Required (defined) string
hiddenUser True when the user is hidden and their name should be masked in report-author popovers. False when the user’s name can be displayed. The built-in ECI user is displayed as System User. Required (defined) boolean
userCode The user code Required (defined) string
userId The user identifier Required (defined) integer (int32)
createdDate Date and time when the report was created. Required (defined) string (date-time)
description User-facing description stored on the current report version. Null when no description was supplied. Required (defined) string
dynamicReportId Unique numeric identifier of the saved dynamic report. Required (defined) integer (int32)
dynamicReportInfo User-facing saved report title. Required (defined) string
gridState Serialized grid, chart, and panel state stored on the current report version. Null when no UI state has been saved. Required (defined) string
kql KQL persisted on the current report version and used to reproduce its data. Required (defined) string
lastViewedDate Date and time when the current report version was last successfully executed. Null when the report has never been viewed. Required (defined) string (date-time)
modifiedBy UserChild
UserChild properties
Property Description Type
fullName The user’s full name string
userCode The user code string
userId The user identifier integer (int32)
modifiedDate Date and time when the current report version was most recently modified. Required (defined) string (date-time)
ownerId Unique numeric identifier of the EnergyCAP owner that contains this report. Required (defined) integer (int32)
shared True when the report has been shared with everyone, at least one user, or at least one user group. False when only the creator can see it. Required (defined) boolean
sharedWithMe True when the current caller can see this report only because it was shared with them (directly, through a user group, or with everyone). False for reports the caller created. Required (defined) boolean
visible True when the report appears in the current caller’s report list. False when the caller has hidden this shared report from their list. Always true for reports the caller created. Required (defined) boolean
wattsChatId Unique numeric identifier of the reporting chat that owns the linked assistant message. Null for legacy or unlinked reports. Required (defined) integer (int32)
wattsChatMessageId Unique numeric identifier of the assistant message associated with the saved KQL. Null for legacy or unlinked reports. Always null when the caller is not the report’s creator, because the chat belongs to the creator. Required (defined) integer (int32)
Example Response application/json
{  "columns": [
    "string"
  ],  "createdBy": {    "active": false,    "fullName": "string",    "hiddenUser": false,    "userCode": "string",    "userId": 1
  },  "createdDate": "2026-11-10",  "description": "string",  "dynamicReportId": 1,  "dynamicReportInfo": "string",  "gridState": "string",  "kql": "string",  "lastViewedDate": "2026-11-10",  "modifiedBy": {    "fullName": "string",    "userCode": "string",    "userId": 1
  },  "modifiedDate": "2026-11-10",  "ownerId": 1,  "shared": false,  "sharedWithMe": false,  "visible": false,  "wattsChatId": 1,  "wattsChatMessageId": 1
}
404 Not Found The requested resource was not found. Verify the ID or path is correct.