Update CompoundAggregation
Update the CompoundAggregation with the given UUID.
This endpoint allows you to update the details of a specific CompoundAggregation associated with an Organization. Use it to modify details of an existing CompoundAggregation such as the Calculation formula.
Note: If you have created Custom Fields for a Compound Aggregation, when you use this endpoint to update the Compound Aggregation use the customFields parameter to preserve those Custom Fields. If you omit them from the update request, they will be lost.
Path parameters
The unique identifier (UUID) for your Organization. The Organization represents your company as a direct customer of our service.
The unique identifier (UUID) of the CompoundAggregation to update.
Request body
User defined fields enabling you to attach custom data. The value for a custom field can be either a string or a number.
If customFields can also be defined for this entity at the Organizational level, customField values defined at individual level override values of customFields with the same name defined at Organization level.
See Working with Custom Fields in the m3ter documentation for more information.
Descriptive name for the Aggregation.
Specifies how you want to deal with non-integer, fractional number Aggregation values.
NOTES:
- "NEAREST" rounds to the nearest half: 5.1 is rounded to 5, and 3.5 is rounded to 4.
- Also used in combination with quantityPerUnit. Rounds the number of units after quantityPerUnit is applied. If you set quantityPerUnit to a value other than one, you would typically set Rounding to UP. For example, suppose you charge by kilobytes per second (KiBy/s), set quantityPerUnit = 500, and set charge rate at $0.25 per unit used. If your customer used 48,900 KiBy/s in a billing period, the charge would be 48,900 / 500 = 97.8 rounded up to 98 * 0.25 = $2.45.
Defines how much of a quantity equates to 1 unit. Used when setting the price per unit for billing purposes - if charging for kilobytes per second (KiBy/s) at rate of $0.25 per 500 KiBy/s, then set quantityPerUnit to 500 and price Plan at $0.25 per unit.
Note: If quantityPerUnit is set to a value other than one, rounding is typically set to "UP".
User defined label for units shown for Bill line items, indicating to your customers what they are being charged for.
Code of the new Aggregation. A unique short code to identify the Aggregation.
Optional Product ID this Aggregation should be attributed to for accounting purposes
Unique identifier (UUID) of the Product the CompoundAggregation belongs to.
Note: Omit this parameter if you want to create a Global CompoundAggregation.
String that represents the formula for the calculation. This formula determines how the CompoundAggregation value is calculated. The calculation can reference simple Aggregations or Custom Fields. This field is required when creating or updating a CompoundAggregation.
NOTE: If a simple Aggregation referenced by a Compound Aggregation has a Quantity per unit defined or a Rounding defined, these will not be factored into the value used by the calculation. For example, if the simple Aggregation referenced has a base value of 100 and has Quantity per unit set at 10, the Compound Aggregation calculation will use the base value of 100 not 10.
Boolean True / False flag:
- TRUE - set to TRUE if you want to allow null values from the simple Aggregations referenced in the Compound Aggregation to be passed in. Simple Aggregations based on Meter Target Fields where no usage data is available will have null values.
- FALSE Default.
Note: If any of the simple Aggregations you reference in a Compound Aggregation calculation might have null values, you must set their Default Value to 0. This ensures that any null values passed into the Compound Aggregation are passed in correctly with value = 0.
Example request
{
"code": "example_code"
}Response
Returns the updated CompoundAggregation
The UUID of the entity.
The version number:
- Create: On initial Create to insert a new entity, the version is set at 1 in the response.
- Update: On successful Update, the version is incremented by 1 in the response.
User defined fields enabling you to attach custom data. The value for a custom field can be either a string or a number.
If customFields can also be defined for this entity at the Organizational level,customField values defined at individual level override values of customFields with the same name defined at Organization level.
See Working with Custom Fields in the m3ter documentation for more information.
Descriptive name for the Aggregation.
Specifies how you want to deal with non-integer, fractional number Aggregation values.
NOTES:
- "NEAREST" rounds to the nearest half: 5.1 is rounded to 5, and 3.5 is rounded to 4.
- Also used in combination with quantityPerUnit. Rounds the number of units after quantityPerUnit is applied. If you set quantityPerUnit to a value other than one, you would typically set Rounding to UP. For example, suppose you charge by kilobytes per second (KiBy/s), set quantityPerUnit = 500, and set charge rate at $0.25 per unit used. If your customer used 48,900 KiBy/s in a billing period, the charge would be 48,900 / 500 = 97.8 rounded up to 98 * 0.25 = $2.45.
Defines how much of a quantity equates to 1 unit. Used when setting the price per unit for billing purposes - if charging for kilobytes per second (KiBy/s) at rate of $0.25 per 500 KiBy/s, then set quantityPerUnit to 500 and price Plan at $0.25 per unit.
If quantityPerUnit is set to a value other than one, rounding is typically set to UP.
User defined or following the Unified Code for Units of Measure (UCUM).
Used as the label for billing, indicating to your customers what they are being charged for.
Code of the Aggregation. A unique short code to identify the Aggregation.
(Optional). Used when creating a segmented Aggregation, which segments the usage data collected by a single Meter. Works together with segmentedFields.
Contains the values that are to be used as the segments, read from the fields in the meter pointed at by segmentedFields.
The UUID of the Meter used as the source of usage data for the Aggregation.
Each Aggregation is a child of a Meter, so the Meter must be selected.
Code of the target dataField or derivedField on the Meter used as the basis for the Aggregation.
Specifies the computation method applied to usage data collected in targetField. Aggregation unit value depends on the Category configured for the selected targetField.
-
SUM. Adds the values. Can be applied to a Measure, Income, or Cost targetField.
-
MIN. Uses the minimum value. Can be applied to a Measure, Income, or Cost targetField.
-
MAX. Uses the maximum value. Can be applied to a Measure, Income, or Cost targetField.
-
COUNT. Counts the number of values. Can be applied to a Measure, Income, or Cost targetField.
-
LATEST. Uses the most recent value. Can be applied to a Measure, Income, or Cost targetField. Note: Based on the timestamp ts value of usage data measurement submissions. If using this method, please ensure distinct ts values are used for usage data measurement submissions.
-
MEAN. Uses the arithmetic mean of the values. Can be applied to a Measure, Income, or Cost targetField.
-
UNIQUE. Uses unique values and returns a count of the number of unique values. Can be applied to a Metadata targetField.
(Optional). Used when creating a segmented Aggregation, which segments the usage data collected by a single Meter. Works together with segments.
The Codes of the fields in the target Meter to use for segmentation purposes.
String dataFields on the target Meter can be segmented. Any string derivedFields on the target Meter, such as one that concatenates two string dataFields, can also be segmented.
Aggregation value used when no usage data is available to be aggregated. (Optional).
Note: Set to 0, if you expect to reference the Aggregation in a Compound Aggregation. This ensures that any null values are passed in correctly to the Compound Aggregation calculation with a value = 0.
The DateTime when the aggregation was created (in ISO 8601 format).
The DateTime when the aggregation was last modified (in ISO 8601 format).
The id of the user who created this aggregation.
The id of the user who last modified this aggregation.