Generates or saves a cost avoidance baseline for a meter with provided settings
Use this endpoint to preview or persist baseline calculations for a meter. When save=false (default),
the baseline is computed and returned without persisting. When save=true, the baseline is saved and
savings are reprocessed asynchronously (requires MeterSavingsSettings Manage permission in addition
to View). Provide baseline start date, number of months, savings start date, and bill exclusions.
Requires Meter Savings Settings View permission.
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 |
|---|---|---|---|
| meterId | Unique numeric identifier of the meter to generate baseline for | integer (int32) | Required |
Query Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| save | When true, persists the baseline and triggers savings reprocessing. When false (default), returns preview only | boolean | Optional |
Request Body
BaselineProcessorRequest
| Property | Description | Type | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| adjustArea | Indicates if floor area adjustments should be made | boolean | |||||||||
| adjustSummer | Indicates if summer weather adjustments should be made | boolean | |||||||||
| adjustWinter | Indicates if winter weather adjustments should be made | boolean | |||||||||
| adjustedCostTypeId | The type of cost adjustment to perform. Possible values include 1 (current average unit cost) and 5 (net cost difference) | integer (int32) | |||||||||
| baselineBills | Indicates if each bill in the baseline should be included in the baseline regression | BaselineProcessorRequest+BaselineBill[] | |||||||||
|
BaselineProcessorRequest+BaselineBill properties
|
|||||||||||
| baselineMonths | The number of months in the baseline. Setting this to anything other than 12 will turn off weather adjustments irregardless of the settings in adjustWinter and adjustSummer | integer (int32) | |||||||||
| baselineStartDate | The baseline’s start date | string (date-time) | |||||||||
| coolingTemp | The cooling balance point | integer (int32) | |||||||||
| extendedWeatherStartDate | The start date of the extended weather. This should be 1, 2 or 3 years prior to the baseline start date. Extended weather uses additional months prior to the baseline start date to determine weather sensitivity. | string (date-time) | |||||||||
| heatingTemp | The heating balance point | integer (int32) | |||||||||
| includeInCAP | Indicates if the meter will be included in savings calculations | boolean | |||||||||
| savingsStartDate | The savings period’s start date | string (date-time) | |||||||||
| useExtendedWeather | Indicates if extended weather should be used. Extended weather uses additional months prior to the baseline start date to determine weather sensitivity. | boolean | |||||||||
Example Request Body
{ "adjustArea": false, "adjustSummer": false, "adjustWinter": false, "adjustedCostTypeId": 1, "baselineBills": [
{ "billId": 1, "isExcluded": false
}
], "baselineMonths": 1, "baselineStartDate": "2026-06-29", "coolingTemp": 1, "extendedWeatherStartDate": "2026-06-29", "heatingTemp": 1, "includeInCAP": false, "savingsStartDate": "2026-06-29", "useExtendedWeather": false
}
Responses
200
OK
The request succeeded and the response body contains the requested data.
Response Body Parameters
BaselineProcessorResponse
| Property | Description | Type | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| adjustArea | Indicates if floor area adjustments should be made | boolean | |||||||||||||||||||||||||||||||||||||||||||||
| adjustSummer | Indicates if summer weather adjustments should be made | boolean | |||||||||||||||||||||||||||||||||||||||||||||
| adjustWinter | Indicates if winter weather adjustments should be made | boolean | |||||||||||||||||||||||||||||||||||||||||||||
| adjustedCoolingR2 | Adjusted Cooling R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| adjustedCostType | AdjustedCostTypeResponse | ||||||||||||||||||||||||||||||||||||||||||||||
|
AdjustedCostTypeResponse properties
|
|||||||||||||||||||||||||||||||||||||||||||||||
| adjustedHeatingR2 | number (double) | ||||||||||||||||||||||||||||||||||||||||||||||
| baselineBills | Indicates whether or not each bill in the baseline should be included in the baseline regression | BaselineProcessorResponse+BaselineBill[] | |||||||||||||||||||||||||||||||||||||||||||||
|
BaselineProcessorResponse+BaselineBill properties
|
|||||||||||||||||||||||||||||||||||||||||||||||
| baselineMonths | Number of months in the baseline Setting this to anything other than 12 will turn off weather adjustments irregardless of the settings in adjustWinter and adjustSummer | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||
| baselineStartDate | Baseline start date | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingBaseTStat | Cooling base T-stat | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingCVRMSE | Cooling CVRMSE | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingCalculatedR2 | Cooling calculated R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingFSU | Cooling FSU | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingIntercept | Cooling intercept | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingMaxDegreeDays | Cooling max Degree Days | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingMaxUse | Cooling max use | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingMinR2 | Cooling minimum R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingNDB | Cooling NDB | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingR2 | Cooling R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingSlope | Cooling slope | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingStandardError | Cooling standard error | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingStdDev | Cooling standard deviation | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingTemp | Cooling balance point | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||
| coolingWeatherTStat | Cooling weather T-stat | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| extendedWeatherStartDate | Start Date of the extended weather. This should be 1, 2 or 3 years prior to the baseline start date. Extended weather uses additional months prior to the baseline start date to determine weather sensitivity. | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingBaseTStat | Heating base T-stat | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingCVRMSE | Heating CVRMSE | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingCalculatedR2 | Heating calculated R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingFSU | Heating FSU | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingIntercept | Heating intercept | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingMaxDegreeDays | Heating maximum Degree Days | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingMaxUse | Heating maximum use | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingMinR2 | Heating minimum R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingNDB | Heating NDB | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingR2 | Heating R2 | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingSlope | Heating slope | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingStandardError | Heating standard error | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingStdDev | Heating standard deviation | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingTemp | Heating balance point | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||
| heatingWeatherTStat | Heating weather T-stat | number (double) | |||||||||||||||||||||||||||||||||||||||||||||
| includeInCAP | Indicates if the meter will be included in savings calculations | boolean | |||||||||||||||||||||||||||||||||||||||||||||
| nativeUseUnit | UnitChild | ||||||||||||||||||||||||||||||||||||||||||||||
|
UnitChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||
| savingsStartDate | Savings Period start date | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||
| useExtendedWeather | Indicates if extended weather should be used. Extended weather uses additional months prior to the baseline start date to determine weather sensitivity. | boolean | |||||||||||||||||||||||||||||||||||||||||||||
Example Response
{ "adjustArea": false, "adjustSummer": false, "adjustWinter": false, "adjustedCoolingR2": 1.0, "adjustedCostType": { "adjustedCostTypeCode": "string", "adjustedCostTypeId": 1, "adjustedCostTypeInfo": "string"
}, "adjustedHeatingR2": 1.0, "baselineBills": [
{ "avgCoolingDegreeDays": 1.0, "avgHeatingDegreeDays": 1.0, "beginDate": "2026-06-29", "billId": 1, "calendarPeriod": 1, "calendarYear": 1, "days": 1, "endDate": "2026-06-29", "fiscalPeriod": 1, "fiscalYear": 1, "isExcluded": false, "isOutlier": false, "nativeUse": 1.0, "periodName": "string"
}
], "baselineMonths": 1, "baselineStartDate": "2026-06-29", "coolingBaseTStat": 1.0, "coolingCVRMSE": 1.0, "coolingCalculatedR2": 1.0, "coolingFSU": 1.0, "coolingIntercept": 1.0, "coolingMaxDegreeDays": 1.0, "coolingMaxUse": 1.0, "coolingMinR2": 1.0, "coolingNDB": 1.0, "coolingR2": 1.0, "coolingSlope": 1.0, "coolingStandardError": 1.0, "coolingStdDev": 1.0, "coolingTemp": 1, "coolingWeatherTStat": 1.0, "extendedWeatherStartDate": "2026-06-29", "heatingBaseTStat": 1.0, "heatingCVRMSE": 1.0, "heatingCalculatedR2": 1.0, "heatingFSU": 1.0, "heatingIntercept": 1.0, "heatingMaxDegreeDays": 1.0, "heatingMaxUse": 1.0, "heatingMinR2": 1.0, "heatingNDB": 1.0, "heatingR2": 1.0, "heatingSlope": 1.0, "heatingStandardError": 1.0, "heatingStdDev": 1.0, "heatingTemp": 1, "heatingWeatherTStat": 1.0, "includeInCAP": false, "nativeUseUnit": { "unitCode": "string", "unitId": 1, "unitInfo": "string"
}, "savingsStartDate": "2026-06-29", "useExtendedWeather": false
}
404
Not Found
The requested resource was not found. Verify the ID or path is correct.