List With Groups
Get usage data with paginated groupings
client.V1.Usage.ListWithGroups(ctx, params) (*CursorPage[EndingBeforeTimeGroupKeystringGroupValuestringStartingOnTimeValuefloat64V1UsageListWithGroupsResponse], error)
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
paramsBillableMetricIDfieldCustomerIDfieldWindowSizefieldLimitfieldNextPagefieldCurrentPeriodfieldEndingBeforefieldGroupByfieldStartingOnfieldV1UsageListWithGroupsParams
Returns
V1UsageListWithGroupsResponsestruct
package main
import (
"context"
"fmt"
"time"
"github.com/Metronome-Industries/metronome-go"
"github.com/Metronome-Industries/metronome-go/option"
)
func main() {
client := metronome.NewClient(
option.WithBearerToken("My Bearer Token"),
)
page, err := client.V1.Usage.ListWithGroups(context.TODO(), metronome.V1UsageListWithGroupsParams{
BillableMetricID: metronome.F("222796fd-d29c-429e-89b2-549fabda4ed6"),
CustomerID: metronome.F("04ca7e72-4229-4a6e-ab11-9f7376fccbcb"),
WindowSize: metronome.F(metronome.V1UsageListWithGroupsParamsWindowSize("day")),
EndingBefore: metronome.F(time.Now()),
GroupBy: metronome.F(metronome.V1UsageListWithGroupsParamsGroupBy{
Key: metronome.F("region"),
Values: metronome.F([]string{"US-East", "US-West", "EU-Central"}),
}),
StartingOn: metronome.F(time.Now()),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}
200 Example
{
"data": [
{
"ending_before": "2019-12-27T18:11:19.117Z",
"group_key": "group_key",
"group_value": "group_value",
"starting_on": "2019-12-27T18:11:19.117Z",
"value": 0
}
],
"next_page": "next_page"
}