Manages the bill split version history for an account-meter relationship (create, update, delete)
Use this endpoint to set the final desired state of all split versions on an account-meter pair.
Pass all versions that should exist: new versions (no versionId) are created, existing versions (with versionId) are updated,
and versions in the database but not in the request are deleted. Set copyVersionId to copy instructions/inputs from another version.
Versions cannot overlap in effective dates. Deletions fail if the version has associated bills. The entire operation is transactional.
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 |
|---|---|---|---|
| accountId | Unique numeric identifier of the account | integer (int32) | Required |
| meterId | Unique numeric identifier of the meter | integer (int32) | Required |
Request Body
Array of:
DistributionVersionManage
| Property | Description | Type |
|---|---|---|
| beginPeriod | Begin period for the version in the format YYYYMM Cannot overlap any existing versions on this account and meter for the chargeback type being managed Required Valid billing period between 190001 and 300001 | integer (int32) |
| copyVersionId | An existing version id on this account meter to copy A new version will be created and all instructions will be copied to the new version CopyVersionId chargeback type must match the chargeback type being managed (Either “Split” or “Calculation”). CopyVersionId must exist on the account and meter relationship being updated Required (defined) Only one of VersionId, CopyVersionId can be set | integer (int32) |
| endPeriod | End period for the version in the format YYYYMM null value means continuing indefinitely Cannot overlap any existing versions on this account and meter for the chargeback type being managed Valid billing period between 190001 and 300001 NULL Valid Must be greater than or equal to BeginPeriod Required (defined) | integer (int32) |
| name | Name given to the version Name must be unique for a particular account and meter Required Must be between 0 and 64 characters | string |
| versionId | Version id to update VersionId must exist on the account and meter relationship being updated Required (defined) Only one of VersionId, CopyVersionId can be set | integer (int32) |
| workflowStepId | Workflow step this version will belong to The workflow step type must match the chargeback type being managed (Either “Split” or “Calculation”) Required (defined) | integer (int32) |
Example Request Body
[
{ "beginPeriod": 1, "copyVersionId": 1, "endPeriod": 1, "name": "string", "versionId": 1, "workflowStepId": 1
}
]
Responses
200
OK
The request succeeded and the response body contains the requested data.
Response Body Parameters
Array of:
DistributionVersionResponse
| Property | Description | Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| account | AccountChildWithType | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
AccountChildWithType properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beginPeriod | Begin period for the version | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| chargebackType | The chargeback type. Either “Split” or “Calculation” | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| endPeriod | End period for the version null value means continuing indefinitely | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hasBills | Do any bills exist that were created by this version? A version cannot be deleted if there are any existing bills that were created using this version | boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| meter | MeterChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MeterChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| versionId | Identifier for the version | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| versionInfo | Name given to a version | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| workflow | ChargebackWorkflowStepChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ChargebackWorkflowStepChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example Response
[
{ "account": { "accountCode": "string", "accountId": 1, "accountInfo": "string", "accountType": {}, "active": false, "hasCalculatedMeter": false, "hasSplitChildMeter": false, "hasSplitParentMeter": false, "hasSubAccount": false, "isSubAccount": false, "vendor": {}
}, "beginPeriod": 1, "chargebackType": "string", "endPeriod": 1, "hasBills": false, "meter": { "active": false, "commodity": {}, "isCalculatedMeter": false, "isEsaCalculatedMeter": false, "isSplitChildMeter": false, "isSplitParentMeter": false, "meterCode": "string", "meterId": 1, "meterInfo": "string", "meterType": {}, "serialNumber": "string"
}, "versionId": 1, "versionInfo": "string", "workflow": { "chargebackWorkflow": {}, "chargebackWorkflowStepDescription": "string", "chargebackWorkflowStepId": 1, "chargebackWorkflowStepInfo": "string", "chargebackWorkflowStepOrder": 1, "chargebackWorkflowStepType": "string"
}
}
]