orb-billing 1.54.0 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +496 -6
  5. data/lib/orb/models/beta_create_plan_version_params.rb +496 -6
  6. data/lib/orb/models/changed_subscription_resources.rb +2 -2
  7. data/lib/orb/models/credit_block_accounting_sync_failed_webhook_event.rb +4 -4
  8. data/lib/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rb +4 -4
  9. data/lib/orb/models/credit_block_list_invoices_response.rb +4 -4
  10. data/lib/orb/models/credit_block_retrieve_response.rb +4 -4
  11. data/lib/orb/models/credit_block_update_response.rb +4 -4
  12. data/lib/orb/models/customer_credit_ledger_incremented_webhook_event.rb +4 -4
  13. data/lib/orb/models/dimensional_price_groups/price_create_response.rb +2 -2
  14. data/lib/orb/models/invoice.rb +2 -2
  15. data/lib/orb/models/invoice_edited_webhook_event.rb +2 -2
  16. data/lib/orb/models/invoice_fetch_upcoming_response.rb +2 -2
  17. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  18. data/lib/orb/models/per_price_cost.rb +2 -2
  19. data/lib/orb/models/plan.rb +2 -2
  20. data/lib/orb/models/plan_create_params.rb +246 -3
  21. data/lib/orb/models/plan_version.rb +2 -2
  22. data/lib/orb/models/price.rb +416 -1
  23. data/lib/orb/models/price_create_params.rb +231 -3
  24. data/lib/orb/models/price_edited_webhook_event.rb +2 -2
  25. data/lib/orb/models/price_evaluate_multiple_params.rb +238 -3
  26. data/lib/orb/models/price_evaluate_preview_events_params.rb +238 -3
  27. data/lib/orb/models/price_interval.rb +2 -2
  28. data/lib/orb/models/subscription_create_params.rb +495 -6
  29. data/lib/orb/models/subscription_price_intervals_params.rb +238 -3
  30. data/lib/orb/models/subscription_schedule_plan_change_params.rb +496 -6
  31. data/lib/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rb +4 -4
  32. data/lib/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rb +4 -4
  33. data/lib/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rb +4 -4
  34. data/lib/orb/models/webhooks/invoice_edited_standard_webhook_event.rb +2 -2
  35. data/lib/orb/models/webhooks/price_edited_standard_webhook_event.rb +2 -2
  36. data/lib/orb/resources/credit_blocks.rb +1 -1
  37. data/lib/orb/resources/dimensional_price_groups/prices.rb +1 -1
  38. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  39. data/lib/orb/resources/prices.rb +5 -5
  40. data/lib/orb/version.rb +1 -1
  41. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2939 -2129
  42. data/rbi/orb/models/beta_create_plan_version_params.rbi +2937 -2127
  43. data/rbi/orb/models/changed_subscription_resources.rbi +2 -1
  44. data/rbi/orb/models/credit_block_accounting_sync_failed_webhook_event.rbi +5 -5
  45. data/rbi/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbi +5 -5
  46. data/rbi/orb/models/credit_block_list_invoices_response.rbi +5 -5
  47. data/rbi/orb/models/credit_block_retrieve_response.rbi +5 -5
  48. data/rbi/orb/models/credit_block_update_response.rbi +5 -5
  49. data/rbi/orb/models/customer_credit_ledger_incremented_webhook_event.rbi +5 -5
  50. data/rbi/orb/models/dimensional_price_groups/price_create_response.rbi +2 -1
  51. data/rbi/orb/models/invoice.rbi +2 -1
  52. data/rbi/orb/models/invoice_edited_webhook_event.rbi +2 -1
  53. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +2 -1
  54. data/rbi/orb/models/invoice_line_item_create_response.rbi +2 -1
  55. data/rbi/orb/models/per_price_cost.rbi +2 -1
  56. data/rbi/orb/models/plan.rbi +2 -1
  57. data/rbi/orb/models/plan_create_params.rbi +409 -4
  58. data/rbi/orb/models/plan_version.rbi +2 -1
  59. data/rbi/orb/models/price.rbi +716 -1
  60. data/rbi/orb/models/price_create_params.rbi +397 -4
  61. data/rbi/orb/models/price_edited_webhook_event.rbi +2 -1
  62. data/rbi/orb/models/price_evaluate_multiple_params.rbi +397 -4
  63. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +397 -4
  64. data/rbi/orb/models/price_interval.rbi +2 -1
  65. data/rbi/orb/models/subscription_create_params.rbi +2676 -1866
  66. data/rbi/orb/models/subscription_price_intervals_params.rbi +397 -4
  67. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2686 -1876
  68. data/rbi/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rbi +5 -5
  69. data/rbi/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rbi +5 -5
  70. data/rbi/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rbi +5 -5
  71. data/rbi/orb/models/webhooks/invoice_edited_standard_webhook_event.rbi +2 -1
  72. data/rbi/orb/models/webhooks/price_edited_standard_webhook_event.rbi +2 -1
  73. data/rbi/orb/resources/credit_blocks.rbi +1 -1
  74. data/rbi/orb/resources/prices.rbi +2 -1
  75. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +322 -0
  76. data/sig/orb/models/beta_create_plan_version_params.rbs +322 -0
  77. data/sig/orb/models/credit_block_accounting_sync_failed_webhook_event.rbs +2 -2
  78. data/sig/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbs +2 -2
  79. data/sig/orb/models/credit_block_list_invoices_response.rbs +2 -2
  80. data/sig/orb/models/credit_block_retrieve_response.rbs +2 -2
  81. data/sig/orb/models/credit_block_update_response.rbs +2 -2
  82. data/sig/orb/models/customer_credit_ledger_incremented_webhook_event.rbs +2 -2
  83. data/sig/orb/models/plan_create_params.rbs +161 -0
  84. data/sig/orb/models/price.rbs +305 -0
  85. data/sig/orb/models/price_create_params.rbs +151 -0
  86. data/sig/orb/models/price_evaluate_multiple_params.rbs +156 -0
  87. data/sig/orb/models/price_evaluate_preview_events_params.rbs +156 -0
  88. data/sig/orb/models/subscription_create_params.rbs +322 -0
  89. data/sig/orb/models/subscription_price_intervals_params.rbs +156 -0
  90. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +322 -0
  91. data/sig/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rbs +2 -2
  92. data/sig/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rbs +2 -2
  93. data/sig/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rbs +2 -2
  94. metadata +1 -1
@@ -667,7 +667,7 @@ module Orb
667
667
  # @!attribute price
668
668
  # New subscription price request body params.
669
669
  #
670
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil]
670
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier, nil]
671
671
  optional :price, union: -> { Orb::SubscriptionCreateParams::AddPrice::Price }, nil?: true
672
672
 
673
673
  # @!attribute price_id
@@ -704,7 +704,7 @@ module Orb
704
704
  #
705
705
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
706
706
  #
707
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
707
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier, nil] New subscription price request body params.
708
708
  #
709
709
  # @param price_id [String, nil] The id of the price to add to the subscription.
710
710
  #
@@ -796,6 +796,8 @@ module Orb
796
796
 
797
797
  variant :event_output, -> { Orb::SubscriptionCreateParams::AddPrice::Price::EventOutput }
798
798
 
799
+ variant :unit_with_multiplier, -> { Orb::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier }
800
+
799
801
  class BulkWithFilters < Orb::Internal::Type::BaseModel
800
802
  # @!attribute bulk_with_filters_config
801
803
  # Configuration for bulk_with_filters pricing
@@ -3619,8 +3621,250 @@ module Orb
3619
3621
  end
3620
3622
  end
3621
3623
 
3624
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
3625
+ # @!attribute cadence
3626
+ # The cadence to bill for this price on.
3627
+ #
3628
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::Cadence]
3629
+ required :cadence,
3630
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::Cadence }
3631
+
3632
+ # @!attribute item_id
3633
+ # The id of the item the price will be associated with.
3634
+ #
3635
+ # @return [String]
3636
+ required :item_id, String
3637
+
3638
+ # @!attribute model_type
3639
+ # The pricing model type
3640
+ #
3641
+ # @return [Symbol, :unit_with_multiplier]
3642
+ required :model_type, const: :unit_with_multiplier
3643
+
3644
+ # @!attribute name
3645
+ # The name of the price.
3646
+ #
3647
+ # @return [String]
3648
+ required :name, String
3649
+
3650
+ # @!attribute unit_with_multiplier_config
3651
+ # Configuration for unit_with_multiplier pricing
3652
+ #
3653
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig]
3654
+ required :unit_with_multiplier_config,
3655
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig }
3656
+
3657
+ # @!attribute billable_metric_id
3658
+ # The id of the billable metric for the price. Only needed if the price is
3659
+ # usage-based.
3660
+ #
3661
+ # @return [String, nil]
3662
+ optional :billable_metric_id, String, nil?: true
3663
+
3664
+ # @!attribute billed_in_advance
3665
+ # If the Price represents a fixed cost, the price will be billed in-advance if
3666
+ # this is true, and in-arrears if this is false.
3667
+ #
3668
+ # @return [Boolean, nil]
3669
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
3670
+
3671
+ # @!attribute billing_cycle_configuration
3672
+ # For custom cadence: specifies the duration of the billing period in days or
3673
+ # months.
3674
+ #
3675
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3676
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3677
+
3678
+ # @!attribute conversion_rate
3679
+ # The per unit conversion rate of the price currency to the invoicing currency.
3680
+ #
3681
+ # @return [Float, nil]
3682
+ optional :conversion_rate, Float, nil?: true
3683
+
3684
+ # @!attribute conversion_rate_config
3685
+ # The configuration for the rate of the price currency to the invoicing currency.
3686
+ #
3687
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3688
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3689
+
3690
+ # @!attribute currency
3691
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
3692
+ # price is billed.
3693
+ #
3694
+ # @return [String, nil]
3695
+ optional :currency, String, nil?: true
3696
+
3697
+ # @!attribute dimensional_price_configuration
3698
+ # For dimensional price: specifies a price group and dimension values
3699
+ #
3700
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
3701
+ optional :dimensional_price_configuration,
3702
+ -> {
3703
+ Orb::NewDimensionalPriceConfiguration
3704
+ },
3705
+ nil?: true
3706
+
3707
+ # @!attribute external_price_id
3708
+ # An alias for the price.
3709
+ #
3710
+ # @return [String, nil]
3711
+ optional :external_price_id, String, nil?: true
3712
+
3713
+ # @!attribute fixed_price_quantity
3714
+ # If the Price represents a fixed cost, this represents the quantity of units
3715
+ # applied.
3716
+ #
3717
+ # @return [Float, nil]
3718
+ optional :fixed_price_quantity, Float, nil?: true
3719
+
3720
+ # @!attribute invoice_grouping_key
3721
+ # The property used to group this price on an invoice
3722
+ #
3723
+ # @return [String, nil]
3724
+ optional :invoice_grouping_key, String, nil?: true
3725
+
3726
+ # @!attribute invoicing_cycle_configuration
3727
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
3728
+ # If unspecified, a single invoice is produced per billing cycle.
3729
+ #
3730
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3731
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3732
+
3733
+ # @!attribute license_type_id
3734
+ # The ID of the license type to associate with this price. On a usage price this
3735
+ # also marks the price as eligible to draw down from that license type's
3736
+ # allocation; a usage price created without it is billed normally. Usage prices
3737
+ # with a license type must use the `unit` model, and only draw down when their
3738
+ # currency matches the allocation's.
3739
+ #
3740
+ # @return [String, nil]
3741
+ optional :license_type_id, String, nil?: true
3742
+
3743
+ # @!attribute metadata
3744
+ # User-specified key/value pairs for the resource. Individual keys can be removed
3745
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
3746
+ # by setting `metadata` to `null`.
3747
+ #
3748
+ # @return [Hash{Symbol=>String, nil}, nil]
3749
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
3750
+
3751
+ # @!attribute reference_id
3752
+ # A transient ID that can be used to reference this price when adding adjustments
3753
+ # in the same API call.
3754
+ #
3755
+ # @return [String, nil]
3756
+ optional :reference_id, String, nil?: true
3757
+
3758
+ # @!method initialize(cadence:, item_id:, name:, unit_with_multiplier_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :unit_with_multiplier)
3759
+ # Some parameter documentations has been truncated, see
3760
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier} for
3761
+ # more details.
3762
+ #
3763
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::Cadence] The cadence to bill for this price on.
3764
+ #
3765
+ # @param item_id [String] The id of the item the price will be associated with.
3766
+ #
3767
+ # @param name [String] The name of the price.
3768
+ #
3769
+ # @param unit_with_multiplier_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig] Configuration for unit_with_multiplier pricing
3770
+ #
3771
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
3772
+ #
3773
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
3774
+ #
3775
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
3776
+ #
3777
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
3778
+ #
3779
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
3780
+ #
3781
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
3782
+ #
3783
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
3784
+ #
3785
+ # @param external_price_id [String, nil] An alias for the price.
3786
+ #
3787
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
3788
+ #
3789
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
3790
+ #
3791
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
3792
+ #
3793
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
3794
+ #
3795
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
3796
+ #
3797
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
3798
+ #
3799
+ # @param model_type [Symbol, :unit_with_multiplier] The pricing model type
3800
+
3801
+ # The cadence to bill for this price on.
3802
+ #
3803
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier#cadence
3804
+ module Cadence
3805
+ extend Orb::Internal::Type::Enum
3806
+
3807
+ ONE_TIME = :one_time
3808
+ MONTHLY = :monthly
3809
+ QUARTERLY = :quarterly
3810
+ SEMI_ANNUAL = :semi_annual
3811
+ ANNUAL = :annual
3812
+ CUSTOM = :custom
3813
+
3814
+ # @!method self.values
3815
+ # @return [Array<Symbol>]
3816
+ end
3817
+
3818
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier#unit_with_multiplier_config
3819
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
3820
+ # @!attribute default_display_name
3821
+ # Sub-line label for list-price events that don't set display_name_key. Unlabeled
3822
+ # events with another multiplier are labeled by their multiplier (e.g. '0.8×
3823
+ # rate').
3824
+ #
3825
+ # @return [String]
3826
+ required :default_display_name, String
3827
+
3828
+ # @!attribute display_name_key
3829
+ # Event property holding the sub-line label for the event's rate (e.g.
3830
+ # 'Off-peak').
3831
+ #
3832
+ # @return [String]
3833
+ required :display_name_key, String
3834
+
3835
+ # @!attribute multiplier_key
3836
+ # Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
3837
+ # discount). Events without a number between 0 and 1000 with at most 12 decimal
3838
+ # places are charged at unit_amount.
3839
+ #
3840
+ # @return [String]
3841
+ required :multiplier_key, String
3842
+
3843
+ # @!attribute unit_amount
3844
+ # List price per unit, before the event's multiplier is applied.
3845
+ #
3846
+ # @return [String]
3847
+ required :unit_amount, String
3848
+
3849
+ # @!method initialize(default_display_name:, display_name_key:, multiplier_key:, unit_amount:)
3850
+ # Some parameter documentations has been truncated, see
3851
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig}
3852
+ # for more details.
3853
+ #
3854
+ # Configuration for unit_with_multiplier pricing
3855
+ #
3856
+ # @param default_display_name [String] Sub-line label for list-price events that don't set display_name_key. Unlabeled
3857
+ #
3858
+ # @param display_name_key [String] Event property holding the sub-line label for the event's rate (e.g. 'Off-peak')
3859
+ #
3860
+ # @param multiplier_key [String] Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
3861
+ #
3862
+ # @param unit_amount [String] List price per unit, before the event's multiplier is applied.
3863
+ end
3864
+ end
3865
+
3622
3866
  # @!method self.variants
3623
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput)]
3867
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, Orb::Models::SubscriptionCreateParams::AddPrice::Price::UnitWithMultiplier)]
3624
3868
  end
3625
3869
  end
3626
3870
 
@@ -3992,7 +4236,7 @@ module Orb
3992
4236
  # @!attribute price
3993
4237
  # New subscription price request body params.
3994
4238
  #
3995
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil]
4239
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier, nil]
3996
4240
  optional :price, union: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price }, nil?: true
3997
4241
 
3998
4242
  # @!attribute price_id
@@ -4023,7 +4267,7 @@ module Orb
4023
4267
  #
4024
4268
  # @param plan_phase_order [Integer, nil] The phase to replace this price in.
4025
4269
  #
4026
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
4270
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier, nil] New subscription price request body params.
4027
4271
  #
4028
4272
  # @param price_id [String, nil] The id of the price to add to the subscription.
4029
4273
 
@@ -4115,6 +4359,9 @@ module Orb
4115
4359
 
4116
4360
  variant :event_output, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::EventOutput }
4117
4361
 
4362
+ variant :unit_with_multiplier,
4363
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier }
4364
+
4118
4365
  class BulkWithFilters < Orb::Internal::Type::BaseModel
4119
4366
  # @!attribute bulk_with_filters_config
4120
4367
  # Configuration for bulk_with_filters pricing
@@ -6941,8 +7188,250 @@ module Orb
6941
7188
  end
6942
7189
  end
6943
7190
 
7191
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
7192
+ # @!attribute cadence
7193
+ # The cadence to bill for this price on.
7194
+ #
7195
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::Cadence]
7196
+ required :cadence,
7197
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::Cadence }
7198
+
7199
+ # @!attribute item_id
7200
+ # The id of the item the price will be associated with.
7201
+ #
7202
+ # @return [String]
7203
+ required :item_id, String
7204
+
7205
+ # @!attribute model_type
7206
+ # The pricing model type
7207
+ #
7208
+ # @return [Symbol, :unit_with_multiplier]
7209
+ required :model_type, const: :unit_with_multiplier
7210
+
7211
+ # @!attribute name
7212
+ # The name of the price.
7213
+ #
7214
+ # @return [String]
7215
+ required :name, String
7216
+
7217
+ # @!attribute unit_with_multiplier_config
7218
+ # Configuration for unit_with_multiplier pricing
7219
+ #
7220
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig]
7221
+ required :unit_with_multiplier_config,
7222
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig }
7223
+
7224
+ # @!attribute billable_metric_id
7225
+ # The id of the billable metric for the price. Only needed if the price is
7226
+ # usage-based.
7227
+ #
7228
+ # @return [String, nil]
7229
+ optional :billable_metric_id, String, nil?: true
7230
+
7231
+ # @!attribute billed_in_advance
7232
+ # If the Price represents a fixed cost, the price will be billed in-advance if
7233
+ # this is true, and in-arrears if this is false.
7234
+ #
7235
+ # @return [Boolean, nil]
7236
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
7237
+
7238
+ # @!attribute billing_cycle_configuration
7239
+ # For custom cadence: specifies the duration of the billing period in days or
7240
+ # months.
7241
+ #
7242
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
7243
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
7244
+
7245
+ # @!attribute conversion_rate
7246
+ # The per unit conversion rate of the price currency to the invoicing currency.
7247
+ #
7248
+ # @return [Float, nil]
7249
+ optional :conversion_rate, Float, nil?: true
7250
+
7251
+ # @!attribute conversion_rate_config
7252
+ # The configuration for the rate of the price currency to the invoicing currency.
7253
+ #
7254
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
7255
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
7256
+
7257
+ # @!attribute currency
7258
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
7259
+ # price is billed.
7260
+ #
7261
+ # @return [String, nil]
7262
+ optional :currency, String, nil?: true
7263
+
7264
+ # @!attribute dimensional_price_configuration
7265
+ # For dimensional price: specifies a price group and dimension values
7266
+ #
7267
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
7268
+ optional :dimensional_price_configuration,
7269
+ -> {
7270
+ Orb::NewDimensionalPriceConfiguration
7271
+ },
7272
+ nil?: true
7273
+
7274
+ # @!attribute external_price_id
7275
+ # An alias for the price.
7276
+ #
7277
+ # @return [String, nil]
7278
+ optional :external_price_id, String, nil?: true
7279
+
7280
+ # @!attribute fixed_price_quantity
7281
+ # If the Price represents a fixed cost, this represents the quantity of units
7282
+ # applied.
7283
+ #
7284
+ # @return [Float, nil]
7285
+ optional :fixed_price_quantity, Float, nil?: true
7286
+
7287
+ # @!attribute invoice_grouping_key
7288
+ # The property used to group this price on an invoice
7289
+ #
7290
+ # @return [String, nil]
7291
+ optional :invoice_grouping_key, String, nil?: true
7292
+
7293
+ # @!attribute invoicing_cycle_configuration
7294
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
7295
+ # If unspecified, a single invoice is produced per billing cycle.
7296
+ #
7297
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
7298
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
7299
+
7300
+ # @!attribute license_type_id
7301
+ # The ID of the license type to associate with this price. On a usage price this
7302
+ # also marks the price as eligible to draw down from that license type's
7303
+ # allocation; a usage price created without it is billed normally. Usage prices
7304
+ # with a license type must use the `unit` model, and only draw down when their
7305
+ # currency matches the allocation's.
7306
+ #
7307
+ # @return [String, nil]
7308
+ optional :license_type_id, String, nil?: true
7309
+
7310
+ # @!attribute metadata
7311
+ # User-specified key/value pairs for the resource. Individual keys can be removed
7312
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
7313
+ # by setting `metadata` to `null`.
7314
+ #
7315
+ # @return [Hash{Symbol=>String, nil}, nil]
7316
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
7317
+
7318
+ # @!attribute reference_id
7319
+ # A transient ID that can be used to reference this price when adding adjustments
7320
+ # in the same API call.
7321
+ #
7322
+ # @return [String, nil]
7323
+ optional :reference_id, String, nil?: true
7324
+
7325
+ # @!method initialize(cadence:, item_id:, name:, unit_with_multiplier_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :unit_with_multiplier)
7326
+ # Some parameter documentations has been truncated, see
7327
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier}
7328
+ # for more details.
7329
+ #
7330
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::Cadence] The cadence to bill for this price on.
7331
+ #
7332
+ # @param item_id [String] The id of the item the price will be associated with.
7333
+ #
7334
+ # @param name [String] The name of the price.
7335
+ #
7336
+ # @param unit_with_multiplier_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig] Configuration for unit_with_multiplier pricing
7337
+ #
7338
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
7339
+ #
7340
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
7341
+ #
7342
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
7343
+ #
7344
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
7345
+ #
7346
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
7347
+ #
7348
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
7349
+ #
7350
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
7351
+ #
7352
+ # @param external_price_id [String, nil] An alias for the price.
7353
+ #
7354
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
7355
+ #
7356
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
7357
+ #
7358
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
7359
+ #
7360
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
7361
+ #
7362
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
7363
+ #
7364
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
7365
+ #
7366
+ # @param model_type [Symbol, :unit_with_multiplier] The pricing model type
7367
+
7368
+ # The cadence to bill for this price on.
7369
+ #
7370
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier#cadence
7371
+ module Cadence
7372
+ extend Orb::Internal::Type::Enum
7373
+
7374
+ ONE_TIME = :one_time
7375
+ MONTHLY = :monthly
7376
+ QUARTERLY = :quarterly
7377
+ SEMI_ANNUAL = :semi_annual
7378
+ ANNUAL = :annual
7379
+ CUSTOM = :custom
7380
+
7381
+ # @!method self.values
7382
+ # @return [Array<Symbol>]
7383
+ end
7384
+
7385
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier#unit_with_multiplier_config
7386
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
7387
+ # @!attribute default_display_name
7388
+ # Sub-line label for list-price events that don't set display_name_key. Unlabeled
7389
+ # events with another multiplier are labeled by their multiplier (e.g. '0.8×
7390
+ # rate').
7391
+ #
7392
+ # @return [String]
7393
+ required :default_display_name, String
7394
+
7395
+ # @!attribute display_name_key
7396
+ # Event property holding the sub-line label for the event's rate (e.g.
7397
+ # 'Off-peak').
7398
+ #
7399
+ # @return [String]
7400
+ required :display_name_key, String
7401
+
7402
+ # @!attribute multiplier_key
7403
+ # Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
7404
+ # discount). Events without a number between 0 and 1000 with at most 12 decimal
7405
+ # places are charged at unit_amount.
7406
+ #
7407
+ # @return [String]
7408
+ required :multiplier_key, String
7409
+
7410
+ # @!attribute unit_amount
7411
+ # List price per unit, before the event's multiplier is applied.
7412
+ #
7413
+ # @return [String]
7414
+ required :unit_amount, String
7415
+
7416
+ # @!method initialize(default_display_name:, display_name_key:, multiplier_key:, unit_amount:)
7417
+ # Some parameter documentations has been truncated, see
7418
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig}
7419
+ # for more details.
7420
+ #
7421
+ # Configuration for unit_with_multiplier pricing
7422
+ #
7423
+ # @param default_display_name [String] Sub-line label for list-price events that don't set display_name_key. Unlabeled
7424
+ #
7425
+ # @param display_name_key [String] Event property holding the sub-line label for the event's rate (e.g. 'Off-peak')
7426
+ #
7427
+ # @param multiplier_key [String] Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
7428
+ #
7429
+ # @param unit_amount [String] List price per unit, before the event's multiplier is applied.
7430
+ end
7431
+ end
7432
+
6944
7433
  # @!method self.variants
6945
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput)]
7434
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::UnitWithMultiplier)]
6946
7435
  end
6947
7436
  end
6948
7437
  end