orb-billing 5.17.0 → 5.19.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 +16 -0
  2. package/package.json +1 -1
  3. package/resources/beta/beta.d.ts +258 -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 +258 -2
  8. package/resources/beta/external-plan-id.d.ts.map +1 -1
  9. package/resources/customers/credits/ledger.d.ts +10 -0
  10. package/resources/customers/credits/ledger.d.ts.map +1 -1
  11. package/resources/customers/credits/ledger.js.map +1 -1
  12. package/resources/customers/credits/ledger.mjs.map +1 -1
  13. package/resources/plans/plans.d.ts +129 -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 +369 -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 +111 -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 +659 -25
  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 +302 -0
  30. package/src/resources/beta/external-plan-id.ts +302 -0
  31. package/src/resources/customers/credits/ledger.ts +12 -0
  32. package/src/resources/plans/plans.ts +151 -0
  33. package/src/resources/prices/prices.ts +432 -0
  34. package/src/resources/shared.ts +143 -0
  35. package/src/resources/subscriptions.ts +804 -56
  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
@@ -4845,6 +4845,7 @@ export namespace SubscriptionCreateParams {
4845
4845
  | SubscriptionsAPI.NewSubscriptionUnitPrice
4846
4846
  | SubscriptionsAPI.NewSubscriptionTieredPrice
4847
4847
  | SubscriptionsAPI.NewSubscriptionBulkPrice
4848
+ | AddPrice.NewSubscriptionBulkWithFiltersPrice
4848
4849
  | SubscriptionsAPI.NewSubscriptionPackagePrice
4849
4850
  | SubscriptionsAPI.NewSubscriptionMatrixPrice
4850
4851
  | SubscriptionsAPI.NewSubscriptionThresholdTotalAmountPrice
@@ -4887,6 +4888,156 @@ export namespace SubscriptionCreateParams {
4887
4888
  }
4888
4889
 
4889
4890
  export namespace AddPrice {
4891
+ export interface NewSubscriptionBulkWithFiltersPrice {
4892
+ /**
4893
+ * Configuration for bulk_with_filters pricing
4894
+ */
4895
+ bulk_with_filters_config: NewSubscriptionBulkWithFiltersPrice.BulkWithFiltersConfig;
4896
+
4897
+ /**
4898
+ * The cadence to bill for this price on.
4899
+ */
4900
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4901
+
4902
+ /**
4903
+ * The id of the item the price will be associated with.
4904
+ */
4905
+ item_id: string;
4906
+
4907
+ /**
4908
+ * The pricing model type
4909
+ */
4910
+ model_type: 'bulk_with_filters';
4911
+
4912
+ /**
4913
+ * The name of the price.
4914
+ */
4915
+ name: string;
4916
+
4917
+ /**
4918
+ * The id of the billable metric for the price. Only needed if the price is
4919
+ * usage-based.
4920
+ */
4921
+ billable_metric_id?: string | null;
4922
+
4923
+ /**
4924
+ * If the Price represents a fixed cost, the price will be billed in-advance if
4925
+ * this is true, and in-arrears if this is false.
4926
+ */
4927
+ billed_in_advance?: boolean | null;
4928
+
4929
+ /**
4930
+ * For custom cadence: specifies the duration of the billing period in days or
4931
+ * months.
4932
+ */
4933
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4934
+
4935
+ /**
4936
+ * The per unit conversion rate of the price currency to the invoicing currency.
4937
+ */
4938
+ conversion_rate?: number | null;
4939
+
4940
+ /**
4941
+ * The configuration for the rate of the price currency to the invoicing currency.
4942
+ */
4943
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
4944
+
4945
+ /**
4946
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4947
+ * price is billed.
4948
+ */
4949
+ currency?: string | null;
4950
+
4951
+ /**
4952
+ * For dimensional price: specifies a price group and dimension values
4953
+ */
4954
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
4955
+
4956
+ /**
4957
+ * An alias for the price.
4958
+ */
4959
+ external_price_id?: string | null;
4960
+
4961
+ /**
4962
+ * If the Price represents a fixed cost, this represents the quantity of units
4963
+ * applied.
4964
+ */
4965
+ fixed_price_quantity?: number | null;
4966
+
4967
+ /**
4968
+ * The property used to group this price on an invoice
4969
+ */
4970
+ invoice_grouping_key?: string | null;
4971
+
4972
+ /**
4973
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
4974
+ * If unspecified, a single invoice is produced per billing cycle.
4975
+ */
4976
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4977
+
4978
+ /**
4979
+ * User-specified key/value pairs for the resource. Individual keys can be removed
4980
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
4981
+ * by setting `metadata` to `null`.
4982
+ */
4983
+ metadata?: { [key: string]: string | null } | null;
4984
+
4985
+ /**
4986
+ * A transient ID that can be used to reference this price when adding adjustments
4987
+ * in the same API call.
4988
+ */
4989
+ reference_id?: string | null;
4990
+ }
4991
+
4992
+ export namespace NewSubscriptionBulkWithFiltersPrice {
4993
+ /**
4994
+ * Configuration for bulk_with_filters pricing
4995
+ */
4996
+ export interface BulkWithFiltersConfig {
4997
+ /**
4998
+ * Property filters to apply (all must match)
4999
+ */
5000
+ filters: Array<BulkWithFiltersConfig.Filter>;
5001
+
5002
+ /**
5003
+ * Bulk tiers for rating based on total usage volume
5004
+ */
5005
+ tiers: Array<BulkWithFiltersConfig.Tier>;
5006
+ }
5007
+
5008
+ export namespace BulkWithFiltersConfig {
5009
+ /**
5010
+ * Configuration for a single property filter
5011
+ */
5012
+ export interface Filter {
5013
+ /**
5014
+ * Event property key to filter on
5015
+ */
5016
+ property_key: string;
5017
+
5018
+ /**
5019
+ * Event property value to match
5020
+ */
5021
+ property_value: string;
5022
+ }
5023
+
5024
+ /**
5025
+ * Configuration for a single bulk pricing tier
5026
+ */
5027
+ export interface Tier {
5028
+ /**
5029
+ * Amount per unit
5030
+ */
5031
+ unit_amount: string;
5032
+
5033
+ /**
5034
+ * The lower bound for this tier
5035
+ */
5036
+ tier_lower_bound?: string | null;
5037
+ }
5038
+ }
5039
+ }
5040
+
4890
5041
  export interface NewSubscriptionTieredWithProrationPrice {
4891
5042
  /**
4892
5043
  * The cadence to bill for this price on.
@@ -5461,6 +5612,7 @@ export namespace SubscriptionCreateParams {
5461
5612
  | SubscriptionsAPI.NewSubscriptionUnitPrice
5462
5613
  | SubscriptionsAPI.NewSubscriptionTieredPrice
5463
5614
  | SubscriptionsAPI.NewSubscriptionBulkPrice
5615
+ | ReplacePrice.NewSubscriptionBulkWithFiltersPrice
5464
5616
  | SubscriptionsAPI.NewSubscriptionPackagePrice
5465
5617
  | SubscriptionsAPI.NewSubscriptionMatrixPrice
5466
5618
  | SubscriptionsAPI.NewSubscriptionThresholdTotalAmountPrice
@@ -5496,7 +5648,12 @@ export namespace SubscriptionCreateParams {
5496
5648
  }
5497
5649
 
5498
5650
  export namespace ReplacePrice {
5499
- export interface NewSubscriptionTieredWithProrationPrice {
5651
+ export interface NewSubscriptionBulkWithFiltersPrice {
5652
+ /**
5653
+ * Configuration for bulk_with_filters pricing
5654
+ */
5655
+ bulk_with_filters_config: NewSubscriptionBulkWithFiltersPrice.BulkWithFiltersConfig;
5656
+
5500
5657
  /**
5501
5658
  * The cadence to bill for this price on.
5502
5659
  */
@@ -5510,18 +5667,13 @@ export namespace SubscriptionCreateParams {
5510
5667
  /**
5511
5668
  * The pricing model type
5512
5669
  */
5513
- model_type: 'tiered_with_proration';
5670
+ model_type: 'bulk_with_filters';
5514
5671
 
5515
5672
  /**
5516
5673
  * The name of the price.
5517
5674
  */
5518
5675
  name: string;
5519
5676
 
5520
- /**
5521
- * Configuration for tiered_with_proration pricing
5522
- */
5523
- tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
5524
-
5525
5677
  /**
5526
5678
  * The id of the billable metric for the price. Only needed if the price is
5527
5679
  * usage-based.
@@ -5597,47 +5749,61 @@ export namespace SubscriptionCreateParams {
5597
5749
  reference_id?: string | null;
5598
5750
  }
5599
5751
 
5600
- export namespace NewSubscriptionTieredWithProrationPrice {
5752
+ export namespace NewSubscriptionBulkWithFiltersPrice {
5601
5753
  /**
5602
- * Configuration for tiered_with_proration pricing
5754
+ * Configuration for bulk_with_filters pricing
5603
5755
  */
5604
- export interface TieredWithProrationConfig {
5756
+ export interface BulkWithFiltersConfig {
5605
5757
  /**
5606
- * Tiers for rating based on total usage quantities into the specified tier with
5607
- * proration
5758
+ * Property filters to apply (all must match)
5608
5759
  */
5609
- tiers: Array<TieredWithProrationConfig.Tier>;
5760
+ filters: Array<BulkWithFiltersConfig.Filter>;
5761
+
5762
+ /**
5763
+ * Bulk tiers for rating based on total usage volume
5764
+ */
5765
+ tiers: Array<BulkWithFiltersConfig.Tier>;
5610
5766
  }
5611
5767
 
5612
- export namespace TieredWithProrationConfig {
5768
+ export namespace BulkWithFiltersConfig {
5613
5769
  /**
5614
- * Configuration for a single tiered with proration tier
5770
+ * Configuration for a single property filter
5615
5771
  */
5616
- export interface Tier {
5772
+ export interface Filter {
5617
5773
  /**
5618
- * Inclusive tier starting value
5774
+ * Event property key to filter on
5619
5775
  */
5620
- tier_lower_bound: string;
5776
+ property_key: string;
5777
+
5778
+ /**
5779
+ * Event property value to match
5780
+ */
5781
+ property_value: string;
5782
+ }
5621
5783
 
5784
+ /**
5785
+ * Configuration for a single bulk pricing tier
5786
+ */
5787
+ export interface Tier {
5622
5788
  /**
5623
5789
  * Amount per unit
5624
5790
  */
5625
5791
  unit_amount: string;
5792
+
5793
+ /**
5794
+ * The lower bound for this tier
5795
+ */
5796
+ tier_lower_bound?: string | null;
5626
5797
  }
5627
5798
  }
5628
5799
  }
5629
5800
 
5630
- export interface NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5801
+ export interface NewSubscriptionTieredWithProrationPrice {
5631
5802
  /**
5632
5803
  * The cadence to bill for this price on.
5633
5804
  */
5634
5805
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5635
5806
 
5636
- /**
5637
- * Configuration for grouped_with_min_max_thresholds pricing
5638
- */
5639
- grouped_with_min_max_thresholds_config: NewSubscriptionGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
5640
-
5641
5807
  /**
5642
5808
  * The id of the item the price will be associated with.
5643
5809
  */
@@ -5646,13 +5812,18 @@ export namespace SubscriptionCreateParams {
5646
5812
  /**
5647
5813
  * The pricing model type
5648
5814
  */
5649
- model_type: 'grouped_with_min_max_thresholds';
5815
+ model_type: 'tiered_with_proration';
5650
5816
 
5651
5817
  /**
5652
5818
  * The name of the price.
5653
5819
  */
5654
5820
  name: string;
5655
5821
 
5822
+ /**
5823
+ * Configuration for tiered_with_proration pricing
5824
+ */
5825
+ tiered_with_proration_config: NewSubscriptionTieredWithProrationPrice.TieredWithProrationConfig;
5826
+
5656
5827
  /**
5657
5828
  * The id of the billable metric for the price. Only needed if the price is
5658
5829
  * usage-based.
@@ -5728,39 +5899,47 @@ export namespace SubscriptionCreateParams {
5728
5899
  reference_id?: string | null;
5729
5900
  }
5730
5901
 
5731
- export namespace NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5902
+ export namespace NewSubscriptionTieredWithProrationPrice {
5732
5903
  /**
5733
- * Configuration for grouped_with_min_max_thresholds pricing
5904
+ * Configuration for tiered_with_proration pricing
5734
5905
  */
5735
- export interface GroupedWithMinMaxThresholdsConfig {
5736
- /**
5737
- * The event property used to group before applying thresholds
5738
- */
5739
- grouping_key: string;
5740
-
5906
+ export interface TieredWithProrationConfig {
5741
5907
  /**
5742
- * The maximum amount to charge each group
5908
+ * Tiers for rating based on total usage quantities into the specified tier with
5909
+ * proration
5743
5910
  */
5744
- maximum_charge: string;
5911
+ tiers: Array<TieredWithProrationConfig.Tier>;
5912
+ }
5745
5913
 
5914
+ export namespace TieredWithProrationConfig {
5746
5915
  /**
5747
- * The minimum amount to charge each group, regardless of usage
5916
+ * Configuration for a single tiered with proration tier
5748
5917
  */
5749
- minimum_charge: string;
5918
+ export interface Tier {
5919
+ /**
5920
+ * Inclusive tier starting value
5921
+ */
5922
+ tier_lower_bound: string;
5750
5923
 
5751
- /**
5752
- * The base price charged per group
5753
- */
5754
- per_unit_rate: string;
5924
+ /**
5925
+ * Amount per unit
5926
+ */
5927
+ unit_amount: string;
5928
+ }
5755
5929
  }
5756
5930
  }
5757
5931
 
5758
- export interface NewSubscriptionPercentCompositePrice {
5932
+ export interface NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5759
5933
  /**
5760
5934
  * The cadence to bill for this price on.
5761
5935
  */
5762
5936
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5763
5937
 
5938
+ /**
5939
+ * Configuration for grouped_with_min_max_thresholds pricing
5940
+ */
5941
+ grouped_with_min_max_thresholds_config: NewSubscriptionGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
5942
+
5764
5943
  /**
5765
5944
  * The id of the item the price will be associated with.
5766
5945
  */
@@ -5769,18 +5948,13 @@ export namespace SubscriptionCreateParams {
5769
5948
  /**
5770
5949
  * The pricing model type
5771
5950
  */
5772
- model_type: 'percent';
5951
+ model_type: 'grouped_with_min_max_thresholds';
5773
5952
 
5774
5953
  /**
5775
5954
  * The name of the price.
5776
5955
  */
5777
5956
  name: string;
5778
5957
 
5779
- /**
5780
- * Configuration for percent pricing
5781
- */
5782
- percent_config: NewSubscriptionPercentCompositePrice.PercentConfig;
5783
-
5784
5958
  /**
5785
5959
  * The id of the billable metric for the price. Only needed if the price is
5786
5960
  * usage-based.
@@ -5856,28 +6030,156 @@ export namespace SubscriptionCreateParams {
5856
6030
  reference_id?: string | null;
5857
6031
  }
5858
6032
 
5859
- export namespace NewSubscriptionPercentCompositePrice {
6033
+ export namespace NewSubscriptionGroupedWithMinMaxThresholdsPrice {
5860
6034
  /**
5861
- * Configuration for percent pricing
6035
+ * Configuration for grouped_with_min_max_thresholds pricing
5862
6036
  */
5863
- export interface PercentConfig {
6037
+ export interface GroupedWithMinMaxThresholdsConfig {
5864
6038
  /**
5865
- * What percent of the component subtotals to charge
6039
+ * The event property used to group before applying thresholds
5866
6040
  */
5867
- percent: number;
6041
+ grouping_key: string;
6042
+
6043
+ /**
6044
+ * The maximum amount to charge each group
6045
+ */
6046
+ maximum_charge: string;
6047
+
6048
+ /**
6049
+ * The minimum amount to charge each group, regardless of usage
6050
+ */
6051
+ minimum_charge: string;
6052
+
6053
+ /**
6054
+ * The base price charged per group
6055
+ */
6056
+ per_unit_rate: string;
5868
6057
  }
5869
6058
  }
5870
6059
 
5871
- export interface NewSubscriptionEventOutputPrice {
6060
+ export interface NewSubscriptionPercentCompositePrice {
5872
6061
  /**
5873
6062
  * The cadence to bill for this price on.
5874
6063
  */
5875
6064
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5876
6065
 
5877
6066
  /**
5878
- * Configuration for event_output pricing
6067
+ * The id of the item the price will be associated with.
5879
6068
  */
5880
- event_output_config: NewSubscriptionEventOutputPrice.EventOutputConfig;
6069
+ item_id: string;
6070
+
6071
+ /**
6072
+ * The pricing model type
6073
+ */
6074
+ model_type: 'percent';
6075
+
6076
+ /**
6077
+ * The name of the price.
6078
+ */
6079
+ name: string;
6080
+
6081
+ /**
6082
+ * Configuration for percent pricing
6083
+ */
6084
+ percent_config: NewSubscriptionPercentCompositePrice.PercentConfig;
6085
+
6086
+ /**
6087
+ * The id of the billable metric for the price. Only needed if the price is
6088
+ * usage-based.
6089
+ */
6090
+ billable_metric_id?: string | null;
6091
+
6092
+ /**
6093
+ * If the Price represents a fixed cost, the price will be billed in-advance if
6094
+ * this is true, and in-arrears if this is false.
6095
+ */
6096
+ billed_in_advance?: boolean | null;
6097
+
6098
+ /**
6099
+ * For custom cadence: specifies the duration of the billing period in days or
6100
+ * months.
6101
+ */
6102
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6103
+
6104
+ /**
6105
+ * The per unit conversion rate of the price currency to the invoicing currency.
6106
+ */
6107
+ conversion_rate?: number | null;
6108
+
6109
+ /**
6110
+ * The configuration for the rate of the price currency to the invoicing currency.
6111
+ */
6112
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
6113
+
6114
+ /**
6115
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
6116
+ * price is billed.
6117
+ */
6118
+ currency?: string | null;
6119
+
6120
+ /**
6121
+ * For dimensional price: specifies a price group and dimension values
6122
+ */
6123
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
6124
+
6125
+ /**
6126
+ * An alias for the price.
6127
+ */
6128
+ external_price_id?: string | null;
6129
+
6130
+ /**
6131
+ * If the Price represents a fixed cost, this represents the quantity of units
6132
+ * applied.
6133
+ */
6134
+ fixed_price_quantity?: number | null;
6135
+
6136
+ /**
6137
+ * The property used to group this price on an invoice
6138
+ */
6139
+ invoice_grouping_key?: string | null;
6140
+
6141
+ /**
6142
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
6143
+ * If unspecified, a single invoice is produced per billing cycle.
6144
+ */
6145
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6146
+
6147
+ /**
6148
+ * User-specified key/value pairs for the resource. Individual keys can be removed
6149
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
6150
+ * by setting `metadata` to `null`.
6151
+ */
6152
+ metadata?: { [key: string]: string | null } | null;
6153
+
6154
+ /**
6155
+ * A transient ID that can be used to reference this price when adding adjustments
6156
+ * in the same API call.
6157
+ */
6158
+ reference_id?: string | null;
6159
+ }
6160
+
6161
+ export namespace NewSubscriptionPercentCompositePrice {
6162
+ /**
6163
+ * Configuration for percent pricing
6164
+ */
6165
+ export interface PercentConfig {
6166
+ /**
6167
+ * What percent of the component subtotals to charge
6168
+ */
6169
+ percent: number;
6170
+ }
6171
+ }
6172
+
6173
+ export interface NewSubscriptionEventOutputPrice {
6174
+ /**
6175
+ * The cadence to bill for this price on.
6176
+ */
6177
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
6178
+
6179
+ /**
6180
+ * Configuration for event_output pricing
6181
+ */
6182
+ event_output_config: NewSubscriptionEventOutputPrice.EventOutputConfig;
5881
6183
 
5882
6184
  /**
5883
6185
  * The id of the item the price will be associated with.
@@ -6240,6 +6542,7 @@ export namespace SubscriptionPriceIntervalsParams {
6240
6542
  | Shared.NewFloatingUnitPrice
6241
6543
  | Shared.NewFloatingTieredPrice
6242
6544
  | Shared.NewFloatingBulkPrice
6545
+ | Add.NewFloatingBulkWithFiltersPrice
6243
6546
  | Shared.NewFloatingPackagePrice
6244
6547
  | Shared.NewFloatingMatrixPrice
6245
6548
  | Shared.NewFloatingThresholdTotalAmountPrice
@@ -6326,6 +6629,149 @@ export namespace SubscriptionPriceIntervalsParams {
6326
6629
  quantity: number;
6327
6630
  }
6328
6631
 
6632
+ export interface NewFloatingBulkWithFiltersPrice {
6633
+ /**
6634
+ * Configuration for bulk_with_filters pricing
6635
+ */
6636
+ bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
6637
+
6638
+ /**
6639
+ * The cadence to bill for this price on.
6640
+ */
6641
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
6642
+
6643
+ /**
6644
+ * An ISO 4217 currency string for which this price is billed in.
6645
+ */
6646
+ currency: string;
6647
+
6648
+ /**
6649
+ * The id of the item the price will be associated with.
6650
+ */
6651
+ item_id: string;
6652
+
6653
+ /**
6654
+ * The pricing model type
6655
+ */
6656
+ model_type: 'bulk_with_filters';
6657
+
6658
+ /**
6659
+ * The name of the price.
6660
+ */
6661
+ name: string;
6662
+
6663
+ /**
6664
+ * The id of the billable metric for the price. Only needed if the price is
6665
+ * usage-based.
6666
+ */
6667
+ billable_metric_id?: string | null;
6668
+
6669
+ /**
6670
+ * If the Price represents a fixed cost, the price will be billed in-advance if
6671
+ * this is true, and in-arrears if this is false.
6672
+ */
6673
+ billed_in_advance?: boolean | null;
6674
+
6675
+ /**
6676
+ * For custom cadence: specifies the duration of the billing period in days or
6677
+ * months.
6678
+ */
6679
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6680
+
6681
+ /**
6682
+ * The per unit conversion rate of the price currency to the invoicing currency.
6683
+ */
6684
+ conversion_rate?: number | null;
6685
+
6686
+ /**
6687
+ * The configuration for the rate of the price currency to the invoicing currency.
6688
+ */
6689
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
6690
+
6691
+ /**
6692
+ * For dimensional price: specifies a price group and dimension values
6693
+ */
6694
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
6695
+
6696
+ /**
6697
+ * An alias for the price.
6698
+ */
6699
+ external_price_id?: string | null;
6700
+
6701
+ /**
6702
+ * If the Price represents a fixed cost, this represents the quantity of units
6703
+ * applied.
6704
+ */
6705
+ fixed_price_quantity?: number | null;
6706
+
6707
+ /**
6708
+ * The property used to group this price on an invoice
6709
+ */
6710
+ invoice_grouping_key?: string | null;
6711
+
6712
+ /**
6713
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
6714
+ * If unspecified, a single invoice is produced per billing cycle.
6715
+ */
6716
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
6717
+
6718
+ /**
6719
+ * User-specified key/value pairs for the resource. Individual keys can be removed
6720
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
6721
+ * by setting `metadata` to `null`.
6722
+ */
6723
+ metadata?: { [key: string]: string | null } | null;
6724
+ }
6725
+
6726
+ export namespace NewFloatingBulkWithFiltersPrice {
6727
+ /**
6728
+ * Configuration for bulk_with_filters pricing
6729
+ */
6730
+ export interface BulkWithFiltersConfig {
6731
+ /**
6732
+ * Property filters to apply (all must match)
6733
+ */
6734
+ filters: Array<BulkWithFiltersConfig.Filter>;
6735
+
6736
+ /**
6737
+ * Bulk tiers for rating based on total usage volume
6738
+ */
6739
+ tiers: Array<BulkWithFiltersConfig.Tier>;
6740
+ }
6741
+
6742
+ export namespace BulkWithFiltersConfig {
6743
+ /**
6744
+ * Configuration for a single property filter
6745
+ */
6746
+ export interface Filter {
6747
+ /**
6748
+ * Event property key to filter on
6749
+ */
6750
+ property_key: string;
6751
+
6752
+ /**
6753
+ * Event property value to match
6754
+ */
6755
+ property_value: string;
6756
+ }
6757
+
6758
+ /**
6759
+ * Configuration for a single bulk pricing tier
6760
+ */
6761
+ export interface Tier {
6762
+ /**
6763
+ * Amount per unit
6764
+ */
6765
+ unit_amount: string;
6766
+
6767
+ /**
6768
+ * The lower bound for this tier
6769
+ */
6770
+ tier_lower_bound?: string | null;
6771
+ }
6772
+ }
6773
+ }
6774
+
6329
6775
  export interface NewFloatingGroupedWithMinMaxThresholdsPrice {
6330
6776
  /**
6331
6777
  * The cadence to bill for this price on.
@@ -7053,6 +7499,7 @@ export namespace SubscriptionSchedulePlanChangeParams {
7053
7499
  | SubscriptionsAPI.NewSubscriptionUnitPrice
7054
7500
  | SubscriptionsAPI.NewSubscriptionTieredPrice
7055
7501
  | SubscriptionsAPI.NewSubscriptionBulkPrice
7502
+ | AddPrice.NewSubscriptionBulkWithFiltersPrice
7056
7503
  | SubscriptionsAPI.NewSubscriptionPackagePrice
7057
7504
  | SubscriptionsAPI.NewSubscriptionMatrixPrice
7058
7505
  | SubscriptionsAPI.NewSubscriptionThresholdTotalAmountPrice
@@ -7095,6 +7542,156 @@ export namespace SubscriptionSchedulePlanChangeParams {
7095
7542
  }
7096
7543
 
7097
7544
  export namespace AddPrice {
7545
+ export interface NewSubscriptionBulkWithFiltersPrice {
7546
+ /**
7547
+ * Configuration for bulk_with_filters pricing
7548
+ */
7549
+ bulk_with_filters_config: NewSubscriptionBulkWithFiltersPrice.BulkWithFiltersConfig;
7550
+
7551
+ /**
7552
+ * The cadence to bill for this price on.
7553
+ */
7554
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
7555
+
7556
+ /**
7557
+ * The id of the item the price will be associated with.
7558
+ */
7559
+ item_id: string;
7560
+
7561
+ /**
7562
+ * The pricing model type
7563
+ */
7564
+ model_type: 'bulk_with_filters';
7565
+
7566
+ /**
7567
+ * The name of the price.
7568
+ */
7569
+ name: string;
7570
+
7571
+ /**
7572
+ * The id of the billable metric for the price. Only needed if the price is
7573
+ * usage-based.
7574
+ */
7575
+ billable_metric_id?: string | null;
7576
+
7577
+ /**
7578
+ * If the Price represents a fixed cost, the price will be billed in-advance if
7579
+ * this is true, and in-arrears if this is false.
7580
+ */
7581
+ billed_in_advance?: boolean | null;
7582
+
7583
+ /**
7584
+ * For custom cadence: specifies the duration of the billing period in days or
7585
+ * months.
7586
+ */
7587
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7588
+
7589
+ /**
7590
+ * The per unit conversion rate of the price currency to the invoicing currency.
7591
+ */
7592
+ conversion_rate?: number | null;
7593
+
7594
+ /**
7595
+ * The configuration for the rate of the price currency to the invoicing currency.
7596
+ */
7597
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
7598
+
7599
+ /**
7600
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
7601
+ * price is billed.
7602
+ */
7603
+ currency?: string | null;
7604
+
7605
+ /**
7606
+ * For dimensional price: specifies a price group and dimension values
7607
+ */
7608
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
7609
+
7610
+ /**
7611
+ * An alias for the price.
7612
+ */
7613
+ external_price_id?: string | null;
7614
+
7615
+ /**
7616
+ * If the Price represents a fixed cost, this represents the quantity of units
7617
+ * applied.
7618
+ */
7619
+ fixed_price_quantity?: number | null;
7620
+
7621
+ /**
7622
+ * The property used to group this price on an invoice
7623
+ */
7624
+ invoice_grouping_key?: string | null;
7625
+
7626
+ /**
7627
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
7628
+ * If unspecified, a single invoice is produced per billing cycle.
7629
+ */
7630
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7631
+
7632
+ /**
7633
+ * User-specified key/value pairs for the resource. Individual keys can be removed
7634
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
7635
+ * by setting `metadata` to `null`.
7636
+ */
7637
+ metadata?: { [key: string]: string | null } | null;
7638
+
7639
+ /**
7640
+ * A transient ID that can be used to reference this price when adding adjustments
7641
+ * in the same API call.
7642
+ */
7643
+ reference_id?: string | null;
7644
+ }
7645
+
7646
+ export namespace NewSubscriptionBulkWithFiltersPrice {
7647
+ /**
7648
+ * Configuration for bulk_with_filters pricing
7649
+ */
7650
+ export interface BulkWithFiltersConfig {
7651
+ /**
7652
+ * Property filters to apply (all must match)
7653
+ */
7654
+ filters: Array<BulkWithFiltersConfig.Filter>;
7655
+
7656
+ /**
7657
+ * Bulk tiers for rating based on total usage volume
7658
+ */
7659
+ tiers: Array<BulkWithFiltersConfig.Tier>;
7660
+ }
7661
+
7662
+ export namespace BulkWithFiltersConfig {
7663
+ /**
7664
+ * Configuration for a single property filter
7665
+ */
7666
+ export interface Filter {
7667
+ /**
7668
+ * Event property key to filter on
7669
+ */
7670
+ property_key: string;
7671
+
7672
+ /**
7673
+ * Event property value to match
7674
+ */
7675
+ property_value: string;
7676
+ }
7677
+
7678
+ /**
7679
+ * Configuration for a single bulk pricing tier
7680
+ */
7681
+ export interface Tier {
7682
+ /**
7683
+ * Amount per unit
7684
+ */
7685
+ unit_amount: string;
7686
+
7687
+ /**
7688
+ * The lower bound for this tier
7689
+ */
7690
+ tier_lower_bound?: string | null;
7691
+ }
7692
+ }
7693
+ }
7694
+
7098
7695
  export interface NewSubscriptionTieredWithProrationPrice {
7099
7696
  /**
7100
7697
  * The cadence to bill for this price on.
@@ -7669,6 +8266,7 @@ export namespace SubscriptionSchedulePlanChangeParams {
7669
8266
  | SubscriptionsAPI.NewSubscriptionUnitPrice
7670
8267
  | SubscriptionsAPI.NewSubscriptionTieredPrice
7671
8268
  | SubscriptionsAPI.NewSubscriptionBulkPrice
8269
+ | ReplacePrice.NewSubscriptionBulkWithFiltersPrice
7672
8270
  | SubscriptionsAPI.NewSubscriptionPackagePrice
7673
8271
  | SubscriptionsAPI.NewSubscriptionMatrixPrice
7674
8272
  | SubscriptionsAPI.NewSubscriptionThresholdTotalAmountPrice
@@ -7704,6 +8302,156 @@ export namespace SubscriptionSchedulePlanChangeParams {
7704
8302
  }
7705
8303
 
7706
8304
  export namespace ReplacePrice {
8305
+ export interface NewSubscriptionBulkWithFiltersPrice {
8306
+ /**
8307
+ * Configuration for bulk_with_filters pricing
8308
+ */
8309
+ bulk_with_filters_config: NewSubscriptionBulkWithFiltersPrice.BulkWithFiltersConfig;
8310
+
8311
+ /**
8312
+ * The cadence to bill for this price on.
8313
+ */
8314
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
8315
+
8316
+ /**
8317
+ * The id of the item the price will be associated with.
8318
+ */
8319
+ item_id: string;
8320
+
8321
+ /**
8322
+ * The pricing model type
8323
+ */
8324
+ model_type: 'bulk_with_filters';
8325
+
8326
+ /**
8327
+ * The name of the price.
8328
+ */
8329
+ name: string;
8330
+
8331
+ /**
8332
+ * The id of the billable metric for the price. Only needed if the price is
8333
+ * usage-based.
8334
+ */
8335
+ billable_metric_id?: string | null;
8336
+
8337
+ /**
8338
+ * If the Price represents a fixed cost, the price will be billed in-advance if
8339
+ * this is true, and in-arrears if this is false.
8340
+ */
8341
+ billed_in_advance?: boolean | null;
8342
+
8343
+ /**
8344
+ * For custom cadence: specifies the duration of the billing period in days or
8345
+ * months.
8346
+ */
8347
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8348
+
8349
+ /**
8350
+ * The per unit conversion rate of the price currency to the invoicing currency.
8351
+ */
8352
+ conversion_rate?: number | null;
8353
+
8354
+ /**
8355
+ * The configuration for the rate of the price currency to the invoicing currency.
8356
+ */
8357
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
8358
+
8359
+ /**
8360
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
8361
+ * price is billed.
8362
+ */
8363
+ currency?: string | null;
8364
+
8365
+ /**
8366
+ * For dimensional price: specifies a price group and dimension values
8367
+ */
8368
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
8369
+
8370
+ /**
8371
+ * An alias for the price.
8372
+ */
8373
+ external_price_id?: string | null;
8374
+
8375
+ /**
8376
+ * If the Price represents a fixed cost, this represents the quantity of units
8377
+ * applied.
8378
+ */
8379
+ fixed_price_quantity?: number | null;
8380
+
8381
+ /**
8382
+ * The property used to group this price on an invoice
8383
+ */
8384
+ invoice_grouping_key?: string | null;
8385
+
8386
+ /**
8387
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
8388
+ * If unspecified, a single invoice is produced per billing cycle.
8389
+ */
8390
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
8391
+
8392
+ /**
8393
+ * User-specified key/value pairs for the resource. Individual keys can be removed
8394
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
8395
+ * by setting `metadata` to `null`.
8396
+ */
8397
+ metadata?: { [key: string]: string | null } | null;
8398
+
8399
+ /**
8400
+ * A transient ID that can be used to reference this price when adding adjustments
8401
+ * in the same API call.
8402
+ */
8403
+ reference_id?: string | null;
8404
+ }
8405
+
8406
+ export namespace NewSubscriptionBulkWithFiltersPrice {
8407
+ /**
8408
+ * Configuration for bulk_with_filters pricing
8409
+ */
8410
+ export interface BulkWithFiltersConfig {
8411
+ /**
8412
+ * Property filters to apply (all must match)
8413
+ */
8414
+ filters: Array<BulkWithFiltersConfig.Filter>;
8415
+
8416
+ /**
8417
+ * Bulk tiers for rating based on total usage volume
8418
+ */
8419
+ tiers: Array<BulkWithFiltersConfig.Tier>;
8420
+ }
8421
+
8422
+ export namespace BulkWithFiltersConfig {
8423
+ /**
8424
+ * Configuration for a single property filter
8425
+ */
8426
+ export interface Filter {
8427
+ /**
8428
+ * Event property key to filter on
8429
+ */
8430
+ property_key: string;
8431
+
8432
+ /**
8433
+ * Event property value to match
8434
+ */
8435
+ property_value: string;
8436
+ }
8437
+
8438
+ /**
8439
+ * Configuration for a single bulk pricing tier
8440
+ */
8441
+ export interface Tier {
8442
+ /**
8443
+ * Amount per unit
8444
+ */
8445
+ unit_amount: string;
8446
+
8447
+ /**
8448
+ * The lower bound for this tier
8449
+ */
8450
+ tier_lower_bound?: string | null;
8451
+ }
8452
+ }
8453
+ }
8454
+
7707
8455
  export interface NewSubscriptionTieredWithProrationPrice {
7708
8456
  /**
7709
8457
  * The cadence to bill for this price on.