---
title: "Create invoice line item"
method: POST
path: "/invoice_line_items"
tags: ["Invoice"]
---

# Create invoice line item

`POST /invoice_line_items`

This creates a one-off fixed fee invoice line item on an Invoice.
This can only be done for invoices that are in a `draft` status.

The behavior depends on which parameters are provided:
- If `item_id` is provided without `name`: The item is looked up by ID, and the item's name
  is used for the line item.
- If `name` is provided without `item_id`: An item with the given name is searched for in the account.
  If found, that item is used. If not found, a new item is created with that name.
  The new item's name is used for the line item.
- If both `item_id` and `name` are provided: The item is looked up by ID for association,
  but the provided `name` is used for the line item (not the item's name).

## Request body

- CreateInvoiceLineItemParams
  - `start_date` string, date, required — A date string to specify the line item's start date in the customer's timezone.
  - `end_date` string, date, required — A date string to specify the line item's end date in the customer's timezone.
  - `quantity` number, required — The number of units on the line item
  - `invoice_id` string, required — The id of the Invoice to add this line item.
  - `name` string, nullable — The name to use for the line item. If `item_id` is not provided, Orb will search for an item with this name. If found, that item will be associated with the line item. If not found, a new item will be created with this name. If `item_id` is provided, this name will be used for the line item, but the item association will be based on `item_id`. At least one of `name` or `item_id` must be provided.
  - `amount` string, required — The total amount in the invoice's currency to add to the line item.
  - `item_id` string, nullable — The id of the item to associate with this line item. If provided without `name`, the item's name will be used for the price/line item. If provided with `name`, the item will be associated but `name` will be used for the line item. At least one of `name` or `item_id` must be provided.

## Response `201`

Created

- InvoiceLineItem
  - `amount` string, required — The final amount for a line item after all adjustments and pre paid credits have been applied.
  - `end_date` string, date-time, required — The end date of the range of time applied for this line item's price.
  - `grouping` string, nullable, required — [DEPRECATED] For configured prices that are split by a grouping key, this will be populated with the key and a value. The `amount` and `subtotal` will be the values for this particular grouping.
  - `adjustments` MonetaryAdjustment[], required — All adjustments applied to the line item in the order they were applied based on invoice calculations (ie. usage discounts -> amount discounts -> percentage discounts -> minimums -> maximums).
    - union
      - MonetaryUsageDiscountAdjustment
        - `id` string, required
        - `is_invoice_level` boolean, required — True for adjustments that apply to an entire invoice, false for adjustments that apply to only one price.
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this adjustment to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — The price IDs that this adjustment applies to.
        - `reason` string, nullable, required — The reason for the adjustment.
        - `replaces_adjustment_id` string, nullable, required — The adjustment id this adjustment replaces. This adjustment will take the place of the replaced adjustment in plan version migrations.
        - `adjustment_type` 'usage_discount', required
        - `usage_discount` number, required — The number of usage units by which to discount the price this adjustment applies to in a given billing period.
        - `amount` string, required — The value applied by an adjustment.
      - MonetaryAmountDiscountAdjustment
        - `id` string, required
        - `is_invoice_level` boolean, required — True for adjustments that apply to an entire invoice, false for adjustments that apply to only one price.
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this adjustment to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — The price IDs that this adjustment applies to.
        - `reason` string, nullable, required — The reason for the adjustment.
        - `replaces_adjustment_id` string, nullable, required — The adjustment id this adjustment replaces. This adjustment will take the place of the replaced adjustment in plan version migrations.
        - `adjustment_type` 'amount_discount', required
        - `amount_discount` string, required — The amount by which to discount the prices this adjustment applies to in a given billing period.
        - `amount` string, required — The value applied by an adjustment.
      - MonetaryPercentageDiscountAdjustment
        - `id` string, required
        - `is_invoice_level` boolean, required — True for adjustments that apply to an entire invoice, false for adjustments that apply to only one price.
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this adjustment to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — The price IDs that this adjustment applies to.
        - `reason` string, nullable, required — The reason for the adjustment.
        - `replaces_adjustment_id` string, nullable, required — The adjustment id this adjustment replaces. This adjustment will take the place of the replaced adjustment in plan version migrations.
        - `adjustment_type` 'percentage_discount', required
        - `percentage_discount` number, required — The percentage (as a value between 0 and 1) by which to discount the price intervals this adjustment applies to in a given billing period.
        - `amount` string, required — The value applied by an adjustment.
      - MonetaryTieredPercentageDiscountAdjustment
        - `id` string, required
        - `is_invoice_level` boolean, required — True for adjustments that apply to an entire invoice, false for adjustments that apply to only one price.
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this adjustment to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — The price IDs that this adjustment applies to.
        - `reason` string, nullable, required — The reason for the adjustment.
        - `replaces_adjustment_id` string, nullable, required — The adjustment id this adjustment replaces. This adjustment will take the place of the replaced adjustment in plan version migrations.
        - `adjustment_type` 'tiered_percentage_discount', required
        - `tiers` PercentageTier[], required — The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier), applied to the prices this adjustment covers in a given billing period.
          - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
          - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
          - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
        - `amount` string, required — The value applied by an adjustment.
      - MonetaryMinimumAdjustment
        - `id` string, required
        - `is_invoice_level` boolean, required — True for adjustments that apply to an entire invoice, false for adjustments that apply to only one price.
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this adjustment to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — The price IDs that this adjustment applies to.
        - `reason` string, nullable, required — The reason for the adjustment.
        - `replaces_adjustment_id` string, nullable, required — The adjustment id this adjustment replaces. This adjustment will take the place of the replaced adjustment in plan version migrations.
        - `adjustment_type` 'minimum', required
        - `minimum_amount` string, required — The minimum amount to charge in a given billing period for the prices this adjustment applies to.
        - `item_id` string, required — The item ID that revenue from this minimum will be attributed to.
        - `amount` string, required — The value applied by an adjustment.
      - MonetaryMaximumAdjustment
        - `id` string, required
        - `is_invoice_level` boolean, required — True for adjustments that apply to an entire invoice, false for adjustments that apply to only one price.
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this adjustment to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — The price IDs that this adjustment applies to.
        - `reason` string, nullable, required — The reason for the adjustment.
        - `replaces_adjustment_id` string, nullable, required — The adjustment id this adjustment replaces. This adjustment will take the place of the replaced adjustment in plan version migrations.
        - `adjustment_type` 'maximum', required
        - `maximum_amount` string, required — The maximum amount to charge in a given billing period for the prices this adjustment applies to.
        - `amount` string, required — The value applied by an adjustment.
  - `name` string, required — The name of the price associated with this line item.
  - `quantity` number, required — Either the fixed fee quantity or the usage during the service period.
  - `start_date` string, date-time, required — The start date of the range of time applied for this line item's price.
  - `subtotal` string, required — The line amount before any adjustments.
  - `adjusted_subtotal` string, required — The line amount after any adjustments and before overage conversion, credits and partial invoicing.
  - `credits_applied` string, required — The number of prepaid credits applied.
  - `partially_invoiced_amount` string, required — Any amount applied from a partial invoice
  - `sub_line_items` InvoiceSubLineItem[], required — For complex pricing structures, the line item can be broken down further in `sub_line_items`.
    - union
      - MatrixSubLineItem
        - `amount` string, required — The total amount for this sub line item.
        - `name` string, required
        - `quantity` number, required
        - `grouping` SubLineItemGrouping, required
          - `key` string, required
          - `value` string, nullable, required — No value indicates the default group
        - `type` 'matrix', required
        - `scaled_quantity` number, nullable — The scaled quantity for this line item for specific pricing structures
        - `matrix_config` SubLineItemMatrixConfig, required
          - `dimension_values` string[], required — The ordered dimension values for this line item.
      - TierSubLineItem
        - `amount` string, required — The total amount for this sub line item.
        - `name` string, required
        - `quantity` number, required
        - `grouping` SubLineItemGrouping, required
          - `key` string, required
          - `value` string, nullable, required — No value indicates the default group
        - `type` 'tier', required
        - `tier_config` TierSubLineItemTierConfig, required
          - `first_unit` number, required
          - `last_unit` number, nullable, required
          - `unit_amount` string, required
      - OtherSubLineItem
        - `amount` string, required — The total amount for this sub line item.
        - `name` string, required
        - `quantity` number, required
        - `grouping` SubLineItemGrouping, required
          - `key` string, required
          - `value` string, nullable, required — No value indicates the default group
        - `type` ''null'', required
  - `tax_amounts` TaxAmount[], required — An array of tax rates and their incurred tax amounts. Empty if no tax integration is configured.
    - `tax_rate_description` string, required — The human-readable description of the applied tax rate.
    - `tax_rate_percentage` string, nullable, required — The tax rate percentage, out of 100.
    - `amount` string, required — The amount of additional tax incurred by this tax rate.
  - `id` string, required — A unique ID for this line item.
  - `price` union, required — The Price resource represents a price that can be billed on a subscription, resulting in a charge on an invoice in the form of an invoice line item. Prices take a quantity and determine an amount to bill. Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a given Price object. The model_type field determines the key for the configuration object that is present. For more on the types of prices, see [the core concepts documentation](/core-concepts#plan-and-price)
    - UnitPrice
      - `model_type` 'unit', required — The pricing model type
      - `unit_config` UnitConfig, required — Configuration for unit pricing
        - `unit_amount` string, required — Rate per unit of usage
        - `prorated` boolean — If true, subtotals from this price are prorated based on the service period
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - TieredPrice
      - `model_type` 'tiered', required — The pricing model type
      - `tiered_config` TieredConfig, required — Configuration for tiered pricing
        - `tiers` Tier[], required — Tiers for rating based on total usage quantities into the specified tier
          - `first_unit` number, required — Exclusive tier starting value
          - `last_unit` number, nullable — Inclusive tier ending value. This value is null if and only if this is the last tier.
          - `unit_amount` string, required — Amount per unit
        - `prorated` boolean — If true, subtotals from this price are prorated based on the service period
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - BulkPrice
      - `model_type` 'bulk', required — The pricing model type
      - `bulk_config` BulkConfig, required — Configuration for bulk pricing
        - `tiers` BulkTier[], required — Bulk tiers for rating based on total usage volume
          - `maximum_units` number, nullable — Upper bound for this tier
          - `unit_amount` string, required — Amount per unit
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - BulkWithFiltersPrice
      - `model_type` 'bulk_with_filters', required — The pricing model type
      - `bulk_with_filters_config` BulkWithFiltersConfig, required — Bulk pricing with event filtering applies bulk pricing tiers based on total usage volume, but only charges for events that match specified property filters. How it works: 1. **Tier Selection**: Uses the customer's total usage quantity to determine which bulk pricing tier applies 2. **Event Filtering**: Only counts events where the specified property filters match (supports single or multiple filters) 3. **Billing**: Charges the filtered quantity at the rate determined by the total usage tier Example: - Total usage: 150 events - Bulk tiers: 0-99 = $1.00, 100+ = $0.80 - Filters: region="us-east-1" AND environment="production" - Filtered events: 75 events matching both filters - Result: 75 events × $0.80 = $60.00 (rate determined by 150 total, but only 75 charged) This allows customers to get bulk discounts based on their total volume while only paying for usage in specific regions, environments, or other filtered categories.
        - `tiers` BulkWithFiltersTier[], required — Bulk tiers for rating based on total usage volume
          - `tier_lower_bound` string, nullable — The lower bound for this tier
          - `unit_amount` string, required — Amount per unit
        - `filters` FilterRule[], required — Property filters to apply (all must match)
          - `property_key` string, required — Event property key to filter on
          - `property_value` string, required — Event property value to match
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - PackagePrice
      - `model_type` 'package', required — The pricing model type
      - `package_config` PackageConfig, required — Configuration for package pricing
        - `package_amount` string, required — A currency amount to rate usage by
        - `package_size` integer, required — An integer amount to represent package size. For example, 1000 here would divide usage by 1000 before multiplying by package_amount in rating
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - MatrixPrice
      - `model_type` 'matrix', required — The pricing model type
      - `matrix_config` MatrixConfig, required — Configuration for matrix pricing
        - `dimensions` string[], required — One or two event property values to evaluate matrix groups by
        - `default_unit_amount` string, required — Default per unit rate for any usage not bucketed into a specified matrix_value
        - `matrix_values` MatrixValue[], required — Matrix values configuration
          - `unit_amount` string, required — Unit price for the specified dimension_values
          - `dimension_values` string[], required — One or two matrix keys to filter usage to this Matrix value by
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - ThresholdTotalAmountPrice
      - `model_type` 'threshold_total_amount', required — The pricing model type
      - `threshold_total_amount_config` ThresholdTotalAmountConfig, required — Configuration for tiered total pricing
        - `consumption_table` TieredTotalThreshold[], required — When the quantity consumed passes a provided threshold, the configured total will be charged
          - `threshold` string, required
          - `total_amount` string, required — Total amount for this threshold
        - `prorate` boolean, nullable — If true, the unit price will be prorated to the billing period
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - TieredPackagePrice
      - `model_type` 'tiered_package', required — The pricing model type
      - `tiered_package_config` TieredPackagePricingConfig, required — Configuration for tiered package pricing
        - `tiers` TieredPackageTierItem[], required — Apply tiered pricing after rounding up the quantity to the package size. Tiers are defined using exclusive lower bounds. The tier bounds are defined based on the total quantity rather than the number of packages, so they must be multiples of the package size.
          - `tier_lower_bound` string, required
          - `per_unit` string, required — Price per package
        - `package_size` string, required
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - TieredWithMinimumPrice
      - `model_type` 'tiered_with_minimum', required — The pricing model type
      - `tiered_with_minimum_config` TieredPricingWithMinimumConfig, required — Configuration for tiered pricing with minimum
        - `tiers` TieredPricingWithMinimumTierItem[], required — Tiered pricing with a minimum amount dependent on the volume tier. Tiers are defined using exclusive lower bounds.
          - `tier_lower_bound` string, required
          - `unit_amount` string, required — Per unit amount
          - `minimum_amount` string, required
        - `hide_zero_amount_tiers` boolean — If true, tiers with an accrued amount of 0 will not be included in the rating.
        - `prorate` boolean — If true, the unit price will be prorated to the billing period
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - GroupedTieredPrice
      - `model_type` 'grouped_tiered', required — The pricing model type
      - `grouped_tiered_config` GroupedTieredConfig, required — Configuration for grouped tiered pricing
        - `tiers` GroupedTieredTier[], required — Apply tiered pricing to each segment generated after grouping with the provided key
          - `tier_lower_bound` string, required
          - `unit_amount` string, required — Per unit amount
        - `grouping_key` string, required — The billable metric property used to group before tiering
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - TieredPackageWithMinimumPrice
      - `model_type` 'tiered_package_with_minimum', required — The pricing model type
      - `tiered_package_with_minimum_config` TieredPackagePricingWithMinimumConfig, required — Configuration for tiered package pricing with minimum
        - `tiers` TieredPackageWithMinimumTierItem[], required — Apply tiered pricing after rounding up the quantity to the package size. Tiers are defined using exclusive lower bounds.
          - `tier_lower_bound` string, required
          - `per_unit` string, required
          - `minimum_amount` string, required
        - `package_size` number, required
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - PackageWithAllocationPrice
      - `model_type` 'package_with_allocation', required — The pricing model type
      - `package_with_allocation_config` PackageWithAllocationConfig, required — Configuration for package pricing with usage allocation
        - `package_amount` string, required
        - `package_size` string, required
        - `allocation` string, required
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `billable_metric` BillableMetricTiny, required
        - `id` string, required
      - `dimensional_price_configuration` DimensionalPriceConfiguration
        - `dimensional_price_group_id` string, required
        - `dimension_values` string[], required
      - `fixed_price_quantity` number, nullable, required
      - `plan_phase_order` integer, nullable, required
      - `currency` string, required
      - `conversion_rate` number, nullable, required
      - `conversion_rate_config` union, required
        - UnitConversionRateConfig
          - `conversion_rate_type` 'unit', required
          - `unit_config` ConversionRateUnitConfig, required
            - `unit_amount` string, required — Amount per unit of overage
        - TieredConversionRateConfig
          - `conversion_rate_type` 'tiered', required
          - `tiered_config` ConversionRateTieredConfig, required
            - `tiers` ConversionRateTier[], required — Tiers for rating based on total usage quantities into the specified tier
              - …
      - `item` ItemSlim, required — A minimal representation of an Item containing only the essential identifying information.
        - `id` string, required — The Orb-assigned unique identifier for the item.
        - `name` string, required — The name of the item.
      - `credit_allocation` Allocation, required
        - `currency` string, required
        - `allows_rollover` boolean, required
        - `custom_expiration` CustomExpiration, required
          - `duration` integer, required
          - `duration_unit` 'day' | 'month', required
        - `filters` PriceFilter[]
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `license_type_id` string, nullable
      - `composite_price_filters` PriceFilter[], nullable, required
        - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
        - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
        - `values` string[], required — The IDs or values that match this filter.
      - `invoice_grouping_key` string, nullable, required
      - `license_type` LicenseType — The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.
        - `id` string, required — The Orb-assigned unique identifier for the license type.
        - `name` string, required — The name of the license type.
        - `grouping_key` string, required — The key used for grouping licenses of this type. This is typically a user identifier field.
      - `discount` union, required
        - PercentageDiscount
          - `discount_type` 'percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `percentage_discount` number, required — Only available if discount_type is `percentage`. This is a number between 0 and 1.
        - TrialDiscount
          - `discount_type` 'trial', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `trial_amount_discount` string, nullable — Only available if discount_type is `trial`
          - `trial_percentage_discount` number, nullable — Only available if discount_type is `trial`
        - UsageDiscount
          - `discount_type` 'usage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `usage_discount` number, required — Only available if discount_type is `usage`. Number of usage units that this discount is for
        - AmountDiscount
          - `discount_type` 'amount', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `amount_discount` string, required — Only available if discount_type is `amount`.
        - TieredPercentageDiscount
          - `discount_type` 'tiered_percentage', required
          - `applies_to_price_ids` string[], nullable — List of price_ids that this discount applies to. For plan/plan phase discounts, this can be a subset of prices.
          - `filters` PriceFilter[], nullable — The filters that determine which prices to apply this discount to.
            - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
            - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
            - `values` string[], required — The IDs or values that match this filter.
          - `reason` string, nullable
          - `tiers` PercentageTier[], required — Only available if discount_type is `tiered_percentage`. The ordered, contiguous bands of cumulative eligible spend, each discounted at its own percentage (progressive fill-a-tier).
            - `lower_bound` number, required — Exclusive lower bound of cumulative spend for this tier.
            - `upper_bound` number, nullable — Inclusive upper bound of cumulative spend for this tier; null for the final open-ended tier.
            - `percentage` number, required — The percentage (between 0 and 1) discounted from spend that falls within this tier.
      - `minimum` Minimum, required
        - `minimum_amount` string, required — Minimum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this minimum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this minimum amount applies to. For plan/plan phase minimums, this can be a subset of prices.
      - `minimum_amount` string, nullable, required
      - `maximum` Maximum, required
        - `maximum_amount` string, required — Maximum amount applied
        - `filters` PriceFilter[], required — The filters that determine which prices to apply this maximum to.
          - `field` 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id', required — The property of the price to filter on.
          - `operator` 'includes' | 'excludes', required — Should prices that match the filter be included or excluded.
          - `values` string[], required — The IDs or values that match this filter.
        - `applies_to_price_ids` string[], required — List of price_ids that this maximum amount applies to. For plan/plan phase maximums, this can be a subset of prices.
      - `maximum_amount` string, nullable, required
    - UnitWithPercentPrice
      - `model_type` 'unit_with_percent', required — The pricing model type
      - `unit_with_percent_config` UnitWithPercentConfig, required — Configuration for unit pricing with percentage
        - `unit_amount` string, required — Rate per unit of usage
        - `percent` string, required — What percent, out of 100, of the calculated total to charge
      - `metadata` object, required — User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to `null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
      - `id` string, required
      - `name` string, required
      - `external_price_id` string, nullable, required
      - `replaces_price_id` string, nullable, required — The price id this price replaces. This price will take the place of the replaced price in plan version migrations.
      - `price_type` 'usage_price' | 'fixed_price' | 'composite_price', required
      - `created_at` string, date-time, required
      - `cadence` 'one_time' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'custom', required
      - `billing_mode` 'in_advance' | 'in_arrear', required
      - `billing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
      - `invoicing_cycle_configuration` BillingCycleConfiguration, required
        - `duration` integer, required
        - `duration_unit` 'day' | 'month', required
- … truncated; see the full OpenAPI document linked below

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `409` — Conflict
- `413` — Content Too Large
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.dev/withorb/apis/api-reference.md) · [All operations](https://skmtc.dev/withorb/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withorb/api-reference/revisions/816dfe734e2e/schema)
