---
title: "Fetch plan by external ID"
method: GET
path: "/plans/external_plan_id/{external_plan_id}"
tags: ["Plan"]
---

# Fetch plan by external ID

`GET /plans/external_plan_id/{external_plan_id}`

This endpoint is used to fetch [plan](/core-concepts##plan-and-price) details given an external_plan_id
identifier. It returns information about the prices included in the plan and their configuration, as well as
the product that the plan is attached to.

If multiple plans are found to contain the specified external_plan_id, the active plans will take priority over
archived ones, and among those, the endpoint will return the most recently created plan.

## Serialized prices
Orb supports a few different pricing models
out of the box. Each of these models is serialized differently in a given [Price](/core-concepts#plan-and-price)
object. The `model_type` field determines the key for the configuration object that is present. A detailed explanation
of price types can be found in the [Price schema](/core-concepts#plan-and-price). "

## Path parameters

- `external_plan_id` string, required

## Response `200`

OK

- Plan — The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be subscribed to by a customer. Plans define the billing behavior of the subscription. You can see more about how to configure prices in the [Price resource](/reference/price).
  - `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
  - `description` string, required
  - `maximum_amount` string, nullable, required
  - `minimum_amount` string, nullable, required
  - `created_at` string, date-time, required
  - `status` 'active' | 'archived' | 'draft', 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.
  - `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.
  - `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.
  - `product` Product, required
    - `created_at` string, date-time, required
    - `id` string, required
    - `name` string, required
  - `version` integer, required
  - `trial_config` TrialConfig, required
    - `trial_period` integer, nullable, required
    - `trial_period_unit` 'days', required
  - `plan_phases` PlanPhase[], nullable, required
    - `id` string, required
    - `description` string, nullable, required
    - `duration` integer, nullable, required — How many terms of length `duration_unit` this phase is active for. If null, this phase is evergreen and active indefinitely
    - `duration_unit` 'daily' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual', nullable, required
    - `name` string, required
    - `order` integer, required — Determines the ordering of the phase in a plan's lifecycle. 1 = first phase.
    - `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.
    - `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
    - `minimum_amount` string, nullable, required
    - `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.
  - `base_plan` PlanMinified, required
    - `id` string, nullable, required
    - `external_plan_id` string, nullable, required — An optional user-defined ID for this plan resource, used throughout the system as an alias for this Plan. Use this field to identify a plan by an existing identifier in your system.
    - `name` string, nullable, required
  - `base_plan_id` string, nullable, required — Legacy field representing the parent plan ID if the current plan is a 'child plan', overriding prices from the parent.
  - `external_plan_id` string, nullable, required — An optional user-defined ID for this plan resource, used throughout the system as an alias for this Plan. Use this field to identify a plan by an existing identifier in your system.
  - `currency` string, required — An ISO 4217 currency string or custom pricing unit (`credits`) for this plan's prices.
  - `invoicing_currency` string, required — An ISO 4217 currency string for which this plan is billed in. Matches `currency` unless `currency` is a custom pricing unit.
  - `net_terms` integer, nullable, required — Determines the difference between the invoice issue date and the due date. A value of "0" here signifies that invoices are due on issue, whereas a value of "30" means that the customer has a month to pay the invoice before its overdue. Note that individual subscriptions or invoices may set a different net terms configuration.
  - `default_invoice_memo` string, nullable, required — The default memo text on the invoices corresponding to subscriptions on this plan. Note that each subscription may configure its own memo.
  - `prices` Price[], required — Prices for this plan. If the plan has phases, this includes prices across all phases of the plan.
    - union — 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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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).
              - …
        - `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
      - MatrixWithAllocationPrice
        - `model_type` 'matrix_with_allocation', required — The pricing model type
        - `matrix_with_allocation_config` MatrixWithAllocationConfig, required — Configuration for matrix pricing with usage allocation
          - `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
          - `allocation` string, required — Usage allocation
          - `matrix_values` MatrixWithAllocationValueItem[], 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. For example, ["region", "tier"] could be used to filter cloud usage by a cloud region and an instance tier.
        - `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
              - …
          - TieredConversionRateConfig
            - `conversion_rate_type` 'tiered', required
            - `tiered_config` ConversionRateTieredConfig, required
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
- … 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)
