orb-billing 5.14.0 → 5.16.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 (39) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +1 -1
  3. package/resources/beta/beta.d.ts +396 -2
  4. package/resources/beta/beta.d.ts.map +1 -1
  5. package/resources/beta/beta.js.map +1 -1
  6. package/resources/beta/beta.mjs.map +1 -1
  7. package/resources/beta/external-plan-id.d.ts +396 -2
  8. package/resources/beta/external-plan-id.d.ts.map +1 -1
  9. package/resources/items.d.ts +37 -0
  10. package/resources/items.d.ts.map +1 -1
  11. package/resources/items.js.map +1 -1
  12. package/resources/items.mjs.map +1 -1
  13. package/resources/plans/plans.d.ts +198 -1
  14. package/resources/plans/plans.d.ts.map +1 -1
  15. package/resources/plans/plans.js.map +1 -1
  16. package/resources/plans/plans.mjs.map +1 -1
  17. package/resources/prices/prices.d.ts +558 -3
  18. package/resources/prices/prices.d.ts.map +1 -1
  19. package/resources/prices/prices.js.map +1 -1
  20. package/resources/prices/prices.mjs.map +1 -1
  21. package/resources/shared.d.ts +284 -1
  22. package/resources/shared.d.ts.map +1 -1
  23. package/resources/shared.js.map +1 -1
  24. package/resources/shared.mjs.map +1 -1
  25. package/resources/subscriptions.d.ts +1104 -131
  26. package/resources/subscriptions.d.ts.map +1 -1
  27. package/resources/subscriptions.js.map +1 -1
  28. package/resources/subscriptions.mjs.map +1 -1
  29. package/src/resources/beta/beta.ts +468 -0
  30. package/src/resources/beta/external-plan-id.ts +468 -0
  31. package/src/resources/items.ts +38 -0
  32. package/src/resources/plans/plans.ts +234 -0
  33. package/src/resources/prices/prices.ts +688 -28
  34. package/src/resources/shared.ts +342 -1
  35. package/src/resources/subscriptions.ts +1250 -94
  36. package/src/version.ts +1 -1
  37. package/version.d.ts +1 -1
  38. package/version.js +1 -1
  39. package/version.mjs +1 -1
@@ -4869,6 +4869,8 @@ export namespace SubscriptionCreateParams {
4869
4869
  | SubscriptionsAPI.NewSubscriptionScalableMatrixWithTieredPricingPrice
4870
4870
  | SubscriptionsAPI.NewSubscriptionCumulativeGroupedBulkPrice
4871
4871
  | SubscriptionsAPI.NewSubscriptionMinimumCompositePrice
4872
+ | AddPrice.NewSubscriptionPercentCompositePrice
4873
+ | AddPrice.NewSubscriptionEventOutputPrice
4872
4874
  | null;
4873
4875
 
4874
4876
  /**
@@ -5143,6 +5145,238 @@ export namespace SubscriptionCreateParams {
5143
5145
  per_unit_rate: string;
5144
5146
  }
5145
5147
  }
5148
+
5149
+ export interface NewSubscriptionPercentCompositePrice {
5150
+ /**
5151
+ * The cadence to bill for this price on.
5152
+ */
5153
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5154
+
5155
+ /**
5156
+ * The id of the item the price will be associated with.
5157
+ */
5158
+ item_id: string;
5159
+
5160
+ /**
5161
+ * The pricing model type
5162
+ */
5163
+ model_type: 'percent';
5164
+
5165
+ /**
5166
+ * The name of the price.
5167
+ */
5168
+ name: string;
5169
+
5170
+ /**
5171
+ * Configuration for percent pricing
5172
+ */
5173
+ percent_config: NewSubscriptionPercentCompositePrice.PercentConfig;
5174
+
5175
+ /**
5176
+ * The id of the billable metric for the price. Only needed if the price is
5177
+ * usage-based.
5178
+ */
5179
+ billable_metric_id?: string | null;
5180
+
5181
+ /**
5182
+ * If the Price represents a fixed cost, the price will be billed in-advance if
5183
+ * this is true, and in-arrears if this is false.
5184
+ */
5185
+ billed_in_advance?: boolean | null;
5186
+
5187
+ /**
5188
+ * For custom cadence: specifies the duration of the billing period in days or
5189
+ * months.
5190
+ */
5191
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5192
+
5193
+ /**
5194
+ * The per unit conversion rate of the price currency to the invoicing currency.
5195
+ */
5196
+ conversion_rate?: number | null;
5197
+
5198
+ /**
5199
+ * The configuration for the rate of the price currency to the invoicing currency.
5200
+ */
5201
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
5202
+
5203
+ /**
5204
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
5205
+ * price is billed.
5206
+ */
5207
+ currency?: string | null;
5208
+
5209
+ /**
5210
+ * For dimensional price: specifies a price group and dimension values
5211
+ */
5212
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
5213
+
5214
+ /**
5215
+ * An alias for the price.
5216
+ */
5217
+ external_price_id?: string | null;
5218
+
5219
+ /**
5220
+ * If the Price represents a fixed cost, this represents the quantity of units
5221
+ * applied.
5222
+ */
5223
+ fixed_price_quantity?: number | null;
5224
+
5225
+ /**
5226
+ * The property used to group this price on an invoice
5227
+ */
5228
+ invoice_grouping_key?: string | null;
5229
+
5230
+ /**
5231
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
5232
+ * If unspecified, a single invoice is produced per billing cycle.
5233
+ */
5234
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5235
+
5236
+ /**
5237
+ * User-specified key/value pairs for the resource. Individual keys can be removed
5238
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
5239
+ * by setting `metadata` to `null`.
5240
+ */
5241
+ metadata?: { [key: string]: string | null } | null;
5242
+
5243
+ /**
5244
+ * A transient ID that can be used to reference this price when adding adjustments
5245
+ * in the same API call.
5246
+ */
5247
+ reference_id?: string | null;
5248
+ }
5249
+
5250
+ export namespace NewSubscriptionPercentCompositePrice {
5251
+ /**
5252
+ * Configuration for percent pricing
5253
+ */
5254
+ export interface PercentConfig {
5255
+ /**
5256
+ * What percent of the component subtotals to charge
5257
+ */
5258
+ percent: number;
5259
+ }
5260
+ }
5261
+
5262
+ export interface NewSubscriptionEventOutputPrice {
5263
+ /**
5264
+ * The cadence to bill for this price on.
5265
+ */
5266
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5267
+
5268
+ /**
5269
+ * Configuration for event_output pricing
5270
+ */
5271
+ event_output_config: NewSubscriptionEventOutputPrice.EventOutputConfig;
5272
+
5273
+ /**
5274
+ * The id of the item the price will be associated with.
5275
+ */
5276
+ item_id: string;
5277
+
5278
+ /**
5279
+ * The pricing model type
5280
+ */
5281
+ model_type: 'event_output';
5282
+
5283
+ /**
5284
+ * The name of the price.
5285
+ */
5286
+ name: string;
5287
+
5288
+ /**
5289
+ * The id of the billable metric for the price. Only needed if the price is
5290
+ * usage-based.
5291
+ */
5292
+ billable_metric_id?: string | null;
5293
+
5294
+ /**
5295
+ * If the Price represents a fixed cost, the price will be billed in-advance if
5296
+ * this is true, and in-arrears if this is false.
5297
+ */
5298
+ billed_in_advance?: boolean | null;
5299
+
5300
+ /**
5301
+ * For custom cadence: specifies the duration of the billing period in days or
5302
+ * months.
5303
+ */
5304
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5305
+
5306
+ /**
5307
+ * The per unit conversion rate of the price currency to the invoicing currency.
5308
+ */
5309
+ conversion_rate?: number | null;
5310
+
5311
+ /**
5312
+ * The configuration for the rate of the price currency to the invoicing currency.
5313
+ */
5314
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
5315
+
5316
+ /**
5317
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
5318
+ * price is billed.
5319
+ */
5320
+ currency?: string | null;
5321
+
5322
+ /**
5323
+ * For dimensional price: specifies a price group and dimension values
5324
+ */
5325
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
5326
+
5327
+ /**
5328
+ * An alias for the price.
5329
+ */
5330
+ external_price_id?: string | null;
5331
+
5332
+ /**
5333
+ * If the Price represents a fixed cost, this represents the quantity of units
5334
+ * applied.
5335
+ */
5336
+ fixed_price_quantity?: number | null;
5337
+
5338
+ /**
5339
+ * The property used to group this price on an invoice
5340
+ */
5341
+ invoice_grouping_key?: string | null;
5342
+
5343
+ /**
5344
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
5345
+ * If unspecified, a single invoice is produced per billing cycle.
5346
+ */
5347
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5348
+
5349
+ /**
5350
+ * User-specified key/value pairs for the resource. Individual keys can be removed
5351
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
5352
+ * by setting `metadata` to `null`.
5353
+ */
5354
+ metadata?: { [key: string]: string | null } | null;
5355
+
5356
+ /**
5357
+ * A transient ID that can be used to reference this price when adding adjustments
5358
+ * in the same API call.
5359
+ */
5360
+ reference_id?: string | null;
5361
+ }
5362
+
5363
+ export namespace NewSubscriptionEventOutputPrice {
5364
+ /**
5365
+ * Configuration for event_output pricing
5366
+ */
5367
+ export interface EventOutputConfig {
5368
+ /**
5369
+ * The key in the event data to extract the unit rate from.
5370
+ */
5371
+ unit_rating_key: string;
5372
+
5373
+ /**
5374
+ * An optional key in the event data to group by (e.g., event ID). All events will
5375
+ * also be grouped by their unit rate.
5376
+ */
5377
+ grouping_key?: string | null;
5378
+ }
5379
+ }
5146
5380
  }
5147
5381
 
5148
5382
  export interface RemoveAdjustment {
@@ -5251,6 +5485,8 @@ export namespace SubscriptionCreateParams {
5251
5485
  | SubscriptionsAPI.NewSubscriptionScalableMatrixWithTieredPricingPrice
5252
5486
  | SubscriptionsAPI.NewSubscriptionCumulativeGroupedBulkPrice
5253
5487
  | SubscriptionsAPI.NewSubscriptionMinimumCompositePrice
5488
+ | ReplacePrice.NewSubscriptionPercentCompositePrice
5489
+ | ReplacePrice.NewSubscriptionEventOutputPrice
5254
5490
  | null;
5255
5491
 
5256
5492
  /**
@@ -5259,8 +5495,267 @@ export namespace SubscriptionCreateParams {
5259
5495
  price_id?: string | null;
5260
5496
  }
5261
5497
 
5262
- export namespace ReplacePrice {
5263
- export interface NewSubscriptionTieredWithProrationPrice {
5498
+ export namespace ReplacePrice {
5499
+ export interface NewSubscriptionTieredWithProrationPrice {
5500
+ /**
5501
+ * The cadence to bill for this price on.
5502
+ */
5503
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5504
+
5505
+ /**
5506
+ * The id of the item the price will be associated with.
5507
+ */
5508
+ item_id: string;
5509
+
5510
+ /**
5511
+ * The pricing model type
5512
+ */
5513
+ model_type: 'tiered_with_proration';
5514
+
5515
+ /**
5516
+ * The name of the price.
5517
+ */
5518
+ name: string;
5519
+
5520
+ /**
5521
+ * Configuration for tiered_with_proration pricing
5522
+ */
5523
+ tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
5524
+
5525
+ /**
5526
+ * The id of the billable metric for the price. Only needed if the price is
5527
+ * usage-based.
5528
+ */
5529
+ billable_metric_id?: string | null;
5530
+
5531
+ /**
5532
+ * If the Price represents a fixed cost, the price will be billed in-advance if
5533
+ * this is true, and in-arrears if this is false.
5534
+ */
5535
+ billed_in_advance?: boolean | null;
5536
+
5537
+ /**
5538
+ * For custom cadence: specifies the duration of the billing period in days or
5539
+ * months.
5540
+ */
5541
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5542
+
5543
+ /**
5544
+ * The per unit conversion rate of the price currency to the invoicing currency.
5545
+ */
5546
+ conversion_rate?: number | null;
5547
+
5548
+ /**
5549
+ * The configuration for the rate of the price currency to the invoicing currency.
5550
+ */
5551
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
5552
+
5553
+ /**
5554
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
5555
+ * price is billed.
5556
+ */
5557
+ currency?: string | null;
5558
+
5559
+ /**
5560
+ * For dimensional price: specifies a price group and dimension values
5561
+ */
5562
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
5563
+
5564
+ /**
5565
+ * An alias for the price.
5566
+ */
5567
+ external_price_id?: string | null;
5568
+
5569
+ /**
5570
+ * If the Price represents a fixed cost, this represents the quantity of units
5571
+ * applied.
5572
+ */
5573
+ fixed_price_quantity?: number | null;
5574
+
5575
+ /**
5576
+ * The property used to group this price on an invoice
5577
+ */
5578
+ invoice_grouping_key?: string | null;
5579
+
5580
+ /**
5581
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
5582
+ * If unspecified, a single invoice is produced per billing cycle.
5583
+ */
5584
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5585
+
5586
+ /**
5587
+ * User-specified key/value pairs for the resource. Individual keys can be removed
5588
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
5589
+ * by setting `metadata` to `null`.
5590
+ */
5591
+ metadata?: { [key: string]: string | null } | null;
5592
+
5593
+ /**
5594
+ * A transient ID that can be used to reference this price when adding adjustments
5595
+ * in the same API call.
5596
+ */
5597
+ reference_id?: string | null;
5598
+ }
5599
+
5600
+ export namespace NewSubscriptionTieredWithProrationPrice {
5601
+ /**
5602
+ * Configuration for tiered_with_proration pricing
5603
+ */
5604
+ export interface TieredWithProrationConfig {
5605
+ /**
5606
+ * Tiers for rating based on total usage quantities into the specified tier with
5607
+ * proration
5608
+ */
5609
+ tiers: Array<TieredWithProrationConfig.Tier>;
5610
+ }
5611
+
5612
+ export namespace TieredWithProrationConfig {
5613
+ /**
5614
+ * Configuration for a single tiered with proration tier
5615
+ */
5616
+ export interface Tier {
5617
+ /**
5618
+ * Inclusive tier starting value
5619
+ */
5620
+ tier_lower_bound: string;
5621
+
5622
+ /**
5623
+ * Amount per unit
5624
+ */
5625
+ unit_amount: string;
5626
+ }
5627
+ }
5628
+ }
5629
+
5630
+ export interface NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5631
+ /**
5632
+ * The cadence to bill for this price on.
5633
+ */
5634
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5635
+
5636
+ /**
5637
+ * Configuration for grouped_with_min_max_thresholds pricing
5638
+ */
5639
+ grouped_with_min_max_thresholds_config: NewSubscriptionGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
5640
+
5641
+ /**
5642
+ * The id of the item the price will be associated with.
5643
+ */
5644
+ item_id: string;
5645
+
5646
+ /**
5647
+ * The pricing model type
5648
+ */
5649
+ model_type: 'grouped_with_min_max_thresholds';
5650
+
5651
+ /**
5652
+ * The name of the price.
5653
+ */
5654
+ name: string;
5655
+
5656
+ /**
5657
+ * The id of the billable metric for the price. Only needed if the price is
5658
+ * usage-based.
5659
+ */
5660
+ billable_metric_id?: string | null;
5661
+
5662
+ /**
5663
+ * If the Price represents a fixed cost, the price will be billed in-advance if
5664
+ * this is true, and in-arrears if this is false.
5665
+ */
5666
+ billed_in_advance?: boolean | null;
5667
+
5668
+ /**
5669
+ * For custom cadence: specifies the duration of the billing period in days or
5670
+ * months.
5671
+ */
5672
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5673
+
5674
+ /**
5675
+ * The per unit conversion rate of the price currency to the invoicing currency.
5676
+ */
5677
+ conversion_rate?: number | null;
5678
+
5679
+ /**
5680
+ * The configuration for the rate of the price currency to the invoicing currency.
5681
+ */
5682
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
5683
+
5684
+ /**
5685
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
5686
+ * price is billed.
5687
+ */
5688
+ currency?: string | null;
5689
+
5690
+ /**
5691
+ * For dimensional price: specifies a price group and dimension values
5692
+ */
5693
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
5694
+
5695
+ /**
5696
+ * An alias for the price.
5697
+ */
5698
+ external_price_id?: string | null;
5699
+
5700
+ /**
5701
+ * If the Price represents a fixed cost, this represents the quantity of units
5702
+ * applied.
5703
+ */
5704
+ fixed_price_quantity?: number | null;
5705
+
5706
+ /**
5707
+ * The property used to group this price on an invoice
5708
+ */
5709
+ invoice_grouping_key?: string | null;
5710
+
5711
+ /**
5712
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
5713
+ * If unspecified, a single invoice is produced per billing cycle.
5714
+ */
5715
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5716
+
5717
+ /**
5718
+ * User-specified key/value pairs for the resource. Individual keys can be removed
5719
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
5720
+ * by setting `metadata` to `null`.
5721
+ */
5722
+ metadata?: { [key: string]: string | null } | null;
5723
+
5724
+ /**
5725
+ * A transient ID that can be used to reference this price when adding adjustments
5726
+ * in the same API call.
5727
+ */
5728
+ reference_id?: string | null;
5729
+ }
5730
+
5731
+ export namespace NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5732
+ /**
5733
+ * Configuration for grouped_with_min_max_thresholds pricing
5734
+ */
5735
+ export interface GroupedWithMinMaxThresholdsConfig {
5736
+ /**
5737
+ * The event property used to group before applying thresholds
5738
+ */
5739
+ grouping_key: string;
5740
+
5741
+ /**
5742
+ * The maximum amount to charge each group
5743
+ */
5744
+ maximum_charge: string;
5745
+
5746
+ /**
5747
+ * The minimum amount to charge each group, regardless of usage
5748
+ */
5749
+ minimum_charge: string;
5750
+
5751
+ /**
5752
+ * The base price charged per group
5753
+ */
5754
+ per_unit_rate: string;
5755
+ }
5756
+ }
5757
+
5758
+ export interface NewSubscriptionPercentCompositePrice {
5264
5759
  /**
5265
5760
  * The cadence to bill for this price on.
5266
5761
  */
@@ -5274,7 +5769,7 @@ export namespace SubscriptionCreateParams {
5274
5769
  /**
5275
5770
  * The pricing model type
5276
5771
  */
5277
- model_type: 'tiered_with_proration';
5772
+ model_type: 'percent';
5278
5773
 
5279
5774
  /**
5280
5775
  * The name of the price.
@@ -5282,9 +5777,9 @@ export namespace SubscriptionCreateParams {
5282
5777
  name: string;
5283
5778
 
5284
5779
  /**
5285
- * Configuration for tiered_with_proration pricing
5780
+ * Configuration for percent pricing
5286
5781
  */
5287
- tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
5782
+ percent_config: NewSubscriptionPercentCompositePrice.PercentConfig;
5288
5783
 
5289
5784
  /**
5290
5785
  * The id of the billable metric for the price. Only needed if the price is
@@ -5361,46 +5856,28 @@ export namespace SubscriptionCreateParams {
5361
5856
  reference_id?: string | null;
5362
5857
  }
5363
5858
 
5364
- export namespace NewSubscriptionTieredWithProrationPrice {
5859
+ export namespace NewSubscriptionPercentCompositePrice {
5365
5860
  /**
5366
- * Configuration for tiered_with_proration pricing
5861
+ * Configuration for percent pricing
5367
5862
  */
5368
- export interface TieredWithProrationConfig {
5369
- /**
5370
- * Tiers for rating based on total usage quantities into the specified tier with
5371
- * proration
5372
- */
5373
- tiers: Array<TieredWithProrationConfig.Tier>;
5374
- }
5375
-
5376
- export namespace TieredWithProrationConfig {
5863
+ export interface PercentConfig {
5377
5864
  /**
5378
- * Configuration for a single tiered with proration tier
5865
+ * What percent of the component subtotals to charge
5379
5866
  */
5380
- export interface Tier {
5381
- /**
5382
- * Inclusive tier starting value
5383
- */
5384
- tier_lower_bound: string;
5385
-
5386
- /**
5387
- * Amount per unit
5388
- */
5389
- unit_amount: string;
5390
- }
5867
+ percent: number;
5391
5868
  }
5392
5869
  }
5393
5870
 
5394
- export interface NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5871
+ export interface NewSubscriptionEventOutputPrice {
5395
5872
  /**
5396
5873
  * The cadence to bill for this price on.
5397
5874
  */
5398
5875
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5399
5876
 
5400
5877
  /**
5401
- * Configuration for grouped_with_min_max_thresholds pricing
5878
+ * Configuration for event_output pricing
5402
5879
  */
5403
- grouped_with_min_max_thresholds_config: NewSubscriptionGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
5880
+ event_output_config: NewSubscriptionEventOutputPrice.EventOutputConfig;
5404
5881
 
5405
5882
  /**
5406
5883
  * The id of the item the price will be associated with.
@@ -5410,7 +5887,7 @@ export namespace SubscriptionCreateParams {
5410
5887
  /**
5411
5888
  * The pricing model type
5412
5889
  */
5413
- model_type: 'grouped_with_min_max_thresholds';
5890
+ model_type: 'event_output';
5414
5891
 
5415
5892
  /**
5416
5893
  * The name of the price.
@@ -5492,30 +5969,21 @@ export namespace SubscriptionCreateParams {
5492
5969
  reference_id?: string | null;
5493
5970
  }
5494
5971
 
5495
- export namespace NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5972
+ export namespace NewSubscriptionEventOutputPrice {
5496
5973
  /**
5497
- * Configuration for grouped_with_min_max_thresholds pricing
5974
+ * Configuration for event_output pricing
5498
5975
  */
5499
- export interface GroupedWithMinMaxThresholdsConfig {
5500
- /**
5501
- * The event property used to group before applying thresholds
5502
- */
5503
- grouping_key: string;
5504
-
5505
- /**
5506
- * The maximum amount to charge each group
5507
- */
5508
- maximum_charge: string;
5509
-
5976
+ export interface EventOutputConfig {
5510
5977
  /**
5511
- * The minimum amount to charge each group, regardless of usage
5978
+ * The key in the event data to extract the unit rate from.
5512
5979
  */
5513
- minimum_charge: string;
5980
+ unit_rating_key: string;
5514
5981
 
5515
5982
  /**
5516
- * The base price charged per group
5983
+ * An optional key in the event data to group by (e.g., event ID). All events will
5984
+ * also be grouped by their unit rate.
5517
5985
  */
5518
- per_unit_rate: string;
5986
+ grouping_key?: string | null;
5519
5987
  }
5520
5988
  }
5521
5989
  }
@@ -5796,6 +6264,8 @@ export namespace SubscriptionPriceIntervalsParams {
5796
6264
  | Shared.NewFloatingScalableMatrixWithTieredPricingPrice
5797
6265
  | Shared.NewFloatingCumulativeGroupedBulkPrice
5798
6266
  | Shared.NewFloatingMinimumCompositePrice
6267
+ | Add.NewFloatingPercentCompositePrice
6268
+ | Add.NewFloatingEventOutputPrice
5799
6269
  | null;
5800
6270
 
5801
6271
  /**
@@ -5976,6 +6446,224 @@ export namespace SubscriptionPriceIntervalsParams {
5976
6446
  per_unit_rate: string;
5977
6447
  }
5978
6448
  }
6449
+
6450
+ export interface NewFloatingPercentCompositePrice {
6451
+ /**
6452
+ * The cadence to bill for this price on.
6453
+ */
6454
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
6455
+
6456
+ /**
6457
+ * An ISO 4217 currency string for which this price is billed in.
6458
+ */
6459
+ currency: string;
6460
+
6461
+ /**
6462
+ * The id of the item the price will be associated with.
6463
+ */
6464
+ item_id: string;
6465
+
6466
+ /**
6467
+ * The pricing model type
6468
+ */
6469
+ model_type: 'percent';
6470
+
6471
+ /**
6472
+ * The name of the price.
6473
+ */
6474
+ name: string;
6475
+
6476
+ /**
6477
+ * Configuration for percent pricing
6478
+ */
6479
+ percent_config: NewFloatingPercentCompositePrice.PercentConfig;
6480
+
6481
+ /**
6482
+ * The id of the billable metric for the price. Only needed if the price is
6483
+ * usage-based.
6484
+ */
6485
+ billable_metric_id?: string | null;
6486
+
6487
+ /**
6488
+ * If the Price represents a fixed cost, the price will be billed in-advance if
6489
+ * this is true, and in-arrears if this is false.
6490
+ */
6491
+ billed_in_advance?: boolean | null;
6492
+
6493
+ /**
6494
+ * For custom cadence: specifies the duration of the billing period in days or
6495
+ * months.
6496
+ */
6497
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6498
+
6499
+ /**
6500
+ * The per unit conversion rate of the price currency to the invoicing currency.
6501
+ */
6502
+ conversion_rate?: number | null;
6503
+
6504
+ /**
6505
+ * The configuration for the rate of the price currency to the invoicing currency.
6506
+ */
6507
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
6508
+
6509
+ /**
6510
+ * For dimensional price: specifies a price group and dimension values
6511
+ */
6512
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
6513
+
6514
+ /**
6515
+ * An alias for the price.
6516
+ */
6517
+ external_price_id?: string | null;
6518
+
6519
+ /**
6520
+ * If the Price represents a fixed cost, this represents the quantity of units
6521
+ * applied.
6522
+ */
6523
+ fixed_price_quantity?: number | null;
6524
+
6525
+ /**
6526
+ * The property used to group this price on an invoice
6527
+ */
6528
+ invoice_grouping_key?: string | null;
6529
+
6530
+ /**
6531
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
6532
+ * If unspecified, a single invoice is produced per billing cycle.
6533
+ */
6534
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6535
+
6536
+ /**
6537
+ * User-specified key/value pairs for the resource. Individual keys can be removed
6538
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
6539
+ * by setting `metadata` to `null`.
6540
+ */
6541
+ metadata?: { [key: string]: string | null } | null;
6542
+ }
6543
+
6544
+ export namespace NewFloatingPercentCompositePrice {
6545
+ /**
6546
+ * Configuration for percent pricing
6547
+ */
6548
+ export interface PercentConfig {
6549
+ /**
6550
+ * What percent of the component subtotals to charge
6551
+ */
6552
+ percent: number;
6553
+ }
6554
+ }
6555
+
6556
+ export interface NewFloatingEventOutputPrice {
6557
+ /**
6558
+ * The cadence to bill for this price on.
6559
+ */
6560
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
6561
+
6562
+ /**
6563
+ * An ISO 4217 currency string for which this price is billed in.
6564
+ */
6565
+ currency: string;
6566
+
6567
+ /**
6568
+ * Configuration for event_output pricing
6569
+ */
6570
+ event_output_config: NewFloatingEventOutputPrice.EventOutputConfig;
6571
+
6572
+ /**
6573
+ * The id of the item the price will be associated with.
6574
+ */
6575
+ item_id: string;
6576
+
6577
+ /**
6578
+ * The pricing model type
6579
+ */
6580
+ model_type: 'event_output';
6581
+
6582
+ /**
6583
+ * The name of the price.
6584
+ */
6585
+ name: string;
6586
+
6587
+ /**
6588
+ * The id of the billable metric for the price. Only needed if the price is
6589
+ * usage-based.
6590
+ */
6591
+ billable_metric_id?: string | null;
6592
+
6593
+ /**
6594
+ * If the Price represents a fixed cost, the price will be billed in-advance if
6595
+ * this is true, and in-arrears if this is false.
6596
+ */
6597
+ billed_in_advance?: boolean | null;
6598
+
6599
+ /**
6600
+ * For custom cadence: specifies the duration of the billing period in days or
6601
+ * months.
6602
+ */
6603
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6604
+
6605
+ /**
6606
+ * The per unit conversion rate of the price currency to the invoicing currency.
6607
+ */
6608
+ conversion_rate?: number | null;
6609
+
6610
+ /**
6611
+ * The configuration for the rate of the price currency to the invoicing currency.
6612
+ */
6613
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
6614
+
6615
+ /**
6616
+ * For dimensional price: specifies a price group and dimension values
6617
+ */
6618
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
6619
+
6620
+ /**
6621
+ * An alias for the price.
6622
+ */
6623
+ external_price_id?: string | null;
6624
+
6625
+ /**
6626
+ * If the Price represents a fixed cost, this represents the quantity of units
6627
+ * applied.
6628
+ */
6629
+ fixed_price_quantity?: number | null;
6630
+
6631
+ /**
6632
+ * The property used to group this price on an invoice
6633
+ */
6634
+ invoice_grouping_key?: string | null;
6635
+
6636
+ /**
6637
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
6638
+ * If unspecified, a single invoice is produced per billing cycle.
6639
+ */
6640
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6641
+
6642
+ /**
6643
+ * User-specified key/value pairs for the resource. Individual keys can be removed
6644
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
6645
+ * by setting `metadata` to `null`.
6646
+ */
6647
+ metadata?: { [key: string]: string | null } | null;
6648
+ }
6649
+
6650
+ export namespace NewFloatingEventOutputPrice {
6651
+ /**
6652
+ * Configuration for event_output pricing
6653
+ */
6654
+ export interface EventOutputConfig {
6655
+ /**
6656
+ * The key in the event data to extract the unit rate from.
6657
+ */
6658
+ unit_rating_key: string;
6659
+
6660
+ /**
6661
+ * An optional key in the event data to group by (e.g., event ID). All events will
6662
+ * also be grouped by their unit rate.
6663
+ */
6664
+ grouping_key?: string | null;
6665
+ }
6666
+ }
5979
6667
  }
5980
6668
 
5981
6669
  export interface AddAdjustment {
@@ -6389,6 +7077,8 @@ export namespace SubscriptionSchedulePlanChangeParams {
6389
7077
  | SubscriptionsAPI.NewSubscriptionScalableMatrixWithTieredPricingPrice
6390
7078
  | SubscriptionsAPI.NewSubscriptionCumulativeGroupedBulkPrice
6391
7079
  | SubscriptionsAPI.NewSubscriptionMinimumCompositePrice
7080
+ | AddPrice.NewSubscriptionPercentCompositePrice
7081
+ | AddPrice.NewSubscriptionEventOutputPrice
6392
7082
  | null;
6393
7083
 
6394
7084
  /**
@@ -6429,7 +7119,266 @@ export namespace SubscriptionSchedulePlanChangeParams {
6429
7119
  /**
6430
7120
  * Configuration for tiered_with_proration pricing
6431
7121
  */
6432
- tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
7122
+ tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
7123
+
7124
+ /**
7125
+ * The id of the billable metric for the price. Only needed if the price is
7126
+ * usage-based.
7127
+ */
7128
+ billable_metric_id?: string | null;
7129
+
7130
+ /**
7131
+ * If the Price represents a fixed cost, the price will be billed in-advance if
7132
+ * this is true, and in-arrears if this is false.
7133
+ */
7134
+ billed_in_advance?: boolean | null;
7135
+
7136
+ /**
7137
+ * For custom cadence: specifies the duration of the billing period in days or
7138
+ * months.
7139
+ */
7140
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7141
+
7142
+ /**
7143
+ * The per unit conversion rate of the price currency to the invoicing currency.
7144
+ */
7145
+ conversion_rate?: number | null;
7146
+
7147
+ /**
7148
+ * The configuration for the rate of the price currency to the invoicing currency.
7149
+ */
7150
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
7151
+
7152
+ /**
7153
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
7154
+ * price is billed.
7155
+ */
7156
+ currency?: string | null;
7157
+
7158
+ /**
7159
+ * For dimensional price: specifies a price group and dimension values
7160
+ */
7161
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
7162
+
7163
+ /**
7164
+ * An alias for the price.
7165
+ */
7166
+ external_price_id?: string | null;
7167
+
7168
+ /**
7169
+ * If the Price represents a fixed cost, this represents the quantity of units
7170
+ * applied.
7171
+ */
7172
+ fixed_price_quantity?: number | null;
7173
+
7174
+ /**
7175
+ * The property used to group this price on an invoice
7176
+ */
7177
+ invoice_grouping_key?: string | null;
7178
+
7179
+ /**
7180
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
7181
+ * If unspecified, a single invoice is produced per billing cycle.
7182
+ */
7183
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7184
+
7185
+ /**
7186
+ * User-specified key/value pairs for the resource. Individual keys can be removed
7187
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
7188
+ * by setting `metadata` to `null`.
7189
+ */
7190
+ metadata?: { [key: string]: string | null } | null;
7191
+
7192
+ /**
7193
+ * A transient ID that can be used to reference this price when adding adjustments
7194
+ * in the same API call.
7195
+ */
7196
+ reference_id?: string | null;
7197
+ }
7198
+
7199
+ export namespace NewSubscriptionTieredWithProrationPrice {
7200
+ /**
7201
+ * Configuration for tiered_with_proration pricing
7202
+ */
7203
+ export interface TieredWithProrationConfig {
7204
+ /**
7205
+ * Tiers for rating based on total usage quantities into the specified tier with
7206
+ * proration
7207
+ */
7208
+ tiers: Array<TieredWithProrationConfig.Tier>;
7209
+ }
7210
+
7211
+ export namespace TieredWithProrationConfig {
7212
+ /**
7213
+ * Configuration for a single tiered with proration tier
7214
+ */
7215
+ export interface Tier {
7216
+ /**
7217
+ * Inclusive tier starting value
7218
+ */
7219
+ tier_lower_bound: string;
7220
+
7221
+ /**
7222
+ * Amount per unit
7223
+ */
7224
+ unit_amount: string;
7225
+ }
7226
+ }
7227
+ }
7228
+
7229
+ export interface NewSubscriptionGroupedWithMinMaxThresholdsPrice {
7230
+ /**
7231
+ * The cadence to bill for this price on.
7232
+ */
7233
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
7234
+
7235
+ /**
7236
+ * Configuration for grouped_with_min_max_thresholds pricing
7237
+ */
7238
+ grouped_with_min_max_thresholds_config: NewSubscriptionGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
7239
+
7240
+ /**
7241
+ * The id of the item the price will be associated with.
7242
+ */
7243
+ item_id: string;
7244
+
7245
+ /**
7246
+ * The pricing model type
7247
+ */
7248
+ model_type: 'grouped_with_min_max_thresholds';
7249
+
7250
+ /**
7251
+ * The name of the price.
7252
+ */
7253
+ name: string;
7254
+
7255
+ /**
7256
+ * The id of the billable metric for the price. Only needed if the price is
7257
+ * usage-based.
7258
+ */
7259
+ billable_metric_id?: string | null;
7260
+
7261
+ /**
7262
+ * If the Price represents a fixed cost, the price will be billed in-advance if
7263
+ * this is true, and in-arrears if this is false.
7264
+ */
7265
+ billed_in_advance?: boolean | null;
7266
+
7267
+ /**
7268
+ * For custom cadence: specifies the duration of the billing period in days or
7269
+ * months.
7270
+ */
7271
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7272
+
7273
+ /**
7274
+ * The per unit conversion rate of the price currency to the invoicing currency.
7275
+ */
7276
+ conversion_rate?: number | null;
7277
+
7278
+ /**
7279
+ * The configuration for the rate of the price currency to the invoicing currency.
7280
+ */
7281
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
7282
+
7283
+ /**
7284
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
7285
+ * price is billed.
7286
+ */
7287
+ currency?: string | null;
7288
+
7289
+ /**
7290
+ * For dimensional price: specifies a price group and dimension values
7291
+ */
7292
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
7293
+
7294
+ /**
7295
+ * An alias for the price.
7296
+ */
7297
+ external_price_id?: string | null;
7298
+
7299
+ /**
7300
+ * If the Price represents a fixed cost, this represents the quantity of units
7301
+ * applied.
7302
+ */
7303
+ fixed_price_quantity?: number | null;
7304
+
7305
+ /**
7306
+ * The property used to group this price on an invoice
7307
+ */
7308
+ invoice_grouping_key?: string | null;
7309
+
7310
+ /**
7311
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
7312
+ * If unspecified, a single invoice is produced per billing cycle.
7313
+ */
7314
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7315
+
7316
+ /**
7317
+ * User-specified key/value pairs for the resource. Individual keys can be removed
7318
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
7319
+ * by setting `metadata` to `null`.
7320
+ */
7321
+ metadata?: { [key: string]: string | null } | null;
7322
+
7323
+ /**
7324
+ * A transient ID that can be used to reference this price when adding adjustments
7325
+ * in the same API call.
7326
+ */
7327
+ reference_id?: string | null;
7328
+ }
7329
+
7330
+ export namespace NewSubscriptionGroupedWithMinMaxThresholdsPrice {
7331
+ /**
7332
+ * Configuration for grouped_with_min_max_thresholds pricing
7333
+ */
7334
+ export interface GroupedWithMinMaxThresholdsConfig {
7335
+ /**
7336
+ * The event property used to group before applying thresholds
7337
+ */
7338
+ grouping_key: string;
7339
+
7340
+ /**
7341
+ * The maximum amount to charge each group
7342
+ */
7343
+ maximum_charge: string;
7344
+
7345
+ /**
7346
+ * The minimum amount to charge each group, regardless of usage
7347
+ */
7348
+ minimum_charge: string;
7349
+
7350
+ /**
7351
+ * The base price charged per group
7352
+ */
7353
+ per_unit_rate: string;
7354
+ }
7355
+ }
7356
+
7357
+ export interface NewSubscriptionPercentCompositePrice {
7358
+ /**
7359
+ * The cadence to bill for this price on.
7360
+ */
7361
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
7362
+
7363
+ /**
7364
+ * The id of the item the price will be associated with.
7365
+ */
7366
+ item_id: string;
7367
+
7368
+ /**
7369
+ * The pricing model type
7370
+ */
7371
+ model_type: 'percent';
7372
+
7373
+ /**
7374
+ * The name of the price.
7375
+ */
7376
+ name: string;
7377
+
7378
+ /**
7379
+ * Configuration for percent pricing
7380
+ */
7381
+ percent_config: NewSubscriptionPercentCompositePrice.PercentConfig;
6433
7382
 
6434
7383
  /**
6435
7384
  * The id of the billable metric for the price. Only needed if the price is
@@ -6506,46 +7455,28 @@ export namespace SubscriptionSchedulePlanChangeParams {
6506
7455
  reference_id?: string | null;
6507
7456
  }
6508
7457
 
6509
- export namespace NewSubscriptionTieredWithProrationPrice {
7458
+ export namespace NewSubscriptionPercentCompositePrice {
6510
7459
  /**
6511
- * Configuration for tiered_with_proration pricing
7460
+ * Configuration for percent pricing
6512
7461
  */
6513
- export interface TieredWithProrationConfig {
6514
- /**
6515
- * Tiers for rating based on total usage quantities into the specified tier with
6516
- * proration
6517
- */
6518
- tiers: Array<TieredWithProrationConfig.Tier>;
6519
- }
6520
-
6521
- export namespace TieredWithProrationConfig {
7462
+ export interface PercentConfig {
6522
7463
  /**
6523
- * Configuration for a single tiered with proration tier
7464
+ * What percent of the component subtotals to charge
6524
7465
  */
6525
- export interface Tier {
6526
- /**
6527
- * Inclusive tier starting value
6528
- */
6529
- tier_lower_bound: string;
6530
-
6531
- /**
6532
- * Amount per unit
6533
- */
6534
- unit_amount: string;
6535
- }
7466
+ percent: number;
6536
7467
  }
6537
7468
  }
6538
7469
 
6539
- export interface NewSubscriptionGroupedWithMinMaxThresholdsPrice {
7470
+ export interface NewSubscriptionEventOutputPrice {
6540
7471
  /**
6541
7472
  * The cadence to bill for this price on.
6542
7473
  */
6543
7474
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
6544
7475
 
6545
7476
  /**
6546
- * Configuration for grouped_with_min_max_thresholds pricing
7477
+ * Configuration for event_output pricing
6547
7478
  */
6548
- grouped_with_min_max_thresholds_config: NewSubscriptionGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
7479
+ event_output_config: NewSubscriptionEventOutputPrice.EventOutputConfig;
6549
7480
 
6550
7481
  /**
6551
7482
  * The id of the item the price will be associated with.
@@ -6555,7 +7486,7 @@ export namespace SubscriptionSchedulePlanChangeParams {
6555
7486
  /**
6556
7487
  * The pricing model type
6557
7488
  */
6558
- model_type: 'grouped_with_min_max_thresholds';
7489
+ model_type: 'event_output';
6559
7490
 
6560
7491
  /**
6561
7492
  * The name of the price.
@@ -6637,30 +7568,21 @@ export namespace SubscriptionSchedulePlanChangeParams {
6637
7568
  reference_id?: string | null;
6638
7569
  }
6639
7570
 
6640
- export namespace NewSubscriptionGroupedWithMinMaxThresholdsPrice {
7571
+ export namespace NewSubscriptionEventOutputPrice {
6641
7572
  /**
6642
- * Configuration for grouped_with_min_max_thresholds pricing
7573
+ * Configuration for event_output pricing
6643
7574
  */
6644
- export interface GroupedWithMinMaxThresholdsConfig {
6645
- /**
6646
- * The event property used to group before applying thresholds
6647
- */
6648
- grouping_key: string;
6649
-
6650
- /**
6651
- * The maximum amount to charge each group
6652
- */
6653
- maximum_charge: string;
6654
-
7575
+ export interface EventOutputConfig {
6655
7576
  /**
6656
- * The minimum amount to charge each group, regardless of usage
7577
+ * The key in the event data to extract the unit rate from.
6657
7578
  */
6658
- minimum_charge: string;
7579
+ unit_rating_key: string;
6659
7580
 
6660
7581
  /**
6661
- * The base price charged per group
7582
+ * An optional key in the event data to group by (e.g., event ID). All events will
7583
+ * also be grouped by their unit rate.
6662
7584
  */
6663
- per_unit_rate: string;
7585
+ grouping_key?: string | null;
6664
7586
  }
6665
7587
  }
6666
7588
  }
@@ -6771,6 +7693,8 @@ export namespace SubscriptionSchedulePlanChangeParams {
6771
7693
  | SubscriptionsAPI.NewSubscriptionScalableMatrixWithTieredPricingPrice
6772
7694
  | SubscriptionsAPI.NewSubscriptionCumulativeGroupedBulkPrice
6773
7695
  | SubscriptionsAPI.NewSubscriptionMinimumCompositePrice
7696
+ | ReplacePrice.NewSubscriptionPercentCompositePrice
7697
+ | ReplacePrice.NewSubscriptionEventOutputPrice
6774
7698
  | null;
6775
7699
 
6776
7700
  /**
@@ -7038,6 +7962,238 @@ export namespace SubscriptionSchedulePlanChangeParams {
7038
7962
  per_unit_rate: string;
7039
7963
  }
7040
7964
  }
7965
+
7966
+ export interface NewSubscriptionPercentCompositePrice {
7967
+ /**
7968
+ * The cadence to bill for this price on.
7969
+ */
7970
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
7971
+
7972
+ /**
7973
+ * The id of the item the price will be associated with.
7974
+ */
7975
+ item_id: string;
7976
+
7977
+ /**
7978
+ * The pricing model type
7979
+ */
7980
+ model_type: 'percent';
7981
+
7982
+ /**
7983
+ * The name of the price.
7984
+ */
7985
+ name: string;
7986
+
7987
+ /**
7988
+ * Configuration for percent pricing
7989
+ */
7990
+ percent_config: NewSubscriptionPercentCompositePrice.PercentConfig;
7991
+
7992
+ /**
7993
+ * The id of the billable metric for the price. Only needed if the price is
7994
+ * usage-based.
7995
+ */
7996
+ billable_metric_id?: string | null;
7997
+
7998
+ /**
7999
+ * If the Price represents a fixed cost, the price will be billed in-advance if
8000
+ * this is true, and in-arrears if this is false.
8001
+ */
8002
+ billed_in_advance?: boolean | null;
8003
+
8004
+ /**
8005
+ * For custom cadence: specifies the duration of the billing period in days or
8006
+ * months.
8007
+ */
8008
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8009
+
8010
+ /**
8011
+ * The per unit conversion rate of the price currency to the invoicing currency.
8012
+ */
8013
+ conversion_rate?: number | null;
8014
+
8015
+ /**
8016
+ * The configuration for the rate of the price currency to the invoicing currency.
8017
+ */
8018
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
8019
+
8020
+ /**
8021
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
8022
+ * price is billed.
8023
+ */
8024
+ currency?: string | null;
8025
+
8026
+ /**
8027
+ * For dimensional price: specifies a price group and dimension values
8028
+ */
8029
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
8030
+
8031
+ /**
8032
+ * An alias for the price.
8033
+ */
8034
+ external_price_id?: string | null;
8035
+
8036
+ /**
8037
+ * If the Price represents a fixed cost, this represents the quantity of units
8038
+ * applied.
8039
+ */
8040
+ fixed_price_quantity?: number | null;
8041
+
8042
+ /**
8043
+ * The property used to group this price on an invoice
8044
+ */
8045
+ invoice_grouping_key?: string | null;
8046
+
8047
+ /**
8048
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
8049
+ * If unspecified, a single invoice is produced per billing cycle.
8050
+ */
8051
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8052
+
8053
+ /**
8054
+ * User-specified key/value pairs for the resource. Individual keys can be removed
8055
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
8056
+ * by setting `metadata` to `null`.
8057
+ */
8058
+ metadata?: { [key: string]: string | null } | null;
8059
+
8060
+ /**
8061
+ * A transient ID that can be used to reference this price when adding adjustments
8062
+ * in the same API call.
8063
+ */
8064
+ reference_id?: string | null;
8065
+ }
8066
+
8067
+ export namespace NewSubscriptionPercentCompositePrice {
8068
+ /**
8069
+ * Configuration for percent pricing
8070
+ */
8071
+ export interface PercentConfig {
8072
+ /**
8073
+ * What percent of the component subtotals to charge
8074
+ */
8075
+ percent: number;
8076
+ }
8077
+ }
8078
+
8079
+ export interface NewSubscriptionEventOutputPrice {
8080
+ /**
8081
+ * The cadence to bill for this price on.
8082
+ */
8083
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
8084
+
8085
+ /**
8086
+ * Configuration for event_output pricing
8087
+ */
8088
+ event_output_config: NewSubscriptionEventOutputPrice.EventOutputConfig;
8089
+
8090
+ /**
8091
+ * The id of the item the price will be associated with.
8092
+ */
8093
+ item_id: string;
8094
+
8095
+ /**
8096
+ * The pricing model type
8097
+ */
8098
+ model_type: 'event_output';
8099
+
8100
+ /**
8101
+ * The name of the price.
8102
+ */
8103
+ name: string;
8104
+
8105
+ /**
8106
+ * The id of the billable metric for the price. Only needed if the price is
8107
+ * usage-based.
8108
+ */
8109
+ billable_metric_id?: string | null;
8110
+
8111
+ /**
8112
+ * If the Price represents a fixed cost, the price will be billed in-advance if
8113
+ * this is true, and in-arrears if this is false.
8114
+ */
8115
+ billed_in_advance?: boolean | null;
8116
+
8117
+ /**
8118
+ * For custom cadence: specifies the duration of the billing period in days or
8119
+ * months.
8120
+ */
8121
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8122
+
8123
+ /**
8124
+ * The per unit conversion rate of the price currency to the invoicing currency.
8125
+ */
8126
+ conversion_rate?: number | null;
8127
+
8128
+ /**
8129
+ * The configuration for the rate of the price currency to the invoicing currency.
8130
+ */
8131
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
8132
+
8133
+ /**
8134
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
8135
+ * price is billed.
8136
+ */
8137
+ currency?: string | null;
8138
+
8139
+ /**
8140
+ * For dimensional price: specifies a price group and dimension values
8141
+ */
8142
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
8143
+
8144
+ /**
8145
+ * An alias for the price.
8146
+ */
8147
+ external_price_id?: string | null;
8148
+
8149
+ /**
8150
+ * If the Price represents a fixed cost, this represents the quantity of units
8151
+ * applied.
8152
+ */
8153
+ fixed_price_quantity?: number | null;
8154
+
8155
+ /**
8156
+ * The property used to group this price on an invoice
8157
+ */
8158
+ invoice_grouping_key?: string | null;
8159
+
8160
+ /**
8161
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
8162
+ * If unspecified, a single invoice is produced per billing cycle.
8163
+ */
8164
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8165
+
8166
+ /**
8167
+ * User-specified key/value pairs for the resource. Individual keys can be removed
8168
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
8169
+ * by setting `metadata` to `null`.
8170
+ */
8171
+ metadata?: { [key: string]: string | null } | null;
8172
+
8173
+ /**
8174
+ * A transient ID that can be used to reference this price when adding adjustments
8175
+ * in the same API call.
8176
+ */
8177
+ reference_id?: string | null;
8178
+ }
8179
+
8180
+ export namespace NewSubscriptionEventOutputPrice {
8181
+ /**
8182
+ * Configuration for event_output pricing
8183
+ */
8184
+ export interface EventOutputConfig {
8185
+ /**
8186
+ * The key in the event data to extract the unit rate from.
8187
+ */
8188
+ unit_rating_key: string;
8189
+
8190
+ /**
8191
+ * An optional key in the event data to group by (e.g., event ID). All events will
8192
+ * also be grouped by their unit rate.
8193
+ */
8194
+ grouping_key?: string | null;
8195
+ }
8196
+ }
7041
8197
  }
7042
8198
  }
7043
8199