orb-billing 6.9.0 → 6.10.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 (47) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +1 -1
  3. package/resources/beta/beta.d.mts +252 -2
  4. package/resources/beta/beta.d.mts.map +1 -1
  5. package/resources/beta/beta.d.ts +252 -2
  6. package/resources/beta/beta.d.ts.map +1 -1
  7. package/resources/beta/beta.js.map +1 -1
  8. package/resources/beta/beta.mjs.map +1 -1
  9. package/resources/beta/external-plan-id.d.mts +252 -2
  10. package/resources/beta/external-plan-id.d.mts.map +1 -1
  11. package/resources/beta/external-plan-id.d.ts +252 -2
  12. package/resources/beta/external-plan-id.d.ts.map +1 -1
  13. package/resources/plans/plans.d.mts +126 -1
  14. package/resources/plans/plans.d.mts.map +1 -1
  15. package/resources/plans/plans.d.ts +126 -1
  16. package/resources/plans/plans.d.ts.map +1 -1
  17. package/resources/plans/plans.js.map +1 -1
  18. package/resources/plans/plans.mjs.map +1 -1
  19. package/resources/prices/prices.d.mts +360 -3
  20. package/resources/prices/prices.d.mts.map +1 -1
  21. package/resources/prices/prices.d.ts +360 -3
  22. package/resources/prices/prices.d.ts.map +1 -1
  23. package/resources/prices/prices.js.map +1 -1
  24. package/resources/prices/prices.mjs.map +1 -1
  25. package/resources/shared.d.mts +145 -1
  26. package/resources/shared.d.mts.map +1 -1
  27. package/resources/shared.d.ts +145 -1
  28. package/resources/shared.d.ts.map +1 -1
  29. package/resources/subscriptions.d.mts +655 -36
  30. package/resources/subscriptions.d.mts.map +1 -1
  31. package/resources/subscriptions.d.ts +655 -36
  32. package/resources/subscriptions.d.ts.map +1 -1
  33. package/src/resources/beta/beta.ts +298 -0
  34. package/src/resources/beta/external-plan-id.ts +298 -0
  35. package/src/resources/plans/plans.ts +149 -0
  36. package/src/resources/prices/prices.ts +426 -0
  37. package/src/resources/shared.ts +185 -0
  38. package/src/resources/subscriptions.ts +845 -107
  39. package/src/version.ts +1 -1
  40. package/version.d.mts +1 -1
  41. package/version.d.mts.map +1 -1
  42. package/version.d.ts +1 -1
  43. package/version.d.ts.map +1 -1
  44. package/version.js +1 -1
  45. package/version.js.map +1 -1
  46. package/version.mjs +1 -1
  47. package/version.mjs.map +1 -1
@@ -5188,6 +5188,7 @@ export namespace SubscriptionCreateParams {
5188
5188
  | SubscriptionsAPI.NewSubscriptionTieredPackagePrice
5189
5189
  | SubscriptionsAPI.NewSubscriptionTieredWithMinimumPrice
5190
5190
  | SubscriptionsAPI.NewSubscriptionGroupedTieredPrice
5191
+ | AddPrice.NewSubscriptionGroupedTieredMatrixPrice
5191
5192
  | SubscriptionsAPI.NewSubscriptionTieredPackageWithMinimumPrice
5192
5193
  | SubscriptionsAPI.NewSubscriptionPackageWithAllocationPrice
5193
5194
  | SubscriptionsAPI.NewSubscriptionUnitWithPercentPrice
@@ -5383,6 +5384,154 @@ export namespace SubscriptionCreateParams {
5383
5384
  }
5384
5385
  }
5385
5386
 
5387
+ export interface NewSubscriptionGroupedTieredMatrixPrice {
5388
+ /**
5389
+ * The cadence to bill for this price on.
5390
+ */
5391
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5392
+
5393
+ /**
5394
+ * Configuration for grouped_tiered_matrix pricing
5395
+ */
5396
+ grouped_tiered_matrix_config: NewSubscriptionGroupedTieredMatrixPrice.GroupedTieredMatrixConfig;
5397
+
5398
+ /**
5399
+ * The id of the item the price will be associated with.
5400
+ */
5401
+ item_id: string;
5402
+
5403
+ /**
5404
+ * The pricing model type
5405
+ */
5406
+ model_type: 'grouped_tiered_matrix';
5407
+
5408
+ /**
5409
+ * The name of the price.
5410
+ */
5411
+ name: string;
5412
+
5413
+ /**
5414
+ * The id of the billable metric for the price. Only needed if the price is
5415
+ * usage-based.
5416
+ */
5417
+ billable_metric_id?: string | null;
5418
+
5419
+ /**
5420
+ * If the Price represents a fixed cost, the price will be billed in-advance if
5421
+ * this is true, and in-arrears if this is false.
5422
+ */
5423
+ billed_in_advance?: boolean | null;
5424
+
5425
+ /**
5426
+ * For custom cadence: specifies the duration of the billing period in days or
5427
+ * months.
5428
+ */
5429
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5430
+
5431
+ /**
5432
+ * The per unit conversion rate of the price currency to the invoicing currency.
5433
+ */
5434
+ conversion_rate?: number | null;
5435
+
5436
+ /**
5437
+ * The configuration for the rate of the price currency to the invoicing currency.
5438
+ */
5439
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
5440
+
5441
+ /**
5442
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
5443
+ * price is billed.
5444
+ */
5445
+ currency?: string | null;
5446
+
5447
+ /**
5448
+ * For dimensional price: specifies a price group and dimension values
5449
+ */
5450
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
5451
+
5452
+ /**
5453
+ * An alias for the price.
5454
+ */
5455
+ external_price_id?: string | null;
5456
+
5457
+ /**
5458
+ * If the Price represents a fixed cost, this represents the quantity of units
5459
+ * applied.
5460
+ */
5461
+ fixed_price_quantity?: number | null;
5462
+
5463
+ /**
5464
+ * The property used to group this price on an invoice
5465
+ */
5466
+ invoice_grouping_key?: string | null;
5467
+
5468
+ /**
5469
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
5470
+ * If unspecified, a single invoice is produced per billing cycle.
5471
+ */
5472
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5473
+
5474
+ /**
5475
+ * The ID of the license type to associate with this price.
5476
+ */
5477
+ license_type_id?: string | null;
5478
+
5479
+ /**
5480
+ * User-specified key/value pairs for the resource. Individual keys can be removed
5481
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
5482
+ * by setting `metadata` to `null`.
5483
+ */
5484
+ metadata?: { [key: string]: string | null } | null;
5485
+
5486
+ /**
5487
+ * A transient ID that can be used to reference this price when adding adjustments
5488
+ * in the same API call.
5489
+ */
5490
+ reference_id?: string | null;
5491
+ }
5492
+
5493
+ export namespace NewSubscriptionGroupedTieredMatrixPrice {
5494
+ /**
5495
+ * Configuration for grouped_tiered_matrix pricing
5496
+ */
5497
+ export interface GroupedTieredMatrixConfig {
5498
+ /**
5499
+ * Per unit rate for usage whose dimension value has no configured tiers
5500
+ */
5501
+ default_unit_amount: string;
5502
+
5503
+ /**
5504
+ * The billable metric property used to group usage before tiering
5505
+ */
5506
+ dimension: string;
5507
+
5508
+ /**
5509
+ * Graduated tiers keyed by dimension value; usage for a value is tiered only
5510
+ * against its own rows
5511
+ */
5512
+ tiers: Array<GroupedTieredMatrixConfig.Tier>;
5513
+ }
5514
+
5515
+ export namespace GroupedTieredMatrixConfig {
5516
+ /**
5517
+ * Configuration for a single tier scoped to a dimension value
5518
+ */
5519
+ export interface Tier {
5520
+ /**
5521
+ * The dimension value this tier applies to
5522
+ */
5523
+ dimension_value: string;
5524
+
5525
+ tier_lower_bound: string;
5526
+
5527
+ /**
5528
+ * Per unit amount
5529
+ */
5530
+ unit_amount: string;
5531
+ }
5532
+ }
5533
+ }
5534
+
5386
5535
  export interface NewSubscriptionMatrixWithThresholdDiscountsPrice {
5387
5536
  /**
5388
5537
  * The cadence to bill for this price on.
@@ -6704,6 +6853,7 @@ export namespace SubscriptionCreateParams {
6704
6853
  | SubscriptionsAPI.NewSubscriptionTieredPackagePrice
6705
6854
  | SubscriptionsAPI.NewSubscriptionTieredWithMinimumPrice
6706
6855
  | SubscriptionsAPI.NewSubscriptionGroupedTieredPrice
6856
+ | ReplacePrice.NewSubscriptionGroupedTieredMatrixPrice
6707
6857
  | SubscriptionsAPI.NewSubscriptionTieredPackageWithMinimumPrice
6708
6858
  | SubscriptionsAPI.NewSubscriptionPackageWithAllocationPrice
6709
6859
  | SubscriptionsAPI.NewSubscriptionUnitWithPercentPrice
@@ -6892,26 +7042,26 @@ export namespace SubscriptionCreateParams {
6892
7042
  }
6893
7043
  }
6894
7044
 
6895
- export interface NewSubscriptionMatrixWithThresholdDiscountsPrice {
7045
+ export interface NewSubscriptionGroupedTieredMatrixPrice {
6896
7046
  /**
6897
7047
  * The cadence to bill for this price on.
6898
7048
  */
6899
7049
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
6900
7050
 
6901
7051
  /**
6902
- * The id of the item the price will be associated with.
7052
+ * Configuration for grouped_tiered_matrix pricing
6903
7053
  */
6904
- item_id: string;
7054
+ grouped_tiered_matrix_config: NewSubscriptionGroupedTieredMatrixPrice.GroupedTieredMatrixConfig;
6905
7055
 
6906
7056
  /**
6907
- * Configuration for matrix_with_threshold_discounts pricing
7057
+ * The id of the item the price will be associated with.
6908
7058
  */
6909
- matrix_with_threshold_discounts_config: NewSubscriptionMatrixWithThresholdDiscountsPrice.MatrixWithThresholdDiscountsConfig;
7059
+ item_id: string;
6910
7060
 
6911
7061
  /**
6912
7062
  * The pricing model type
6913
7063
  */
6914
- model_type: 'matrix_with_threshold_discounts';
7064
+ model_type: 'grouped_tiered_matrix';
6915
7065
 
6916
7066
  /**
6917
7067
  * The name of the price.
@@ -6998,70 +7148,49 @@ export namespace SubscriptionCreateParams {
6998
7148
  reference_id?: string | null;
6999
7149
  }
7000
7150
 
7001
- export namespace NewSubscriptionMatrixWithThresholdDiscountsPrice {
7151
+ export namespace NewSubscriptionGroupedTieredMatrixPrice {
7002
7152
  /**
7003
- * Configuration for matrix_with_threshold_discounts pricing
7153
+ * Configuration for grouped_tiered_matrix pricing
7004
7154
  */
7005
- export interface MatrixWithThresholdDiscountsConfig {
7155
+ export interface GroupedTieredMatrixConfig {
7006
7156
  /**
7007
- * Unit price used for usage that does not match any defined matrix cell.
7157
+ * Per unit rate for usage whose dimension value has no configured tiers
7008
7158
  */
7009
7159
  default_unit_amount: string;
7010
7160
 
7011
7161
  /**
7012
- * First matrix dimension key.
7162
+ * The billable metric property used to group usage before tiering
7013
7163
  */
7014
- first_dimension: string;
7164
+ dimension: string;
7015
7165
 
7016
7166
  /**
7017
- * Per-cell unit prices.
7167
+ * Graduated tiers keyed by dimension value; usage for a value is tiered only
7168
+ * against its own rows
7018
7169
  */
7019
- matrix_values: Array<MatrixWithThresholdDiscountsConfig.MatrixValue>;
7170
+ tiers: Array<GroupedTieredMatrixConfig.Tier>;
7171
+ }
7020
7172
 
7173
+ export namespace GroupedTieredMatrixConfig {
7021
7174
  /**
7022
- * Optional second matrix dimension key.
7175
+ * Configuration for a single tier scoped to a dimension value
7023
7176
  */
7024
- second_dimension?: string | null;
7025
-
7026
- threshold_discount_groups?: Array<MatrixWithThresholdDiscountsConfig.ThresholdDiscountGroup>;
7027
- }
7028
-
7029
- export namespace MatrixWithThresholdDiscountsConfig {
7030
- export interface MatrixValue {
7031
- first_dimension_value: string;
7032
-
7033
- unit_amount: string;
7034
-
7035
- second_dimension_value?: string | null;
7036
- }
7037
-
7038
- export interface ThresholdDiscountGroup {
7177
+ export interface Tier {
7039
7178
  /**
7040
- * Discount rate applied to spend above the threshold.
7179
+ * The dimension value this tier applies to
7041
7180
  */
7042
- above_threshold_discount_percentage: string;
7181
+ dimension_value: string;
7043
7182
 
7044
- /**
7045
- * Discount rate applied to spend at or below the threshold. Set to 0 for no
7046
- * baseline discount.
7047
- */
7048
- below_threshold_discount_percentage: string;
7183
+ tier_lower_bound: string;
7049
7184
 
7050
7185
  /**
7051
- * Semicolon-separated list of matrix cell coordinates targeted by this group. Each
7052
- * coordinate is `first,second` when the matrix has two dimensions, or just `first`
7053
- * for a single-dimension matrix. Example: `blue,circle;green,triangle`.
7186
+ * Per unit amount
7054
7187
  */
7055
- cell_coordinates: string;
7056
-
7057
- threshold_amount: string;
7058
-
7059
- description?: string | null;
7188
+ unit_amount: string;
7060
7189
  }
7061
7190
  }
7062
7191
  }
7063
7192
 
7064
- export interface NewSubscriptionTieredWithProrationPrice {
7193
+ export interface NewSubscriptionMatrixWithThresholdDiscountsPrice {
7065
7194
  /**
7066
7195
  * The cadence to bill for this price on.
7067
7196
  */
@@ -7073,19 +7202,19 @@ export namespace SubscriptionCreateParams {
7073
7202
  item_id: string;
7074
7203
 
7075
7204
  /**
7076
- * The pricing model type
7205
+ * Configuration for matrix_with_threshold_discounts pricing
7077
7206
  */
7078
- model_type: 'tiered_with_proration';
7207
+ matrix_with_threshold_discounts_config: NewSubscriptionMatrixWithThresholdDiscountsPrice.MatrixWithThresholdDiscountsConfig;
7079
7208
 
7080
7209
  /**
7081
- * The name of the price.
7210
+ * The pricing model type
7082
7211
  */
7083
- name: string;
7212
+ model_type: 'matrix_with_threshold_discounts';
7084
7213
 
7085
7214
  /**
7086
- * Configuration for tiered_with_proration pricing
7215
+ * The name of the price.
7087
7216
  */
7088
- tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
7217
+ name: string;
7089
7218
 
7090
7219
  /**
7091
7220
  * The id of the billable metric for the price. Only needed if the price is
@@ -7167,32 +7296,201 @@ export namespace SubscriptionCreateParams {
7167
7296
  reference_id?: string | null;
7168
7297
  }
7169
7298
 
7170
- export namespace NewSubscriptionTieredWithProrationPrice {
7299
+ export namespace NewSubscriptionMatrixWithThresholdDiscountsPrice {
7171
7300
  /**
7172
- * Configuration for tiered_with_proration pricing
7301
+ * Configuration for matrix_with_threshold_discounts pricing
7173
7302
  */
7174
- export interface TieredWithProrationConfig {
7303
+ export interface MatrixWithThresholdDiscountsConfig {
7175
7304
  /**
7176
- * Tiers for rating based on total usage quantities into the specified tier with
7177
- * proration
7305
+ * Unit price used for usage that does not match any defined matrix cell.
7178
7306
  */
7179
- tiers: Array<TieredWithProrationConfig.Tier>;
7180
- }
7307
+ default_unit_amount: string;
7181
7308
 
7182
- export namespace TieredWithProrationConfig {
7183
7309
  /**
7184
- * Configuration for a single tiered with proration tier
7310
+ * First matrix dimension key.
7185
7311
  */
7186
- export interface Tier {
7312
+ first_dimension: string;
7313
+
7314
+ /**
7315
+ * Per-cell unit prices.
7316
+ */
7317
+ matrix_values: Array<MatrixWithThresholdDiscountsConfig.MatrixValue>;
7318
+
7319
+ /**
7320
+ * Optional second matrix dimension key.
7321
+ */
7322
+ second_dimension?: string | null;
7323
+
7324
+ threshold_discount_groups?: Array<MatrixWithThresholdDiscountsConfig.ThresholdDiscountGroup>;
7325
+ }
7326
+
7327
+ export namespace MatrixWithThresholdDiscountsConfig {
7328
+ export interface MatrixValue {
7329
+ first_dimension_value: string;
7330
+
7331
+ unit_amount: string;
7332
+
7333
+ second_dimension_value?: string | null;
7334
+ }
7335
+
7336
+ export interface ThresholdDiscountGroup {
7187
7337
  /**
7188
- * Inclusive tier starting value
7338
+ * Discount rate applied to spend above the threshold.
7189
7339
  */
7190
- tier_lower_bound: string;
7340
+ above_threshold_discount_percentage: string;
7191
7341
 
7192
7342
  /**
7193
- * Amount per unit
7343
+ * Discount rate applied to spend at or below the threshold. Set to 0 for no
7344
+ * baseline discount.
7194
7345
  */
7195
- unit_amount: string;
7346
+ below_threshold_discount_percentage: string;
7347
+
7348
+ /**
7349
+ * Semicolon-separated list of matrix cell coordinates targeted by this group. Each
7350
+ * coordinate is `first,second` when the matrix has two dimensions, or just `first`
7351
+ * for a single-dimension matrix. Example: `blue,circle;green,triangle`.
7352
+ */
7353
+ cell_coordinates: string;
7354
+
7355
+ threshold_amount: string;
7356
+
7357
+ description?: string | null;
7358
+ }
7359
+ }
7360
+ }
7361
+
7362
+ export interface NewSubscriptionTieredWithProrationPrice {
7363
+ /**
7364
+ * The cadence to bill for this price on.
7365
+ */
7366
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
7367
+
7368
+ /**
7369
+ * The id of the item the price will be associated with.
7370
+ */
7371
+ item_id: string;
7372
+
7373
+ /**
7374
+ * The pricing model type
7375
+ */
7376
+ model_type: 'tiered_with_proration';
7377
+
7378
+ /**
7379
+ * The name of the price.
7380
+ */
7381
+ name: string;
7382
+
7383
+ /**
7384
+ * Configuration for tiered_with_proration pricing
7385
+ */
7386
+ tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
7387
+
7388
+ /**
7389
+ * The id of the billable metric for the price. Only needed if the price is
7390
+ * usage-based.
7391
+ */
7392
+ billable_metric_id?: string | null;
7393
+
7394
+ /**
7395
+ * If the Price represents a fixed cost, the price will be billed in-advance if
7396
+ * this is true, and in-arrears if this is false.
7397
+ */
7398
+ billed_in_advance?: boolean | null;
7399
+
7400
+ /**
7401
+ * For custom cadence: specifies the duration of the billing period in days or
7402
+ * months.
7403
+ */
7404
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7405
+
7406
+ /**
7407
+ * The per unit conversion rate of the price currency to the invoicing currency.
7408
+ */
7409
+ conversion_rate?: number | null;
7410
+
7411
+ /**
7412
+ * The configuration for the rate of the price currency to the invoicing currency.
7413
+ */
7414
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
7415
+
7416
+ /**
7417
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
7418
+ * price is billed.
7419
+ */
7420
+ currency?: string | null;
7421
+
7422
+ /**
7423
+ * For dimensional price: specifies a price group and dimension values
7424
+ */
7425
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
7426
+
7427
+ /**
7428
+ * An alias for the price.
7429
+ */
7430
+ external_price_id?: string | null;
7431
+
7432
+ /**
7433
+ * If the Price represents a fixed cost, this represents the quantity of units
7434
+ * applied.
7435
+ */
7436
+ fixed_price_quantity?: number | null;
7437
+
7438
+ /**
7439
+ * The property used to group this price on an invoice
7440
+ */
7441
+ invoice_grouping_key?: string | null;
7442
+
7443
+ /**
7444
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
7445
+ * If unspecified, a single invoice is produced per billing cycle.
7446
+ */
7447
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7448
+
7449
+ /**
7450
+ * The ID of the license type to associate with this price.
7451
+ */
7452
+ license_type_id?: string | null;
7453
+
7454
+ /**
7455
+ * User-specified key/value pairs for the resource. Individual keys can be removed
7456
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
7457
+ * by setting `metadata` to `null`.
7458
+ */
7459
+ metadata?: { [key: string]: string | null } | null;
7460
+
7461
+ /**
7462
+ * A transient ID that can be used to reference this price when adding adjustments
7463
+ * in the same API call.
7464
+ */
7465
+ reference_id?: string | null;
7466
+ }
7467
+
7468
+ export namespace NewSubscriptionTieredWithProrationPrice {
7469
+ /**
7470
+ * Configuration for tiered_with_proration pricing
7471
+ */
7472
+ export interface TieredWithProrationConfig {
7473
+ /**
7474
+ * Tiers for rating based on total usage quantities into the specified tier with
7475
+ * proration
7476
+ */
7477
+ tiers: Array<TieredWithProrationConfig.Tier>;
7478
+ }
7479
+
7480
+ export namespace TieredWithProrationConfig {
7481
+ /**
7482
+ * Configuration for a single tiered with proration tier
7483
+ */
7484
+ export interface Tier {
7485
+ /**
7486
+ * Inclusive tier starting value
7487
+ */
7488
+ tier_lower_bound: string;
7489
+
7490
+ /**
7491
+ * Amount per unit
7492
+ */
7493
+ unit_amount: string;
7196
7494
  }
7197
7495
  }
7198
7496
  }
@@ -8323,6 +8621,7 @@ export namespace SubscriptionPriceIntervalsParams {
8323
8621
  | Shared.NewFloatingTieredPackagePrice
8324
8622
  | Shared.NewFloatingTieredWithMinimumPrice
8325
8623
  | Shared.NewFloatingGroupedTieredPrice
8624
+ | Add.NewFloatingGroupedTieredMatrixPrice
8326
8625
  | Shared.NewFloatingTieredPackageWithMinimumPrice
8327
8626
  | Shared.NewFloatingPackageWithAllocationPrice
8328
8627
  | Shared.NewFloatingUnitWithPercentPrice
@@ -8555,6 +8854,147 @@ export namespace SubscriptionPriceIntervalsParams {
8555
8854
  }
8556
8855
  }
8557
8856
 
8857
+ export interface NewFloatingGroupedTieredMatrixPrice {
8858
+ /**
8859
+ * The cadence to bill for this price on.
8860
+ */
8861
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
8862
+
8863
+ /**
8864
+ * An ISO 4217 currency string for which this price is billed in.
8865
+ */
8866
+ currency: string;
8867
+
8868
+ /**
8869
+ * Configuration for grouped_tiered_matrix pricing
8870
+ */
8871
+ grouped_tiered_matrix_config: NewFloatingGroupedTieredMatrixPrice.GroupedTieredMatrixConfig;
8872
+
8873
+ /**
8874
+ * The id of the item the price will be associated with.
8875
+ */
8876
+ item_id: string;
8877
+
8878
+ /**
8879
+ * The pricing model type
8880
+ */
8881
+ model_type: 'grouped_tiered_matrix';
8882
+
8883
+ /**
8884
+ * The name of the price.
8885
+ */
8886
+ name: string;
8887
+
8888
+ /**
8889
+ * The id of the billable metric for the price. Only needed if the price is
8890
+ * usage-based.
8891
+ */
8892
+ billable_metric_id?: string | null;
8893
+
8894
+ /**
8895
+ * If the Price represents a fixed cost, the price will be billed in-advance if
8896
+ * this is true, and in-arrears if this is false.
8897
+ */
8898
+ billed_in_advance?: boolean | null;
8899
+
8900
+ /**
8901
+ * For custom cadence: specifies the duration of the billing period in days or
8902
+ * months.
8903
+ */
8904
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8905
+
8906
+ /**
8907
+ * The per unit conversion rate of the price currency to the invoicing currency.
8908
+ */
8909
+ conversion_rate?: number | null;
8910
+
8911
+ /**
8912
+ * The configuration for the rate of the price currency to the invoicing currency.
8913
+ */
8914
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
8915
+
8916
+ /**
8917
+ * For dimensional price: specifies a price group and dimension values
8918
+ */
8919
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
8920
+
8921
+ /**
8922
+ * An alias for the price.
8923
+ */
8924
+ external_price_id?: string | null;
8925
+
8926
+ /**
8927
+ * If the Price represents a fixed cost, this represents the quantity of units
8928
+ * applied.
8929
+ */
8930
+ fixed_price_quantity?: number | null;
8931
+
8932
+ /**
8933
+ * The property used to group this price on an invoice
8934
+ */
8935
+ invoice_grouping_key?: string | null;
8936
+
8937
+ /**
8938
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
8939
+ * If unspecified, a single invoice is produced per billing cycle.
8940
+ */
8941
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8942
+
8943
+ /**
8944
+ * The ID of the license type to associate with this price.
8945
+ */
8946
+ license_type_id?: string | null;
8947
+
8948
+ /**
8949
+ * User-specified key/value pairs for the resource. Individual keys can be removed
8950
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
8951
+ * by setting `metadata` to `null`.
8952
+ */
8953
+ metadata?: { [key: string]: string | null } | null;
8954
+ }
8955
+
8956
+ export namespace NewFloatingGroupedTieredMatrixPrice {
8957
+ /**
8958
+ * Configuration for grouped_tiered_matrix pricing
8959
+ */
8960
+ export interface GroupedTieredMatrixConfig {
8961
+ /**
8962
+ * Per unit rate for usage whose dimension value has no configured tiers
8963
+ */
8964
+ default_unit_amount: string;
8965
+
8966
+ /**
8967
+ * The billable metric property used to group usage before tiering
8968
+ */
8969
+ dimension: string;
8970
+
8971
+ /**
8972
+ * Graduated tiers keyed by dimension value; usage for a value is tiered only
8973
+ * against its own rows
8974
+ */
8975
+ tiers: Array<GroupedTieredMatrixConfig.Tier>;
8976
+ }
8977
+
8978
+ export namespace GroupedTieredMatrixConfig {
8979
+ /**
8980
+ * Configuration for a single tier scoped to a dimension value
8981
+ */
8982
+ export interface Tier {
8983
+ /**
8984
+ * The dimension value this tier applies to
8985
+ */
8986
+ dimension_value: string;
8987
+
8988
+ tier_lower_bound: string;
8989
+
8990
+ /**
8991
+ * Per unit amount
8992
+ */
8993
+ unit_amount: string;
8994
+ }
8995
+ }
8996
+ }
8997
+
8558
8998
  export interface NewFloatingMatrixWithThresholdDiscountsPrice {
8559
8999
  /**
8560
9000
  * The cadence to bill for this price on.
@@ -10098,6 +10538,7 @@ export namespace SubscriptionSchedulePlanChangeParams {
10098
10538
  | SubscriptionsAPI.NewSubscriptionTieredPackagePrice
10099
10539
  | SubscriptionsAPI.NewSubscriptionTieredWithMinimumPrice
10100
10540
  | SubscriptionsAPI.NewSubscriptionGroupedTieredPrice
10541
+ | AddPrice.NewSubscriptionGroupedTieredMatrixPrice
10101
10542
  | SubscriptionsAPI.NewSubscriptionTieredPackageWithMinimumPrice
10102
10543
  | SubscriptionsAPI.NewSubscriptionPackageWithAllocationPrice
10103
10544
  | SubscriptionsAPI.NewSubscriptionUnitWithPercentPrice
@@ -10124,31 +10565,186 @@ export namespace SubscriptionSchedulePlanChangeParams {
10124
10565
  | AddPrice.NewSubscriptionEventOutputPrice
10125
10566
  | null;
10126
10567
 
10127
- /**
10128
- * The id of the price to add to the subscription.
10129
- */
10130
- price_id?: string | null;
10568
+ /**
10569
+ * The id of the price to add to the subscription.
10570
+ */
10571
+ price_id?: string | null;
10572
+
10573
+ /**
10574
+ * The start date of the price interval. This is the date that the price will start
10575
+ * billing on the subscription. If null, billing will start when the phase or
10576
+ * subscription starts.
10577
+ */
10578
+ start_date?: string | null;
10579
+ }
10580
+
10581
+ export namespace AddPrice {
10582
+ export interface NewSubscriptionBulkWithFiltersPrice {
10583
+ /**
10584
+ * Configuration for bulk_with_filters pricing
10585
+ */
10586
+ bulk_with_filters_config: NewSubscriptionBulkWithFiltersPrice.BulkWithFiltersConfig;
10587
+
10588
+ /**
10589
+ * The cadence to bill for this price on.
10590
+ */
10591
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
10592
+
10593
+ /**
10594
+ * The id of the item the price will be associated with.
10595
+ */
10596
+ item_id: string;
10597
+
10598
+ /**
10599
+ * The pricing model type
10600
+ */
10601
+ model_type: 'bulk_with_filters';
10602
+
10603
+ /**
10604
+ * The name of the price.
10605
+ */
10606
+ name: string;
10607
+
10608
+ /**
10609
+ * The id of the billable metric for the price. Only needed if the price is
10610
+ * usage-based.
10611
+ */
10612
+ billable_metric_id?: string | null;
10613
+
10614
+ /**
10615
+ * If the Price represents a fixed cost, the price will be billed in-advance if
10616
+ * this is true, and in-arrears if this is false.
10617
+ */
10618
+ billed_in_advance?: boolean | null;
10619
+
10620
+ /**
10621
+ * For custom cadence: specifies the duration of the billing period in days or
10622
+ * months.
10623
+ */
10624
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
10625
+
10626
+ /**
10627
+ * The per unit conversion rate of the price currency to the invoicing currency.
10628
+ */
10629
+ conversion_rate?: number | null;
10630
+
10631
+ /**
10632
+ * The configuration for the rate of the price currency to the invoicing currency.
10633
+ */
10634
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
10635
+
10636
+ /**
10637
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
10638
+ * price is billed.
10639
+ */
10640
+ currency?: string | null;
10641
+
10642
+ /**
10643
+ * For dimensional price: specifies a price group and dimension values
10644
+ */
10645
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
10646
+
10647
+ /**
10648
+ * An alias for the price.
10649
+ */
10650
+ external_price_id?: string | null;
10651
+
10652
+ /**
10653
+ * If the Price represents a fixed cost, this represents the quantity of units
10654
+ * applied.
10655
+ */
10656
+ fixed_price_quantity?: number | null;
10657
+
10658
+ /**
10659
+ * The property used to group this price on an invoice
10660
+ */
10661
+ invoice_grouping_key?: string | null;
10131
10662
 
10132
- /**
10133
- * The start date of the price interval. This is the date that the price will start
10134
- * billing on the subscription. If null, billing will start when the phase or
10135
- * subscription starts.
10136
- */
10137
- start_date?: string | null;
10138
- }
10663
+ /**
10664
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
10665
+ * If unspecified, a single invoice is produced per billing cycle.
10666
+ */
10667
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
10139
10668
 
10140
- export namespace AddPrice {
10141
- export interface NewSubscriptionBulkWithFiltersPrice {
10669
+ /**
10670
+ * The ID of the license type to associate with this price.
10671
+ */
10672
+ license_type_id?: string | null;
10673
+
10674
+ /**
10675
+ * User-specified key/value pairs for the resource. Individual keys can be removed
10676
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
10677
+ * by setting `metadata` to `null`.
10678
+ */
10679
+ metadata?: { [key: string]: string | null } | null;
10680
+
10681
+ /**
10682
+ * A transient ID that can be used to reference this price when adding adjustments
10683
+ * in the same API call.
10684
+ */
10685
+ reference_id?: string | null;
10686
+ }
10687
+
10688
+ export namespace NewSubscriptionBulkWithFiltersPrice {
10142
10689
  /**
10143
10690
  * Configuration for bulk_with_filters pricing
10144
10691
  */
10145
- bulk_with_filters_config: NewSubscriptionBulkWithFiltersPrice.BulkWithFiltersConfig;
10692
+ export interface BulkWithFiltersConfig {
10693
+ /**
10694
+ * Property filters to apply (all must match)
10695
+ */
10696
+ filters: Array<BulkWithFiltersConfig.Filter>;
10697
+
10698
+ /**
10699
+ * Bulk tiers for rating based on total usage volume
10700
+ */
10701
+ tiers: Array<BulkWithFiltersConfig.Tier>;
10702
+ }
10703
+
10704
+ export namespace BulkWithFiltersConfig {
10705
+ /**
10706
+ * Configuration for a single property filter
10707
+ */
10708
+ export interface Filter {
10709
+ /**
10710
+ * Event property key to filter on
10711
+ */
10712
+ property_key: string;
10713
+
10714
+ /**
10715
+ * Event property value to match
10716
+ */
10717
+ property_value: string;
10718
+ }
10719
+
10720
+ /**
10721
+ * Configuration for a single bulk pricing tier
10722
+ */
10723
+ export interface Tier {
10724
+ /**
10725
+ * Amount per unit
10726
+ */
10727
+ unit_amount: string;
10728
+
10729
+ /**
10730
+ * The lower bound for this tier
10731
+ */
10732
+ tier_lower_bound?: string | null;
10733
+ }
10734
+ }
10735
+ }
10146
10736
 
10737
+ export interface NewSubscriptionGroupedTieredMatrixPrice {
10147
10738
  /**
10148
10739
  * The cadence to bill for this price on.
10149
10740
  */
10150
10741
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
10151
10742
 
10743
+ /**
10744
+ * Configuration for grouped_tiered_matrix pricing
10745
+ */
10746
+ grouped_tiered_matrix_config: NewSubscriptionGroupedTieredMatrixPrice.GroupedTieredMatrixConfig;
10747
+
10152
10748
  /**
10153
10749
  * The id of the item the price will be associated with.
10154
10750
  */
@@ -10157,7 +10753,7 @@ export namespace SubscriptionSchedulePlanChangeParams {
10157
10753
  /**
10158
10754
  * The pricing model type
10159
10755
  */
10160
- model_type: 'bulk_with_filters';
10756
+ model_type: 'grouped_tiered_matrix';
10161
10757
 
10162
10758
  /**
10163
10759
  * The name of the price.
@@ -10244,51 +10840,44 @@ export namespace SubscriptionSchedulePlanChangeParams {
10244
10840
  reference_id?: string | null;
10245
10841
  }
10246
10842
 
10247
- export namespace NewSubscriptionBulkWithFiltersPrice {
10843
+ export namespace NewSubscriptionGroupedTieredMatrixPrice {
10248
10844
  /**
10249
- * Configuration for bulk_with_filters pricing
10845
+ * Configuration for grouped_tiered_matrix pricing
10250
10846
  */
10251
- export interface BulkWithFiltersConfig {
10847
+ export interface GroupedTieredMatrixConfig {
10252
10848
  /**
10253
- * Property filters to apply (all must match)
10849
+ * Per unit rate for usage whose dimension value has no configured tiers
10254
10850
  */
10255
- filters: Array<BulkWithFiltersConfig.Filter>;
10851
+ default_unit_amount: string;
10256
10852
 
10257
10853
  /**
10258
- * Bulk tiers for rating based on total usage volume
10854
+ * The billable metric property used to group usage before tiering
10259
10855
  */
10260
- tiers: Array<BulkWithFiltersConfig.Tier>;
10261
- }
10856
+ dimension: string;
10262
10857
 
10263
- export namespace BulkWithFiltersConfig {
10264
10858
  /**
10265
- * Configuration for a single property filter
10859
+ * Graduated tiers keyed by dimension value; usage for a value is tiered only
10860
+ * against its own rows
10266
10861
  */
10267
- export interface Filter {
10268
- /**
10269
- * Event property key to filter on
10270
- */
10271
- property_key: string;
10272
-
10273
- /**
10274
- * Event property value to match
10275
- */
10276
- property_value: string;
10277
- }
10862
+ tiers: Array<GroupedTieredMatrixConfig.Tier>;
10863
+ }
10278
10864
 
10865
+ export namespace GroupedTieredMatrixConfig {
10279
10866
  /**
10280
- * Configuration for a single bulk pricing tier
10867
+ * Configuration for a single tier scoped to a dimension value
10281
10868
  */
10282
10869
  export interface Tier {
10283
10870
  /**
10284
- * Amount per unit
10871
+ * The dimension value this tier applies to
10285
10872
  */
10286
- unit_amount: string;
10873
+ dimension_value: string;
10874
+
10875
+ tier_lower_bound: string;
10287
10876
 
10288
10877
  /**
10289
- * The lower bound for this tier
10878
+ * Per unit amount
10290
10879
  */
10291
- tier_lower_bound?: string | null;
10880
+ unit_amount: string;
10292
10881
  }
10293
10882
  }
10294
10883
  }
@@ -11614,6 +12203,7 @@ export namespace SubscriptionSchedulePlanChangeParams {
11614
12203
  | SubscriptionsAPI.NewSubscriptionTieredPackagePrice
11615
12204
  | SubscriptionsAPI.NewSubscriptionTieredWithMinimumPrice
11616
12205
  | SubscriptionsAPI.NewSubscriptionGroupedTieredPrice
12206
+ | ReplacePrice.NewSubscriptionGroupedTieredMatrixPrice
11617
12207
  | SubscriptionsAPI.NewSubscriptionTieredPackageWithMinimumPrice
11618
12208
  | SubscriptionsAPI.NewSubscriptionPackageWithAllocationPrice
11619
12209
  | SubscriptionsAPI.NewSubscriptionUnitWithPercentPrice
@@ -11802,6 +12392,154 @@ export namespace SubscriptionSchedulePlanChangeParams {
11802
12392
  }
11803
12393
  }
11804
12394
 
12395
+ export interface NewSubscriptionGroupedTieredMatrixPrice {
12396
+ /**
12397
+ * The cadence to bill for this price on.
12398
+ */
12399
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
12400
+
12401
+ /**
12402
+ * Configuration for grouped_tiered_matrix pricing
12403
+ */
12404
+ grouped_tiered_matrix_config: NewSubscriptionGroupedTieredMatrixPrice.GroupedTieredMatrixConfig;
12405
+
12406
+ /**
12407
+ * The id of the item the price will be associated with.
12408
+ */
12409
+ item_id: string;
12410
+
12411
+ /**
12412
+ * The pricing model type
12413
+ */
12414
+ model_type: 'grouped_tiered_matrix';
12415
+
12416
+ /**
12417
+ * The name of the price.
12418
+ */
12419
+ name: string;
12420
+
12421
+ /**
12422
+ * The id of the billable metric for the price. Only needed if the price is
12423
+ * usage-based.
12424
+ */
12425
+ billable_metric_id?: string | null;
12426
+
12427
+ /**
12428
+ * If the Price represents a fixed cost, the price will be billed in-advance if
12429
+ * this is true, and in-arrears if this is false.
12430
+ */
12431
+ billed_in_advance?: boolean | null;
12432
+
12433
+ /**
12434
+ * For custom cadence: specifies the duration of the billing period in days or
12435
+ * months.
12436
+ */
12437
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
12438
+
12439
+ /**
12440
+ * The per unit conversion rate of the price currency to the invoicing currency.
12441
+ */
12442
+ conversion_rate?: number | null;
12443
+
12444
+ /**
12445
+ * The configuration for the rate of the price currency to the invoicing currency.
12446
+ */
12447
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
12448
+
12449
+ /**
12450
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
12451
+ * price is billed.
12452
+ */
12453
+ currency?: string | null;
12454
+
12455
+ /**
12456
+ * For dimensional price: specifies a price group and dimension values
12457
+ */
12458
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
12459
+
12460
+ /**
12461
+ * An alias for the price.
12462
+ */
12463
+ external_price_id?: string | null;
12464
+
12465
+ /**
12466
+ * If the Price represents a fixed cost, this represents the quantity of units
12467
+ * applied.
12468
+ */
12469
+ fixed_price_quantity?: number | null;
12470
+
12471
+ /**
12472
+ * The property used to group this price on an invoice
12473
+ */
12474
+ invoice_grouping_key?: string | null;
12475
+
12476
+ /**
12477
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
12478
+ * If unspecified, a single invoice is produced per billing cycle.
12479
+ */
12480
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
12481
+
12482
+ /**
12483
+ * The ID of the license type to associate with this price.
12484
+ */
12485
+ license_type_id?: string | null;
12486
+
12487
+ /**
12488
+ * User-specified key/value pairs for the resource. Individual keys can be removed
12489
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
12490
+ * by setting `metadata` to `null`.
12491
+ */
12492
+ metadata?: { [key: string]: string | null } | null;
12493
+
12494
+ /**
12495
+ * A transient ID that can be used to reference this price when adding adjustments
12496
+ * in the same API call.
12497
+ */
12498
+ reference_id?: string | null;
12499
+ }
12500
+
12501
+ export namespace NewSubscriptionGroupedTieredMatrixPrice {
12502
+ /**
12503
+ * Configuration for grouped_tiered_matrix pricing
12504
+ */
12505
+ export interface GroupedTieredMatrixConfig {
12506
+ /**
12507
+ * Per unit rate for usage whose dimension value has no configured tiers
12508
+ */
12509
+ default_unit_amount: string;
12510
+
12511
+ /**
12512
+ * The billable metric property used to group usage before tiering
12513
+ */
12514
+ dimension: string;
12515
+
12516
+ /**
12517
+ * Graduated tiers keyed by dimension value; usage for a value is tiered only
12518
+ * against its own rows
12519
+ */
12520
+ tiers: Array<GroupedTieredMatrixConfig.Tier>;
12521
+ }
12522
+
12523
+ export namespace GroupedTieredMatrixConfig {
12524
+ /**
12525
+ * Configuration for a single tier scoped to a dimension value
12526
+ */
12527
+ export interface Tier {
12528
+ /**
12529
+ * The dimension value this tier applies to
12530
+ */
12531
+ dimension_value: string;
12532
+
12533
+ tier_lower_bound: string;
12534
+
12535
+ /**
12536
+ * Per unit amount
12537
+ */
12538
+ unit_amount: string;
12539
+ }
12540
+ }
12541
+ }
12542
+
11805
12543
  export interface NewSubscriptionMatrixWithThresholdDiscountsPrice {
11806
12544
  /**
11807
12545
  * The cadence to bill for this price on.