orb-billing 5.5.1 → 5.7.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 (86) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/core.js +3 -3
  3. package/core.js.map +1 -1
  4. package/core.mjs +3 -3
  5. package/core.mjs.map +1 -1
  6. package/index.d.mts +4 -15
  7. package/index.d.ts +4 -15
  8. package/index.d.ts.map +1 -1
  9. package/index.js.map +1 -1
  10. package/index.mjs.map +1 -1
  11. package/package.json +4 -1
  12. package/resources/alerts.d.ts +1 -1
  13. package/resources/beta/beta.d.ts +448 -4
  14. package/resources/beta/beta.d.ts.map +1 -1
  15. package/resources/beta/beta.js.map +1 -1
  16. package/resources/beta/beta.mjs.map +1 -1
  17. package/resources/beta/external-plan-id.d.ts +448 -4
  18. package/resources/beta/external-plan-id.d.ts.map +1 -1
  19. package/resources/customers/balance-transactions.d.ts +2 -2
  20. package/resources/customers/balance-transactions.d.ts.map +1 -1
  21. package/resources/customers/balance-transactions.js.map +1 -1
  22. package/resources/customers/balance-transactions.mjs.map +1 -1
  23. package/resources/customers/credits/ledger.d.ts +22 -8
  24. package/resources/customers/credits/ledger.d.ts.map +1 -1
  25. package/resources/customers/credits/ledger.js.map +1 -1
  26. package/resources/customers/credits/ledger.mjs.map +1 -1
  27. package/resources/customers/customers.d.ts +54 -6
  28. package/resources/customers/customers.d.ts.map +1 -1
  29. package/resources/customers/customers.js.map +1 -1
  30. package/resources/customers/customers.mjs.map +1 -1
  31. package/resources/dimensional-price-groups/dimensional-price-groups.d.ts +1 -1
  32. package/resources/dimensional-price-groups/dimensional-price-groups.js +1 -1
  33. package/resources/dimensional-price-groups/dimensional-price-groups.mjs +1 -1
  34. package/resources/events/backfills.d.ts +2 -2
  35. package/resources/events/backfills.js +2 -2
  36. package/resources/events/backfills.mjs +2 -2
  37. package/resources/index.d.ts +1 -1
  38. package/resources/index.d.ts.map +1 -1
  39. package/resources/index.js.map +1 -1
  40. package/resources/index.mjs.map +1 -1
  41. package/resources/invoice-line-items.d.ts +1 -1
  42. package/resources/invoices.d.ts +39 -11
  43. package/resources/invoices.d.ts.map +1 -1
  44. package/resources/invoices.js +4 -4
  45. package/resources/invoices.js.map +1 -1
  46. package/resources/invoices.mjs +4 -4
  47. package/resources/invoices.mjs.map +1 -1
  48. package/resources/plans/plans.d.ts +224 -2
  49. package/resources/plans/plans.d.ts.map +1 -1
  50. package/resources/plans/plans.js.map +1 -1
  51. package/resources/plans/plans.mjs.map +1 -1
  52. package/resources/prices/prices.d.ts +1089 -192
  53. package/resources/prices/prices.d.ts.map +1 -1
  54. package/resources/prices/prices.js.map +1 -1
  55. package/resources/prices/prices.mjs.map +1 -1
  56. package/resources/shared.d.ts +2656 -925
  57. package/resources/shared.d.ts.map +1 -1
  58. package/resources/shared.js.map +1 -1
  59. package/resources/shared.mjs.map +1 -1
  60. package/resources/subscriptions.d.ts +1831 -370
  61. package/resources/subscriptions.d.ts.map +1 -1
  62. package/resources/subscriptions.js +1 -1
  63. package/resources/subscriptions.js.map +1 -1
  64. package/resources/subscriptions.mjs +1 -1
  65. package/resources/subscriptions.mjs.map +1 -1
  66. package/src/core.ts +3 -3
  67. package/src/index.ts +5 -21
  68. package/src/resources/alerts.ts +1 -1
  69. package/src/resources/beta/beta.ts +544 -24
  70. package/src/resources/beta/external-plan-id.ts +544 -24
  71. package/src/resources/customers/balance-transactions.ts +4 -2
  72. package/src/resources/customers/credits/ledger.ts +24 -8
  73. package/src/resources/customers/customers.ts +79 -6
  74. package/src/resources/dimensional-price-groups/dimensional-price-groups.ts +1 -1
  75. package/src/resources/events/backfills.ts +2 -2
  76. package/src/resources/index.ts +1 -4
  77. package/src/resources/invoice-line-items.ts +1 -1
  78. package/src/resources/invoices.ts +44 -11
  79. package/src/resources/plans/plans.ts +272 -12
  80. package/src/resources/prices/prices.ts +1255 -206
  81. package/src/resources/shared.ts +3057 -1046
  82. package/src/resources/subscriptions.ts +2401 -694
  83. package/src/version.ts +1 -1
  84. package/version.d.ts +1 -1
  85. package/version.js +1 -1
  86. package/version.mjs +1 -1
@@ -255,33 +255,32 @@ export namespace PriceEvaluatePreviewEventsResponse {
255
255
 
256
256
  export type PriceCreateParams =
257
257
  | PriceCreateParams.NewFloatingUnitPrice
258
- | PriceCreateParams.NewFloatingPackagePrice
259
- | PriceCreateParams.NewFloatingMatrixPrice
260
- | PriceCreateParams.NewFloatingMatrixWithAllocationPrice
261
258
  | PriceCreateParams.NewFloatingTieredPrice
262
- | PriceCreateParams.NewFloatingTieredBPSPrice
263
- | PriceCreateParams.NewFloatingBPSPrice
264
- | PriceCreateParams.NewFloatingBulkBPSPrice
265
259
  | PriceCreateParams.NewFloatingBulkPrice
260
+ | PriceCreateParams.NewFloatingPackagePrice
261
+ | PriceCreateParams.NewFloatingMatrixPrice
266
262
  | PriceCreateParams.NewFloatingThresholdTotalAmountPrice
267
263
  | PriceCreateParams.NewFloatingTieredPackagePrice
268
- | PriceCreateParams.NewFloatingGroupedTieredPrice
269
- | PriceCreateParams.NewFloatingMaxGroupTieredPackagePrice
270
264
  | PriceCreateParams.NewFloatingTieredWithMinimumPrice
271
- | PriceCreateParams.NewFloatingPackageWithAllocationPrice
265
+ | PriceCreateParams.NewFloatingGroupedTieredPrice
272
266
  | PriceCreateParams.NewFloatingTieredPackageWithMinimumPrice
267
+ | PriceCreateParams.NewFloatingPackageWithAllocationPrice
273
268
  | PriceCreateParams.NewFloatingUnitWithPercentPrice
269
+ | PriceCreateParams.NewFloatingMatrixWithAllocationPrice
274
270
  | PriceCreateParams.NewFloatingTieredWithProrationPrice
275
271
  | PriceCreateParams.NewFloatingUnitWithProrationPrice
276
272
  | PriceCreateParams.NewFloatingGroupedAllocationPrice
273
+ | PriceCreateParams.NewFloatingBulkWithProrationPrice
277
274
  | PriceCreateParams.NewFloatingGroupedWithProratedMinimumPrice
278
275
  | PriceCreateParams.NewFloatingGroupedWithMeteredMinimumPrice
276
+ | PriceCreateParams.NewFloatingGroupedWithMinMaxThresholdsPrice
279
277
  | PriceCreateParams.NewFloatingMatrixWithDisplayNamePrice
280
- | PriceCreateParams.NewFloatingBulkWithProrationPrice
281
278
  | PriceCreateParams.NewFloatingGroupedTieredPackagePrice
279
+ | PriceCreateParams.NewFloatingMaxGroupTieredPackagePrice
282
280
  | PriceCreateParams.NewFloatingScalableMatrixWithUnitPricingPrice
283
281
  | PriceCreateParams.NewFloatingScalableMatrixWithTieredPricingPrice
284
- | PriceCreateParams.NewFloatingCumulativeGroupedBulkPrice;
282
+ | PriceCreateParams.NewFloatingCumulativeGroupedBulkPrice
283
+ | PriceCreateParams.NewFloatingMinimumCompositePrice;
285
284
 
286
285
  export declare namespace PriceCreateParams {
287
286
  export interface NewFloatingUnitPrice {
@@ -300,6 +299,9 @@ export declare namespace PriceCreateParams {
300
299
  */
301
300
  item_id: string;
302
301
 
302
+ /**
303
+ * The pricing model type
304
+ */
303
305
  model_type: 'unit';
304
306
 
305
307
  /**
@@ -307,6 +309,9 @@ export declare namespace PriceCreateParams {
307
309
  */
308
310
  name: string;
309
311
 
312
+ /**
313
+ * Configuration for unit pricing
314
+ */
310
315
  unit_config: Shared.UnitConfig;
311
316
 
312
317
  /**
@@ -372,7 +377,7 @@ export declare namespace PriceCreateParams {
372
377
  metadata?: { [key: string]: string | null } | null;
373
378
  }
374
379
 
375
- export interface NewFloatingPackagePrice {
380
+ export interface NewFloatingTieredPrice {
376
381
  /**
377
382
  * The cadence to bill for this price on.
378
383
  */
@@ -388,14 +393,20 @@ export declare namespace PriceCreateParams {
388
393
  */
389
394
  item_id: string;
390
395
 
391
- model_type: 'package';
396
+ /**
397
+ * The pricing model type
398
+ */
399
+ model_type: 'tiered';
392
400
 
393
401
  /**
394
402
  * The name of the price.
395
403
  */
396
404
  name: string;
397
405
 
398
- package_config: Shared.PackageConfig;
406
+ /**
407
+ * Configuration for tiered pricing
408
+ */
409
+ tiered_config: Shared.TieredConfig;
399
410
 
400
411
  /**
401
412
  * The id of the billable metric for the price. Only needed if the price is
@@ -460,7 +471,12 @@ export declare namespace PriceCreateParams {
460
471
  metadata?: { [key: string]: string | null } | null;
461
472
  }
462
473
 
463
- export interface NewFloatingMatrixPrice {
474
+ export interface NewFloatingBulkPrice {
475
+ /**
476
+ * Configuration for bulk pricing
477
+ */
478
+ bulk_config: Shared.BulkConfig;
479
+
464
480
  /**
465
481
  * The cadence to bill for this price on.
466
482
  */
@@ -476,9 +492,10 @@ export declare namespace PriceCreateParams {
476
492
  */
477
493
  item_id: string;
478
494
 
479
- matrix_config: Shared.MatrixConfig;
480
-
481
- model_type: 'matrix';
495
+ /**
496
+ * The pricing model type
497
+ */
498
+ model_type: 'bulk';
482
499
 
483
500
  /**
484
501
  * The name of the price.
@@ -548,7 +565,7 @@ export declare namespace PriceCreateParams {
548
565
  metadata?: { [key: string]: string | null } | null;
549
566
  }
550
567
 
551
- export interface NewFloatingMatrixWithAllocationPrice {
568
+ export interface NewFloatingPackagePrice {
552
569
  /**
553
570
  * The cadence to bill for this price on.
554
571
  */
@@ -564,15 +581,21 @@ export declare namespace PriceCreateParams {
564
581
  */
565
582
  item_id: string;
566
583
 
567
- matrix_with_allocation_config: Shared.MatrixWithAllocationConfig;
568
-
569
- model_type: 'matrix_with_allocation';
584
+ /**
585
+ * The pricing model type
586
+ */
587
+ model_type: 'package';
570
588
 
571
589
  /**
572
590
  * The name of the price.
573
591
  */
574
592
  name: string;
575
593
 
594
+ /**
595
+ * Configuration for package pricing
596
+ */
597
+ package_config: Shared.PackageConfig;
598
+
576
599
  /**
577
600
  * The id of the billable metric for the price. Only needed if the price is
578
601
  * usage-based.
@@ -636,7 +659,7 @@ export declare namespace PriceCreateParams {
636
659
  metadata?: { [key: string]: string | null } | null;
637
660
  }
638
661
 
639
- export interface NewFloatingTieredPrice {
662
+ export interface NewFloatingMatrixPrice {
640
663
  /**
641
664
  * The cadence to bill for this price on.
642
665
  */
@@ -652,15 +675,21 @@ export declare namespace PriceCreateParams {
652
675
  */
653
676
  item_id: string;
654
677
 
655
- model_type: 'tiered';
678
+ /**
679
+ * Configuration for matrix pricing
680
+ */
681
+ matrix_config: Shared.MatrixConfig;
682
+
683
+ /**
684
+ * The pricing model type
685
+ */
686
+ model_type: 'matrix';
656
687
 
657
688
  /**
658
689
  * The name of the price.
659
690
  */
660
691
  name: string;
661
692
 
662
- tiered_config: Shared.TieredConfig;
663
-
664
693
  /**
665
694
  * The id of the billable metric for the price. Only needed if the price is
666
695
  * usage-based.
@@ -724,7 +753,7 @@ export declare namespace PriceCreateParams {
724
753
  metadata?: { [key: string]: string | null } | null;
725
754
  }
726
755
 
727
- export interface NewFloatingTieredBPSPrice {
756
+ export interface NewFloatingThresholdTotalAmountPrice {
728
757
  /**
729
758
  * The cadence to bill for this price on.
730
759
  */
@@ -740,14 +769,20 @@ export declare namespace PriceCreateParams {
740
769
  */
741
770
  item_id: string;
742
771
 
743
- model_type: 'tiered_bps';
772
+ /**
773
+ * The pricing model type
774
+ */
775
+ model_type: 'threshold_total_amount';
744
776
 
745
777
  /**
746
778
  * The name of the price.
747
779
  */
748
780
  name: string;
749
781
 
750
- tiered_bps_config: Shared.TieredBPSConfig;
782
+ /**
783
+ * Configuration for threshold_total_amount pricing
784
+ */
785
+ threshold_total_amount_config: NewFloatingThresholdTotalAmountPrice.ThresholdTotalAmountConfig;
751
786
 
752
787
  /**
753
788
  * The id of the billable metric for the price. Only needed if the price is
@@ -812,9 +847,42 @@ export declare namespace PriceCreateParams {
812
847
  metadata?: { [key: string]: string | null } | null;
813
848
  }
814
849
 
815
- export interface NewFloatingBPSPrice {
816
- bps_config: Shared.BPSConfig;
850
+ export namespace NewFloatingThresholdTotalAmountPrice {
851
+ /**
852
+ * Configuration for threshold_total_amount pricing
853
+ */
854
+ export interface ThresholdTotalAmountConfig {
855
+ /**
856
+ * When the quantity consumed passes a provided threshold, the configured total
857
+ * will be charged
858
+ */
859
+ consumption_table: Array<ThresholdTotalAmountConfig.ConsumptionTable>;
860
+
861
+ /**
862
+ * If true, the unit price will be prorated to the billing period
863
+ */
864
+ prorate?: boolean | null;
865
+ }
866
+
867
+ export namespace ThresholdTotalAmountConfig {
868
+ /**
869
+ * Configuration for a single threshold
870
+ */
871
+ export interface ConsumptionTable {
872
+ /**
873
+ * Quantity threshold
874
+ */
875
+ threshold: string;
876
+
877
+ /**
878
+ * Total amount for this threshold
879
+ */
880
+ total_amount: string;
881
+ }
882
+ }
883
+ }
817
884
 
885
+ export interface NewFloatingTieredPackagePrice {
818
886
  /**
819
887
  * The cadence to bill for this price on.
820
888
  */
@@ -830,13 +898,21 @@ export declare namespace PriceCreateParams {
830
898
  */
831
899
  item_id: string;
832
900
 
833
- model_type: 'bps';
901
+ /**
902
+ * The pricing model type
903
+ */
904
+ model_type: 'tiered_package';
834
905
 
835
906
  /**
836
907
  * The name of the price.
837
908
  */
838
909
  name: string;
839
910
 
911
+ /**
912
+ * Configuration for tiered_package pricing
913
+ */
914
+ tiered_package_config: NewFloatingTieredPackagePrice.TieredPackageConfig;
915
+
840
916
  /**
841
917
  * The id of the billable metric for the price. Only needed if the price is
842
918
  * usage-based.
@@ -900,9 +976,42 @@ export declare namespace PriceCreateParams {
900
976
  metadata?: { [key: string]: string | null } | null;
901
977
  }
902
978
 
903
- export interface NewFloatingBulkBPSPrice {
904
- bulk_bps_config: Shared.BulkBPSConfig;
979
+ export namespace NewFloatingTieredPackagePrice {
980
+ /**
981
+ * Configuration for tiered_package pricing
982
+ */
983
+ export interface TieredPackageConfig {
984
+ /**
985
+ * Package size
986
+ */
987
+ package_size: string;
988
+
989
+ /**
990
+ * Apply tiered pricing after rounding up the quantity to the package size. Tiers
991
+ * are defined using exclusive lower bounds.
992
+ */
993
+ tiers: Array<TieredPackageConfig.Tier>;
994
+ }
995
+
996
+ export namespace TieredPackageConfig {
997
+ /**
998
+ * Configuration for a single tier with business logic
999
+ */
1000
+ export interface Tier {
1001
+ /**
1002
+ * Price per package
1003
+ */
1004
+ per_unit: string;
1005
+
1006
+ /**
1007
+ * Tier lower bound
1008
+ */
1009
+ tier_lower_bound: string;
1010
+ }
1011
+ }
1012
+ }
905
1013
 
1014
+ export interface NewFloatingTieredWithMinimumPrice {
906
1015
  /**
907
1016
  * The cadence to bill for this price on.
908
1017
  */
@@ -918,13 +1027,21 @@ export declare namespace PriceCreateParams {
918
1027
  */
919
1028
  item_id: string;
920
1029
 
921
- model_type: 'bulk_bps';
1030
+ /**
1031
+ * The pricing model type
1032
+ */
1033
+ model_type: 'tiered_with_minimum';
922
1034
 
923
1035
  /**
924
1036
  * The name of the price.
925
1037
  */
926
1038
  name: string;
927
1039
 
1040
+ /**
1041
+ * Configuration for tiered_with_minimum pricing
1042
+ */
1043
+ tiered_with_minimum_config: NewFloatingTieredWithMinimumPrice.TieredWithMinimumConfig;
1044
+
928
1045
  /**
929
1046
  * The id of the billable metric for the price. Only needed if the price is
930
1047
  * usage-based.
@@ -988,9 +1105,52 @@ export declare namespace PriceCreateParams {
988
1105
  metadata?: { [key: string]: string | null } | null;
989
1106
  }
990
1107
 
991
- export interface NewFloatingBulkPrice {
992
- bulk_config: Shared.BulkConfig;
1108
+ export namespace NewFloatingTieredWithMinimumPrice {
1109
+ /**
1110
+ * Configuration for tiered_with_minimum pricing
1111
+ */
1112
+ export interface TieredWithMinimumConfig {
1113
+ /**
1114
+ * Tiered pricing with a minimum amount dependent on the volume tier. Tiers are
1115
+ * defined using exclusive lower bounds.
1116
+ */
1117
+ tiers: Array<TieredWithMinimumConfig.Tier>;
1118
+
1119
+ /**
1120
+ * If true, tiers with an accrued amount of 0 will not be included in the rating.
1121
+ */
1122
+ hide_zero_amount_tiers?: boolean;
1123
+
1124
+ /**
1125
+ * If true, the unit price will be prorated to the billing period
1126
+ */
1127
+ prorate?: boolean;
1128
+ }
1129
+
1130
+ export namespace TieredWithMinimumConfig {
1131
+ /**
1132
+ * Configuration for a single tier
1133
+ */
1134
+ export interface Tier {
1135
+ /**
1136
+ * Minimum amount
1137
+ */
1138
+ minimum_amount: string;
1139
+
1140
+ /**
1141
+ * Tier lower bound
1142
+ */
1143
+ tier_lower_bound: string;
1144
+
1145
+ /**
1146
+ * Per unit amount
1147
+ */
1148
+ unit_amount: string;
1149
+ }
1150
+ }
1151
+ }
993
1152
 
1153
+ export interface NewFloatingGroupedTieredPrice {
994
1154
  /**
995
1155
  * The cadence to bill for this price on.
996
1156
  */
@@ -1001,12 +1161,20 @@ export declare namespace PriceCreateParams {
1001
1161
  */
1002
1162
  currency: string;
1003
1163
 
1164
+ /**
1165
+ * Configuration for grouped_tiered pricing
1166
+ */
1167
+ grouped_tiered_config: NewFloatingGroupedTieredPrice.GroupedTieredConfig;
1168
+
1004
1169
  /**
1005
1170
  * The id of the item the price will be associated with.
1006
1171
  */
1007
1172
  item_id: string;
1008
1173
 
1009
- model_type: 'bulk';
1174
+ /**
1175
+ * The pricing model type
1176
+ */
1177
+ model_type: 'grouped_tiered';
1010
1178
 
1011
1179
  /**
1012
1180
  * The name of the price.
@@ -1076,7 +1244,42 @@ export declare namespace PriceCreateParams {
1076
1244
  metadata?: { [key: string]: string | null } | null;
1077
1245
  }
1078
1246
 
1079
- export interface NewFloatingThresholdTotalAmountPrice {
1247
+ export namespace NewFloatingGroupedTieredPrice {
1248
+ /**
1249
+ * Configuration for grouped_tiered pricing
1250
+ */
1251
+ export interface GroupedTieredConfig {
1252
+ /**
1253
+ * The billable metric property used to group before tiering
1254
+ */
1255
+ grouping_key: string;
1256
+
1257
+ /**
1258
+ * Apply tiered pricing to each segment generated after grouping with the provided
1259
+ * key
1260
+ */
1261
+ tiers: Array<GroupedTieredConfig.Tier>;
1262
+ }
1263
+
1264
+ export namespace GroupedTieredConfig {
1265
+ /**
1266
+ * Configuration for a single tier
1267
+ */
1268
+ export interface Tier {
1269
+ /**
1270
+ * Tier lower bound
1271
+ */
1272
+ tier_lower_bound: string;
1273
+
1274
+ /**
1275
+ * Per unit amount
1276
+ */
1277
+ unit_amount: string;
1278
+ }
1279
+ }
1280
+ }
1281
+
1282
+ export interface NewFloatingTieredPackageWithMinimumPrice {
1080
1283
  /**
1081
1284
  * The cadence to bill for this price on.
1082
1285
  */
@@ -1092,14 +1295,20 @@ export declare namespace PriceCreateParams {
1092
1295
  */
1093
1296
  item_id: string;
1094
1297
 
1095
- model_type: 'threshold_total_amount';
1298
+ /**
1299
+ * The pricing model type
1300
+ */
1301
+ model_type: 'tiered_package_with_minimum';
1096
1302
 
1097
1303
  /**
1098
1304
  * The name of the price.
1099
1305
  */
1100
1306
  name: string;
1101
1307
 
1102
- threshold_total_amount_config: { [key: string]: unknown };
1308
+ /**
1309
+ * Configuration for tiered_package_with_minimum pricing
1310
+ */
1311
+ tiered_package_with_minimum_config: NewFloatingTieredPackageWithMinimumPrice.TieredPackageWithMinimumConfig;
1103
1312
 
1104
1313
  /**
1105
1314
  * The id of the billable metric for the price. Only needed if the price is
@@ -1164,7 +1373,47 @@ export declare namespace PriceCreateParams {
1164
1373
  metadata?: { [key: string]: string | null } | null;
1165
1374
  }
1166
1375
 
1167
- export interface NewFloatingTieredPackagePrice {
1376
+ export namespace NewFloatingTieredPackageWithMinimumPrice {
1377
+ /**
1378
+ * Configuration for tiered_package_with_minimum pricing
1379
+ */
1380
+ export interface TieredPackageWithMinimumConfig {
1381
+ /**
1382
+ * Package size
1383
+ */
1384
+ package_size: number;
1385
+
1386
+ /**
1387
+ * Apply tiered pricing after rounding up the quantity to the package size. Tiers
1388
+ * are defined using exclusive lower bounds.
1389
+ */
1390
+ tiers: Array<TieredPackageWithMinimumConfig.Tier>;
1391
+ }
1392
+
1393
+ export namespace TieredPackageWithMinimumConfig {
1394
+ /**
1395
+ * Configuration for a single tier
1396
+ */
1397
+ export interface Tier {
1398
+ /**
1399
+ * Minimum amount
1400
+ */
1401
+ minimum_amount: string;
1402
+
1403
+ /**
1404
+ * Price per package
1405
+ */
1406
+ per_unit: string;
1407
+
1408
+ /**
1409
+ * Tier lower bound
1410
+ */
1411
+ tier_lower_bound: string;
1412
+ }
1413
+ }
1414
+ }
1415
+
1416
+ export interface NewFloatingPackageWithAllocationPrice {
1168
1417
  /**
1169
1418
  * The cadence to bill for this price on.
1170
1419
  */
@@ -1180,14 +1429,20 @@ export declare namespace PriceCreateParams {
1180
1429
  */
1181
1430
  item_id: string;
1182
1431
 
1183
- model_type: 'tiered_package';
1432
+ /**
1433
+ * The pricing model type
1434
+ */
1435
+ model_type: 'package_with_allocation';
1184
1436
 
1185
1437
  /**
1186
1438
  * The name of the price.
1187
1439
  */
1188
1440
  name: string;
1189
1441
 
1190
- tiered_package_config: { [key: string]: unknown };
1442
+ /**
1443
+ * Configuration for package_with_allocation pricing
1444
+ */
1445
+ package_with_allocation_config: NewFloatingPackageWithAllocationPrice.PackageWithAllocationConfig;
1191
1446
 
1192
1447
  /**
1193
1448
  * The id of the billable metric for the price. Only needed if the price is
@@ -1252,7 +1507,29 @@ export declare namespace PriceCreateParams {
1252
1507
  metadata?: { [key: string]: string | null } | null;
1253
1508
  }
1254
1509
 
1255
- export interface NewFloatingGroupedTieredPrice {
1510
+ export namespace NewFloatingPackageWithAllocationPrice {
1511
+ /**
1512
+ * Configuration for package_with_allocation pricing
1513
+ */
1514
+ export interface PackageWithAllocationConfig {
1515
+ /**
1516
+ * Usage allocation
1517
+ */
1518
+ allocation: string;
1519
+
1520
+ /**
1521
+ * Price per package
1522
+ */
1523
+ package_amount: string;
1524
+
1525
+ /**
1526
+ * Package size
1527
+ */
1528
+ package_size: string;
1529
+ }
1530
+ }
1531
+
1532
+ export interface NewFloatingUnitWithPercentPrice {
1256
1533
  /**
1257
1534
  * The cadence to bill for this price on.
1258
1535
  */
@@ -1263,20 +1540,26 @@ export declare namespace PriceCreateParams {
1263
1540
  */
1264
1541
  currency: string;
1265
1542
 
1266
- grouped_tiered_config: { [key: string]: unknown };
1267
-
1268
1543
  /**
1269
1544
  * The id of the item the price will be associated with.
1270
1545
  */
1271
1546
  item_id: string;
1272
1547
 
1273
- model_type: 'grouped_tiered';
1548
+ /**
1549
+ * The pricing model type
1550
+ */
1551
+ model_type: 'unit_with_percent';
1274
1552
 
1275
1553
  /**
1276
1554
  * The name of the price.
1277
1555
  */
1278
1556
  name: string;
1279
1557
 
1558
+ /**
1559
+ * Configuration for unit_with_percent pricing
1560
+ */
1561
+ unit_with_percent_config: NewFloatingUnitWithPercentPrice.UnitWithPercentConfig;
1562
+
1280
1563
  /**
1281
1564
  * The id of the billable metric for the price. Only needed if the price is
1282
1565
  * usage-based.
@@ -1340,7 +1623,24 @@ export declare namespace PriceCreateParams {
1340
1623
  metadata?: { [key: string]: string | null } | null;
1341
1624
  }
1342
1625
 
1343
- export interface NewFloatingMaxGroupTieredPackagePrice {
1626
+ export namespace NewFloatingUnitWithPercentPrice {
1627
+ /**
1628
+ * Configuration for unit_with_percent pricing
1629
+ */
1630
+ export interface UnitWithPercentConfig {
1631
+ /**
1632
+ * What percent, out of 100, of the calculated total to charge
1633
+ */
1634
+ percent: string;
1635
+
1636
+ /**
1637
+ * Rate per unit of usage
1638
+ */
1639
+ unit_amount: string;
1640
+ }
1641
+ }
1642
+
1643
+ export interface NewFloatingMatrixWithAllocationPrice {
1344
1644
  /**
1345
1645
  * The cadence to bill for this price on.
1346
1646
  */
@@ -1356,9 +1656,15 @@ export declare namespace PriceCreateParams {
1356
1656
  */
1357
1657
  item_id: string;
1358
1658
 
1359
- max_group_tiered_package_config: { [key: string]: unknown };
1659
+ /**
1660
+ * Configuration for matrix_with_allocation pricing
1661
+ */
1662
+ matrix_with_allocation_config: Shared.MatrixWithAllocationConfig;
1360
1663
 
1361
- model_type: 'max_group_tiered_package';
1664
+ /**
1665
+ * The pricing model type
1666
+ */
1667
+ model_type: 'matrix_with_allocation';
1362
1668
 
1363
1669
  /**
1364
1670
  * The name of the price.
@@ -1428,7 +1734,7 @@ export declare namespace PriceCreateParams {
1428
1734
  metadata?: { [key: string]: string | null } | null;
1429
1735
  }
1430
1736
 
1431
- export interface NewFloatingTieredWithMinimumPrice {
1737
+ export interface NewFloatingTieredWithProrationPrice {
1432
1738
  /**
1433
1739
  * The cadence to bill for this price on.
1434
1740
  */
@@ -1444,14 +1750,20 @@ export declare namespace PriceCreateParams {
1444
1750
  */
1445
1751
  item_id: string;
1446
1752
 
1447
- model_type: 'tiered_with_minimum';
1753
+ /**
1754
+ * The pricing model type
1755
+ */
1756
+ model_type: 'tiered_with_proration';
1448
1757
 
1449
1758
  /**
1450
1759
  * The name of the price.
1451
1760
  */
1452
1761
  name: string;
1453
1762
 
1454
- tiered_with_minimum_config: { [key: string]: unknown };
1763
+ /**
1764
+ * Configuration for tiered_with_proration pricing
1765
+ */
1766
+ tiered_with_proration_config: NewFloatingTieredWithProrationPrice.TieredWithProrationConfig;
1455
1767
 
1456
1768
  /**
1457
1769
  * The id of the billable metric for the price. Only needed if the price is
@@ -1516,7 +1828,37 @@ export declare namespace PriceCreateParams {
1516
1828
  metadata?: { [key: string]: string | null } | null;
1517
1829
  }
1518
1830
 
1519
- export interface NewFloatingPackageWithAllocationPrice {
1831
+ export namespace NewFloatingTieredWithProrationPrice {
1832
+ /**
1833
+ * Configuration for tiered_with_proration pricing
1834
+ */
1835
+ export interface TieredWithProrationConfig {
1836
+ /**
1837
+ * Tiers for rating based on total usage quantities into the specified tier with
1838
+ * proration
1839
+ */
1840
+ tiers: Array<TieredWithProrationConfig.Tier>;
1841
+ }
1842
+
1843
+ export namespace TieredWithProrationConfig {
1844
+ /**
1845
+ * Configuration for a single tiered with proration tier
1846
+ */
1847
+ export interface Tier {
1848
+ /**
1849
+ * Inclusive tier starting value
1850
+ */
1851
+ tier_lower_bound: string;
1852
+
1853
+ /**
1854
+ * Amount per unit
1855
+ */
1856
+ unit_amount: string;
1857
+ }
1858
+ }
1859
+ }
1860
+
1861
+ export interface NewFloatingUnitWithProrationPrice {
1520
1862
  /**
1521
1863
  * The cadence to bill for this price on.
1522
1864
  */
@@ -1532,14 +1874,20 @@ export declare namespace PriceCreateParams {
1532
1874
  */
1533
1875
  item_id: string;
1534
1876
 
1535
- model_type: 'package_with_allocation';
1877
+ /**
1878
+ * The pricing model type
1879
+ */
1880
+ model_type: 'unit_with_proration';
1536
1881
 
1537
1882
  /**
1538
1883
  * The name of the price.
1539
1884
  */
1540
1885
  name: string;
1541
1886
 
1542
- package_with_allocation_config: { [key: string]: unknown };
1887
+ /**
1888
+ * Configuration for unit_with_proration pricing
1889
+ */
1890
+ unit_with_proration_config: NewFloatingUnitWithProrationPrice.UnitWithProrationConfig;
1543
1891
 
1544
1892
  /**
1545
1893
  * The id of the billable metric for the price. Only needed if the price is
@@ -1604,7 +1952,19 @@ export declare namespace PriceCreateParams {
1604
1952
  metadata?: { [key: string]: string | null } | null;
1605
1953
  }
1606
1954
 
1607
- export interface NewFloatingTieredPackageWithMinimumPrice {
1955
+ export namespace NewFloatingUnitWithProrationPrice {
1956
+ /**
1957
+ * Configuration for unit_with_proration pricing
1958
+ */
1959
+ export interface UnitWithProrationConfig {
1960
+ /**
1961
+ * Rate per unit of usage
1962
+ */
1963
+ unit_amount: string;
1964
+ }
1965
+ }
1966
+
1967
+ export interface NewFloatingGroupedAllocationPrice {
1608
1968
  /**
1609
1969
  * The cadence to bill for this price on.
1610
1970
  */
@@ -1615,20 +1975,26 @@ export declare namespace PriceCreateParams {
1615
1975
  */
1616
1976
  currency: string;
1617
1977
 
1978
+ /**
1979
+ * Configuration for grouped_allocation pricing
1980
+ */
1981
+ grouped_allocation_config: NewFloatingGroupedAllocationPrice.GroupedAllocationConfig;
1982
+
1618
1983
  /**
1619
1984
  * The id of the item the price will be associated with.
1620
1985
  */
1621
1986
  item_id: string;
1622
1987
 
1623
- model_type: 'tiered_package_with_minimum';
1988
+ /**
1989
+ * The pricing model type
1990
+ */
1991
+ model_type: 'grouped_allocation';
1624
1992
 
1625
1993
  /**
1626
1994
  * The name of the price.
1627
1995
  */
1628
1996
  name: string;
1629
1997
 
1630
- tiered_package_with_minimum_config: { [key: string]: unknown };
1631
-
1632
1998
  /**
1633
1999
  * The id of the billable metric for the price. Only needed if the price is
1634
2000
  * usage-based.
@@ -1692,7 +2058,34 @@ export declare namespace PriceCreateParams {
1692
2058
  metadata?: { [key: string]: string | null } | null;
1693
2059
  }
1694
2060
 
1695
- export interface NewFloatingUnitWithPercentPrice {
2061
+ export namespace NewFloatingGroupedAllocationPrice {
2062
+ /**
2063
+ * Configuration for grouped_allocation pricing
2064
+ */
2065
+ export interface GroupedAllocationConfig {
2066
+ /**
2067
+ * Usage allocation per group
2068
+ */
2069
+ allocation: string;
2070
+
2071
+ /**
2072
+ * How to determine the groups that should each be allocated some quantity
2073
+ */
2074
+ grouping_key: string;
2075
+
2076
+ /**
2077
+ * Unit rate for post-allocation
2078
+ */
2079
+ overage_unit_rate: string;
2080
+ }
2081
+ }
2082
+
2083
+ export interface NewFloatingBulkWithProrationPrice {
2084
+ /**
2085
+ * Configuration for bulk_with_proration pricing
2086
+ */
2087
+ bulk_with_proration_config: NewFloatingBulkWithProrationPrice.BulkWithProrationConfig;
2088
+
1696
2089
  /**
1697
2090
  * The cadence to bill for this price on.
1698
2091
  */
@@ -1708,15 +2101,16 @@ export declare namespace PriceCreateParams {
1708
2101
  */
1709
2102
  item_id: string;
1710
2103
 
1711
- model_type: 'unit_with_percent';
2104
+ /**
2105
+ * The pricing model type
2106
+ */
2107
+ model_type: 'bulk_with_proration';
1712
2108
 
1713
2109
  /**
1714
2110
  * The name of the price.
1715
2111
  */
1716
2112
  name: string;
1717
2113
 
1718
- unit_with_percent_config: { [key: string]: unknown };
1719
-
1720
2114
  /**
1721
2115
  * The id of the billable metric for the price. Only needed if the price is
1722
2116
  * usage-based.
@@ -1780,7 +2174,36 @@ export declare namespace PriceCreateParams {
1780
2174
  metadata?: { [key: string]: string | null } | null;
1781
2175
  }
1782
2176
 
1783
- export interface NewFloatingTieredWithProrationPrice {
2177
+ export namespace NewFloatingBulkWithProrationPrice {
2178
+ /**
2179
+ * Configuration for bulk_with_proration pricing
2180
+ */
2181
+ export interface BulkWithProrationConfig {
2182
+ /**
2183
+ * Bulk tiers for rating based on total usage volume
2184
+ */
2185
+ tiers: Array<BulkWithProrationConfig.Tier>;
2186
+ }
2187
+
2188
+ export namespace BulkWithProrationConfig {
2189
+ /**
2190
+ * Configuration for a single bulk pricing tier with proration
2191
+ */
2192
+ export interface Tier {
2193
+ /**
2194
+ * Cost per unit
2195
+ */
2196
+ unit_amount: string;
2197
+
2198
+ /**
2199
+ * The lower bound for this tier
2200
+ */
2201
+ tier_lower_bound?: string | null;
2202
+ }
2203
+ }
2204
+ }
2205
+
2206
+ export interface NewFloatingGroupedWithProratedMinimumPrice {
1784
2207
  /**
1785
2208
  * The cadence to bill for this price on.
1786
2209
  */
@@ -1791,20 +2214,26 @@ export declare namespace PriceCreateParams {
1791
2214
  */
1792
2215
  currency: string;
1793
2216
 
2217
+ /**
2218
+ * Configuration for grouped_with_prorated_minimum pricing
2219
+ */
2220
+ grouped_with_prorated_minimum_config: NewFloatingGroupedWithProratedMinimumPrice.GroupedWithProratedMinimumConfig;
2221
+
1794
2222
  /**
1795
2223
  * The id of the item the price will be associated with.
1796
2224
  */
1797
2225
  item_id: string;
1798
2226
 
1799
- model_type: 'tiered_with_proration';
2227
+ /**
2228
+ * The pricing model type
2229
+ */
2230
+ model_type: 'grouped_with_prorated_minimum';
1800
2231
 
1801
2232
  /**
1802
2233
  * The name of the price.
1803
2234
  */
1804
2235
  name: string;
1805
2236
 
1806
- tiered_with_proration_config: { [key: string]: unknown };
1807
-
1808
2237
  /**
1809
2238
  * The id of the billable metric for the price. Only needed if the price is
1810
2239
  * usage-based.
@@ -1868,31 +2297,59 @@ export declare namespace PriceCreateParams {
1868
2297
  metadata?: { [key: string]: string | null } | null;
1869
2298
  }
1870
2299
 
1871
- export interface NewFloatingUnitWithProrationPrice {
2300
+ export namespace NewFloatingGroupedWithProratedMinimumPrice {
1872
2301
  /**
1873
- * The cadence to bill for this price on.
2302
+ * Configuration for grouped_with_prorated_minimum pricing
1874
2303
  */
1875
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2304
+ export interface GroupedWithProratedMinimumConfig {
2305
+ /**
2306
+ * How to determine the groups that should each have a minimum
2307
+ */
2308
+ grouping_key: string;
1876
2309
 
1877
- /**
2310
+ /**
2311
+ * The minimum amount to charge per group
2312
+ */
2313
+ minimum: string;
2314
+
2315
+ /**
2316
+ * The amount to charge per unit
2317
+ */
2318
+ unit_rate: string;
2319
+ }
2320
+ }
2321
+
2322
+ export interface NewFloatingGroupedWithMeteredMinimumPrice {
2323
+ /**
2324
+ * The cadence to bill for this price on.
2325
+ */
2326
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2327
+
2328
+ /**
1878
2329
  * An ISO 4217 currency string for which this price is billed in.
1879
2330
  */
1880
2331
  currency: string;
1881
2332
 
2333
+ /**
2334
+ * Configuration for grouped_with_metered_minimum pricing
2335
+ */
2336
+ grouped_with_metered_minimum_config: NewFloatingGroupedWithMeteredMinimumPrice.GroupedWithMeteredMinimumConfig;
2337
+
1882
2338
  /**
1883
2339
  * The id of the item the price will be associated with.
1884
2340
  */
1885
2341
  item_id: string;
1886
2342
 
1887
- model_type: 'unit_with_proration';
2343
+ /**
2344
+ * The pricing model type
2345
+ */
2346
+ model_type: 'grouped_with_metered_minimum';
1888
2347
 
1889
2348
  /**
1890
2349
  * The name of the price.
1891
2350
  */
1892
2351
  name: string;
1893
2352
 
1894
- unit_with_proration_config: { [key: string]: unknown };
1895
-
1896
2353
  /**
1897
2354
  * The id of the billable metric for the price. Only needed if the price is
1898
2355
  * usage-based.
@@ -1956,7 +2413,78 @@ export declare namespace PriceCreateParams {
1956
2413
  metadata?: { [key: string]: string | null } | null;
1957
2414
  }
1958
2415
 
1959
- export interface NewFloatingGroupedAllocationPrice {
2416
+ export namespace NewFloatingGroupedWithMeteredMinimumPrice {
2417
+ /**
2418
+ * Configuration for grouped_with_metered_minimum pricing
2419
+ */
2420
+ export interface GroupedWithMeteredMinimumConfig {
2421
+ /**
2422
+ * Used to partition the usage into groups. The minimum amount is applied to each
2423
+ * group.
2424
+ */
2425
+ grouping_key: string;
2426
+
2427
+ /**
2428
+ * The minimum amount to charge per group per unit
2429
+ */
2430
+ minimum_unit_amount: string;
2431
+
2432
+ /**
2433
+ * Used to determine the unit rate
2434
+ */
2435
+ pricing_key: string;
2436
+
2437
+ /**
2438
+ * Scale the unit rates by the scaling factor.
2439
+ */
2440
+ scaling_factors: Array<GroupedWithMeteredMinimumConfig.ScalingFactor>;
2441
+
2442
+ /**
2443
+ * Used to determine the unit rate scaling factor
2444
+ */
2445
+ scaling_key: string;
2446
+
2447
+ /**
2448
+ * Apply per unit pricing to each pricing value. The minimum amount is applied any
2449
+ * unmatched usage.
2450
+ */
2451
+ unit_amounts: Array<GroupedWithMeteredMinimumConfig.UnitAmount>;
2452
+ }
2453
+
2454
+ export namespace GroupedWithMeteredMinimumConfig {
2455
+ /**
2456
+ * Configuration for a scaling factor
2457
+ */
2458
+ export interface ScalingFactor {
2459
+ /**
2460
+ * Scaling factor
2461
+ */
2462
+ scaling_factor: string;
2463
+
2464
+ /**
2465
+ * Scaling value
2466
+ */
2467
+ scaling_value: string;
2468
+ }
2469
+
2470
+ /**
2471
+ * Configuration for a unit amount
2472
+ */
2473
+ export interface UnitAmount {
2474
+ /**
2475
+ * Pricing value
2476
+ */
2477
+ pricing_value: string;
2478
+
2479
+ /**
2480
+ * Per unit amount
2481
+ */
2482
+ unit_amount: string;
2483
+ }
2484
+ }
2485
+ }
2486
+
2487
+ export interface NewFloatingGroupedWithMinMaxThresholdsPrice {
1960
2488
  /**
1961
2489
  * The cadence to bill for this price on.
1962
2490
  */
@@ -1967,14 +2495,20 @@ export declare namespace PriceCreateParams {
1967
2495
  */
1968
2496
  currency: string;
1969
2497
 
1970
- grouped_allocation_config: { [key: string]: unknown };
2498
+ /**
2499
+ * Configuration for grouped_with_min_max_thresholds pricing
2500
+ */
2501
+ grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
1971
2502
 
1972
2503
  /**
1973
2504
  * The id of the item the price will be associated with.
1974
2505
  */
1975
2506
  item_id: string;
1976
2507
 
1977
- model_type: 'grouped_allocation';
2508
+ /**
2509
+ * The pricing model type
2510
+ */
2511
+ model_type: 'grouped_with_min_max_thresholds';
1978
2512
 
1979
2513
  /**
1980
2514
  * The name of the price.
@@ -2044,7 +2578,34 @@ export declare namespace PriceCreateParams {
2044
2578
  metadata?: { [key: string]: string | null } | null;
2045
2579
  }
2046
2580
 
2047
- export interface NewFloatingGroupedWithProratedMinimumPrice {
2581
+ export namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
2582
+ /**
2583
+ * Configuration for grouped_with_min_max_thresholds pricing
2584
+ */
2585
+ export interface GroupedWithMinMaxThresholdsConfig {
2586
+ /**
2587
+ * The event property used to group before applying thresholds
2588
+ */
2589
+ grouping_key: string;
2590
+
2591
+ /**
2592
+ * The maximum amount to charge each group
2593
+ */
2594
+ maximum_charge: string;
2595
+
2596
+ /**
2597
+ * The minimum amount to charge each group, regardless of usage
2598
+ */
2599
+ minimum_charge: string;
2600
+
2601
+ /**
2602
+ * The base price charged per group
2603
+ */
2604
+ per_unit_rate: string;
2605
+ }
2606
+ }
2607
+
2608
+ export interface NewFloatingMatrixWithDisplayNamePrice {
2048
2609
  /**
2049
2610
  * The cadence to bill for this price on.
2050
2611
  */
@@ -2055,14 +2616,20 @@ export declare namespace PriceCreateParams {
2055
2616
  */
2056
2617
  currency: string;
2057
2618
 
2058
- grouped_with_prorated_minimum_config: { [key: string]: unknown };
2059
-
2060
2619
  /**
2061
2620
  * The id of the item the price will be associated with.
2062
2621
  */
2063
2622
  item_id: string;
2064
2623
 
2065
- model_type: 'grouped_with_prorated_minimum';
2624
+ /**
2625
+ * Configuration for matrix_with_display_name pricing
2626
+ */
2627
+ matrix_with_display_name_config: NewFloatingMatrixWithDisplayNamePrice.MatrixWithDisplayNameConfig;
2628
+
2629
+ /**
2630
+ * The pricing model type
2631
+ */
2632
+ model_type: 'matrix_with_display_name';
2066
2633
 
2067
2634
  /**
2068
2635
  * The name of the price.
@@ -2132,7 +2699,46 @@ export declare namespace PriceCreateParams {
2132
2699
  metadata?: { [key: string]: string | null } | null;
2133
2700
  }
2134
2701
 
2135
- export interface NewFloatingGroupedWithMeteredMinimumPrice {
2702
+ export namespace NewFloatingMatrixWithDisplayNamePrice {
2703
+ /**
2704
+ * Configuration for matrix_with_display_name pricing
2705
+ */
2706
+ export interface MatrixWithDisplayNameConfig {
2707
+ /**
2708
+ * Used to determine the unit rate
2709
+ */
2710
+ dimension: string;
2711
+
2712
+ /**
2713
+ * Apply per unit pricing to each dimension value
2714
+ */
2715
+ unit_amounts: Array<MatrixWithDisplayNameConfig.UnitAmount>;
2716
+ }
2717
+
2718
+ export namespace MatrixWithDisplayNameConfig {
2719
+ /**
2720
+ * Configuration for a unit amount item
2721
+ */
2722
+ export interface UnitAmount {
2723
+ /**
2724
+ * The dimension value
2725
+ */
2726
+ dimension_value: string;
2727
+
2728
+ /**
2729
+ * Display name for this dimension value
2730
+ */
2731
+ display_name: string;
2732
+
2733
+ /**
2734
+ * Per unit amount
2735
+ */
2736
+ unit_amount: string;
2737
+ }
2738
+ }
2739
+ }
2740
+
2741
+ export interface NewFloatingGroupedTieredPackagePrice {
2136
2742
  /**
2137
2743
  * The cadence to bill for this price on.
2138
2744
  */
@@ -2143,14 +2749,20 @@ export declare namespace PriceCreateParams {
2143
2749
  */
2144
2750
  currency: string;
2145
2751
 
2146
- grouped_with_metered_minimum_config: { [key: string]: unknown };
2752
+ /**
2753
+ * Configuration for grouped_tiered_package pricing
2754
+ */
2755
+ grouped_tiered_package_config: NewFloatingGroupedTieredPackagePrice.GroupedTieredPackageConfig;
2147
2756
 
2148
2757
  /**
2149
2758
  * The id of the item the price will be associated with.
2150
2759
  */
2151
2760
  item_id: string;
2152
2761
 
2153
- model_type: 'grouped_with_metered_minimum';
2762
+ /**
2763
+ * The pricing model type
2764
+ */
2765
+ model_type: 'grouped_tiered_package';
2154
2766
 
2155
2767
  /**
2156
2768
  * The name of the price.
@@ -2220,7 +2832,47 @@ export declare namespace PriceCreateParams {
2220
2832
  metadata?: { [key: string]: string | null } | null;
2221
2833
  }
2222
2834
 
2223
- export interface NewFloatingMatrixWithDisplayNamePrice {
2835
+ export namespace NewFloatingGroupedTieredPackagePrice {
2836
+ /**
2837
+ * Configuration for grouped_tiered_package pricing
2838
+ */
2839
+ export interface GroupedTieredPackageConfig {
2840
+ /**
2841
+ * The event property used to group before tiering
2842
+ */
2843
+ grouping_key: string;
2844
+
2845
+ /**
2846
+ * Package size
2847
+ */
2848
+ package_size: string;
2849
+
2850
+ /**
2851
+ * Apply tiered pricing after rounding up the quantity to the package size. Tiers
2852
+ * are defined using exclusive lower bounds.
2853
+ */
2854
+ tiers: Array<GroupedTieredPackageConfig.Tier>;
2855
+ }
2856
+
2857
+ export namespace GroupedTieredPackageConfig {
2858
+ /**
2859
+ * Configuration for a single tier
2860
+ */
2861
+ export interface Tier {
2862
+ /**
2863
+ * Price per package
2864
+ */
2865
+ per_unit: string;
2866
+
2867
+ /**
2868
+ * Tier lower bound
2869
+ */
2870
+ tier_lower_bound: string;
2871
+ }
2872
+ }
2873
+ }
2874
+
2875
+ export interface NewFloatingMaxGroupTieredPackagePrice {
2224
2876
  /**
2225
2877
  * The cadence to bill for this price on.
2226
2878
  */
@@ -2236,9 +2888,15 @@ export declare namespace PriceCreateParams {
2236
2888
  */
2237
2889
  item_id: string;
2238
2890
 
2239
- matrix_with_display_name_config: { [key: string]: unknown };
2891
+ /**
2892
+ * Configuration for max_group_tiered_package pricing
2893
+ */
2894
+ max_group_tiered_package_config: NewFloatingMaxGroupTieredPackagePrice.MaxGroupTieredPackageConfig;
2240
2895
 
2241
- model_type: 'matrix_with_display_name';
2896
+ /**
2897
+ * The pricing model type
2898
+ */
2899
+ model_type: 'max_group_tiered_package';
2242
2900
 
2243
2901
  /**
2244
2902
  * The name of the price.
@@ -2308,9 +2966,46 @@ export declare namespace PriceCreateParams {
2308
2966
  metadata?: { [key: string]: string | null } | null;
2309
2967
  }
2310
2968
 
2311
- export interface NewFloatingBulkWithProrationPrice {
2312
- bulk_with_proration_config: { [key: string]: unknown };
2969
+ export namespace NewFloatingMaxGroupTieredPackagePrice {
2970
+ /**
2971
+ * Configuration for max_group_tiered_package pricing
2972
+ */
2973
+ export interface MaxGroupTieredPackageConfig {
2974
+ /**
2975
+ * The event property used to group before tiering the group with the highest value
2976
+ */
2977
+ grouping_key: string;
2313
2978
 
2979
+ /**
2980
+ * Package size
2981
+ */
2982
+ package_size: string;
2983
+
2984
+ /**
2985
+ * Apply tiered pricing to the largest group after grouping with the provided key.
2986
+ */
2987
+ tiers: Array<MaxGroupTieredPackageConfig.Tier>;
2988
+ }
2989
+
2990
+ export namespace MaxGroupTieredPackageConfig {
2991
+ /**
2992
+ * Configuration for a single tier
2993
+ */
2994
+ export interface Tier {
2995
+ /**
2996
+ * Tier lower bound
2997
+ */
2998
+ tier_lower_bound: string;
2999
+
3000
+ /**
3001
+ * Per unit amount
3002
+ */
3003
+ unit_amount: string;
3004
+ }
3005
+ }
3006
+ }
3007
+
3008
+ export interface NewFloatingScalableMatrixWithUnitPricingPrice {
2314
3009
  /**
2315
3010
  * The cadence to bill for this price on.
2316
3011
  */
@@ -2326,13 +3021,21 @@ export declare namespace PriceCreateParams {
2326
3021
  */
2327
3022
  item_id: string;
2328
3023
 
2329
- model_type: 'bulk_with_proration';
3024
+ /**
3025
+ * The pricing model type
3026
+ */
3027
+ model_type: 'scalable_matrix_with_unit_pricing';
2330
3028
 
2331
3029
  /**
2332
3030
  * The name of the price.
2333
3031
  */
2334
3032
  name: string;
2335
3033
 
3034
+ /**
3035
+ * Configuration for scalable_matrix_with_unit_pricing pricing
3036
+ */
3037
+ scalable_matrix_with_unit_pricing_config: NewFloatingScalableMatrixWithUnitPricingPrice.ScalableMatrixWithUnitPricingConfig;
3038
+
2336
3039
  /**
2337
3040
  * The id of the billable metric for the price. Only needed if the price is
2338
3041
  * usage-based.
@@ -2396,95 +3099,61 @@ export declare namespace PriceCreateParams {
2396
3099
  metadata?: { [key: string]: string | null } | null;
2397
3100
  }
2398
3101
 
2399
- export interface NewFloatingGroupedTieredPackagePrice {
2400
- /**
2401
- * The cadence to bill for this price on.
2402
- */
2403
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2404
-
2405
- /**
2406
- * An ISO 4217 currency string for which this price is billed in.
2407
- */
2408
- currency: string;
2409
-
2410
- grouped_tiered_package_config: { [key: string]: unknown };
2411
-
2412
- /**
2413
- * The id of the item the price will be associated with.
2414
- */
2415
- item_id: string;
2416
-
2417
- model_type: 'grouped_tiered_package';
2418
-
2419
- /**
2420
- * The name of the price.
2421
- */
2422
- name: string;
2423
-
2424
- /**
2425
- * The id of the billable metric for the price. Only needed if the price is
2426
- * usage-based.
2427
- */
2428
- billable_metric_id?: string | null;
2429
-
2430
- /**
2431
- * If the Price represents a fixed cost, the price will be billed in-advance if
2432
- * this is true, and in-arrears if this is false.
2433
- */
2434
- billed_in_advance?: boolean | null;
2435
-
2436
- /**
2437
- * For custom cadence: specifies the duration of the billing period in days or
2438
- * months.
2439
- */
2440
- billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
2441
-
2442
- /**
2443
- * The per unit conversion rate of the price currency to the invoicing currency.
2444
- */
2445
- conversion_rate?: number | null;
2446
-
2447
- /**
2448
- * The configuration for the rate of the price currency to the invoicing currency.
2449
- */
2450
- conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
2451
-
3102
+ export namespace NewFloatingScalableMatrixWithUnitPricingPrice {
2452
3103
  /**
2453
- * For dimensional price: specifies a price group and dimension values
3104
+ * Configuration for scalable_matrix_with_unit_pricing pricing
2454
3105
  */
2455
- dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
3106
+ export interface ScalableMatrixWithUnitPricingConfig {
3107
+ /**
3108
+ * Used to determine the unit rate
3109
+ */
3110
+ first_dimension: string;
2456
3111
 
2457
- /**
2458
- * An alias for the price.
2459
- */
2460
- external_price_id?: string | null;
3112
+ /**
3113
+ * Apply a scaling factor to each dimension
3114
+ */
3115
+ matrix_scaling_factors: Array<ScalableMatrixWithUnitPricingConfig.MatrixScalingFactor>;
2461
3116
 
2462
- /**
2463
- * If the Price represents a fixed cost, this represents the quantity of units
2464
- * applied.
2465
- */
2466
- fixed_price_quantity?: number | null;
3117
+ /**
3118
+ * The final unit price to rate against the output of the matrix
3119
+ */
3120
+ unit_price: string;
2467
3121
 
2468
- /**
2469
- * The property used to group this price on an invoice
2470
- */
2471
- invoice_grouping_key?: string | null;
3122
+ /**
3123
+ * If true, the unit price will be prorated to the billing period
3124
+ */
3125
+ prorate?: boolean | null;
2472
3126
 
2473
- /**
2474
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2475
- * If unspecified, a single invoice is produced per billing cycle.
2476
- */
2477
- invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3127
+ /**
3128
+ * Used to determine the unit rate (optional)
3129
+ */
3130
+ second_dimension?: string | null;
3131
+ }
2478
3132
 
2479
- /**
2480
- * User-specified key/value pairs for the resource. Individual keys can be removed
2481
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2482
- * by setting `metadata` to `null`.
2483
- */
2484
- metadata?: { [key: string]: string | null } | null;
3133
+ export namespace ScalableMatrixWithUnitPricingConfig {
3134
+ /**
3135
+ * Configuration for a single matrix scaling factor
3136
+ */
3137
+ export interface MatrixScalingFactor {
3138
+ /**
3139
+ * First dimension value
3140
+ */
3141
+ first_dimension_value: string;
3142
+
3143
+ /**
3144
+ * Scaling factor
3145
+ */
3146
+ scaling_factor: string;
3147
+
3148
+ /**
3149
+ * Second dimension value (optional)
3150
+ */
3151
+ second_dimension_value?: string | null;
3152
+ }
3153
+ }
2485
3154
  }
2486
3155
 
2487
- export interface NewFloatingScalableMatrixWithUnitPricingPrice {
3156
+ export interface NewFloatingScalableMatrixWithTieredPricingPrice {
2488
3157
  /**
2489
3158
  * The cadence to bill for this price on.
2490
3159
  */
@@ -2500,14 +3169,20 @@ export declare namespace PriceCreateParams {
2500
3169
  */
2501
3170
  item_id: string;
2502
3171
 
2503
- model_type: 'scalable_matrix_with_unit_pricing';
3172
+ /**
3173
+ * The pricing model type
3174
+ */
3175
+ model_type: 'scalable_matrix_with_tiered_pricing';
2504
3176
 
2505
3177
  /**
2506
3178
  * The name of the price.
2507
3179
  */
2508
3180
  name: string;
2509
3181
 
2510
- scalable_matrix_with_unit_pricing_config: { [key: string]: unknown };
3182
+ /**
3183
+ * Configuration for scalable_matrix_with_tiered_pricing pricing
3184
+ */
3185
+ scalable_matrix_with_tiered_pricing_config: NewFloatingScalableMatrixWithTieredPricingPrice.ScalableMatrixWithTieredPricingConfig;
2511
3186
 
2512
3187
  /**
2513
3188
  * The id of the billable metric for the price. Only needed if the price is
@@ -2572,12 +3247,81 @@ export declare namespace PriceCreateParams {
2572
3247
  metadata?: { [key: string]: string | null } | null;
2573
3248
  }
2574
3249
 
2575
- export interface NewFloatingScalableMatrixWithTieredPricingPrice {
3250
+ export namespace NewFloatingScalableMatrixWithTieredPricingPrice {
3251
+ /**
3252
+ * Configuration for scalable_matrix_with_tiered_pricing pricing
3253
+ */
3254
+ export interface ScalableMatrixWithTieredPricingConfig {
3255
+ /**
3256
+ * Used for the scalable matrix first dimension
3257
+ */
3258
+ first_dimension: string;
3259
+
3260
+ /**
3261
+ * Apply a scaling factor to each dimension
3262
+ */
3263
+ matrix_scaling_factors: Array<ScalableMatrixWithTieredPricingConfig.MatrixScalingFactor>;
3264
+
3265
+ /**
3266
+ * Tier pricing structure
3267
+ */
3268
+ tiers: Array<ScalableMatrixWithTieredPricingConfig.Tier>;
3269
+
3270
+ /**
3271
+ * Used for the scalable matrix second dimension (optional)
3272
+ */
3273
+ second_dimension?: string | null;
3274
+ }
3275
+
3276
+ export namespace ScalableMatrixWithTieredPricingConfig {
3277
+ /**
3278
+ * Configuration for a single matrix scaling factor
3279
+ */
3280
+ export interface MatrixScalingFactor {
3281
+ /**
3282
+ * First dimension value
3283
+ */
3284
+ first_dimension_value: string;
3285
+
3286
+ /**
3287
+ * Scaling factor
3288
+ */
3289
+ scaling_factor: string;
3290
+
3291
+ /**
3292
+ * Second dimension value (optional)
3293
+ */
3294
+ second_dimension_value?: string | null;
3295
+ }
3296
+
3297
+ /**
3298
+ * Configuration for a single tier entry with business logic
3299
+ */
3300
+ export interface Tier {
3301
+ /**
3302
+ * Tier lower bound
3303
+ */
3304
+ tier_lower_bound: string;
3305
+
3306
+ /**
3307
+ * Per unit amount
3308
+ */
3309
+ unit_amount: string;
3310
+ }
3311
+ }
3312
+ }
3313
+
3314
+ export interface NewFloatingCumulativeGroupedBulkPrice {
2576
3315
  /**
2577
3316
  * The cadence to bill for this price on.
2578
3317
  */
2579
3318
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2580
3319
 
3320
+ /**
3321
+ * Configuration for cumulative_grouped_bulk pricing
3322
+ */
3323
+ cumulative_grouped_bulk_config: NewFloatingCumulativeGroupedBulkPrice.CumulativeGroupedBulkConfig;
3324
+
2581
3325
  /**
2582
3326
  * An ISO 4217 currency string for which this price is billed in.
2583
3327
  */
@@ -2588,15 +3332,16 @@ export declare namespace PriceCreateParams {
2588
3332
  */
2589
3333
  item_id: string;
2590
3334
 
2591
- model_type: 'scalable_matrix_with_tiered_pricing';
3335
+ /**
3336
+ * The pricing model type
3337
+ */
3338
+ model_type: 'cumulative_grouped_bulk';
2592
3339
 
2593
3340
  /**
2594
3341
  * The name of the price.
2595
3342
  */
2596
3343
  name: string;
2597
3344
 
2598
- scalable_matrix_with_tiered_pricing_config: { [key: string]: unknown };
2599
-
2600
3345
  /**
2601
3346
  * The id of the billable metric for the price. Only needed if the price is
2602
3347
  * usage-based.
@@ -2660,14 +3405,51 @@ export declare namespace PriceCreateParams {
2660
3405
  metadata?: { [key: string]: string | null } | null;
2661
3406
  }
2662
3407
 
2663
- export interface NewFloatingCumulativeGroupedBulkPrice {
3408
+ export namespace NewFloatingCumulativeGroupedBulkPrice {
3409
+ /**
3410
+ * Configuration for cumulative_grouped_bulk pricing
3411
+ */
3412
+ export interface CumulativeGroupedBulkConfig {
3413
+ /**
3414
+ * Each tier lower bound must have the same group of values.
3415
+ */
3416
+ dimension_values: Array<CumulativeGroupedBulkConfig.DimensionValue>;
3417
+
3418
+ /**
3419
+ * Grouping key name
3420
+ */
3421
+ group: string;
3422
+ }
3423
+
3424
+ export namespace CumulativeGroupedBulkConfig {
3425
+ /**
3426
+ * Configuration for a dimension value entry
3427
+ */
3428
+ export interface DimensionValue {
3429
+ /**
3430
+ * Grouping key value
3431
+ */
3432
+ grouping_key: string;
3433
+
3434
+ /**
3435
+ * Tier lower bound
3436
+ */
3437
+ tier_lower_bound: string;
3438
+
3439
+ /**
3440
+ * Unit amount for this combination
3441
+ */
3442
+ unit_amount: string;
3443
+ }
3444
+ }
3445
+ }
3446
+
3447
+ export interface NewFloatingMinimumCompositePrice {
2664
3448
  /**
2665
3449
  * The cadence to bill for this price on.
2666
3450
  */
2667
3451
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2668
3452
 
2669
- cumulative_grouped_bulk_config: { [key: string]: unknown };
2670
-
2671
3453
  /**
2672
3454
  * An ISO 4217 currency string for which this price is billed in.
2673
3455
  */
@@ -2678,7 +3460,15 @@ export declare namespace PriceCreateParams {
2678
3460
  */
2679
3461
  item_id: string;
2680
3462
 
2681
- model_type: 'cumulative_grouped_bulk';
3463
+ /**
3464
+ * Configuration for minimum pricing
3465
+ */
3466
+ minimum_config: NewFloatingMinimumCompositePrice.MinimumConfig;
3467
+
3468
+ /**
3469
+ * The pricing model type
3470
+ */
3471
+ model_type: 'minimum';
2682
3472
 
2683
3473
  /**
2684
3474
  * The name of the price.
@@ -2747,6 +3537,23 @@ export declare namespace PriceCreateParams {
2747
3537
  */
2748
3538
  metadata?: { [key: string]: string | null } | null;
2749
3539
  }
3540
+
3541
+ export namespace NewFloatingMinimumCompositePrice {
3542
+ /**
3543
+ * Configuration for minimum pricing
3544
+ */
3545
+ export interface MinimumConfig {
3546
+ /**
3547
+ * The minimum amount to apply
3548
+ */
3549
+ minimum_amount: string;
3550
+
3551
+ /**
3552
+ * If true, subtotals from this price are prorated based on the service period
3553
+ */
3554
+ prorated?: boolean;
3555
+ }
3556
+ }
2750
3557
  }
2751
3558
 
2752
3559
  export interface PriceUpdateParams {
@@ -2845,38 +3652,36 @@ export namespace PriceEvaluateMultipleParams {
2845
3652
  grouping_keys?: Array<string>;
2846
3653
 
2847
3654
  /**
2848
- * An inline price definition to evaluate, allowing you to test price
2849
- * configurations before adding them to Orb.
3655
+ * New floating price request body params.
2850
3656
  */
2851
3657
  price?:
2852
3658
  | Shared.NewFloatingUnitPrice
2853
- | Shared.NewFloatingPackagePrice
2854
- | Shared.NewFloatingMatrixPrice
2855
- | Shared.NewFloatingMatrixWithAllocationPrice
2856
3659
  | Shared.NewFloatingTieredPrice
2857
- | Shared.NewFloatingTieredBPSPrice
2858
- | Shared.NewFloatingBPSPrice
2859
- | Shared.NewFloatingBulkBPSPrice
2860
3660
  | Shared.NewFloatingBulkPrice
3661
+ | Shared.NewFloatingPackagePrice
3662
+ | Shared.NewFloatingMatrixPrice
2861
3663
  | Shared.NewFloatingThresholdTotalAmountPrice
2862
3664
  | Shared.NewFloatingTieredPackagePrice
2863
- | Shared.NewFloatingGroupedTieredPrice
2864
- | Shared.NewFloatingMaxGroupTieredPackagePrice
2865
3665
  | Shared.NewFloatingTieredWithMinimumPrice
2866
- | Shared.NewFloatingPackageWithAllocationPrice
3666
+ | Shared.NewFloatingGroupedTieredPrice
2867
3667
  | Shared.NewFloatingTieredPackageWithMinimumPrice
3668
+ | Shared.NewFloatingPackageWithAllocationPrice
2868
3669
  | Shared.NewFloatingUnitWithPercentPrice
3670
+ | Shared.NewFloatingMatrixWithAllocationPrice
2869
3671
  | Shared.NewFloatingTieredWithProrationPrice
2870
3672
  | Shared.NewFloatingUnitWithProrationPrice
2871
3673
  | Shared.NewFloatingGroupedAllocationPrice
3674
+ | Shared.NewFloatingBulkWithProrationPrice
2872
3675
  | Shared.NewFloatingGroupedWithProratedMinimumPrice
2873
3676
  | Shared.NewFloatingGroupedWithMeteredMinimumPrice
3677
+ | PriceEvaluation.NewFloatingGroupedWithMinMaxThresholdsPrice
2874
3678
  | Shared.NewFloatingMatrixWithDisplayNamePrice
2875
- | Shared.NewFloatingBulkWithProrationPrice
2876
3679
  | Shared.NewFloatingGroupedTieredPackagePrice
3680
+ | Shared.NewFloatingMaxGroupTieredPackagePrice
2877
3681
  | Shared.NewFloatingScalableMatrixWithUnitPricingPrice
2878
3682
  | Shared.NewFloatingScalableMatrixWithTieredPricingPrice
2879
3683
  | Shared.NewFloatingCumulativeGroupedBulkPrice
3684
+ | Shared.NewFloatingMinimumCompositePrice
2880
3685
  | null;
2881
3686
 
2882
3687
  /**
@@ -2884,6 +3689,129 @@ export namespace PriceEvaluateMultipleParams {
2884
3689
  */
2885
3690
  price_id?: string | null;
2886
3691
  }
3692
+
3693
+ export namespace PriceEvaluation {
3694
+ export interface NewFloatingGroupedWithMinMaxThresholdsPrice {
3695
+ /**
3696
+ * The cadence to bill for this price on.
3697
+ */
3698
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3699
+
3700
+ /**
3701
+ * An ISO 4217 currency string for which this price is billed in.
3702
+ */
3703
+ currency: string;
3704
+
3705
+ /**
3706
+ * Configuration for grouped_with_min_max_thresholds pricing
3707
+ */
3708
+ grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
3709
+
3710
+ /**
3711
+ * The id of the item the price will be associated with.
3712
+ */
3713
+ item_id: string;
3714
+
3715
+ /**
3716
+ * The pricing model type
3717
+ */
3718
+ model_type: 'grouped_with_min_max_thresholds';
3719
+
3720
+ /**
3721
+ * The name of the price.
3722
+ */
3723
+ name: string;
3724
+
3725
+ /**
3726
+ * The id of the billable metric for the price. Only needed if the price is
3727
+ * usage-based.
3728
+ */
3729
+ billable_metric_id?: string | null;
3730
+
3731
+ /**
3732
+ * If the Price represents a fixed cost, the price will be billed in-advance if
3733
+ * this is true, and in-arrears if this is false.
3734
+ */
3735
+ billed_in_advance?: boolean | null;
3736
+
3737
+ /**
3738
+ * For custom cadence: specifies the duration of the billing period in days or
3739
+ * months.
3740
+ */
3741
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3742
+
3743
+ /**
3744
+ * The per unit conversion rate of the price currency to the invoicing currency.
3745
+ */
3746
+ conversion_rate?: number | null;
3747
+
3748
+ /**
3749
+ * The configuration for the rate of the price currency to the invoicing currency.
3750
+ */
3751
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
3752
+
3753
+ /**
3754
+ * For dimensional price: specifies a price group and dimension values
3755
+ */
3756
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
3757
+
3758
+ /**
3759
+ * An alias for the price.
3760
+ */
3761
+ external_price_id?: string | null;
3762
+
3763
+ /**
3764
+ * If the Price represents a fixed cost, this represents the quantity of units
3765
+ * applied.
3766
+ */
3767
+ fixed_price_quantity?: number | null;
3768
+
3769
+ /**
3770
+ * The property used to group this price on an invoice
3771
+ */
3772
+ invoice_grouping_key?: string | null;
3773
+
3774
+ /**
3775
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
3776
+ * If unspecified, a single invoice is produced per billing cycle.
3777
+ */
3778
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3779
+
3780
+ /**
3781
+ * User-specified key/value pairs for the resource. Individual keys can be removed
3782
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
3783
+ * by setting `metadata` to `null`.
3784
+ */
3785
+ metadata?: { [key: string]: string | null } | null;
3786
+ }
3787
+
3788
+ export namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
3789
+ /**
3790
+ * Configuration for grouped_with_min_max_thresholds pricing
3791
+ */
3792
+ export interface GroupedWithMinMaxThresholdsConfig {
3793
+ /**
3794
+ * The event property used to group before applying thresholds
3795
+ */
3796
+ grouping_key: string;
3797
+
3798
+ /**
3799
+ * The maximum amount to charge each group
3800
+ */
3801
+ maximum_charge: string;
3802
+
3803
+ /**
3804
+ * The minimum amount to charge each group, regardless of usage
3805
+ */
3806
+ minimum_charge: string;
3807
+
3808
+ /**
3809
+ * The base price charged per group
3810
+ */
3811
+ per_unit_rate: string;
3812
+ }
3813
+ }
3814
+ }
2887
3815
  }
2888
3816
 
2889
3817
  export interface PriceEvaluatePreviewEventsParams {
@@ -2971,38 +3899,36 @@ export namespace PriceEvaluatePreviewEventsParams {
2971
3899
  grouping_keys?: Array<string>;
2972
3900
 
2973
3901
  /**
2974
- * An inline price definition to evaluate, allowing you to test price
2975
- * configurations before adding them to Orb.
3902
+ * New floating price request body params.
2976
3903
  */
2977
3904
  price?:
2978
3905
  | Shared.NewFloatingUnitPrice
2979
- | Shared.NewFloatingPackagePrice
2980
- | Shared.NewFloatingMatrixPrice
2981
- | Shared.NewFloatingMatrixWithAllocationPrice
2982
3906
  | Shared.NewFloatingTieredPrice
2983
- | Shared.NewFloatingTieredBPSPrice
2984
- | Shared.NewFloatingBPSPrice
2985
- | Shared.NewFloatingBulkBPSPrice
2986
3907
  | Shared.NewFloatingBulkPrice
3908
+ | Shared.NewFloatingPackagePrice
3909
+ | Shared.NewFloatingMatrixPrice
2987
3910
  | Shared.NewFloatingThresholdTotalAmountPrice
2988
3911
  | Shared.NewFloatingTieredPackagePrice
2989
- | Shared.NewFloatingGroupedTieredPrice
2990
- | Shared.NewFloatingMaxGroupTieredPackagePrice
2991
3912
  | Shared.NewFloatingTieredWithMinimumPrice
2992
- | Shared.NewFloatingPackageWithAllocationPrice
3913
+ | Shared.NewFloatingGroupedTieredPrice
2993
3914
  | Shared.NewFloatingTieredPackageWithMinimumPrice
3915
+ | Shared.NewFloatingPackageWithAllocationPrice
2994
3916
  | Shared.NewFloatingUnitWithPercentPrice
3917
+ | Shared.NewFloatingMatrixWithAllocationPrice
2995
3918
  | Shared.NewFloatingTieredWithProrationPrice
2996
3919
  | Shared.NewFloatingUnitWithProrationPrice
2997
3920
  | Shared.NewFloatingGroupedAllocationPrice
3921
+ | Shared.NewFloatingBulkWithProrationPrice
2998
3922
  | Shared.NewFloatingGroupedWithProratedMinimumPrice
2999
3923
  | Shared.NewFloatingGroupedWithMeteredMinimumPrice
3924
+ | PriceEvaluation.NewFloatingGroupedWithMinMaxThresholdsPrice
3000
3925
  | Shared.NewFloatingMatrixWithDisplayNamePrice
3001
- | Shared.NewFloatingBulkWithProrationPrice
3002
3926
  | Shared.NewFloatingGroupedTieredPackagePrice
3927
+ | Shared.NewFloatingMaxGroupTieredPackagePrice
3003
3928
  | Shared.NewFloatingScalableMatrixWithUnitPricingPrice
3004
3929
  | Shared.NewFloatingScalableMatrixWithTieredPricingPrice
3005
3930
  | Shared.NewFloatingCumulativeGroupedBulkPrice
3931
+ | Shared.NewFloatingMinimumCompositePrice
3006
3932
  | null;
3007
3933
 
3008
3934
  /**
@@ -3010,6 +3936,129 @@ export namespace PriceEvaluatePreviewEventsParams {
3010
3936
  */
3011
3937
  price_id?: string | null;
3012
3938
  }
3939
+
3940
+ export namespace PriceEvaluation {
3941
+ export interface NewFloatingGroupedWithMinMaxThresholdsPrice {
3942
+ /**
3943
+ * The cadence to bill for this price on.
3944
+ */
3945
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3946
+
3947
+ /**
3948
+ * An ISO 4217 currency string for which this price is billed in.
3949
+ */
3950
+ currency: string;
3951
+
3952
+ /**
3953
+ * Configuration for grouped_with_min_max_thresholds pricing
3954
+ */
3955
+ grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
3956
+
3957
+ /**
3958
+ * The id of the item the price will be associated with.
3959
+ */
3960
+ item_id: string;
3961
+
3962
+ /**
3963
+ * The pricing model type
3964
+ */
3965
+ model_type: 'grouped_with_min_max_thresholds';
3966
+
3967
+ /**
3968
+ * The name of the price.
3969
+ */
3970
+ name: string;
3971
+
3972
+ /**
3973
+ * The id of the billable metric for the price. Only needed if the price is
3974
+ * usage-based.
3975
+ */
3976
+ billable_metric_id?: string | null;
3977
+
3978
+ /**
3979
+ * If the Price represents a fixed cost, the price will be billed in-advance if
3980
+ * this is true, and in-arrears if this is false.
3981
+ */
3982
+ billed_in_advance?: boolean | null;
3983
+
3984
+ /**
3985
+ * For custom cadence: specifies the duration of the billing period in days or
3986
+ * months.
3987
+ */
3988
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3989
+
3990
+ /**
3991
+ * The per unit conversion rate of the price currency to the invoicing currency.
3992
+ */
3993
+ conversion_rate?: number | null;
3994
+
3995
+ /**
3996
+ * The configuration for the rate of the price currency to the invoicing currency.
3997
+ */
3998
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
3999
+
4000
+ /**
4001
+ * For dimensional price: specifies a price group and dimension values
4002
+ */
4003
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
4004
+
4005
+ /**
4006
+ * An alias for the price.
4007
+ */
4008
+ external_price_id?: string | null;
4009
+
4010
+ /**
4011
+ * If the Price represents a fixed cost, this represents the quantity of units
4012
+ * applied.
4013
+ */
4014
+ fixed_price_quantity?: number | null;
4015
+
4016
+ /**
4017
+ * The property used to group this price on an invoice
4018
+ */
4019
+ invoice_grouping_key?: string | null;
4020
+
4021
+ /**
4022
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
4023
+ * If unspecified, a single invoice is produced per billing cycle.
4024
+ */
4025
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4026
+
4027
+ /**
4028
+ * User-specified key/value pairs for the resource. Individual keys can be removed
4029
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
4030
+ * by setting `metadata` to `null`.
4031
+ */
4032
+ metadata?: { [key: string]: string | null } | null;
4033
+ }
4034
+
4035
+ export namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
4036
+ /**
4037
+ * Configuration for grouped_with_min_max_thresholds pricing
4038
+ */
4039
+ export interface GroupedWithMinMaxThresholdsConfig {
4040
+ /**
4041
+ * The event property used to group before applying thresholds
4042
+ */
4043
+ grouping_key: string;
4044
+
4045
+ /**
4046
+ * The maximum amount to charge each group
4047
+ */
4048
+ maximum_charge: string;
4049
+
4050
+ /**
4051
+ * The minimum amount to charge each group, regardless of usage
4052
+ */
4053
+ minimum_charge: string;
4054
+
4055
+ /**
4056
+ * The base price charged per group
4057
+ */
4058
+ per_unit_rate: string;
4059
+ }
4060
+ }
4061
+ }
3013
4062
  }
3014
4063
 
3015
4064
  Prices.ExternalPriceID = ExternalPriceID;