POST /api/v202608/esaalert/{esaAlertId}/channel

Associates an existing threshold alert with one or more ESA channels

AddAlertToChannelsV202608 Permissions: Meters (Edit)

Use this endpoint to attach an alert that was created without channels (or add more channels to one that already has some) to specific ESA channels. All channels must be active, accessible to the caller, and eligible for the alert. A channel already associated with this alert cannot be added again.

A channel is eligible only if it is a primary value or primary demand channel, has a summarization method the alert type and direction allow (Max or Average for ‘above’; Max, Average, or Min for ‘below’; Sum for ’total over time’), and has exactly the alert’s unit. Units must match exactly, not merely share a unit type: no unit conversion is performed anywhere, so a kWh channel cannot be used with an MWh alert. A meter whose channels carry different units therefore needs one alert per unit. For ’total over time’ the alert’s Interval must also be a whole multiple of the channel’s interval (it may equal it), since the total is accumulated from whole channel intervals. Use GET /esaalert/{alertId}/channels to list the channels that satisfy all of this.

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
esaAlertId Unique numeric identifier of the alert, supplied via the request path integer (int32) Required

Request Body

EsaAlertAddChannels
Property Description Type
channelIds The ESA channel IDs to associate with the alert. Required, must contain at least one entry, and no duplicates. Every channel must be eligible for this alert - primary value or demand, a summarization method the alert’s type and direction allow, exactly the alert’s unit, and for ’total over time’ an interval the alert’s Interval is a whole multiple of. A channel already associated with this alert cannot be added again. The whole request is rejected if any channel fails, and the error names the offending ids grouped by the reason each failed. Required integer[]
Example Request Body application/json
{  "channelIds": [
    1
  ]
}

Responses

204 No Content The request succeeded. No content is returned in the response body.
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.