## List Charges `client.V1.Plans.ListCharges(ctx, params) (*CursorPage[V1PlanListChargesResponse], error)` **get** `/v1/planDetails/{plan_id}/charges` Fetches a list of charges of a specific plan. ### Parameters - **params:** `V1PlanListChargesParams` - **PlanID:** `param.Field[string]` Path param: - **Limit:** `param.Field[int64]` Query param: Max number of results that should be returned - **NextPage:** `param.Field[string]` Query param: Cursor that indicates where the next page of results should start. ### Returns - Not supported - **ID:** `string` - **ChargeType:** `V1PlanListChargesResponseChargeType` - `V1PlanListChargesResponseChargeType` - `V1PlanListChargesResponseChargeType` - `V1PlanListChargesResponseChargeType` - `V1PlanListChargesResponseChargeType` - `V1PlanListChargesResponseChargeType` - **CreditType:** `CreditTypeData` - **CustomFields:** `map[string, string]` - **Name:** `string` - **Prices:** `[]V1PlanListChargesResponsePrice` - **Tier:** `float64` Used in pricing tiers. Indicates at what metric value the price applies. - **Value:** `float64` - **CollectionInterval:** `float64` - **CollectionSchedule:** `string` - **Quantity:** `float64` - **ProductID:** `string` - **ProductName:** `string` - **Quantity:** `float64` - **StartPeriod:** `float64` Used in price ramps. Indicates how many billing periods pass before the charge applies. - **TierResetFrequency:** `float64` Used in pricing tiers. Indicates how often the tier resets. Default is 1 - the tier count resets every billing period. - **UnitConversion:** `V1PlanListChargesResponseUnitConversion` Specifies how quantities for usage based charges will be converted. - **DivisionFactor:** `float64` The conversion factor - **RoundingBehavior:** `V1PlanListChargesResponseUnitConversionRoundingBehavior` Whether usage should be rounded down or up to the nearest whole number. If null, quantity will be rounded to 20 decimal places. - `V1PlanListChargesResponseUnitConversionRoundingBehavior` - `V1PlanListChargesResponseUnitConversionRoundingBehavior` ### Example ```go package main import ( "context" "fmt" "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.Plans.ListCharges(context.TODO(), metronome.V1PlanListChargesParams{ PlanID: metronome.F("d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ```