## List With Groups `v1.usage.list_with_groups(**kwargs) -> CursorPage` **post** `/v1/usage/groups` Fetch aggregated usage data for the specified customer, billable-metric, and optional group, broken into intervals of the specified length. ### Parameters - **billable\_metric\_id:** `String` - **customer\_id:** `String` - **window\_size:** `:HOUR | :DAY | :NONE` A window_size of "day" or "hour" will return the usage for the specified period segmented into daily or hourly aggregates. A window_size of "none" will return a single usage aggregate for the entirety of the specified period. - `:HOUR` - `:DAY` - `:NONE` - **limit:** `Integer` Max number of results that should be returned - **next\_page:** `String` Cursor that indicates where the next page of results should start. - **current\_period:** `bool` If true, will return the usage for the current billing period. Will return an error if the customer is currently uncontracted or starting_on and ending_before are specified when this is true. - **ending\_before:** `Time` - **group\_by:** `{ key, values}` - **key:** `String` The name of the group_by key to use - **values:** `Array[String]` Values of the group_by key to return in the query. Omit this if you'd like all values for the key returned. - **starting\_on:** `Time` ### Returns - `class UsageListWithGroupsResponse` - **ending\_before:** `Time` - **group\_key:** `String` - **group\_value:** `String` - **starting\_on:** `Time` - **value:** `Float` ### Example ```ruby require "metronome_sdk" metronome = MetronomeSDK::Client.new(bearer_token: "My Bearer Token") page = metronome.v1.usage.list_with_groups( billable_metric_id: "222796fd-d29c-429e-89b2-549fabda4ed6", customer_id: "04ca7e72-4229-4a6e-ab11-9f7376fccbcb", window_size: :HOUR ) puts(page) ```