orb-billing 6.15.0 → 6.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 (43) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +1 -1
  3. package/resources/beta/beta.d.mts +276 -2
  4. package/resources/beta/beta.d.mts.map +1 -1
  5. package/resources/beta/beta.d.ts +276 -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 +276 -2
  10. package/resources/beta/external-plan-id.d.mts.map +1 -1
  11. package/resources/beta/external-plan-id.d.ts +276 -2
  12. package/resources/beta/external-plan-id.d.ts.map +1 -1
  13. package/resources/plans/plans.d.mts +138 -1
  14. package/resources/plans/plans.d.mts.map +1 -1
  15. package/resources/plans/plans.d.ts +138 -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 +396 -3
  20. package/resources/prices/prices.d.mts.map +1 -1
  21. package/resources/prices/prices.d.ts +396 -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 +153 -1
  26. package/resources/shared.d.mts.map +1 -1
  27. package/resources/shared.d.ts +153 -1
  28. package/resources/shared.d.ts.map +1 -1
  29. package/resources/subscriptions.d.mts +702 -23
  30. package/resources/subscriptions.d.mts.map +1 -1
  31. package/resources/subscriptions.d.ts +702 -23
  32. package/resources/subscriptions.d.ts.map +1 -1
  33. package/src/resources/beta/beta.ts +324 -0
  34. package/src/resources/beta/external-plan-id.ts +324 -0
  35. package/src/resources/plans/plans.ts +162 -0
  36. package/src/resources/prices/prices.ts +465 -0
  37. package/src/resources/shared.ts +194 -0
  38. package/src/resources/subscriptions.ts +931 -128
  39. package/src/version.ts +1 -1
  40. package/version.d.mts +1 -1
  41. package/version.d.ts +1 -1
  42. package/version.js +1 -1
  43. package/version.mjs +1 -1
@@ -459,6 +459,7 @@ export namespace PlanCreateParams {
459
459
  | Shared.NewPlanPackageWithAllocationPrice
460
460
  | Shared.NewPlanUnitWithPercentPrice
461
461
  | Shared.NewPlanMatrixWithAllocationPrice
462
+ | Price.NewPlanTieredMatrixWithAllocationPrice
462
463
  | Price.NewPlanMatrixWithThresholdDiscountsPrice
463
464
  | Price.NewPlanTieredWithProrationPrice
464
465
  | Shared.NewPlanUnitWithProrationPrice
@@ -934,6 +935,167 @@ export namespace PlanCreateParams {
934
935
  }
935
936
  }
936
937
 
938
+ export interface NewPlanTieredMatrixWithAllocationPrice {
939
+ /**
940
+ * The cadence to bill for this price on.
941
+ */
942
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
943
+
944
+ /**
945
+ * The id of the item the price will be associated with.
946
+ */
947
+ item_id: string;
948
+
949
+ /**
950
+ * The pricing model type
951
+ */
952
+ model_type: 'tiered_matrix_with_allocation';
953
+
954
+ /**
955
+ * The name of the price.
956
+ */
957
+ name: string;
958
+
959
+ /**
960
+ * Configuration for tiered_matrix_with_allocation pricing
961
+ */
962
+ tiered_matrix_with_allocation_config: NewPlanTieredMatrixWithAllocationPrice.TieredMatrixWithAllocationConfig;
963
+
964
+ /**
965
+ * The id of the billable metric for the price. Only needed if the price is
966
+ * usage-based.
967
+ */
968
+ billable_metric_id?: string | null;
969
+
970
+ /**
971
+ * If the Price represents a fixed cost, the price will be billed in-advance if
972
+ * this is true, and in-arrears if this is false.
973
+ */
974
+ billed_in_advance?: boolean | null;
975
+
976
+ /**
977
+ * For custom cadence: specifies the duration of the billing period in days or
978
+ * months.
979
+ */
980
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
981
+
982
+ /**
983
+ * The per unit conversion rate of the price currency to the invoicing currency.
984
+ */
985
+ conversion_rate?: number | null;
986
+
987
+ /**
988
+ * The configuration for the rate of the price currency to the invoicing currency.
989
+ */
990
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
991
+
992
+ /**
993
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
994
+ * price is billed.
995
+ */
996
+ currency?: string | null;
997
+
998
+ /**
999
+ * For dimensional price: specifies a price group and dimension values
1000
+ */
1001
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
1002
+
1003
+ /**
1004
+ * An alias for the price.
1005
+ */
1006
+ external_price_id?: string | null;
1007
+
1008
+ /**
1009
+ * If the Price represents a fixed cost, this represents the quantity of units
1010
+ * applied.
1011
+ */
1012
+ fixed_price_quantity?: number | null;
1013
+
1014
+ /**
1015
+ * The property used to group this price on an invoice
1016
+ */
1017
+ invoice_grouping_key?: string | null;
1018
+
1019
+ /**
1020
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
1021
+ * If unspecified, a single invoice is produced per billing cycle.
1022
+ */
1023
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
1024
+
1025
+ /**
1026
+ * The ID of the license type to associate with this price. On a usage price this
1027
+ * also marks the price as eligible to draw down from that license type's
1028
+ * allocation; a usage price created without it is billed normally. Usage prices
1029
+ * with a license type must use the `unit` model, and only draw down when their
1030
+ * currency matches the allocation's.
1031
+ */
1032
+ license_type_id?: string | null;
1033
+
1034
+ /**
1035
+ * User-specified key/value pairs for the resource. Individual keys can be removed
1036
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
1037
+ * by setting `metadata` to `null`.
1038
+ */
1039
+ metadata?: { [key: string]: string | null } | null;
1040
+
1041
+ /**
1042
+ * A transient ID that can be used to reference this price when adding adjustments
1043
+ * in the same API call.
1044
+ */
1045
+ reference_id?: string | null;
1046
+ }
1047
+
1048
+ export namespace NewPlanTieredMatrixWithAllocationPrice {
1049
+ /**
1050
+ * Configuration for tiered_matrix_with_allocation pricing
1051
+ */
1052
+ export interface TieredMatrixWithAllocationConfig {
1053
+ /**
1054
+ * Usage allocation, pooled across all matrix cells
1055
+ */
1056
+ allocation: string;
1057
+
1058
+ /**
1059
+ * Per unit rate for usage whose matrix cell has no configured tiers
1060
+ */
1061
+ default_unit_amount: string;
1062
+
1063
+ /**
1064
+ * One or two event property values to evaluate matrix cells by
1065
+ */
1066
+ dimensions: Array<string>;
1067
+
1068
+ /**
1069
+ * Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1070
+ * own rows
1071
+ */
1072
+ tiers: Array<TieredMatrixWithAllocationConfig.Tier>;
1073
+ }
1074
+
1075
+ export namespace TieredMatrixWithAllocationConfig {
1076
+ /**
1077
+ * Configuration for a single tier scoped to one matrix cell
1078
+ */
1079
+ export interface Tier {
1080
+ /**
1081
+ * The matrix cell this tier applies to, as one or two dimension values
1082
+ */
1083
+ dimension_values: Array<string>;
1084
+
1085
+ /**
1086
+ * Exclusive tier starting value. The tier runs up to and including the next bound
1087
+ * configured for the same matrix cell.
1088
+ */
1089
+ tier_lower_bound: string;
1090
+
1091
+ /**
1092
+ * Per unit amount
1093
+ */
1094
+ unit_amount: string;
1095
+ }
1096
+ }
1097
+ }
1098
+
937
1099
  export interface NewPlanMatrixWithThresholdDiscountsPrice {
938
1100
  /**
939
1101
  * The cadence to bill for this price on.
@@ -324,6 +324,7 @@ export type PriceCreateParams =
324
324
  | PriceCreateParams.NewFloatingPackageWithAllocationPrice
325
325
  | PriceCreateParams.NewFloatingUnitWithPercentPrice
326
326
  | PriceCreateParams.NewFloatingMatrixWithAllocationPrice
327
+ | PriceCreateParams.NewFloatingTieredMatrixWithAllocationPrice
327
328
  | PriceCreateParams.NewFloatingMatrixWithThresholdDiscountsPrice
328
329
  | PriceCreateParams.NewFloatingTieredWithProrationPrice
329
330
  | PriceCreateParams.NewFloatingUnitWithProrationPrice
@@ -2174,6 +2175,160 @@ export declare namespace PriceCreateParams {
2174
2175
  metadata?: { [key: string]: string | null } | null;
2175
2176
  }
2176
2177
 
2178
+ export interface NewFloatingTieredMatrixWithAllocationPrice {
2179
+ /**
2180
+ * The cadence to bill for this price on.
2181
+ */
2182
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2183
+
2184
+ /**
2185
+ * An ISO 4217 currency string for which this price is billed in.
2186
+ */
2187
+ currency: string;
2188
+
2189
+ /**
2190
+ * The id of the item the price will be associated with.
2191
+ */
2192
+ item_id: string;
2193
+
2194
+ /**
2195
+ * The pricing model type
2196
+ */
2197
+ model_type: 'tiered_matrix_with_allocation';
2198
+
2199
+ /**
2200
+ * The name of the price.
2201
+ */
2202
+ name: string;
2203
+
2204
+ /**
2205
+ * Configuration for tiered_matrix_with_allocation pricing
2206
+ */
2207
+ tiered_matrix_with_allocation_config: NewFloatingTieredMatrixWithAllocationPrice.TieredMatrixWithAllocationConfig;
2208
+
2209
+ /**
2210
+ * The id of the billable metric for the price. Only needed if the price is
2211
+ * usage-based.
2212
+ */
2213
+ billable_metric_id?: string | null;
2214
+
2215
+ /**
2216
+ * If the Price represents a fixed cost, the price will be billed in-advance if
2217
+ * this is true, and in-arrears if this is false.
2218
+ */
2219
+ billed_in_advance?: boolean | null;
2220
+
2221
+ /**
2222
+ * For custom cadence: specifies the duration of the billing period in days or
2223
+ * months.
2224
+ */
2225
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
2226
+
2227
+ /**
2228
+ * The per unit conversion rate of the price currency to the invoicing currency.
2229
+ */
2230
+ conversion_rate?: number | null;
2231
+
2232
+ /**
2233
+ * The configuration for the rate of the price currency to the invoicing currency.
2234
+ */
2235
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
2236
+
2237
+ /**
2238
+ * For dimensional price: specifies a price group and dimension values
2239
+ */
2240
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
2241
+
2242
+ /**
2243
+ * An alias for the price.
2244
+ */
2245
+ external_price_id?: string | null;
2246
+
2247
+ /**
2248
+ * If the Price represents a fixed cost, this represents the quantity of units
2249
+ * applied.
2250
+ */
2251
+ fixed_price_quantity?: number | null;
2252
+
2253
+ /**
2254
+ * The property used to group this price on an invoice
2255
+ */
2256
+ invoice_grouping_key?: string | null;
2257
+
2258
+ /**
2259
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
2260
+ * If unspecified, a single invoice is produced per billing cycle.
2261
+ */
2262
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
2263
+
2264
+ /**
2265
+ * The ID of the license type to associate with this price. On a usage price this
2266
+ * also marks the price as eligible to draw down from that license type's
2267
+ * allocation; a usage price created without it is billed normally. Usage prices
2268
+ * with a license type must use the `unit` model, and only draw down when their
2269
+ * currency matches the allocation's.
2270
+ */
2271
+ license_type_id?: string | null;
2272
+
2273
+ /**
2274
+ * User-specified key/value pairs for the resource. Individual keys can be removed
2275
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
2276
+ * by setting `metadata` to `null`.
2277
+ */
2278
+ metadata?: { [key: string]: string | null } | null;
2279
+ }
2280
+
2281
+ export namespace NewFloatingTieredMatrixWithAllocationPrice {
2282
+ /**
2283
+ * Configuration for tiered_matrix_with_allocation pricing
2284
+ */
2285
+ export interface TieredMatrixWithAllocationConfig {
2286
+ /**
2287
+ * Usage allocation, pooled across all matrix cells
2288
+ */
2289
+ allocation: string;
2290
+
2291
+ /**
2292
+ * Per unit rate for usage whose matrix cell has no configured tiers
2293
+ */
2294
+ default_unit_amount: string;
2295
+
2296
+ /**
2297
+ * One or two event property values to evaluate matrix cells by
2298
+ */
2299
+ dimensions: Array<string>;
2300
+
2301
+ /**
2302
+ * Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
2303
+ * own rows
2304
+ */
2305
+ tiers: Array<TieredMatrixWithAllocationConfig.Tier>;
2306
+ }
2307
+
2308
+ export namespace TieredMatrixWithAllocationConfig {
2309
+ /**
2310
+ * Configuration for a single tier scoped to one matrix cell
2311
+ */
2312
+ export interface Tier {
2313
+ /**
2314
+ * The matrix cell this tier applies to, as one or two dimension values
2315
+ */
2316
+ dimension_values: Array<string>;
2317
+
2318
+ /**
2319
+ * Exclusive tier starting value. The tier runs up to and including the next bound
2320
+ * configured for the same matrix cell.
2321
+ */
2322
+ tier_lower_bound: string;
2323
+
2324
+ /**
2325
+ * Per unit amount
2326
+ */
2327
+ unit_amount: string;
2328
+ }
2329
+ }
2330
+ }
2331
+
2177
2332
  export interface NewFloatingMatrixWithThresholdDiscountsPrice {
2178
2333
  /**
2179
2334
  * The cadence to bill for this price on.
@@ -5059,6 +5214,7 @@ export namespace PriceEvaluateMultipleParams {
5059
5214
  | Shared.NewFloatingPackageWithAllocationPrice
5060
5215
  | Shared.NewFloatingUnitWithPercentPrice
5061
5216
  | Shared.NewFloatingMatrixWithAllocationPrice
5217
+ | PriceEvaluation.NewFloatingTieredMatrixWithAllocationPrice
5062
5218
  | PriceEvaluation.NewFloatingMatrixWithThresholdDiscountsPrice
5063
5219
  | Shared.NewFloatingTieredWithProrationPrice
5064
5220
  | Shared.NewFloatingUnitWithProrationPrice
@@ -5385,6 +5541,160 @@ export namespace PriceEvaluateMultipleParams {
5385
5541
  }
5386
5542
  }
5387
5543
 
5544
+ export interface NewFloatingTieredMatrixWithAllocationPrice {
5545
+ /**
5546
+ * The cadence to bill for this price on.
5547
+ */
5548
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
5549
+
5550
+ /**
5551
+ * An ISO 4217 currency string for which this price is billed in.
5552
+ */
5553
+ currency: string;
5554
+
5555
+ /**
5556
+ * The id of the item the price will be associated with.
5557
+ */
5558
+ item_id: string;
5559
+
5560
+ /**
5561
+ * The pricing model type
5562
+ */
5563
+ model_type: 'tiered_matrix_with_allocation';
5564
+
5565
+ /**
5566
+ * The name of the price.
5567
+ */
5568
+ name: string;
5569
+
5570
+ /**
5571
+ * Configuration for tiered_matrix_with_allocation pricing
5572
+ */
5573
+ tiered_matrix_with_allocation_config: NewFloatingTieredMatrixWithAllocationPrice.TieredMatrixWithAllocationConfig;
5574
+
5575
+ /**
5576
+ * The id of the billable metric for the price. Only needed if the price is
5577
+ * usage-based.
5578
+ */
5579
+ billable_metric_id?: string | null;
5580
+
5581
+ /**
5582
+ * If the Price represents a fixed cost, the price will be billed in-advance if
5583
+ * this is true, and in-arrears if this is false.
5584
+ */
5585
+ billed_in_advance?: boolean | null;
5586
+
5587
+ /**
5588
+ * For custom cadence: specifies the duration of the billing period in days or
5589
+ * months.
5590
+ */
5591
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5592
+
5593
+ /**
5594
+ * The per unit conversion rate of the price currency to the invoicing currency.
5595
+ */
5596
+ conversion_rate?: number | null;
5597
+
5598
+ /**
5599
+ * The configuration for the rate of the price currency to the invoicing currency.
5600
+ */
5601
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
5602
+
5603
+ /**
5604
+ * For dimensional price: specifies a price group and dimension values
5605
+ */
5606
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
5607
+
5608
+ /**
5609
+ * An alias for the price.
5610
+ */
5611
+ external_price_id?: string | null;
5612
+
5613
+ /**
5614
+ * If the Price represents a fixed cost, this represents the quantity of units
5615
+ * applied.
5616
+ */
5617
+ fixed_price_quantity?: number | null;
5618
+
5619
+ /**
5620
+ * The property used to group this price on an invoice
5621
+ */
5622
+ invoice_grouping_key?: string | null;
5623
+
5624
+ /**
5625
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
5626
+ * If unspecified, a single invoice is produced per billing cycle.
5627
+ */
5628
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
5629
+
5630
+ /**
5631
+ * The ID of the license type to associate with this price. On a usage price this
5632
+ * also marks the price as eligible to draw down from that license type's
5633
+ * allocation; a usage price created without it is billed normally. Usage prices
5634
+ * with a license type must use the `unit` model, and only draw down when their
5635
+ * currency matches the allocation's.
5636
+ */
5637
+ license_type_id?: string | null;
5638
+
5639
+ /**
5640
+ * User-specified key/value pairs for the resource. Individual keys can be removed
5641
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
5642
+ * by setting `metadata` to `null`.
5643
+ */
5644
+ metadata?: { [key: string]: string | null } | null;
5645
+ }
5646
+
5647
+ export namespace NewFloatingTieredMatrixWithAllocationPrice {
5648
+ /**
5649
+ * Configuration for tiered_matrix_with_allocation pricing
5650
+ */
5651
+ export interface TieredMatrixWithAllocationConfig {
5652
+ /**
5653
+ * Usage allocation, pooled across all matrix cells
5654
+ */
5655
+ allocation: string;
5656
+
5657
+ /**
5658
+ * Per unit rate for usage whose matrix cell has no configured tiers
5659
+ */
5660
+ default_unit_amount: string;
5661
+
5662
+ /**
5663
+ * One or two event property values to evaluate matrix cells by
5664
+ */
5665
+ dimensions: Array<string>;
5666
+
5667
+ /**
5668
+ * Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
5669
+ * own rows
5670
+ */
5671
+ tiers: Array<TieredMatrixWithAllocationConfig.Tier>;
5672
+ }
5673
+
5674
+ export namespace TieredMatrixWithAllocationConfig {
5675
+ /**
5676
+ * Configuration for a single tier scoped to one matrix cell
5677
+ */
5678
+ export interface Tier {
5679
+ /**
5680
+ * The matrix cell this tier applies to, as one or two dimension values
5681
+ */
5682
+ dimension_values: Array<string>;
5683
+
5684
+ /**
5685
+ * Exclusive tier starting value. The tier runs up to and including the next bound
5686
+ * configured for the same matrix cell.
5687
+ */
5688
+ tier_lower_bound: string;
5689
+
5690
+ /**
5691
+ * Per unit amount
5692
+ */
5693
+ unit_amount: string;
5694
+ }
5695
+ }
5696
+ }
5697
+
5388
5698
  export interface NewFloatingMatrixWithThresholdDiscountsPrice {
5389
5699
  /**
5390
5700
  * The cadence to bill for this price on.
@@ -6483,6 +6793,7 @@ export namespace PriceEvaluatePreviewEventsParams {
6483
6793
  | Shared.NewFloatingPackageWithAllocationPrice
6484
6794
  | Shared.NewFloatingUnitWithPercentPrice
6485
6795
  | Shared.NewFloatingMatrixWithAllocationPrice
6796
+ | PriceEvaluation.NewFloatingTieredMatrixWithAllocationPrice
6486
6797
  | PriceEvaluation.NewFloatingMatrixWithThresholdDiscountsPrice
6487
6798
  | Shared.NewFloatingTieredWithProrationPrice
6488
6799
  | Shared.NewFloatingUnitWithProrationPrice
@@ -6809,6 +7120,160 @@ export namespace PriceEvaluatePreviewEventsParams {
6809
7120
  }
6810
7121
  }
6811
7122
 
7123
+ export interface NewFloatingTieredMatrixWithAllocationPrice {
7124
+ /**
7125
+ * The cadence to bill for this price on.
7126
+ */
7127
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
7128
+
7129
+ /**
7130
+ * An ISO 4217 currency string for which this price is billed in.
7131
+ */
7132
+ currency: string;
7133
+
7134
+ /**
7135
+ * The id of the item the price will be associated with.
7136
+ */
7137
+ item_id: string;
7138
+
7139
+ /**
7140
+ * The pricing model type
7141
+ */
7142
+ model_type: 'tiered_matrix_with_allocation';
7143
+
7144
+ /**
7145
+ * The name of the price.
7146
+ */
7147
+ name: string;
7148
+
7149
+ /**
7150
+ * Configuration for tiered_matrix_with_allocation pricing
7151
+ */
7152
+ tiered_matrix_with_allocation_config: NewFloatingTieredMatrixWithAllocationPrice.TieredMatrixWithAllocationConfig;
7153
+
7154
+ /**
7155
+ * The id of the billable metric for the price. Only needed if the price is
7156
+ * usage-based.
7157
+ */
7158
+ billable_metric_id?: string | null;
7159
+
7160
+ /**
7161
+ * If the Price represents a fixed cost, the price will be billed in-advance if
7162
+ * this is true, and in-arrears if this is false.
7163
+ */
7164
+ billed_in_advance?: boolean | null;
7165
+
7166
+ /**
7167
+ * For custom cadence: specifies the duration of the billing period in days or
7168
+ * months.
7169
+ */
7170
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7171
+
7172
+ /**
7173
+ * The per unit conversion rate of the price currency to the invoicing currency.
7174
+ */
7175
+ conversion_rate?: number | null;
7176
+
7177
+ /**
7178
+ * The configuration for the rate of the price currency to the invoicing currency.
7179
+ */
7180
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
7181
+
7182
+ /**
7183
+ * For dimensional price: specifies a price group and dimension values
7184
+ */
7185
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
7186
+
7187
+ /**
7188
+ * An alias for the price.
7189
+ */
7190
+ external_price_id?: string | null;
7191
+
7192
+ /**
7193
+ * If the Price represents a fixed cost, this represents the quantity of units
7194
+ * applied.
7195
+ */
7196
+ fixed_price_quantity?: number | null;
7197
+
7198
+ /**
7199
+ * The property used to group this price on an invoice
7200
+ */
7201
+ invoice_grouping_key?: string | null;
7202
+
7203
+ /**
7204
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
7205
+ * If unspecified, a single invoice is produced per billing cycle.
7206
+ */
7207
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
7208
+
7209
+ /**
7210
+ * The ID of the license type to associate with this price. On a usage price this
7211
+ * also marks the price as eligible to draw down from that license type's
7212
+ * allocation; a usage price created without it is billed normally. Usage prices
7213
+ * with a license type must use the `unit` model, and only draw down when their
7214
+ * currency matches the allocation's.
7215
+ */
7216
+ license_type_id?: string | null;
7217
+
7218
+ /**
7219
+ * User-specified key/value pairs for the resource. Individual keys can be removed
7220
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
7221
+ * by setting `metadata` to `null`.
7222
+ */
7223
+ metadata?: { [key: string]: string | null } | null;
7224
+ }
7225
+
7226
+ export namespace NewFloatingTieredMatrixWithAllocationPrice {
7227
+ /**
7228
+ * Configuration for tiered_matrix_with_allocation pricing
7229
+ */
7230
+ export interface TieredMatrixWithAllocationConfig {
7231
+ /**
7232
+ * Usage allocation, pooled across all matrix cells
7233
+ */
7234
+ allocation: string;
7235
+
7236
+ /**
7237
+ * Per unit rate for usage whose matrix cell has no configured tiers
7238
+ */
7239
+ default_unit_amount: string;
7240
+
7241
+ /**
7242
+ * One or two event property values to evaluate matrix cells by
7243
+ */
7244
+ dimensions: Array<string>;
7245
+
7246
+ /**
7247
+ * Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
7248
+ * own rows
7249
+ */
7250
+ tiers: Array<TieredMatrixWithAllocationConfig.Tier>;
7251
+ }
7252
+
7253
+ export namespace TieredMatrixWithAllocationConfig {
7254
+ /**
7255
+ * Configuration for a single tier scoped to one matrix cell
7256
+ */
7257
+ export interface Tier {
7258
+ /**
7259
+ * The matrix cell this tier applies to, as one or two dimension values
7260
+ */
7261
+ dimension_values: Array<string>;
7262
+
7263
+ /**
7264
+ * Exclusive tier starting value. The tier runs up to and including the next bound
7265
+ * configured for the same matrix cell.
7266
+ */
7267
+ tier_lower_bound: string;
7268
+
7269
+ /**
7270
+ * Per unit amount
7271
+ */
7272
+ unit_amount: string;
7273
+ }
7274
+ }
7275
+ }
7276
+
6812
7277
  export interface NewFloatingMatrixWithThresholdDiscountsPrice {
6813
7278
  /**
6814
7279
  * The cadence to bill for this price on.