PUT /api/v202406/esachannel/{esaChannelId}

Edits an ESA channel

EditEsaChannelV202406 Permissions: Meters (Edit)

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
esaChannelId The ESA channel identifier integer (int32) Required

Request Body

EsaChannelEdit
Property Description Type
channelDescription The channel description Max length of 255 Required (defined) string
channelImportId The channel import identifier Max length of 255 Required (defined) string
channelInfo The name of the ESA channel Max length of 50 Required string
esaChannelVersion EsaChannelVersionEdit
EsaChannelVersionEdit properties
Property Description Type
beginDate Date and time that this channel version is valid from. The valid period is exclusive of the beginDate. The time zone of this date will match the data point’s time zone. Therefore, if any time zone information is provided, it will be ignored. string (date-time)
formula The formula that should be used to calculate the channel’s values. Should only be provided when channel’s IsCalculated property equals true. string
isValuePositive Indicates if the final value is always positive boolean
maximumReading The channel Maximum Computed Reading Must be between -999999999999999 and 999999999999999 Max scale of 15, max precision of 30 NULL Valid number (double)
minimumReading The channel Minimum Computed Reading Must be between -999999999999999 and 999999999999999 Max scale of 15, max precision of 30 NULL Valid number (double)
multiplier The channel multiplier Must be between -9999999999999 and 9999999999999 Required Max scale of 15, max precision of 30 number (double)
observationRuleId Indicates the channel observation rule Demand channels cannot have the odometer observation rule Required Must be a valid value for ObservationRuleEnum: Odometer = 1, Trip = 2 integer (int32)
offset The channel offset Exclusive to the Trip observation rule Must be between -9999999999999 and 9999999999999 Max scale of 15, max precision of 30 number (double)
rollbackAllowance The channel Odometer Rollover Allowance. Exclusive to the Odometer observation rule If not provided, the default 0.1 is used Must be between 0 and 1 Max scale of 15, max precision of 30 NULL Valid Must be null when ObservationRuleId is set to Trip, case sensitive number (double)
rolloverValue The channel Odometer Rollover Value. Exclusive to the Odometer observation rule If not provided, the default 999999999999999 is used Must be between 0 and 999999999999999 Max scale of 15, max precision of 30 NULL Valid Must be null when ObservationRuleId is set to Trip, case sensitive number (double)
unitId The channel unit identifier. It cannot be a Money unit type. Required integer (int32)
intervalMinutes The channel interval identifier One of ‘5’, ‘10’, ‘15’, ‘30’, ‘60’, ‘1440’, ‘10080’, ‘43200’ Case sensitive Required when IsCalculated is set to False, case sensitive. Must be null when IsCalculated is set to True, case sensitive integer (int32)
isCalculated Indicates whether or not this is a calculated channel with a formula. When IsCalculated is true, the formula will need to be provided in channel version. Conversions from Non-Calculated Channel to Calculated Channel: If the channel has no readings, If the channel has only one version, If the channel is not in other formulas Conversions from Calculated Channel to Non-Calculated Channel: If the channel has no readings Required (defined) boolean
isPrimaryDemand If the channel is demand value Required (defined) boolean
isPrimaryValue If the channel is primary value Required (defined) boolean
observationTypeId The channel type identifier Required integer (int32)
summarizationMethodId The channel summarization method identifier Required integer (int32)
Example Request Body application/json
{  "channelDescription": "string",  "channelImportId": "string",  "channelInfo": "string",  "esaChannelVersion": {    "beginDate": "2026-03-30",    "formula": "string",    "isValuePositive": false,    "maximumReading": 1.0,    "minimumReading": 1.0,    "multiplier": 1.0,    "observationRuleId": 1,    "offset": 1.0,    "rollbackAllowance": 1.0,    "rolloverValue": 1.0,    "unitId": 1
  },  "intervalMinutes": 1,  "isCalculated": false,  "isPrimaryDemand": false,  "isPrimaryValue": false,  "observationTypeId": 1,  "summarizationMethodId": 1
}

Responses

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

Response Body Parameters

EsaChannelResponse
Property Description Type
channelDescription Description of the channel string
channelId The identifier for the channel integer (int32)
channelImportId The import identifier for the channel. string
channelInfo The channel name string
channelVersions List of channel versions Versions include channel settings that may change over time EsaChannelVersionResponse[]
EsaChannelVersionResponse properties
Property Description Type
beginDate Date and time that this channel version is valid from. The valid period is exclusive of the beginDate. string (date-time)
channelVersionId The channel version identifier integer (int32)
endDate Date and time that this channel version is valid until. The valid period is inclusive of the endDate. string (date-time)
formula The formula that should be used in calculated channels. string
isValuePositive Indicates if the channel final value is always positive boolean
maximumReading The channel’s maximum reading number (double)
minimumReading The channel’s minimum reading number (double)
multiplier The channel multiplier number (double)
observationRule ObservationRule
ObservationRule properties
Property Description Type
observationRuleCode The observation rule code string
observationRuleId The observation rule identifier integer (int32)
observationRuleInfo The observation rule info string
offset The channel offset number (double)
resolvedFormula Formula, but with the input Channels and Meters referenced by ChannelInfo (name) instead of by ID. string
rollbackAllowance The channel’s roll back allowance number (double)
rolloverValue The channel’s rollover value number (double)
unit UnitChild
UnitChild properties
Property Description Type
unitCode The unit code string
unitId The unit identifier integer (int32)
unitInfo The unit info string
dataPoint DataPointChildWithParentAndImportId
DataPointChildWithParentAndImportId properties
Property Description Type
active Indicates whether the data point is Active boolean
commodity CommodityChild
CommodityChild properties
Property Description Type
commodityCode The commodity code Required (defined) string
commodityIcon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
commodityId The commodity identifier Required (defined) integer (int32)
commodityInfo The commodity info Required (defined) string
dataPointCode The data point code string
dataPointId The data point identifier integer (int32)
dataPointImportId The import identifier for the data point string
dataPointInfo The data point info string
isCalculatedDataPoint Indicates whether the data point is a calculated data point boolean
isDataRolledUp Indicates if the primary value channel on the datapoint has a summarization method of SUM boolean
parentPlace PlaceChild
PlaceChild properties
Property Description Type
isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
placeCode The place code string
placeId The place identifier integer (int32)
placeInfo The place info string
placeType PlaceTypeResponse
PlaceTypeResponse properties
Property Description Type
icon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
placeEntityType PlaceEntityTypeV202406
PlaceEntityTypeV202406 properties
Property Description Type
placeEntityTypeId The place entity type identifier integer (int32)
placeEntityTypeInfo The place entity type name string
placeTypeCode The place type code string
placeTypeId The place type identifier integer (int32)
placeTypeInfo The place type info string
structure Indicates if the place is a structure boolean
serialNumber The data point’s current serial number string
firstReadingDate DateTimeOffset of the earliest Reading for the Channel. For Calculated Channels, this is the first Summarized Reading. For all other Channels, this is the first Processed Reading. The DateTimeOffset will always be a valid time in the Meter’s Time Zone. If the offset is removed, it will be the local date and time, in the Meter’s Time Zone. string (date-time)
hasReadings Indicates if the channel has readings boolean
interval The channel interval integer (int32)
isCalculated Indicates if the channel is calculated boolean
isCalculatedConvertible Indicates if the channel can be converted from calculated to non-calculated or vice-versa From Non-Calculated to Calculated: If the channel has no readings, If the channel has only one version, If the channel is not in other formulas From Calculated to Non-Calculated: If the channel has no readings boolean
isPrimaryDemand Indicates if the channel is the primary demand channel for the data point boolean
isPrimaryValue Indicates if the channel is the primary value channel for the data point boolean
lastReadingDate DateTimeOffset of the most recent Reading for the Channel. For Calculated Channels, this is the most recent Summarized Reading. For all other Channels, this is the most recent Processed Reading. The DateTimeOffset will always be a valid time in the Meter’s Time Zone. If the offset is removed, it will be the local date and time, in the Meter’s Time Zone. string (date-time)
lastReadingValue ValueWithUnit
ValueWithUnit properties
Property Description Type
unit UnitChild
UnitChild properties
Property Description Type
unitCode The unit code string
unitId The unit identifier integer (int32)
unitInfo The unit info string
value Value number (double)
meter MeterChildIncludePlace
MeterChildIncludePlace properties
Property Description Type
active Indicates whether the Meter is Active boolean
commodity CommodityChild
CommodityChild properties
Property Description Type
commodityCode The commodity code Required (defined) string
commodityIcon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
commodityId The commodity identifier Required (defined) integer (int32)
commodityInfo The commodity info Required (defined) string
isCalculatedMeter Indicates whether the meter is a calculated meter boolean
isEsaCalculatedMeter Indicates whether the meter is an ESA calculated meter boolean
isSplitChildMeter Indicates whether the meter is a child of a split boolean
isSplitParentMeter Indicates whether the meter is a parent of a split boolean
meterCode The meter code string
meterId The meter identifier integer (int32)
meterInfo The meter info string
meterType MeterTypeChild
MeterTypeChild properties
Property Description Type
meterTypeCode string
meterTypeId integer (int32)
meterTypeInfo string
parentPlace PlaceChild
PlaceChild properties
Property Description Type
isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
placeCode The place code string
placeId The place identifier integer (int32)
placeInfo The place info string
placeType PlaceTypeResponse
PlaceTypeResponse properties
Property Description Type
icon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
placeEntityType PlaceEntityTypeV202406
PlaceEntityTypeV202406 properties
Property Description Type
placeEntityTypeId The place entity type identifier integer (int32)
placeEntityTypeInfo The place entity type name string
placeTypeCode The place type code string
placeTypeId The place type identifier integer (int32)
placeTypeInfo The place type info string
structure Indicates if the place is a structure boolean
serialNumber The meter’s current serial number string
observationType ObservationTypeChild
ObservationTypeChild properties
Property Description Type
credit Indicates the type of credit for the observation type. Possible values include: 1 (Credit), 2 (Debit), 3 (Ignore) integer (int32)
nounCode The observation type’s noun code string
nounId The identifier for the observation type’s noun integer (int32)
observationTypeCode The observation type code string
observationTypeId The observation type identifier integer (int32)
observationTypeInfo The observation type info string
summarizationMethod SummarizationMethod
SummarizationMethod properties
Property Description Type
summarizationMethodId The summarization method identifier integer (int32)
summarizationMethodInfo The name of the summarization method string
Example Response application/json
{  "channelDescription": "string",  "channelId": 1,  "channelImportId": "string",  "channelInfo": "string",  "channelVersions": [
    {    "beginDate": "2026-03-30",    "channelVersionId": 1,    "endDate": "2026-03-30",    "formula": "string",    "isValuePositive": false,    "maximumReading": 1.0,    "minimumReading": 1.0,    "multiplier": 1.0,    "observationRule": {      "observationRuleCode": "string",      "observationRuleId": 1,      "observationRuleInfo": "string"
    },    "offset": 1.0,    "resolvedFormula": "string",    "rollbackAllowance": 1.0,    "rolloverValue": 1.0,    "unit": {      "unitCode": "string",      "unitId": 1,      "unitInfo": "string"
    }
  }
  ],  "dataPoint": {    "active": false,    "commodity": {      "commodityCode": "string",      "commodityIcon": {},      "commodityId": 1,      "commodityInfo": "string"
    },    "dataPointCode": "string",    "dataPointId": 1,    "dataPointImportId": "string",    "dataPointInfo": "string",    "isCalculatedDataPoint": false,    "isDataRolledUp": false,    "parentPlace": {      "isDataRolledUp": false,      "placeCode": "string",      "placeId": 1,      "placeInfo": "string",      "placeType": {}
    },    "serialNumber": "string"
  },  "firstReadingDate": "2026-03-30",  "hasReadings": false,  "interval": 1,  "isCalculated": false,  "isCalculatedConvertible": false,  "isPrimaryDemand": false,  "isPrimaryValue": false,  "lastReadingDate": "2026-03-30",  "lastReadingValue": {    "unit": {      "unitCode": "string",      "unitId": 1,      "unitInfo": "string"
    },    "value": 1.0
  },  "meter": {    "active": false,    "commodity": {      "commodityCode": "string",      "commodityIcon": {},      "commodityId": 1,      "commodityInfo": "string"
    },    "isCalculatedMeter": false,    "isEsaCalculatedMeter": false,    "isSplitChildMeter": false,    "isSplitParentMeter": false,    "meterCode": "string",    "meterId": 1,    "meterInfo": "string",    "meterType": {      "meterTypeCode": "string",      "meterTypeId": 1,      "meterTypeInfo": "string"
    },    "parentPlace": {      "isDataRolledUp": false,      "placeCode": "string",      "placeId": 1,      "placeInfo": "string",      "placeType": {}
    },    "serialNumber": "string"
  },  "observationType": {    "credit": 1,    "nounCode": "string",    "nounId": 1,    "observationTypeCode": "string",    "observationTypeId": 1,    "observationTypeInfo": "string"
  },  "summarizationMethod": {    "summarizationMethodId": 1,    "summarizationMethodInfo": "string"
  }
}