Create a rate schedule version
Allows the user to create a new version for a rate schedule for use in chargeback scenarios where use or demand cost for calculated bills must be created from a predefined unit cost.
Validation
- Account and meter line items
- Subtotal calculation type is not supported
Other Remarks
- Inserting a rate version before an existing version will set the new version’s end date to the effective date of the subsequent version.
- Null values are acceptable for use and demand unit costs. However, for chargeback bills to calculate correctly, these values must be provided.
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 |
|---|---|---|---|
| rateId | Unique identifier of the rate schedule to receive the new version | integer (int32) | Required |
Request Body
RateVersionRequest
| Property | Description | Type | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| accountLineItems | Cost bodylines for the account Required (defined) | GenericBodylineRequest[] | |||||||||||||||
|
GenericBodylineRequest properties
|
|||||||||||||||||
| demandUnitCost | Unit cost for the demand Required when DemandUnitID is set Max scale of 8 NULL Valid | number (double) | |||||||||||||||
| demandUnitId | Demand unit ID Required when DemandUnitCost is set | integer (int32) | |||||||||||||||
| effectiveDate | Effective date for the version Required Must be between 1899-12-31 and 3000-01-01 | string (date-time) | |||||||||||||||
| meterLineItems | Cost bodylines for the meter Required (defined) | GenericBodylineRequest[] | |||||||||||||||
|
GenericBodylineRequest properties
|
|||||||||||||||||
| note | Note for the version Must be between 0 and 255 characters Required (defined) | string | |||||||||||||||
| udfs | List of user defined/custom fields and values for this version If the Udfs list is null or empty no values are assigned If a udf is omitted no value is assigned to that udf To remove a value from an existing Udf, pass in the UdfId and set the Value to null Required (defined) | UDFValue[] | |||||||||||||||
|
UDFValue properties
|
|||||||||||||||||
| useUnitCost | Unit cost for the use Required when UseUnitID is set Max scale of 8 NULL Valid | number (double) | |||||||||||||||
| useUnitId | Use unit ID Required when UseUnitCost is set | integer (int32) | |||||||||||||||
Example Request Body
{ "accountLineItems": [
{ "calculationType": "string", "caption": "string", "observationTypeId": 1, "value": 1.0
}
], "demandUnitCost": 1.0, "demandUnitId": 1, "effectiveDate": "2026-03-30", "meterLineItems": [
{ "calculationType": "string", "caption": "string", "observationTypeId": 1, "value": 1.0
}
], "note": "string", "udfs": [
{ "udfId": 1, "value": "string"
}
], "useUnitCost": 1.0, "useUnitId": 1
}
Responses
200
OK
The request succeeded and the response body contains the requested data.
Response Body Parameters
RateVersionResponse
| Property | Description | Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| accountLineItems | Cost bodylines for the account | GenericBodylineResponse[] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
GenericBodylineResponse properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beginDate | Begin date for the version | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| costUnit | UnitChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UnitChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| createdBy | UserChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UserChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| createdDate | Created date | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| demandUnit | UnitChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UnitChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| demandUnitCost | Unit cost for the demand | number (double) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| endDate | End date for the version | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| meterLineItems | Cost bodylines for the meter | GenericBodylineResponse[] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
GenericBodylineResponse properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| modifiedBy | UserChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UserChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| modifiedDate | Last modified date | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| note | Note | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| udfs | List of user defined/custom fields and values for this version | UDFFieldChild[] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UDFFieldChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| useUnit | UnitChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UnitChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| useUnitCost | Unit cost for the use | number (double) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| versionId | ID of the rate schedule version | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example Response
{ "accountLineItems": [
{ "calculationType": "string", "caption": "string", "observationType": { "credit": 1, "nounCode": "string", "nounId": 1, "observationTypeCode": "string", "observationTypeId": 1, "observationTypeInfo": "string"
}, "value": 1.0
}
], "beginDate": "2026-03-30", "costUnit": { "unitCode": "string", "unitId": 1, "unitInfo": "string"
}, "createdBy": { "fullName": "string", "userCode": "string", "userId": 1
}, "createdDate": "2026-03-30", "demandUnit": { "unitCode": "string", "unitId": 1, "unitInfo": "string"
}, "demandUnitCost": 1.0, "endDate": "2026-03-30", "meterLineItems": [
{ "calculationType": "string", "caption": "string", "observationType": { "credit": 1, "nounCode": "string", "nounId": 1, "observationTypeCode": "string", "observationTypeId": 1, "observationTypeInfo": "string"
}, "value": 1.0
}
], "modifiedBy": { "fullName": "string", "userCode": "string", "userId": 1
}, "modifiedDate": "2026-03-30", "note": "string", "udfs": [
{ "dataType": { "dataTypeCode": "string", "dataTypeId": 1, "dataTypeInfo": "string"
}, "description": "string", "displayOrder": 1, "important": false, "name": "string", "udfId": 1, "udfSelectValues": [
{ "displayOrder": 1, "udfSelectValueId": 1, "value": "string"
}
], "value": "string"
}
], "useUnit": { "unitCode": "string", "unitId": 1, "unitInfo": "string"
}, "useUnitCost": 1.0, "versionId": 1
}