Skip to content
  • Auto
  • Light
  • Dark
Talk to an expert

List

Get batched usage data
v1.usage.list(**kwargs) -> dataarraynext_pageStringUsageListResponse
post/v1/usage

Fetch aggregated usage data for multiple customers and billable-metrics, broken into intervals of the specified length.

Parameters
ending_beforeTime
formatdate-time
starting_onTime
formatdate-time
window_sizeunion
: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.

Hide ParametersShow Parameters
:HOUR
:DAY
:NONE
next_pageString
optional

Cursor that indicates where the next page of results should start.

billable_metricsarray
optional
Array[{ id, group_by}]

A list of billable metrics to fetch usage for. If absent, all billable metrics will be returned.

Hide ParametersShow Parameters
idString
formatuuid
group_byobject
optional
{ key, values}
Hide ParametersShow Parameters
keyString

The name of the group_by key to use

valuesarray
optional
Array[String]

Values of the group_by key to return in the query. If this field is omitted, all available values will be returned, up to a maximum of 200.

customer_idsarray
optional
Array[String]

A list of Metronome customer IDs to fetch usage for. If absent, usage for all customers will be returned.

Returns
UsageListResponseclass
Hide ParametersShow Parameters
dataarray
Array[{ billable_metric_id, billable_metric_name, customer_id, 4 more}]
Hide ParametersShow Parameters
billable_metric_idString
formatuuid
billable_metric_nameString
customer_idString
formatuuid
end_timestampTime
formatdate-time
start_timestampTime
formatdate-time
valueFloat
groupshash
optional
Hash[Symbol, Float]

Values will be either a number or null. Null indicates that there were no matches for the group_by value.

next_pageString
require "metronome_sdk"

metronome = MetronomeSDK::Client.new(bearer_token: "My Bearer Token")

usages = metronome.v1.usage.list(
  ending_before: "2021-01-03T00:00:00Z",
  starting_on: "2021-01-01T00:00:00Z",
  window_size: :HOUR
)

puts(usages)
200 Example
{
  "data": [
    {
      "billable_metric_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "billable_metric_name": "billable_metric_name",
      "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "end_timestamp": "2019-12-27T18:11:19.117Z",
      "start_timestamp": "2019-12-27T18:11:19.117Z",
      "value": 0,
      "groups": {
        "foo": 0
      }
    }
  ],
  "next_page": "next_page"
}