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
@@ -190,7 +190,7 @@ export declare namespace PriceEvaluatePreviewEventsResponse {
190
190
  price_id?: string | null;
191
191
  }
192
192
  }
193
- export type PriceCreateParams = PriceCreateParams.NewFloatingUnitPrice | PriceCreateParams.NewFloatingPackagePrice | PriceCreateParams.NewFloatingMatrixPrice | PriceCreateParams.NewFloatingMatrixWithAllocationPrice | PriceCreateParams.NewFloatingTieredPrice | PriceCreateParams.NewFloatingTieredBPSPrice | PriceCreateParams.NewFloatingBPSPrice | PriceCreateParams.NewFloatingBulkBPSPrice | PriceCreateParams.NewFloatingBulkPrice | PriceCreateParams.NewFloatingThresholdTotalAmountPrice | PriceCreateParams.NewFloatingTieredPackagePrice | PriceCreateParams.NewFloatingGroupedTieredPrice | PriceCreateParams.NewFloatingMaxGroupTieredPackagePrice | PriceCreateParams.NewFloatingTieredWithMinimumPrice | PriceCreateParams.NewFloatingPackageWithAllocationPrice | PriceCreateParams.NewFloatingTieredPackageWithMinimumPrice | PriceCreateParams.NewFloatingUnitWithPercentPrice | PriceCreateParams.NewFloatingTieredWithProrationPrice | PriceCreateParams.NewFloatingUnitWithProrationPrice | PriceCreateParams.NewFloatingGroupedAllocationPrice | PriceCreateParams.NewFloatingGroupedWithProratedMinimumPrice | PriceCreateParams.NewFloatingGroupedWithMeteredMinimumPrice | PriceCreateParams.NewFloatingMatrixWithDisplayNamePrice | PriceCreateParams.NewFloatingBulkWithProrationPrice | PriceCreateParams.NewFloatingGroupedTieredPackagePrice | PriceCreateParams.NewFloatingScalableMatrixWithUnitPricingPrice | PriceCreateParams.NewFloatingScalableMatrixWithTieredPricingPrice | PriceCreateParams.NewFloatingCumulativeGroupedBulkPrice;
193
+ export type PriceCreateParams = PriceCreateParams.NewFloatingUnitPrice | PriceCreateParams.NewFloatingTieredPrice | PriceCreateParams.NewFloatingBulkPrice | PriceCreateParams.NewFloatingPackagePrice | PriceCreateParams.NewFloatingMatrixPrice | PriceCreateParams.NewFloatingThresholdTotalAmountPrice | PriceCreateParams.NewFloatingTieredPackagePrice | PriceCreateParams.NewFloatingTieredWithMinimumPrice | PriceCreateParams.NewFloatingGroupedTieredPrice | PriceCreateParams.NewFloatingTieredPackageWithMinimumPrice | PriceCreateParams.NewFloatingPackageWithAllocationPrice | PriceCreateParams.NewFloatingUnitWithPercentPrice | PriceCreateParams.NewFloatingMatrixWithAllocationPrice | PriceCreateParams.NewFloatingTieredWithProrationPrice | PriceCreateParams.NewFloatingUnitWithProrationPrice | PriceCreateParams.NewFloatingGroupedAllocationPrice | PriceCreateParams.NewFloatingBulkWithProrationPrice | PriceCreateParams.NewFloatingGroupedWithProratedMinimumPrice | PriceCreateParams.NewFloatingGroupedWithMeteredMinimumPrice | PriceCreateParams.NewFloatingGroupedWithMinMaxThresholdsPrice | PriceCreateParams.NewFloatingMatrixWithDisplayNamePrice | PriceCreateParams.NewFloatingGroupedTieredPackagePrice | PriceCreateParams.NewFloatingMaxGroupTieredPackagePrice | PriceCreateParams.NewFloatingScalableMatrixWithUnitPricingPrice | PriceCreateParams.NewFloatingScalableMatrixWithTieredPricingPrice | PriceCreateParams.NewFloatingCumulativeGroupedBulkPrice | PriceCreateParams.NewFloatingMinimumCompositePrice;
194
194
  export declare namespace PriceCreateParams {
195
195
  interface NewFloatingUnitPrice {
196
196
  /**
@@ -205,11 +205,17 @@ export declare namespace PriceCreateParams {
205
205
  * The id of the item the price will be associated with.
206
206
  */
207
207
  item_id: string;
208
+ /**
209
+ * The pricing model type
210
+ */
208
211
  model_type: 'unit';
209
212
  /**
210
213
  * The name of the price.
211
214
  */
212
215
  name: string;
216
+ /**
217
+ * Configuration for unit pricing
218
+ */
213
219
  unit_config: Shared.UnitConfig;
214
220
  /**
215
221
  * The id of the billable metric for the price. Only needed if the price is
@@ -265,7 +271,7 @@ export declare namespace PriceCreateParams {
265
271
  [key: string]: string | null;
266
272
  } | null;
267
273
  }
268
- interface NewFloatingPackagePrice {
274
+ interface NewFloatingTieredPrice {
269
275
  /**
270
276
  * The cadence to bill for this price on.
271
277
  */
@@ -278,12 +284,18 @@ export declare namespace PriceCreateParams {
278
284
  * The id of the item the price will be associated with.
279
285
  */
280
286
  item_id: string;
281
- model_type: 'package';
287
+ /**
288
+ * The pricing model type
289
+ */
290
+ model_type: 'tiered';
282
291
  /**
283
292
  * The name of the price.
284
293
  */
285
294
  name: string;
286
- package_config: Shared.PackageConfig;
295
+ /**
296
+ * Configuration for tiered pricing
297
+ */
298
+ tiered_config: Shared.TieredConfig;
287
299
  /**
288
300
  * The id of the billable metric for the price. Only needed if the price is
289
301
  * usage-based.
@@ -338,7 +350,11 @@ export declare namespace PriceCreateParams {
338
350
  [key: string]: string | null;
339
351
  } | null;
340
352
  }
341
- interface NewFloatingMatrixPrice {
353
+ interface NewFloatingBulkPrice {
354
+ /**
355
+ * Configuration for bulk pricing
356
+ */
357
+ bulk_config: Shared.BulkConfig;
342
358
  /**
343
359
  * The cadence to bill for this price on.
344
360
  */
@@ -351,8 +367,10 @@ export declare namespace PriceCreateParams {
351
367
  * The id of the item the price will be associated with.
352
368
  */
353
369
  item_id: string;
354
- matrix_config: Shared.MatrixConfig;
355
- model_type: 'matrix';
370
+ /**
371
+ * The pricing model type
372
+ */
373
+ model_type: 'bulk';
356
374
  /**
357
375
  * The name of the price.
358
376
  */
@@ -411,7 +429,7 @@ export declare namespace PriceCreateParams {
411
429
  [key: string]: string | null;
412
430
  } | null;
413
431
  }
414
- interface NewFloatingMatrixWithAllocationPrice {
432
+ interface NewFloatingPackagePrice {
415
433
  /**
416
434
  * The cadence to bill for this price on.
417
435
  */
@@ -424,12 +442,18 @@ export declare namespace PriceCreateParams {
424
442
  * The id of the item the price will be associated with.
425
443
  */
426
444
  item_id: string;
427
- matrix_with_allocation_config: Shared.MatrixWithAllocationConfig;
428
- model_type: 'matrix_with_allocation';
445
+ /**
446
+ * The pricing model type
447
+ */
448
+ model_type: 'package';
429
449
  /**
430
450
  * The name of the price.
431
451
  */
432
452
  name: string;
453
+ /**
454
+ * Configuration for package pricing
455
+ */
456
+ package_config: Shared.PackageConfig;
433
457
  /**
434
458
  * The id of the billable metric for the price. Only needed if the price is
435
459
  * usage-based.
@@ -484,7 +508,7 @@ export declare namespace PriceCreateParams {
484
508
  [key: string]: string | null;
485
509
  } | null;
486
510
  }
487
- interface NewFloatingTieredPrice {
511
+ interface NewFloatingMatrixPrice {
488
512
  /**
489
513
  * The cadence to bill for this price on.
490
514
  */
@@ -497,85 +521,18 @@ export declare namespace PriceCreateParams {
497
521
  * The id of the item the price will be associated with.
498
522
  */
499
523
  item_id: string;
500
- model_type: 'tiered';
501
- /**
502
- * The name of the price.
503
- */
504
- name: string;
505
- tiered_config: Shared.TieredConfig;
506
- /**
507
- * The id of the billable metric for the price. Only needed if the price is
508
- * usage-based.
509
- */
510
- billable_metric_id?: string | null;
511
- /**
512
- * If the Price represents a fixed cost, the price will be billed in-advance if
513
- * this is true, and in-arrears if this is false.
514
- */
515
- billed_in_advance?: boolean | null;
516
- /**
517
- * For custom cadence: specifies the duration of the billing period in days or
518
- * months.
519
- */
520
- billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
521
- /**
522
- * The per unit conversion rate of the price currency to the invoicing currency.
523
- */
524
- conversion_rate?: number | null;
525
- /**
526
- * The configuration for the rate of the price currency to the invoicing currency.
527
- */
528
- conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
529
- /**
530
- * For dimensional price: specifies a price group and dimension values
531
- */
532
- dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
533
- /**
534
- * An alias for the price.
535
- */
536
- external_price_id?: string | null;
537
- /**
538
- * If the Price represents a fixed cost, this represents the quantity of units
539
- * applied.
540
- */
541
- fixed_price_quantity?: number | null;
542
- /**
543
- * The property used to group this price on an invoice
544
- */
545
- invoice_grouping_key?: string | null;
546
- /**
547
- * Within each billing cycle, specifies the cadence at which invoices are produced.
548
- * If unspecified, a single invoice is produced per billing cycle.
549
- */
550
- invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
551
- /**
552
- * User-specified key/value pairs for the resource. Individual keys can be removed
553
- * by setting the value to `null`, and the entire metadata mapping can be cleared
554
- * by setting `metadata` to `null`.
555
- */
556
- metadata?: {
557
- [key: string]: string | null;
558
- } | null;
559
- }
560
- interface NewFloatingTieredBPSPrice {
561
524
  /**
562
- * The cadence to bill for this price on.
563
- */
564
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
565
- /**
566
- * An ISO 4217 currency string for which this price is billed in.
525
+ * Configuration for matrix pricing
567
526
  */
568
- currency: string;
527
+ matrix_config: Shared.MatrixConfig;
569
528
  /**
570
- * The id of the item the price will be associated with.
529
+ * The pricing model type
571
530
  */
572
- item_id: string;
573
- model_type: 'tiered_bps';
531
+ model_type: 'matrix';
574
532
  /**
575
533
  * The name of the price.
576
534
  */
577
535
  name: string;
578
- tiered_bps_config: Shared.TieredBPSConfig;
579
536
  /**
580
537
  * The id of the billable metric for the price. Only needed if the price is
581
538
  * usage-based.
@@ -630,8 +587,7 @@ export declare namespace PriceCreateParams {
630
587
  [key: string]: string | null;
631
588
  } | null;
632
589
  }
633
- interface NewFloatingBPSPrice {
634
- bps_config: Shared.BPSConfig;
590
+ interface NewFloatingThresholdTotalAmountPrice {
635
591
  /**
636
592
  * The cadence to bill for this price on.
637
593
  */
@@ -644,11 +600,18 @@ export declare namespace PriceCreateParams {
644
600
  * The id of the item the price will be associated with.
645
601
  */
646
602
  item_id: string;
647
- model_type: 'bps';
603
+ /**
604
+ * The pricing model type
605
+ */
606
+ model_type: 'threshold_total_amount';
648
607
  /**
649
608
  * The name of the price.
650
609
  */
651
610
  name: string;
611
+ /**
612
+ * Configuration for threshold_total_amount pricing
613
+ */
614
+ threshold_total_amount_config: NewFloatingThresholdTotalAmountPrice.ThresholdTotalAmountConfig;
652
615
  /**
653
616
  * The id of the billable metric for the price. Only needed if the price is
654
617
  * usage-based.
@@ -703,8 +666,38 @@ export declare namespace PriceCreateParams {
703
666
  [key: string]: string | null;
704
667
  } | null;
705
668
  }
706
- interface NewFloatingBulkBPSPrice {
707
- bulk_bps_config: Shared.BulkBPSConfig;
669
+ namespace NewFloatingThresholdTotalAmountPrice {
670
+ /**
671
+ * Configuration for threshold_total_amount pricing
672
+ */
673
+ interface ThresholdTotalAmountConfig {
674
+ /**
675
+ * When the quantity consumed passes a provided threshold, the configured total
676
+ * will be charged
677
+ */
678
+ consumption_table: Array<ThresholdTotalAmountConfig.ConsumptionTable>;
679
+ /**
680
+ * If true, the unit price will be prorated to the billing period
681
+ */
682
+ prorate?: boolean | null;
683
+ }
684
+ namespace ThresholdTotalAmountConfig {
685
+ /**
686
+ * Configuration for a single threshold
687
+ */
688
+ interface ConsumptionTable {
689
+ /**
690
+ * Quantity threshold
691
+ */
692
+ threshold: string;
693
+ /**
694
+ * Total amount for this threshold
695
+ */
696
+ total_amount: string;
697
+ }
698
+ }
699
+ }
700
+ interface NewFloatingTieredPackagePrice {
708
701
  /**
709
702
  * The cadence to bill for this price on.
710
703
  */
@@ -717,11 +710,18 @@ export declare namespace PriceCreateParams {
717
710
  * The id of the item the price will be associated with.
718
711
  */
719
712
  item_id: string;
720
- model_type: 'bulk_bps';
713
+ /**
714
+ * The pricing model type
715
+ */
716
+ model_type: 'tiered_package';
721
717
  /**
722
718
  * The name of the price.
723
719
  */
724
720
  name: string;
721
+ /**
722
+ * Configuration for tiered_package pricing
723
+ */
724
+ tiered_package_config: NewFloatingTieredPackagePrice.TieredPackageConfig;
725
725
  /**
726
726
  * The id of the billable metric for the price. Only needed if the price is
727
727
  * usage-based.
@@ -776,8 +776,38 @@ export declare namespace PriceCreateParams {
776
776
  [key: string]: string | null;
777
777
  } | null;
778
778
  }
779
- interface NewFloatingBulkPrice {
780
- bulk_config: Shared.BulkConfig;
779
+ namespace NewFloatingTieredPackagePrice {
780
+ /**
781
+ * Configuration for tiered_package pricing
782
+ */
783
+ interface TieredPackageConfig {
784
+ /**
785
+ * Package size
786
+ */
787
+ package_size: string;
788
+ /**
789
+ * Apply tiered pricing after rounding up the quantity to the package size. Tiers
790
+ * are defined using exclusive lower bounds.
791
+ */
792
+ tiers: Array<TieredPackageConfig.Tier>;
793
+ }
794
+ namespace TieredPackageConfig {
795
+ /**
796
+ * Configuration for a single tier with business logic
797
+ */
798
+ interface Tier {
799
+ /**
800
+ * Price per package
801
+ */
802
+ per_unit: string;
803
+ /**
804
+ * Tier lower bound
805
+ */
806
+ tier_lower_bound: string;
807
+ }
808
+ }
809
+ }
810
+ interface NewFloatingTieredWithMinimumPrice {
781
811
  /**
782
812
  * The cadence to bill for this price on.
783
813
  */
@@ -790,11 +820,18 @@ export declare namespace PriceCreateParams {
790
820
  * The id of the item the price will be associated with.
791
821
  */
792
822
  item_id: string;
793
- model_type: 'bulk';
823
+ /**
824
+ * The pricing model type
825
+ */
826
+ model_type: 'tiered_with_minimum';
794
827
  /**
795
828
  * The name of the price.
796
829
  */
797
830
  name: string;
831
+ /**
832
+ * Configuration for tiered_with_minimum pricing
833
+ */
834
+ tiered_with_minimum_config: NewFloatingTieredWithMinimumPrice.TieredWithMinimumConfig;
798
835
  /**
799
836
  * The id of the billable metric for the price. Only needed if the price is
800
837
  * usage-based.
@@ -849,7 +886,46 @@ export declare namespace PriceCreateParams {
849
886
  [key: string]: string | null;
850
887
  } | null;
851
888
  }
852
- interface NewFloatingThresholdTotalAmountPrice {
889
+ namespace NewFloatingTieredWithMinimumPrice {
890
+ /**
891
+ * Configuration for tiered_with_minimum pricing
892
+ */
893
+ interface TieredWithMinimumConfig {
894
+ /**
895
+ * Tiered pricing with a minimum amount dependent on the volume tier. Tiers are
896
+ * defined using exclusive lower bounds.
897
+ */
898
+ tiers: Array<TieredWithMinimumConfig.Tier>;
899
+ /**
900
+ * If true, tiers with an accrued amount of 0 will not be included in the rating.
901
+ */
902
+ hide_zero_amount_tiers?: boolean;
903
+ /**
904
+ * If true, the unit price will be prorated to the billing period
905
+ */
906
+ prorate?: boolean;
907
+ }
908
+ namespace TieredWithMinimumConfig {
909
+ /**
910
+ * Configuration for a single tier
911
+ */
912
+ interface Tier {
913
+ /**
914
+ * Minimum amount
915
+ */
916
+ minimum_amount: string;
917
+ /**
918
+ * Tier lower bound
919
+ */
920
+ tier_lower_bound: string;
921
+ /**
922
+ * Per unit amount
923
+ */
924
+ unit_amount: string;
925
+ }
926
+ }
927
+ }
928
+ interface NewFloatingGroupedTieredPrice {
853
929
  /**
854
930
  * The cadence to bill for this price on.
855
931
  */
@@ -858,18 +934,22 @@ export declare namespace PriceCreateParams {
858
934
  * An ISO 4217 currency string for which this price is billed in.
859
935
  */
860
936
  currency: string;
937
+ /**
938
+ * Configuration for grouped_tiered pricing
939
+ */
940
+ grouped_tiered_config: NewFloatingGroupedTieredPrice.GroupedTieredConfig;
861
941
  /**
862
942
  * The id of the item the price will be associated with.
863
943
  */
864
944
  item_id: string;
865
- model_type: 'threshold_total_amount';
945
+ /**
946
+ * The pricing model type
947
+ */
948
+ model_type: 'grouped_tiered';
866
949
  /**
867
950
  * The name of the price.
868
951
  */
869
952
  name: string;
870
- threshold_total_amount_config: {
871
- [key: string]: unknown;
872
- };
873
953
  /**
874
954
  * The id of the billable metric for the price. Only needed if the price is
875
955
  * usage-based.
@@ -924,7 +1004,38 @@ export declare namespace PriceCreateParams {
924
1004
  [key: string]: string | null;
925
1005
  } | null;
926
1006
  }
927
- interface NewFloatingTieredPackagePrice {
1007
+ namespace NewFloatingGroupedTieredPrice {
1008
+ /**
1009
+ * Configuration for grouped_tiered pricing
1010
+ */
1011
+ interface GroupedTieredConfig {
1012
+ /**
1013
+ * The billable metric property used to group before tiering
1014
+ */
1015
+ grouping_key: string;
1016
+ /**
1017
+ * Apply tiered pricing to each segment generated after grouping with the provided
1018
+ * key
1019
+ */
1020
+ tiers: Array<GroupedTieredConfig.Tier>;
1021
+ }
1022
+ namespace GroupedTieredConfig {
1023
+ /**
1024
+ * Configuration for a single tier
1025
+ */
1026
+ interface Tier {
1027
+ /**
1028
+ * Tier lower bound
1029
+ */
1030
+ tier_lower_bound: string;
1031
+ /**
1032
+ * Per unit amount
1033
+ */
1034
+ unit_amount: string;
1035
+ }
1036
+ }
1037
+ }
1038
+ interface NewFloatingTieredPackageWithMinimumPrice {
928
1039
  /**
929
1040
  * The cadence to bill for this price on.
930
1041
  */
@@ -937,14 +1048,18 @@ export declare namespace PriceCreateParams {
937
1048
  * The id of the item the price will be associated with.
938
1049
  */
939
1050
  item_id: string;
940
- model_type: 'tiered_package';
1051
+ /**
1052
+ * The pricing model type
1053
+ */
1054
+ model_type: 'tiered_package_with_minimum';
941
1055
  /**
942
1056
  * The name of the price.
943
1057
  */
944
1058
  name: string;
945
- tiered_package_config: {
946
- [key: string]: unknown;
947
- };
1059
+ /**
1060
+ * Configuration for tiered_package_with_minimum pricing
1061
+ */
1062
+ tiered_package_with_minimum_config: NewFloatingTieredPackageWithMinimumPrice.TieredPackageWithMinimumConfig;
948
1063
  /**
949
1064
  * The id of the billable metric for the price. Only needed if the price is
950
1065
  * usage-based.
@@ -999,7 +1114,42 @@ export declare namespace PriceCreateParams {
999
1114
  [key: string]: string | null;
1000
1115
  } | null;
1001
1116
  }
1002
- interface NewFloatingGroupedTieredPrice {
1117
+ namespace NewFloatingTieredPackageWithMinimumPrice {
1118
+ /**
1119
+ * Configuration for tiered_package_with_minimum pricing
1120
+ */
1121
+ interface TieredPackageWithMinimumConfig {
1122
+ /**
1123
+ * Package size
1124
+ */
1125
+ package_size: number;
1126
+ /**
1127
+ * Apply tiered pricing after rounding up the quantity to the package size. Tiers
1128
+ * are defined using exclusive lower bounds.
1129
+ */
1130
+ tiers: Array<TieredPackageWithMinimumConfig.Tier>;
1131
+ }
1132
+ namespace TieredPackageWithMinimumConfig {
1133
+ /**
1134
+ * Configuration for a single tier
1135
+ */
1136
+ interface Tier {
1137
+ /**
1138
+ * Minimum amount
1139
+ */
1140
+ minimum_amount: string;
1141
+ /**
1142
+ * Price per package
1143
+ */
1144
+ per_unit: string;
1145
+ /**
1146
+ * Tier lower bound
1147
+ */
1148
+ tier_lower_bound: string;
1149
+ }
1150
+ }
1151
+ }
1152
+ interface NewFloatingPackageWithAllocationPrice {
1003
1153
  /**
1004
1154
  * The cadence to bill for this price on.
1005
1155
  */
@@ -1008,18 +1158,22 @@ export declare namespace PriceCreateParams {
1008
1158
  * An ISO 4217 currency string for which this price is billed in.
1009
1159
  */
1010
1160
  currency: string;
1011
- grouped_tiered_config: {
1012
- [key: string]: unknown;
1013
- };
1014
1161
  /**
1015
1162
  * The id of the item the price will be associated with.
1016
1163
  */
1017
1164
  item_id: string;
1018
- model_type: 'grouped_tiered';
1165
+ /**
1166
+ * The pricing model type
1167
+ */
1168
+ model_type: 'package_with_allocation';
1019
1169
  /**
1020
1170
  * The name of the price.
1021
1171
  */
1022
1172
  name: string;
1173
+ /**
1174
+ * Configuration for package_with_allocation pricing
1175
+ */
1176
+ package_with_allocation_config: NewFloatingPackageWithAllocationPrice.PackageWithAllocationConfig;
1023
1177
  /**
1024
1178
  * The id of the billable metric for the price. Only needed if the price is
1025
1179
  * usage-based.
@@ -1074,7 +1228,26 @@ export declare namespace PriceCreateParams {
1074
1228
  [key: string]: string | null;
1075
1229
  } | null;
1076
1230
  }
1077
- interface NewFloatingMaxGroupTieredPackagePrice {
1231
+ namespace NewFloatingPackageWithAllocationPrice {
1232
+ /**
1233
+ * Configuration for package_with_allocation pricing
1234
+ */
1235
+ interface PackageWithAllocationConfig {
1236
+ /**
1237
+ * Usage allocation
1238
+ */
1239
+ allocation: string;
1240
+ /**
1241
+ * Price per package
1242
+ */
1243
+ package_amount: string;
1244
+ /**
1245
+ * Package size
1246
+ */
1247
+ package_size: string;
1248
+ }
1249
+ }
1250
+ interface NewFloatingUnitWithPercentPrice {
1078
1251
  /**
1079
1252
  * The cadence to bill for this price on.
1080
1253
  */
@@ -1087,14 +1260,18 @@ export declare namespace PriceCreateParams {
1087
1260
  * The id of the item the price will be associated with.
1088
1261
  */
1089
1262
  item_id: string;
1090
- max_group_tiered_package_config: {
1091
- [key: string]: unknown;
1092
- };
1093
- model_type: 'max_group_tiered_package';
1263
+ /**
1264
+ * The pricing model type
1265
+ */
1266
+ model_type: 'unit_with_percent';
1094
1267
  /**
1095
1268
  * The name of the price.
1096
1269
  */
1097
1270
  name: string;
1271
+ /**
1272
+ * Configuration for unit_with_percent pricing
1273
+ */
1274
+ unit_with_percent_config: NewFloatingUnitWithPercentPrice.UnitWithPercentConfig;
1098
1275
  /**
1099
1276
  * The id of the billable metric for the price. Only needed if the price is
1100
1277
  * usage-based.
@@ -1149,7 +1326,22 @@ export declare namespace PriceCreateParams {
1149
1326
  [key: string]: string | null;
1150
1327
  } | null;
1151
1328
  }
1152
- interface NewFloatingTieredWithMinimumPrice {
1329
+ namespace NewFloatingUnitWithPercentPrice {
1330
+ /**
1331
+ * Configuration for unit_with_percent pricing
1332
+ */
1333
+ interface UnitWithPercentConfig {
1334
+ /**
1335
+ * What percent, out of 100, of the calculated total to charge
1336
+ */
1337
+ percent: string;
1338
+ /**
1339
+ * Rate per unit of usage
1340
+ */
1341
+ unit_amount: string;
1342
+ }
1343
+ }
1344
+ interface NewFloatingMatrixWithAllocationPrice {
1153
1345
  /**
1154
1346
  * The cadence to bill for this price on.
1155
1347
  */
@@ -1162,14 +1354,18 @@ export declare namespace PriceCreateParams {
1162
1354
  * The id of the item the price will be associated with.
1163
1355
  */
1164
1356
  item_id: string;
1165
- model_type: 'tiered_with_minimum';
1357
+ /**
1358
+ * Configuration for matrix_with_allocation pricing
1359
+ */
1360
+ matrix_with_allocation_config: Shared.MatrixWithAllocationConfig;
1361
+ /**
1362
+ * The pricing model type
1363
+ */
1364
+ model_type: 'matrix_with_allocation';
1166
1365
  /**
1167
1366
  * The name of the price.
1168
1367
  */
1169
1368
  name: string;
1170
- tiered_with_minimum_config: {
1171
- [key: string]: unknown;
1172
- };
1173
1369
  /**
1174
1370
  * The id of the billable metric for the price. Only needed if the price is
1175
1371
  * usage-based.
@@ -1224,7 +1420,7 @@ export declare namespace PriceCreateParams {
1224
1420
  [key: string]: string | null;
1225
1421
  } | null;
1226
1422
  }
1227
- interface NewFloatingPackageWithAllocationPrice {
1423
+ interface NewFloatingTieredWithProrationPrice {
1228
1424
  /**
1229
1425
  * The cadence to bill for this price on.
1230
1426
  */
@@ -1237,14 +1433,18 @@ export declare namespace PriceCreateParams {
1237
1433
  * The id of the item the price will be associated with.
1238
1434
  */
1239
1435
  item_id: string;
1240
- model_type: 'package_with_allocation';
1436
+ /**
1437
+ * The pricing model type
1438
+ */
1439
+ model_type: 'tiered_with_proration';
1241
1440
  /**
1242
1441
  * The name of the price.
1243
1442
  */
1244
1443
  name: string;
1245
- package_with_allocation_config: {
1246
- [key: string]: unknown;
1247
- };
1444
+ /**
1445
+ * Configuration for tiered_with_proration pricing
1446
+ */
1447
+ tiered_with_proration_config: NewFloatingTieredWithProrationPrice.TieredWithProrationConfig;
1248
1448
  /**
1249
1449
  * The id of the billable metric for the price. Only needed if the price is
1250
1450
  * usage-based.
@@ -1299,7 +1499,34 @@ export declare namespace PriceCreateParams {
1299
1499
  [key: string]: string | null;
1300
1500
  } | null;
1301
1501
  }
1302
- interface NewFloatingTieredPackageWithMinimumPrice {
1502
+ namespace NewFloatingTieredWithProrationPrice {
1503
+ /**
1504
+ * Configuration for tiered_with_proration pricing
1505
+ */
1506
+ interface TieredWithProrationConfig {
1507
+ /**
1508
+ * Tiers for rating based on total usage quantities into the specified tier with
1509
+ * proration
1510
+ */
1511
+ tiers: Array<TieredWithProrationConfig.Tier>;
1512
+ }
1513
+ namespace TieredWithProrationConfig {
1514
+ /**
1515
+ * Configuration for a single tiered with proration tier
1516
+ */
1517
+ interface Tier {
1518
+ /**
1519
+ * Inclusive tier starting value
1520
+ */
1521
+ tier_lower_bound: string;
1522
+ /**
1523
+ * Amount per unit
1524
+ */
1525
+ unit_amount: string;
1526
+ }
1527
+ }
1528
+ }
1529
+ interface NewFloatingUnitWithProrationPrice {
1303
1530
  /**
1304
1531
  * The cadence to bill for this price on.
1305
1532
  */
@@ -1312,14 +1539,18 @@ export declare namespace PriceCreateParams {
1312
1539
  * The id of the item the price will be associated with.
1313
1540
  */
1314
1541
  item_id: string;
1315
- model_type: 'tiered_package_with_minimum';
1542
+ /**
1543
+ * The pricing model type
1544
+ */
1545
+ model_type: 'unit_with_proration';
1316
1546
  /**
1317
1547
  * The name of the price.
1318
1548
  */
1319
1549
  name: string;
1320
- tiered_package_with_minimum_config: {
1321
- [key: string]: unknown;
1322
- };
1550
+ /**
1551
+ * Configuration for unit_with_proration pricing
1552
+ */
1553
+ unit_with_proration_config: NewFloatingUnitWithProrationPrice.UnitWithProrationConfig;
1323
1554
  /**
1324
1555
  * The id of the billable metric for the price. Only needed if the price is
1325
1556
  * usage-based.
@@ -1374,7 +1605,18 @@ export declare namespace PriceCreateParams {
1374
1605
  [key: string]: string | null;
1375
1606
  } | null;
1376
1607
  }
1377
- interface NewFloatingUnitWithPercentPrice {
1608
+ namespace NewFloatingUnitWithProrationPrice {
1609
+ /**
1610
+ * Configuration for unit_with_proration pricing
1611
+ */
1612
+ interface UnitWithProrationConfig {
1613
+ /**
1614
+ * Rate per unit of usage
1615
+ */
1616
+ unit_amount: string;
1617
+ }
1618
+ }
1619
+ interface NewFloatingGroupedAllocationPrice {
1378
1620
  /**
1379
1621
  * The cadence to bill for this price on.
1380
1622
  */
@@ -1383,18 +1625,22 @@ export declare namespace PriceCreateParams {
1383
1625
  * An ISO 4217 currency string for which this price is billed in.
1384
1626
  */
1385
1627
  currency: string;
1628
+ /**
1629
+ * Configuration for grouped_allocation pricing
1630
+ */
1631
+ grouped_allocation_config: NewFloatingGroupedAllocationPrice.GroupedAllocationConfig;
1386
1632
  /**
1387
1633
  * The id of the item the price will be associated with.
1388
1634
  */
1389
1635
  item_id: string;
1390
- model_type: 'unit_with_percent';
1636
+ /**
1637
+ * The pricing model type
1638
+ */
1639
+ model_type: 'grouped_allocation';
1391
1640
  /**
1392
1641
  * The name of the price.
1393
1642
  */
1394
1643
  name: string;
1395
- unit_with_percent_config: {
1396
- [key: string]: unknown;
1397
- };
1398
1644
  /**
1399
1645
  * The id of the billable metric for the price. Only needed if the price is
1400
1646
  * usage-based.
@@ -1449,7 +1695,30 @@ export declare namespace PriceCreateParams {
1449
1695
  [key: string]: string | null;
1450
1696
  } | null;
1451
1697
  }
1452
- interface NewFloatingTieredWithProrationPrice {
1698
+ namespace NewFloatingGroupedAllocationPrice {
1699
+ /**
1700
+ * Configuration for grouped_allocation pricing
1701
+ */
1702
+ interface GroupedAllocationConfig {
1703
+ /**
1704
+ * Usage allocation per group
1705
+ */
1706
+ allocation: string;
1707
+ /**
1708
+ * How to determine the groups that should each be allocated some quantity
1709
+ */
1710
+ grouping_key: string;
1711
+ /**
1712
+ * Unit rate for post-allocation
1713
+ */
1714
+ overage_unit_rate: string;
1715
+ }
1716
+ }
1717
+ interface NewFloatingBulkWithProrationPrice {
1718
+ /**
1719
+ * Configuration for bulk_with_proration pricing
1720
+ */
1721
+ bulk_with_proration_config: NewFloatingBulkWithProrationPrice.BulkWithProrationConfig;
1453
1722
  /**
1454
1723
  * The cadence to bill for this price on.
1455
1724
  */
@@ -1462,14 +1731,14 @@ export declare namespace PriceCreateParams {
1462
1731
  * The id of the item the price will be associated with.
1463
1732
  */
1464
1733
  item_id: string;
1465
- model_type: 'tiered_with_proration';
1734
+ /**
1735
+ * The pricing model type
1736
+ */
1737
+ model_type: 'bulk_with_proration';
1466
1738
  /**
1467
1739
  * The name of the price.
1468
1740
  */
1469
1741
  name: string;
1470
- tiered_with_proration_config: {
1471
- [key: string]: unknown;
1472
- };
1473
1742
  /**
1474
1743
  * The id of the billable metric for the price. Only needed if the price is
1475
1744
  * usage-based.
@@ -1524,7 +1793,33 @@ export declare namespace PriceCreateParams {
1524
1793
  [key: string]: string | null;
1525
1794
  } | null;
1526
1795
  }
1527
- interface NewFloatingUnitWithProrationPrice {
1796
+ namespace NewFloatingBulkWithProrationPrice {
1797
+ /**
1798
+ * Configuration for bulk_with_proration pricing
1799
+ */
1800
+ interface BulkWithProrationConfig {
1801
+ /**
1802
+ * Bulk tiers for rating based on total usage volume
1803
+ */
1804
+ tiers: Array<BulkWithProrationConfig.Tier>;
1805
+ }
1806
+ namespace BulkWithProrationConfig {
1807
+ /**
1808
+ * Configuration for a single bulk pricing tier with proration
1809
+ */
1810
+ interface Tier {
1811
+ /**
1812
+ * Cost per unit
1813
+ */
1814
+ unit_amount: string;
1815
+ /**
1816
+ * The lower bound for this tier
1817
+ */
1818
+ tier_lower_bound?: string | null;
1819
+ }
1820
+ }
1821
+ }
1822
+ interface NewFloatingGroupedWithProratedMinimumPrice {
1528
1823
  /**
1529
1824
  * The cadence to bill for this price on.
1530
1825
  */
@@ -1533,18 +1828,22 @@ export declare namespace PriceCreateParams {
1533
1828
  * An ISO 4217 currency string for which this price is billed in.
1534
1829
  */
1535
1830
  currency: string;
1831
+ /**
1832
+ * Configuration for grouped_with_prorated_minimum pricing
1833
+ */
1834
+ grouped_with_prorated_minimum_config: NewFloatingGroupedWithProratedMinimumPrice.GroupedWithProratedMinimumConfig;
1536
1835
  /**
1537
1836
  * The id of the item the price will be associated with.
1538
1837
  */
1539
1838
  item_id: string;
1540
- model_type: 'unit_with_proration';
1839
+ /**
1840
+ * The pricing model type
1841
+ */
1842
+ model_type: 'grouped_with_prorated_minimum';
1541
1843
  /**
1542
1844
  * The name of the price.
1543
1845
  */
1544
1846
  name: string;
1545
- unit_with_proration_config: {
1546
- [key: string]: unknown;
1547
- };
1548
1847
  /**
1549
1848
  * The id of the billable metric for the price. Only needed if the price is
1550
1849
  * usage-based.
@@ -1599,7 +1898,26 @@ export declare namespace PriceCreateParams {
1599
1898
  [key: string]: string | null;
1600
1899
  } | null;
1601
1900
  }
1602
- interface NewFloatingGroupedAllocationPrice {
1901
+ namespace NewFloatingGroupedWithProratedMinimumPrice {
1902
+ /**
1903
+ * Configuration for grouped_with_prorated_minimum pricing
1904
+ */
1905
+ interface GroupedWithProratedMinimumConfig {
1906
+ /**
1907
+ * How to determine the groups that should each have a minimum
1908
+ */
1909
+ grouping_key: string;
1910
+ /**
1911
+ * The minimum amount to charge per group
1912
+ */
1913
+ minimum: string;
1914
+ /**
1915
+ * The amount to charge per unit
1916
+ */
1917
+ unit_rate: string;
1918
+ }
1919
+ }
1920
+ interface NewFloatingGroupedWithMeteredMinimumPrice {
1603
1921
  /**
1604
1922
  * The cadence to bill for this price on.
1605
1923
  */
@@ -1608,14 +1926,18 @@ export declare namespace PriceCreateParams {
1608
1926
  * An ISO 4217 currency string for which this price is billed in.
1609
1927
  */
1610
1928
  currency: string;
1611
- grouped_allocation_config: {
1612
- [key: string]: unknown;
1613
- };
1929
+ /**
1930
+ * Configuration for grouped_with_metered_minimum pricing
1931
+ */
1932
+ grouped_with_metered_minimum_config: NewFloatingGroupedWithMeteredMinimumPrice.GroupedWithMeteredMinimumConfig;
1614
1933
  /**
1615
1934
  * The id of the item the price will be associated with.
1616
1935
  */
1617
1936
  item_id: string;
1618
- model_type: 'grouped_allocation';
1937
+ /**
1938
+ * The pricing model type
1939
+ */
1940
+ model_type: 'grouped_with_metered_minimum';
1619
1941
  /**
1620
1942
  * The name of the price.
1621
1943
  */
@@ -1674,7 +1996,68 @@ export declare namespace PriceCreateParams {
1674
1996
  [key: string]: string | null;
1675
1997
  } | null;
1676
1998
  }
1677
- interface NewFloatingGroupedWithProratedMinimumPrice {
1999
+ namespace NewFloatingGroupedWithMeteredMinimumPrice {
2000
+ /**
2001
+ * Configuration for grouped_with_metered_minimum pricing
2002
+ */
2003
+ interface GroupedWithMeteredMinimumConfig {
2004
+ /**
2005
+ * Used to partition the usage into groups. The minimum amount is applied to each
2006
+ * group.
2007
+ */
2008
+ grouping_key: string;
2009
+ /**
2010
+ * The minimum amount to charge per group per unit
2011
+ */
2012
+ minimum_unit_amount: string;
2013
+ /**
2014
+ * Used to determine the unit rate
2015
+ */
2016
+ pricing_key: string;
2017
+ /**
2018
+ * Scale the unit rates by the scaling factor.
2019
+ */
2020
+ scaling_factors: Array<GroupedWithMeteredMinimumConfig.ScalingFactor>;
2021
+ /**
2022
+ * Used to determine the unit rate scaling factor
2023
+ */
2024
+ scaling_key: string;
2025
+ /**
2026
+ * Apply per unit pricing to each pricing value. The minimum amount is applied any
2027
+ * unmatched usage.
2028
+ */
2029
+ unit_amounts: Array<GroupedWithMeteredMinimumConfig.UnitAmount>;
2030
+ }
2031
+ namespace GroupedWithMeteredMinimumConfig {
2032
+ /**
2033
+ * Configuration for a scaling factor
2034
+ */
2035
+ interface ScalingFactor {
2036
+ /**
2037
+ * Scaling factor
2038
+ */
2039
+ scaling_factor: string;
2040
+ /**
2041
+ * Scaling value
2042
+ */
2043
+ scaling_value: string;
2044
+ }
2045
+ /**
2046
+ * Configuration for a unit amount
2047
+ */
2048
+ interface UnitAmount {
2049
+ /**
2050
+ * Pricing value
2051
+ */
2052
+ pricing_value: string;
2053
+ /**
2054
+ * Per unit amount
2055
+ */
2056
+ unit_amount: string;
2057
+ }
2058
+ }
2059
+ }
2060
+ interface NewFloatingGroupedWithMinMaxThresholdsPrice {
1678
2061
  /**
1679
2062
  * The cadence to bill for this price on.
1680
2063
  */
@@ -1683,14 +2066,18 @@ export declare namespace PriceCreateParams {
1683
2066
  * An ISO 4217 currency string for which this price is billed in.
1684
2067
  */
1685
2068
  currency: string;
1686
- grouped_with_prorated_minimum_config: {
1687
- [key: string]: unknown;
1688
- };
2069
+ /**
2070
+ * Configuration for grouped_with_min_max_thresholds pricing
2071
+ */
2072
+ grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
1689
2073
  /**
1690
2074
  * The id of the item the price will be associated with.
1691
2075
  */
1692
2076
  item_id: string;
1693
- model_type: 'grouped_with_prorated_minimum';
2077
+ /**
2078
+ * The pricing model type
2079
+ */
2080
+ model_type: 'grouped_with_min_max_thresholds';
1694
2081
  /**
1695
2082
  * The name of the price.
1696
2083
  */
@@ -1749,7 +2136,30 @@ export declare namespace PriceCreateParams {
1749
2136
  [key: string]: string | null;
1750
2137
  } | null;
1751
2138
  }
1752
- interface NewFloatingGroupedWithMeteredMinimumPrice {
2139
+ namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
2140
+ /**
2141
+ * Configuration for grouped_with_min_max_thresholds pricing
2142
+ */
2143
+ interface GroupedWithMinMaxThresholdsConfig {
2144
+ /**
2145
+ * The event property used to group before applying thresholds
2146
+ */
2147
+ grouping_key: string;
2148
+ /**
2149
+ * The maximum amount to charge each group
2150
+ */
2151
+ maximum_charge: string;
2152
+ /**
2153
+ * The minimum amount to charge each group, regardless of usage
2154
+ */
2155
+ minimum_charge: string;
2156
+ /**
2157
+ * The base price charged per group
2158
+ */
2159
+ per_unit_rate: string;
2160
+ }
2161
+ }
2162
+ interface NewFloatingMatrixWithDisplayNamePrice {
1753
2163
  /**
1754
2164
  * The cadence to bill for this price on.
1755
2165
  */
@@ -1758,14 +2168,18 @@ export declare namespace PriceCreateParams {
1758
2168
  * An ISO 4217 currency string for which this price is billed in.
1759
2169
  */
1760
2170
  currency: string;
1761
- grouped_with_metered_minimum_config: {
1762
- [key: string]: unknown;
1763
- };
1764
2171
  /**
1765
2172
  * The id of the item the price will be associated with.
1766
2173
  */
1767
2174
  item_id: string;
1768
- model_type: 'grouped_with_metered_minimum';
2175
+ /**
2176
+ * Configuration for matrix_with_display_name pricing
2177
+ */
2178
+ matrix_with_display_name_config: NewFloatingMatrixWithDisplayNamePrice.MatrixWithDisplayNameConfig;
2179
+ /**
2180
+ * The pricing model type
2181
+ */
2182
+ model_type: 'matrix_with_display_name';
1769
2183
  /**
1770
2184
  * The name of the price.
1771
2185
  */
@@ -1824,7 +2238,41 @@ export declare namespace PriceCreateParams {
1824
2238
  [key: string]: string | null;
1825
2239
  } | null;
1826
2240
  }
1827
- interface NewFloatingMatrixWithDisplayNamePrice {
2241
+ namespace NewFloatingMatrixWithDisplayNamePrice {
2242
+ /**
2243
+ * Configuration for matrix_with_display_name pricing
2244
+ */
2245
+ interface MatrixWithDisplayNameConfig {
2246
+ /**
2247
+ * Used to determine the unit rate
2248
+ */
2249
+ dimension: string;
2250
+ /**
2251
+ * Apply per unit pricing to each dimension value
2252
+ */
2253
+ unit_amounts: Array<MatrixWithDisplayNameConfig.UnitAmount>;
2254
+ }
2255
+ namespace MatrixWithDisplayNameConfig {
2256
+ /**
2257
+ * Configuration for a unit amount item
2258
+ */
2259
+ interface UnitAmount {
2260
+ /**
2261
+ * The dimension value
2262
+ */
2263
+ dimension_value: string;
2264
+ /**
2265
+ * Display name for this dimension value
2266
+ */
2267
+ display_name: string;
2268
+ /**
2269
+ * Per unit amount
2270
+ */
2271
+ unit_amount: string;
2272
+ }
2273
+ }
2274
+ }
2275
+ interface NewFloatingGroupedTieredPackagePrice {
1828
2276
  /**
1829
2277
  * The cadence to bill for this price on.
1830
2278
  */
@@ -1833,14 +2281,18 @@ export declare namespace PriceCreateParams {
1833
2281
  * An ISO 4217 currency string for which this price is billed in.
1834
2282
  */
1835
2283
  currency: string;
2284
+ /**
2285
+ * Configuration for grouped_tiered_package pricing
2286
+ */
2287
+ grouped_tiered_package_config: NewFloatingGroupedTieredPackagePrice.GroupedTieredPackageConfig;
1836
2288
  /**
1837
2289
  * The id of the item the price will be associated with.
1838
2290
  */
1839
2291
  item_id: string;
1840
- matrix_with_display_name_config: {
1841
- [key: string]: unknown;
1842
- };
1843
- model_type: 'matrix_with_display_name';
2292
+ /**
2293
+ * The pricing model type
2294
+ */
2295
+ model_type: 'grouped_tiered_package';
1844
2296
  /**
1845
2297
  * The name of the price.
1846
2298
  */
@@ -1899,10 +2351,42 @@ export declare namespace PriceCreateParams {
1899
2351
  [key: string]: string | null;
1900
2352
  } | null;
1901
2353
  }
1902
- interface NewFloatingBulkWithProrationPrice {
1903
- bulk_with_proration_config: {
1904
- [key: string]: unknown;
1905
- };
2354
+ namespace NewFloatingGroupedTieredPackagePrice {
2355
+ /**
2356
+ * Configuration for grouped_tiered_package pricing
2357
+ */
2358
+ interface GroupedTieredPackageConfig {
2359
+ /**
2360
+ * The event property used to group before tiering
2361
+ */
2362
+ grouping_key: string;
2363
+ /**
2364
+ * Package size
2365
+ */
2366
+ package_size: string;
2367
+ /**
2368
+ * Apply tiered pricing after rounding up the quantity to the package size. Tiers
2369
+ * are defined using exclusive lower bounds.
2370
+ */
2371
+ tiers: Array<GroupedTieredPackageConfig.Tier>;
2372
+ }
2373
+ namespace GroupedTieredPackageConfig {
2374
+ /**
2375
+ * Configuration for a single tier
2376
+ */
2377
+ interface Tier {
2378
+ /**
2379
+ * Price per package
2380
+ */
2381
+ per_unit: string;
2382
+ /**
2383
+ * Tier lower bound
2384
+ */
2385
+ tier_lower_bound: string;
2386
+ }
2387
+ }
2388
+ }
2389
+ interface NewFloatingMaxGroupTieredPackagePrice {
1906
2390
  /**
1907
2391
  * The cadence to bill for this price on.
1908
2392
  */
@@ -1915,7 +2399,14 @@ export declare namespace PriceCreateParams {
1915
2399
  * The id of the item the price will be associated with.
1916
2400
  */
1917
2401
  item_id: string;
1918
- model_type: 'bulk_with_proration';
2402
+ /**
2403
+ * Configuration for max_group_tiered_package pricing
2404
+ */
2405
+ max_group_tiered_package_config: NewFloatingMaxGroupTieredPackagePrice.MaxGroupTieredPackageConfig;
2406
+ /**
2407
+ * The pricing model type
2408
+ */
2409
+ model_type: 'max_group_tiered_package';
1919
2410
  /**
1920
2411
  * The name of the price.
1921
2412
  */
@@ -1974,7 +2465,41 @@ export declare namespace PriceCreateParams {
1974
2465
  [key: string]: string | null;
1975
2466
  } | null;
1976
2467
  }
1977
- interface NewFloatingGroupedTieredPackagePrice {
2468
+ namespace NewFloatingMaxGroupTieredPackagePrice {
2469
+ /**
2470
+ * Configuration for max_group_tiered_package pricing
2471
+ */
2472
+ interface MaxGroupTieredPackageConfig {
2473
+ /**
2474
+ * The event property used to group before tiering the group with the highest value
2475
+ */
2476
+ grouping_key: string;
2477
+ /**
2478
+ * Package size
2479
+ */
2480
+ package_size: string;
2481
+ /**
2482
+ * Apply tiered pricing to the largest group after grouping with the provided key.
2483
+ */
2484
+ tiers: Array<MaxGroupTieredPackageConfig.Tier>;
2485
+ }
2486
+ namespace MaxGroupTieredPackageConfig {
2487
+ /**
2488
+ * Configuration for a single tier
2489
+ */
2490
+ interface Tier {
2491
+ /**
2492
+ * Tier lower bound
2493
+ */
2494
+ tier_lower_bound: string;
2495
+ /**
2496
+ * Per unit amount
2497
+ */
2498
+ unit_amount: string;
2499
+ }
2500
+ }
2501
+ }
2502
+ interface NewFloatingScalableMatrixWithUnitPricingPrice {
1978
2503
  /**
1979
2504
  * The cadence to bill for this price on.
1980
2505
  */
@@ -1983,18 +2508,22 @@ export declare namespace PriceCreateParams {
1983
2508
  * An ISO 4217 currency string for which this price is billed in.
1984
2509
  */
1985
2510
  currency: string;
1986
- grouped_tiered_package_config: {
1987
- [key: string]: unknown;
1988
- };
1989
2511
  /**
1990
2512
  * The id of the item the price will be associated with.
1991
2513
  */
1992
2514
  item_id: string;
1993
- model_type: 'grouped_tiered_package';
2515
+ /**
2516
+ * The pricing model type
2517
+ */
2518
+ model_type: 'scalable_matrix_with_unit_pricing';
1994
2519
  /**
1995
2520
  * The name of the price.
1996
2521
  */
1997
2522
  name: string;
2523
+ /**
2524
+ * Configuration for scalable_matrix_with_unit_pricing pricing
2525
+ */
2526
+ scalable_matrix_with_unit_pricing_config: NewFloatingScalableMatrixWithUnitPricingPrice.ScalableMatrixWithUnitPricingConfig;
1998
2527
  /**
1999
2528
  * The id of the billable metric for the price. Only needed if the price is
2000
2529
  * usage-based.
@@ -2049,7 +2578,53 @@ export declare namespace PriceCreateParams {
2049
2578
  [key: string]: string | null;
2050
2579
  } | null;
2051
2580
  }
2052
- interface NewFloatingScalableMatrixWithUnitPricingPrice {
2581
+ namespace NewFloatingScalableMatrixWithUnitPricingPrice {
2582
+ /**
2583
+ * Configuration for scalable_matrix_with_unit_pricing pricing
2584
+ */
2585
+ interface ScalableMatrixWithUnitPricingConfig {
2586
+ /**
2587
+ * Used to determine the unit rate
2588
+ */
2589
+ first_dimension: string;
2590
+ /**
2591
+ * Apply a scaling factor to each dimension
2592
+ */
2593
+ matrix_scaling_factors: Array<ScalableMatrixWithUnitPricingConfig.MatrixScalingFactor>;
2594
+ /**
2595
+ * The final unit price to rate against the output of the matrix
2596
+ */
2597
+ unit_price: string;
2598
+ /**
2599
+ * If true, the unit price will be prorated to the billing period
2600
+ */
2601
+ prorate?: boolean | null;
2602
+ /**
2603
+ * Used to determine the unit rate (optional)
2604
+ */
2605
+ second_dimension?: string | null;
2606
+ }
2607
+ namespace ScalableMatrixWithUnitPricingConfig {
2608
+ /**
2609
+ * Configuration for a single matrix scaling factor
2610
+ */
2611
+ interface MatrixScalingFactor {
2612
+ /**
2613
+ * First dimension value
2614
+ */
2615
+ first_dimension_value: string;
2616
+ /**
2617
+ * Scaling factor
2618
+ */
2619
+ scaling_factor: string;
2620
+ /**
2621
+ * Second dimension value (optional)
2622
+ */
2623
+ second_dimension_value?: string | null;
2624
+ }
2625
+ }
2626
+ }
2627
+ interface NewFloatingScalableMatrixWithTieredPricingPrice {
2053
2628
  /**
2054
2629
  * The cadence to bill for this price on.
2055
2630
  */
@@ -2062,14 +2637,18 @@ export declare namespace PriceCreateParams {
2062
2637
  * The id of the item the price will be associated with.
2063
2638
  */
2064
2639
  item_id: string;
2065
- model_type: 'scalable_matrix_with_unit_pricing';
2640
+ /**
2641
+ * The pricing model type
2642
+ */
2643
+ model_type: 'scalable_matrix_with_tiered_pricing';
2066
2644
  /**
2067
2645
  * The name of the price.
2068
2646
  */
2069
2647
  name: string;
2070
- scalable_matrix_with_unit_pricing_config: {
2071
- [key: string]: unknown;
2072
- };
2648
+ /**
2649
+ * Configuration for scalable_matrix_with_tiered_pricing pricing
2650
+ */
2651
+ scalable_matrix_with_tiered_pricing_config: NewFloatingScalableMatrixWithTieredPricingPrice.ScalableMatrixWithTieredPricingConfig;
2073
2652
  /**
2074
2653
  * The id of the billable metric for the price. Only needed if the price is
2075
2654
  * usage-based.
@@ -2124,11 +2703,70 @@ export declare namespace PriceCreateParams {
2124
2703
  [key: string]: string | null;
2125
2704
  } | null;
2126
2705
  }
2127
- interface NewFloatingScalableMatrixWithTieredPricingPrice {
2706
+ namespace NewFloatingScalableMatrixWithTieredPricingPrice {
2707
+ /**
2708
+ * Configuration for scalable_matrix_with_tiered_pricing pricing
2709
+ */
2710
+ interface ScalableMatrixWithTieredPricingConfig {
2711
+ /**
2712
+ * Used for the scalable matrix first dimension
2713
+ */
2714
+ first_dimension: string;
2715
+ /**
2716
+ * Apply a scaling factor to each dimension
2717
+ */
2718
+ matrix_scaling_factors: Array<ScalableMatrixWithTieredPricingConfig.MatrixScalingFactor>;
2719
+ /**
2720
+ * Tier pricing structure
2721
+ */
2722
+ tiers: Array<ScalableMatrixWithTieredPricingConfig.Tier>;
2723
+ /**
2724
+ * Used for the scalable matrix second dimension (optional)
2725
+ */
2726
+ second_dimension?: string | null;
2727
+ }
2728
+ namespace ScalableMatrixWithTieredPricingConfig {
2729
+ /**
2730
+ * Configuration for a single matrix scaling factor
2731
+ */
2732
+ interface MatrixScalingFactor {
2733
+ /**
2734
+ * First dimension value
2735
+ */
2736
+ first_dimension_value: string;
2737
+ /**
2738
+ * Scaling factor
2739
+ */
2740
+ scaling_factor: string;
2741
+ /**
2742
+ * Second dimension value (optional)
2743
+ */
2744
+ second_dimension_value?: string | null;
2745
+ }
2746
+ /**
2747
+ * Configuration for a single tier entry with business logic
2748
+ */
2749
+ interface Tier {
2750
+ /**
2751
+ * Tier lower bound
2752
+ */
2753
+ tier_lower_bound: string;
2754
+ /**
2755
+ * Per unit amount
2756
+ */
2757
+ unit_amount: string;
2758
+ }
2759
+ }
2760
+ }
2761
+ interface NewFloatingCumulativeGroupedBulkPrice {
2128
2762
  /**
2129
2763
  * The cadence to bill for this price on.
2130
2764
  */
2131
2765
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2766
+ /**
2767
+ * Configuration for cumulative_grouped_bulk pricing
2768
+ */
2769
+ cumulative_grouped_bulk_config: NewFloatingCumulativeGroupedBulkPrice.CumulativeGroupedBulkConfig;
2132
2770
  /**
2133
2771
  * An ISO 4217 currency string for which this price is billed in.
2134
2772
  */
@@ -2137,14 +2775,14 @@ export declare namespace PriceCreateParams {
2137
2775
  * The id of the item the price will be associated with.
2138
2776
  */
2139
2777
  item_id: string;
2140
- model_type: 'scalable_matrix_with_tiered_pricing';
2778
+ /**
2779
+ * The pricing model type
2780
+ */
2781
+ model_type: 'cumulative_grouped_bulk';
2141
2782
  /**
2142
2783
  * The name of the price.
2143
2784
  */
2144
2785
  name: string;
2145
- scalable_matrix_with_tiered_pricing_config: {
2146
- [key: string]: unknown;
2147
- };
2148
2786
  /**
2149
2787
  * The id of the billable metric for the price. Only needed if the price is
2150
2788
  * usage-based.
@@ -2199,14 +2837,45 @@ export declare namespace PriceCreateParams {
2199
2837
  [key: string]: string | null;
2200
2838
  } | null;
2201
2839
  }
2202
- interface NewFloatingCumulativeGroupedBulkPrice {
2840
+ namespace NewFloatingCumulativeGroupedBulkPrice {
2841
+ /**
2842
+ * Configuration for cumulative_grouped_bulk pricing
2843
+ */
2844
+ interface CumulativeGroupedBulkConfig {
2845
+ /**
2846
+ * Each tier lower bound must have the same group of values.
2847
+ */
2848
+ dimension_values: Array<CumulativeGroupedBulkConfig.DimensionValue>;
2849
+ /**
2850
+ * Grouping key name
2851
+ */
2852
+ group: string;
2853
+ }
2854
+ namespace CumulativeGroupedBulkConfig {
2855
+ /**
2856
+ * Configuration for a dimension value entry
2857
+ */
2858
+ interface DimensionValue {
2859
+ /**
2860
+ * Grouping key value
2861
+ */
2862
+ grouping_key: string;
2863
+ /**
2864
+ * Tier lower bound
2865
+ */
2866
+ tier_lower_bound: string;
2867
+ /**
2868
+ * Unit amount for this combination
2869
+ */
2870
+ unit_amount: string;
2871
+ }
2872
+ }
2873
+ }
2874
+ interface NewFloatingMinimumCompositePrice {
2203
2875
  /**
2204
2876
  * The cadence to bill for this price on.
2205
2877
  */
2206
2878
  cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2207
- cumulative_grouped_bulk_config: {
2208
- [key: string]: unknown;
2209
- };
2210
2879
  /**
2211
2880
  * An ISO 4217 currency string for which this price is billed in.
2212
2881
  */
@@ -2215,7 +2884,14 @@ export declare namespace PriceCreateParams {
2215
2884
  * The id of the item the price will be associated with.
2216
2885
  */
2217
2886
  item_id: string;
2218
- model_type: 'cumulative_grouped_bulk';
2887
+ /**
2888
+ * Configuration for minimum pricing
2889
+ */
2890
+ minimum_config: NewFloatingMinimumCompositePrice.MinimumConfig;
2891
+ /**
2892
+ * The pricing model type
2893
+ */
2894
+ model_type: 'minimum';
2219
2895
  /**
2220
2896
  * The name of the price.
2221
2897
  */
@@ -2274,6 +2950,21 @@ export declare namespace PriceCreateParams {
2274
2950
  [key: string]: string | null;
2275
2951
  } | null;
2276
2952
  }
2953
+ namespace NewFloatingMinimumCompositePrice {
2954
+ /**
2955
+ * Configuration for minimum pricing
2956
+ */
2957
+ interface MinimumConfig {
2958
+ /**
2959
+ * The minimum amount to apply
2960
+ */
2961
+ minimum_amount: string;
2962
+ /**
2963
+ * If true, subtotals from this price are prorated based on the service period
2964
+ */
2965
+ prorated?: boolean;
2966
+ }
2967
+ }
2277
2968
  }
2278
2969
  export interface PriceUpdateParams {
2279
2970
  /**
@@ -2358,15 +3049,118 @@ export declare namespace PriceEvaluateMultipleParams {
2358
3049
  */
2359
3050
  grouping_keys?: Array<string>;
2360
3051
  /**
2361
- * An inline price definition to evaluate, allowing you to test price
2362
- * configurations before adding them to Orb.
3052
+ * New floating price request body params.
2363
3053
  */
2364
- price?: Shared.NewFloatingUnitPrice | Shared.NewFloatingPackagePrice | Shared.NewFloatingMatrixPrice | Shared.NewFloatingMatrixWithAllocationPrice | Shared.NewFloatingTieredPrice | Shared.NewFloatingTieredBPSPrice | Shared.NewFloatingBPSPrice | Shared.NewFloatingBulkBPSPrice | Shared.NewFloatingBulkPrice | Shared.NewFloatingThresholdTotalAmountPrice | Shared.NewFloatingTieredPackagePrice | Shared.NewFloatingGroupedTieredPrice | Shared.NewFloatingMaxGroupTieredPackagePrice | Shared.NewFloatingTieredWithMinimumPrice | Shared.NewFloatingPackageWithAllocationPrice | Shared.NewFloatingTieredPackageWithMinimumPrice | Shared.NewFloatingUnitWithPercentPrice | Shared.NewFloatingTieredWithProrationPrice | Shared.NewFloatingUnitWithProrationPrice | Shared.NewFloatingGroupedAllocationPrice | Shared.NewFloatingGroupedWithProratedMinimumPrice | Shared.NewFloatingGroupedWithMeteredMinimumPrice | Shared.NewFloatingMatrixWithDisplayNamePrice | Shared.NewFloatingBulkWithProrationPrice | Shared.NewFloatingGroupedTieredPackagePrice | Shared.NewFloatingScalableMatrixWithUnitPricingPrice | Shared.NewFloatingScalableMatrixWithTieredPricingPrice | Shared.NewFloatingCumulativeGroupedBulkPrice | null;
3054
+ price?: Shared.NewFloatingUnitPrice | Shared.NewFloatingTieredPrice | Shared.NewFloatingBulkPrice | Shared.NewFloatingPackagePrice | Shared.NewFloatingMatrixPrice | Shared.NewFloatingThresholdTotalAmountPrice | Shared.NewFloatingTieredPackagePrice | Shared.NewFloatingTieredWithMinimumPrice | Shared.NewFloatingGroupedTieredPrice | Shared.NewFloatingTieredPackageWithMinimumPrice | Shared.NewFloatingPackageWithAllocationPrice | Shared.NewFloatingUnitWithPercentPrice | Shared.NewFloatingMatrixWithAllocationPrice | Shared.NewFloatingTieredWithProrationPrice | Shared.NewFloatingUnitWithProrationPrice | Shared.NewFloatingGroupedAllocationPrice | Shared.NewFloatingBulkWithProrationPrice | Shared.NewFloatingGroupedWithProratedMinimumPrice | Shared.NewFloatingGroupedWithMeteredMinimumPrice | PriceEvaluation.NewFloatingGroupedWithMinMaxThresholdsPrice | Shared.NewFloatingMatrixWithDisplayNamePrice | Shared.NewFloatingGroupedTieredPackagePrice | Shared.NewFloatingMaxGroupTieredPackagePrice | Shared.NewFloatingScalableMatrixWithUnitPricingPrice | Shared.NewFloatingScalableMatrixWithTieredPricingPrice | Shared.NewFloatingCumulativeGroupedBulkPrice | Shared.NewFloatingMinimumCompositePrice | null;
2365
3055
  /**
2366
3056
  * The ID of a price to evaluate that exists in your Orb account.
2367
3057
  */
2368
3058
  price_id?: string | null;
2369
3059
  }
3060
+ namespace PriceEvaluation {
3061
+ interface NewFloatingGroupedWithMinMaxThresholdsPrice {
3062
+ /**
3063
+ * The cadence to bill for this price on.
3064
+ */
3065
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3066
+ /**
3067
+ * An ISO 4217 currency string for which this price is billed in.
3068
+ */
3069
+ currency: string;
3070
+ /**
3071
+ * Configuration for grouped_with_min_max_thresholds pricing
3072
+ */
3073
+ grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
3074
+ /**
3075
+ * The id of the item the price will be associated with.
3076
+ */
3077
+ item_id: string;
3078
+ /**
3079
+ * The pricing model type
3080
+ */
3081
+ model_type: 'grouped_with_min_max_thresholds';
3082
+ /**
3083
+ * The name of the price.
3084
+ */
3085
+ name: string;
3086
+ /**
3087
+ * The id of the billable metric for the price. Only needed if the price is
3088
+ * usage-based.
3089
+ */
3090
+ billable_metric_id?: string | null;
3091
+ /**
3092
+ * If the Price represents a fixed cost, the price will be billed in-advance if
3093
+ * this is true, and in-arrears if this is false.
3094
+ */
3095
+ billed_in_advance?: boolean | null;
3096
+ /**
3097
+ * For custom cadence: specifies the duration of the billing period in days or
3098
+ * months.
3099
+ */
3100
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3101
+ /**
3102
+ * The per unit conversion rate of the price currency to the invoicing currency.
3103
+ */
3104
+ conversion_rate?: number | null;
3105
+ /**
3106
+ * The configuration for the rate of the price currency to the invoicing currency.
3107
+ */
3108
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
3109
+ /**
3110
+ * For dimensional price: specifies a price group and dimension values
3111
+ */
3112
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
3113
+ /**
3114
+ * An alias for the price.
3115
+ */
3116
+ external_price_id?: string | null;
3117
+ /**
3118
+ * If the Price represents a fixed cost, this represents the quantity of units
3119
+ * applied.
3120
+ */
3121
+ fixed_price_quantity?: number | null;
3122
+ /**
3123
+ * The property used to group this price on an invoice
3124
+ */
3125
+ invoice_grouping_key?: string | null;
3126
+ /**
3127
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
3128
+ * If unspecified, a single invoice is produced per billing cycle.
3129
+ */
3130
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3131
+ /**
3132
+ * User-specified key/value pairs for the resource. Individual keys can be removed
3133
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
3134
+ * by setting `metadata` to `null`.
3135
+ */
3136
+ metadata?: {
3137
+ [key: string]: string | null;
3138
+ } | null;
3139
+ }
3140
+ namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
3141
+ /**
3142
+ * Configuration for grouped_with_min_max_thresholds pricing
3143
+ */
3144
+ interface GroupedWithMinMaxThresholdsConfig {
3145
+ /**
3146
+ * The event property used to group before applying thresholds
3147
+ */
3148
+ grouping_key: string;
3149
+ /**
3150
+ * The maximum amount to charge each group
3151
+ */
3152
+ maximum_charge: string;
3153
+ /**
3154
+ * The minimum amount to charge each group, regardless of usage
3155
+ */
3156
+ minimum_charge: string;
3157
+ /**
3158
+ * The base price charged per group
3159
+ */
3160
+ per_unit_rate: string;
3161
+ }
3162
+ }
3163
+ }
2370
3164
  }
2371
3165
  export interface PriceEvaluatePreviewEventsParams {
2372
3166
  /**
@@ -2441,15 +3235,118 @@ export declare namespace PriceEvaluatePreviewEventsParams {
2441
3235
  */
2442
3236
  grouping_keys?: Array<string>;
2443
3237
  /**
2444
- * An inline price definition to evaluate, allowing you to test price
2445
- * configurations before adding them to Orb.
3238
+ * New floating price request body params.
2446
3239
  */
2447
- price?: Shared.NewFloatingUnitPrice | Shared.NewFloatingPackagePrice | Shared.NewFloatingMatrixPrice | Shared.NewFloatingMatrixWithAllocationPrice | Shared.NewFloatingTieredPrice | Shared.NewFloatingTieredBPSPrice | Shared.NewFloatingBPSPrice | Shared.NewFloatingBulkBPSPrice | Shared.NewFloatingBulkPrice | Shared.NewFloatingThresholdTotalAmountPrice | Shared.NewFloatingTieredPackagePrice | Shared.NewFloatingGroupedTieredPrice | Shared.NewFloatingMaxGroupTieredPackagePrice | Shared.NewFloatingTieredWithMinimumPrice | Shared.NewFloatingPackageWithAllocationPrice | Shared.NewFloatingTieredPackageWithMinimumPrice | Shared.NewFloatingUnitWithPercentPrice | Shared.NewFloatingTieredWithProrationPrice | Shared.NewFloatingUnitWithProrationPrice | Shared.NewFloatingGroupedAllocationPrice | Shared.NewFloatingGroupedWithProratedMinimumPrice | Shared.NewFloatingGroupedWithMeteredMinimumPrice | Shared.NewFloatingMatrixWithDisplayNamePrice | Shared.NewFloatingBulkWithProrationPrice | Shared.NewFloatingGroupedTieredPackagePrice | Shared.NewFloatingScalableMatrixWithUnitPricingPrice | Shared.NewFloatingScalableMatrixWithTieredPricingPrice | Shared.NewFloatingCumulativeGroupedBulkPrice | null;
3240
+ price?: Shared.NewFloatingUnitPrice | Shared.NewFloatingTieredPrice | Shared.NewFloatingBulkPrice | Shared.NewFloatingPackagePrice | Shared.NewFloatingMatrixPrice | Shared.NewFloatingThresholdTotalAmountPrice | Shared.NewFloatingTieredPackagePrice | Shared.NewFloatingTieredWithMinimumPrice | Shared.NewFloatingGroupedTieredPrice | Shared.NewFloatingTieredPackageWithMinimumPrice | Shared.NewFloatingPackageWithAllocationPrice | Shared.NewFloatingUnitWithPercentPrice | Shared.NewFloatingMatrixWithAllocationPrice | Shared.NewFloatingTieredWithProrationPrice | Shared.NewFloatingUnitWithProrationPrice | Shared.NewFloatingGroupedAllocationPrice | Shared.NewFloatingBulkWithProrationPrice | Shared.NewFloatingGroupedWithProratedMinimumPrice | Shared.NewFloatingGroupedWithMeteredMinimumPrice | PriceEvaluation.NewFloatingGroupedWithMinMaxThresholdsPrice | Shared.NewFloatingMatrixWithDisplayNamePrice | Shared.NewFloatingGroupedTieredPackagePrice | Shared.NewFloatingMaxGroupTieredPackagePrice | Shared.NewFloatingScalableMatrixWithUnitPricingPrice | Shared.NewFloatingScalableMatrixWithTieredPricingPrice | Shared.NewFloatingCumulativeGroupedBulkPrice | Shared.NewFloatingMinimumCompositePrice | null;
2448
3241
  /**
2449
3242
  * The ID of a price to evaluate that exists in your Orb account.
2450
3243
  */
2451
3244
  price_id?: string | null;
2452
3245
  }
3246
+ namespace PriceEvaluation {
3247
+ interface NewFloatingGroupedWithMinMaxThresholdsPrice {
3248
+ /**
3249
+ * The cadence to bill for this price on.
3250
+ */
3251
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3252
+ /**
3253
+ * An ISO 4217 currency string for which this price is billed in.
3254
+ */
3255
+ currency: string;
3256
+ /**
3257
+ * Configuration for grouped_with_min_max_thresholds pricing
3258
+ */
3259
+ grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
3260
+ /**
3261
+ * The id of the item the price will be associated with.
3262
+ */
3263
+ item_id: string;
3264
+ /**
3265
+ * The pricing model type
3266
+ */
3267
+ model_type: 'grouped_with_min_max_thresholds';
3268
+ /**
3269
+ * The name of the price.
3270
+ */
3271
+ name: string;
3272
+ /**
3273
+ * The id of the billable metric for the price. Only needed if the price is
3274
+ * usage-based.
3275
+ */
3276
+ billable_metric_id?: string | null;
3277
+ /**
3278
+ * If the Price represents a fixed cost, the price will be billed in-advance if
3279
+ * this is true, and in-arrears if this is false.
3280
+ */
3281
+ billed_in_advance?: boolean | null;
3282
+ /**
3283
+ * For custom cadence: specifies the duration of the billing period in days or
3284
+ * months.
3285
+ */
3286
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3287
+ /**
3288
+ * The per unit conversion rate of the price currency to the invoicing currency.
3289
+ */
3290
+ conversion_rate?: number | null;
3291
+ /**
3292
+ * The configuration for the rate of the price currency to the invoicing currency.
3293
+ */
3294
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
3295
+ /**
3296
+ * For dimensional price: specifies a price group and dimension values
3297
+ */
3298
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
3299
+ /**
3300
+ * An alias for the price.
3301
+ */
3302
+ external_price_id?: string | null;
3303
+ /**
3304
+ * If the Price represents a fixed cost, this represents the quantity of units
3305
+ * applied.
3306
+ */
3307
+ fixed_price_quantity?: number | null;
3308
+ /**
3309
+ * The property used to group this price on an invoice
3310
+ */
3311
+ invoice_grouping_key?: string | null;
3312
+ /**
3313
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
3314
+ * If unspecified, a single invoice is produced per billing cycle.
3315
+ */
3316
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
3317
+ /**
3318
+ * User-specified key/value pairs for the resource. Individual keys can be removed
3319
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
3320
+ * by setting `metadata` to `null`.
3321
+ */
3322
+ metadata?: {
3323
+ [key: string]: string | null;
3324
+ } | null;
3325
+ }
3326
+ namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
3327
+ /**
3328
+ * Configuration for grouped_with_min_max_thresholds pricing
3329
+ */
3330
+ interface GroupedWithMinMaxThresholdsConfig {
3331
+ /**
3332
+ * The event property used to group before applying thresholds
3333
+ */
3334
+ grouping_key: string;
3335
+ /**
3336
+ * The maximum amount to charge each group
3337
+ */
3338
+ maximum_charge: string;
3339
+ /**
3340
+ * The minimum amount to charge each group, regardless of usage
3341
+ */
3342
+ minimum_charge: string;
3343
+ /**
3344
+ * The base price charged per group
3345
+ */
3346
+ per_unit_rate: string;
3347
+ }
3348
+ }
3349
+ }
2453
3350
  }
2454
3351
  export declare namespace Prices {
2455
3352
  export { type EvaluatePriceGroup as EvaluatePriceGroup, type PriceEvaluateResponse as PriceEvaluateResponse, type PriceEvaluateMultipleResponse as PriceEvaluateMultipleResponse, type PriceEvaluatePreviewEventsResponse as PriceEvaluatePreviewEventsResponse, type PriceCreateParams as PriceCreateParams, type PriceUpdateParams as PriceUpdateParams, type PriceListParams as PriceListParams, type PriceEvaluateParams as PriceEvaluateParams, type PriceEvaluateMultipleParams as PriceEvaluateMultipleParams, type PriceEvaluatePreviewEventsParams as PriceEvaluatePreviewEventsParams, };