---
title: "List CompoundAggregations"
method: GET
path: "/organizations/{orgId}/compoundaggregations"
tags: ["CompoundAggregation"]
---

# List CompoundAggregations

`GET /organizations/{orgId}/compoundaggregations`

Retrieve a list of all CompoundAggregations. 

This endpoint retrieves a list of CompoundAggregations associated with a specific organization. CompoundAggregations enable you to define numerical measures based on simple Aggregations of usage data. It supports pagination, and includes various query parameters to filter the CompoundAggregations based on Product, CompoundAggregation IDs or short codes.

## Path parameters

- `orgId` string, required

## Query parameters

- `pageSize` integer
- `nextToken` string
- `productId` string[]
- `ids` string[]
- `codes` string[]

## Response `200`

Returns the list of CompoundAggregations

- PaginatedCompoundAggregationResponseData
  - `data` CompoundAggregationResponse[]
    - `id` string, required — The UUID of the entity.
    - `version` integer — 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.
    - `customFields` object — 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](https://www.m3ter.com/docs/guides/creating-and-managing-products/working-with-custom-fields) in the m3ter documentation for more information.
    - `name` string — Descriptive name for the Aggregation.
    - `rounding` 'UP' | 'DOWN' | 'NEAREST' | 'NONE' — 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.
    - `quantityPerUnit` number — 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.
    - `unit` string — 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` string — Code of the Aggregation. A unique short code to identify the Aggregation.
    - `segments` object[] — *(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`.
    - `accountingProductId` string
    - `calculation` string — This field is a string that represents the formula for the calculation. This formula determines how the CompoundAggregation is calculated from the underlying usage data.
    - `productId` string — This field represents the unique identifier (UUID) of the Product that is associated with the CompoundAggregation.
    - `evaluateNullAggregations` boolean — This is a boolean True / False flag. If set to TRUE, the calculation will be evaluated even if the referenced aggregation has no usage data.
    - `dtCreated` string, date-time — The date and time *(in ISO-8601 format)* when the CompoundAggregation was created.
    - `dtLastModified` string, date-time — The date and time *(in ISO-8601 format)* when the CompoundAggregation was last modified.
    - `createdBy` string — The unique identifier (UUID) of the user who created this CompoundAggregation.
    - `lastModifiedBy` string — The unique identifier (UUID) of the user who last modified this CompoundAggregation.
  - `nextToken` string

## Other responses

- `4XX` — Error message
- `5XX` — Error message

---

[API](https://skmtc.net/m3ter-com/apis/m3ter-api.md) · [All operations](https://skmtc.net/m3ter-com/apis/m3ter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/m3ter-com/m3ter-api/revisions/ac93d1a9e6d9/schema)
