orb-billing 5.16.0 → 5.18.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 (41) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +1 -1
  3. package/resources/beta/beta.d.ts +258 -2
  4. package/resources/beta/beta.d.ts.map +1 -1
  5. package/resources/beta/beta.js.map +1 -1
  6. package/resources/beta/beta.mjs.map +1 -1
  7. package/resources/beta/external-plan-id.d.ts +258 -2
  8. package/resources/beta/external-plan-id.d.ts.map +1 -1
  9. package/resources/invoice-line-items.d.ts +27 -5
  10. package/resources/invoice-line-items.d.ts.map +1 -1
  11. package/resources/invoice-line-items.js +11 -0
  12. package/resources/invoice-line-items.js.map +1 -1
  13. package/resources/invoice-line-items.mjs +11 -0
  14. package/resources/invoice-line-items.mjs.map +1 -1
  15. package/resources/plans/plans.d.ts +129 -1
  16. package/resources/plans/plans.d.ts.map +1 -1
  17. package/resources/plans/plans.js.map +1 -1
  18. package/resources/plans/plans.mjs.map +1 -1
  19. package/resources/prices/prices.d.ts +369 -3
  20. package/resources/prices/prices.d.ts.map +1 -1
  21. package/resources/prices/prices.js.map +1 -1
  22. package/resources/prices/prices.mjs.map +1 -1
  23. package/resources/shared.d.ts +111 -1
  24. package/resources/shared.d.ts.map +1 -1
  25. package/resources/shared.js.map +1 -1
  26. package/resources/shared.mjs.map +1 -1
  27. package/resources/subscriptions.d.ts +659 -25
  28. package/resources/subscriptions.d.ts.map +1 -1
  29. package/resources/subscriptions.js.map +1 -1
  30. package/resources/subscriptions.mjs.map +1 -1
  31. package/src/resources/beta/beta.ts +302 -0
  32. package/src/resources/beta/external-plan-id.ts +302 -0
  33. package/src/resources/invoice-line-items.ts +29 -6
  34. package/src/resources/plans/plans.ts +151 -0
  35. package/src/resources/prices/prices.ts +432 -0
  36. package/src/resources/shared.ts +143 -0
  37. package/src/resources/subscriptions.ts +804 -56
  38. package/src/version.ts +1 -1
  39. package/version.d.ts +1 -1
  40. package/version.js +1 -1
  41. package/version.mjs +1 -1
@@ -326,6 +326,7 @@ export namespace PlanCreateParams {
326
326
  | Shared.NewPlanUnitPrice
327
327
  | Shared.NewPlanTieredPrice
328
328
  | Shared.NewPlanBulkPrice
329
+ | Price.NewPlanBulkWithFiltersPrice
329
330
  | Shared.NewPlanPackagePrice
330
331
  | Shared.NewPlanMatrixPrice
331
332
  | Shared.NewPlanThresholdTotalAmountPrice
@@ -356,6 +357,156 @@ export namespace PlanCreateParams {
356
357
  }
357
358
 
358
359
  export namespace Price {
360
+ export interface NewPlanBulkWithFiltersPrice {
361
+ /**
362
+ * Configuration for bulk_with_filters pricing
363
+ */
364
+ bulk_with_filters_config: NewPlanBulkWithFiltersPrice.BulkWithFiltersConfig;
365
+
366
+ /**
367
+ * The cadence to bill for this price on.
368
+ */
369
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
370
+
371
+ /**
372
+ * The id of the item the price will be associated with.
373
+ */
374
+ item_id: string;
375
+
376
+ /**
377
+ * The pricing model type
378
+ */
379
+ model_type: 'bulk_with_filters';
380
+
381
+ /**
382
+ * The name of the price.
383
+ */
384
+ name: string;
385
+
386
+ /**
387
+ * The id of the billable metric for the price. Only needed if the price is
388
+ * usage-based.
389
+ */
390
+ billable_metric_id?: string | null;
391
+
392
+ /**
393
+ * If the Price represents a fixed cost, the price will be billed in-advance if
394
+ * this is true, and in-arrears if this is false.
395
+ */
396
+ billed_in_advance?: boolean | null;
397
+
398
+ /**
399
+ * For custom cadence: specifies the duration of the billing period in days or
400
+ * months.
401
+ */
402
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
403
+
404
+ /**
405
+ * The per unit conversion rate of the price currency to the invoicing currency.
406
+ */
407
+ conversion_rate?: number | null;
408
+
409
+ /**
410
+ * The configuration for the rate of the price currency to the invoicing currency.
411
+ */
412
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
413
+
414
+ /**
415
+ * An ISO 4217 currency string, or custom pricing unit identifier, in which this
416
+ * price is billed.
417
+ */
418
+ currency?: string | null;
419
+
420
+ /**
421
+ * For dimensional price: specifies a price group and dimension values
422
+ */
423
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
424
+
425
+ /**
426
+ * An alias for the price.
427
+ */
428
+ external_price_id?: string | null;
429
+
430
+ /**
431
+ * If the Price represents a fixed cost, this represents the quantity of units
432
+ * applied.
433
+ */
434
+ fixed_price_quantity?: number | null;
435
+
436
+ /**
437
+ * The property used to group this price on an invoice
438
+ */
439
+ invoice_grouping_key?: string | null;
440
+
441
+ /**
442
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
443
+ * If unspecified, a single invoice is produced per billing cycle.
444
+ */
445
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
446
+
447
+ /**
448
+ * User-specified key/value pairs for the resource. Individual keys can be removed
449
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
450
+ * by setting `metadata` to `null`.
451
+ */
452
+ metadata?: { [key: string]: string | null } | null;
453
+
454
+ /**
455
+ * A transient ID that can be used to reference this price when adding adjustments
456
+ * in the same API call.
457
+ */
458
+ reference_id?: string | null;
459
+ }
460
+
461
+ export namespace NewPlanBulkWithFiltersPrice {
462
+ /**
463
+ * Configuration for bulk_with_filters pricing
464
+ */
465
+ export interface BulkWithFiltersConfig {
466
+ /**
467
+ * Property filters to apply (all must match)
468
+ */
469
+ filters: Array<BulkWithFiltersConfig.Filter>;
470
+
471
+ /**
472
+ * Bulk tiers for rating based on total usage volume
473
+ */
474
+ tiers: Array<BulkWithFiltersConfig.Tier>;
475
+ }
476
+
477
+ export namespace BulkWithFiltersConfig {
478
+ /**
479
+ * Configuration for a single property filter
480
+ */
481
+ export interface Filter {
482
+ /**
483
+ * Event property key to filter on
484
+ */
485
+ property_key: string;
486
+
487
+ /**
488
+ * Event property value to match
489
+ */
490
+ property_value: string;
491
+ }
492
+
493
+ /**
494
+ * Configuration for a single bulk pricing tier
495
+ */
496
+ export interface Tier {
497
+ /**
498
+ * Amount per unit
499
+ */
500
+ unit_amount: string;
501
+
502
+ /**
503
+ * The lower bound for this tier
504
+ */
505
+ tier_lower_bound?: string | null;
506
+ }
507
+ }
508
+ }
509
+
359
510
  export interface NewPlanTieredWithProrationPrice {
360
511
  /**
361
512
  * The cadence to bill for this price on.
@@ -257,6 +257,7 @@ export type PriceCreateParams =
257
257
  | PriceCreateParams.NewFloatingUnitPrice
258
258
  | PriceCreateParams.NewFloatingTieredPrice
259
259
  | PriceCreateParams.NewFloatingBulkPrice
260
+ | PriceCreateParams.NewFloatingBulkWithFiltersPrice
260
261
  | PriceCreateParams.NewFloatingPackagePrice
261
262
  | PriceCreateParams.NewFloatingMatrixPrice
262
263
  | PriceCreateParams.NewFloatingThresholdTotalAmountPrice
@@ -567,6 +568,149 @@ export declare namespace PriceCreateParams {
567
568
  metadata?: { [key: string]: string | null } | null;
568
569
  }
569
570
 
571
+ export interface NewFloatingBulkWithFiltersPrice {
572
+ /**
573
+ * Configuration for bulk_with_filters pricing
574
+ */
575
+ bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
576
+
577
+ /**
578
+ * The cadence to bill for this price on.
579
+ */
580
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
581
+
582
+ /**
583
+ * An ISO 4217 currency string for which this price is billed in.
584
+ */
585
+ currency: string;
586
+
587
+ /**
588
+ * The id of the item the price will be associated with.
589
+ */
590
+ item_id: string;
591
+
592
+ /**
593
+ * The pricing model type
594
+ */
595
+ model_type: 'bulk_with_filters';
596
+
597
+ /**
598
+ * The name of the price.
599
+ */
600
+ name: string;
601
+
602
+ /**
603
+ * The id of the billable metric for the price. Only needed if the price is
604
+ * usage-based.
605
+ */
606
+ billable_metric_id?: string | null;
607
+
608
+ /**
609
+ * If the Price represents a fixed cost, the price will be billed in-advance if
610
+ * this is true, and in-arrears if this is false.
611
+ */
612
+ billed_in_advance?: boolean | null;
613
+
614
+ /**
615
+ * For custom cadence: specifies the duration of the billing period in days or
616
+ * months.
617
+ */
618
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
619
+
620
+ /**
621
+ * The per unit conversion rate of the price currency to the invoicing currency.
622
+ */
623
+ conversion_rate?: number | null;
624
+
625
+ /**
626
+ * The configuration for the rate of the price currency to the invoicing currency.
627
+ */
628
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
629
+
630
+ /**
631
+ * For dimensional price: specifies a price group and dimension values
632
+ */
633
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
634
+
635
+ /**
636
+ * An alias for the price.
637
+ */
638
+ external_price_id?: string | null;
639
+
640
+ /**
641
+ * If the Price represents a fixed cost, this represents the quantity of units
642
+ * applied.
643
+ */
644
+ fixed_price_quantity?: number | null;
645
+
646
+ /**
647
+ * The property used to group this price on an invoice
648
+ */
649
+ invoice_grouping_key?: string | null;
650
+
651
+ /**
652
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
653
+ * If unspecified, a single invoice is produced per billing cycle.
654
+ */
655
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
656
+
657
+ /**
658
+ * User-specified key/value pairs for the resource. Individual keys can be removed
659
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
660
+ * by setting `metadata` to `null`.
661
+ */
662
+ metadata?: { [key: string]: string | null } | null;
663
+ }
664
+
665
+ export namespace NewFloatingBulkWithFiltersPrice {
666
+ /**
667
+ * Configuration for bulk_with_filters pricing
668
+ */
669
+ export interface BulkWithFiltersConfig {
670
+ /**
671
+ * Property filters to apply (all must match)
672
+ */
673
+ filters: Array<BulkWithFiltersConfig.Filter>;
674
+
675
+ /**
676
+ * Bulk tiers for rating based on total usage volume
677
+ */
678
+ tiers: Array<BulkWithFiltersConfig.Tier>;
679
+ }
680
+
681
+ export namespace BulkWithFiltersConfig {
682
+ /**
683
+ * Configuration for a single property filter
684
+ */
685
+ export interface Filter {
686
+ /**
687
+ * Event property key to filter on
688
+ */
689
+ property_key: string;
690
+
691
+ /**
692
+ * Event property value to match
693
+ */
694
+ property_value: string;
695
+ }
696
+
697
+ /**
698
+ * Configuration for a single bulk pricing tier
699
+ */
700
+ export interface Tier {
701
+ /**
702
+ * Amount per unit
703
+ */
704
+ unit_amount: string;
705
+
706
+ /**
707
+ * The lower bound for this tier
708
+ */
709
+ tier_lower_bound?: string | null;
710
+ }
711
+ }
712
+ }
713
+
570
714
  export interface NewFloatingPackagePrice {
571
715
  /**
572
716
  * The cadence to bill for this price on.
@@ -3880,6 +4024,7 @@ export namespace PriceEvaluateMultipleParams {
3880
4024
  | Shared.NewFloatingUnitPrice
3881
4025
  | Shared.NewFloatingTieredPrice
3882
4026
  | Shared.NewFloatingBulkPrice
4027
+ | PriceEvaluation.NewFloatingBulkWithFiltersPrice
3883
4028
  | Shared.NewFloatingPackagePrice
3884
4029
  | Shared.NewFloatingMatrixPrice
3885
4030
  | Shared.NewFloatingThresholdTotalAmountPrice
@@ -3915,6 +4060,149 @@ export namespace PriceEvaluateMultipleParams {
3915
4060
  }
3916
4061
 
3917
4062
  export namespace PriceEvaluation {
4063
+ export interface NewFloatingBulkWithFiltersPrice {
4064
+ /**
4065
+ * Configuration for bulk_with_filters pricing
4066
+ */
4067
+ bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
4068
+
4069
+ /**
4070
+ * The cadence to bill for this price on.
4071
+ */
4072
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4073
+
4074
+ /**
4075
+ * An ISO 4217 currency string for which this price is billed in.
4076
+ */
4077
+ currency: string;
4078
+
4079
+ /**
4080
+ * The id of the item the price will be associated with.
4081
+ */
4082
+ item_id: string;
4083
+
4084
+ /**
4085
+ * The pricing model type
4086
+ */
4087
+ model_type: 'bulk_with_filters';
4088
+
4089
+ /**
4090
+ * The name of the price.
4091
+ */
4092
+ name: string;
4093
+
4094
+ /**
4095
+ * The id of the billable metric for the price. Only needed if the price is
4096
+ * usage-based.
4097
+ */
4098
+ billable_metric_id?: string | null;
4099
+
4100
+ /**
4101
+ * If the Price represents a fixed cost, the price will be billed in-advance if
4102
+ * this is true, and in-arrears if this is false.
4103
+ */
4104
+ billed_in_advance?: boolean | null;
4105
+
4106
+ /**
4107
+ * For custom cadence: specifies the duration of the billing period in days or
4108
+ * months.
4109
+ */
4110
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4111
+
4112
+ /**
4113
+ * The per unit conversion rate of the price currency to the invoicing currency.
4114
+ */
4115
+ conversion_rate?: number | null;
4116
+
4117
+ /**
4118
+ * The configuration for the rate of the price currency to the invoicing currency.
4119
+ */
4120
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
4121
+
4122
+ /**
4123
+ * For dimensional price: specifies a price group and dimension values
4124
+ */
4125
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
4126
+
4127
+ /**
4128
+ * An alias for the price.
4129
+ */
4130
+ external_price_id?: string | null;
4131
+
4132
+ /**
4133
+ * If the Price represents a fixed cost, this represents the quantity of units
4134
+ * applied.
4135
+ */
4136
+ fixed_price_quantity?: number | null;
4137
+
4138
+ /**
4139
+ * The property used to group this price on an invoice
4140
+ */
4141
+ invoice_grouping_key?: string | null;
4142
+
4143
+ /**
4144
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
4145
+ * If unspecified, a single invoice is produced per billing cycle.
4146
+ */
4147
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4148
+
4149
+ /**
4150
+ * User-specified key/value pairs for the resource. Individual keys can be removed
4151
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
4152
+ * by setting `metadata` to `null`.
4153
+ */
4154
+ metadata?: { [key: string]: string | null } | null;
4155
+ }
4156
+
4157
+ export namespace NewFloatingBulkWithFiltersPrice {
4158
+ /**
4159
+ * Configuration for bulk_with_filters pricing
4160
+ */
4161
+ export interface BulkWithFiltersConfig {
4162
+ /**
4163
+ * Property filters to apply (all must match)
4164
+ */
4165
+ filters: Array<BulkWithFiltersConfig.Filter>;
4166
+
4167
+ /**
4168
+ * Bulk tiers for rating based on total usage volume
4169
+ */
4170
+ tiers: Array<BulkWithFiltersConfig.Tier>;
4171
+ }
4172
+
4173
+ export namespace BulkWithFiltersConfig {
4174
+ /**
4175
+ * Configuration for a single property filter
4176
+ */
4177
+ export interface Filter {
4178
+ /**
4179
+ * Event property key to filter on
4180
+ */
4181
+ property_key: string;
4182
+
4183
+ /**
4184
+ * Event property value to match
4185
+ */
4186
+ property_value: string;
4187
+ }
4188
+
4189
+ /**
4190
+ * Configuration for a single bulk pricing tier
4191
+ */
4192
+ export interface Tier {
4193
+ /**
4194
+ * Amount per unit
4195
+ */
4196
+ unit_amount: string;
4197
+
4198
+ /**
4199
+ * The lower bound for this tier
4200
+ */
4201
+ tier_lower_bound?: string | null;
4202
+ }
4203
+ }
4204
+ }
4205
+
3918
4206
  export interface NewFloatingGroupedWithMinMaxThresholdsPrice {
3919
4207
  /**
3920
4208
  * The cadence to bill for this price on.
@@ -4347,6 +4635,7 @@ export namespace PriceEvaluatePreviewEventsParams {
4347
4635
  | Shared.NewFloatingUnitPrice
4348
4636
  | Shared.NewFloatingTieredPrice
4349
4637
  | Shared.NewFloatingBulkPrice
4638
+ | PriceEvaluation.NewFloatingBulkWithFiltersPrice
4350
4639
  | Shared.NewFloatingPackagePrice
4351
4640
  | Shared.NewFloatingMatrixPrice
4352
4641
  | Shared.NewFloatingThresholdTotalAmountPrice
@@ -4382,6 +4671,149 @@ export namespace PriceEvaluatePreviewEventsParams {
4382
4671
  }
4383
4672
 
4384
4673
  export namespace PriceEvaluation {
4674
+ export interface NewFloatingBulkWithFiltersPrice {
4675
+ /**
4676
+ * Configuration for bulk_with_filters pricing
4677
+ */
4678
+ bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
4679
+
4680
+ /**
4681
+ * The cadence to bill for this price on.
4682
+ */
4683
+ cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4684
+
4685
+ /**
4686
+ * An ISO 4217 currency string for which this price is billed in.
4687
+ */
4688
+ currency: string;
4689
+
4690
+ /**
4691
+ * The id of the item the price will be associated with.
4692
+ */
4693
+ item_id: string;
4694
+
4695
+ /**
4696
+ * The pricing model type
4697
+ */
4698
+ model_type: 'bulk_with_filters';
4699
+
4700
+ /**
4701
+ * The name of the price.
4702
+ */
4703
+ name: string;
4704
+
4705
+ /**
4706
+ * The id of the billable metric for the price. Only needed if the price is
4707
+ * usage-based.
4708
+ */
4709
+ billable_metric_id?: string | null;
4710
+
4711
+ /**
4712
+ * If the Price represents a fixed cost, the price will be billed in-advance if
4713
+ * this is true, and in-arrears if this is false.
4714
+ */
4715
+ billed_in_advance?: boolean | null;
4716
+
4717
+ /**
4718
+ * For custom cadence: specifies the duration of the billing period in days or
4719
+ * months.
4720
+ */
4721
+ billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4722
+
4723
+ /**
4724
+ * The per unit conversion rate of the price currency to the invoicing currency.
4725
+ */
4726
+ conversion_rate?: number | null;
4727
+
4728
+ /**
4729
+ * The configuration for the rate of the price currency to the invoicing currency.
4730
+ */
4731
+ conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
4732
+
4733
+ /**
4734
+ * For dimensional price: specifies a price group and dimension values
4735
+ */
4736
+ dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
4737
+
4738
+ /**
4739
+ * An alias for the price.
4740
+ */
4741
+ external_price_id?: string | null;
4742
+
4743
+ /**
4744
+ * If the Price represents a fixed cost, this represents the quantity of units
4745
+ * applied.
4746
+ */
4747
+ fixed_price_quantity?: number | null;
4748
+
4749
+ /**
4750
+ * The property used to group this price on an invoice
4751
+ */
4752
+ invoice_grouping_key?: string | null;
4753
+
4754
+ /**
4755
+ * Within each billing cycle, specifies the cadence at which invoices are produced.
4756
+ * If unspecified, a single invoice is produced per billing cycle.
4757
+ */
4758
+ invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
4759
+
4760
+ /**
4761
+ * User-specified key/value pairs for the resource. Individual keys can be removed
4762
+ * by setting the value to `null`, and the entire metadata mapping can be cleared
4763
+ * by setting `metadata` to `null`.
4764
+ */
4765
+ metadata?: { [key: string]: string | null } | null;
4766
+ }
4767
+
4768
+ export namespace NewFloatingBulkWithFiltersPrice {
4769
+ /**
4770
+ * Configuration for bulk_with_filters pricing
4771
+ */
4772
+ export interface BulkWithFiltersConfig {
4773
+ /**
4774
+ * Property filters to apply (all must match)
4775
+ */
4776
+ filters: Array<BulkWithFiltersConfig.Filter>;
4777
+
4778
+ /**
4779
+ * Bulk tiers for rating based on total usage volume
4780
+ */
4781
+ tiers: Array<BulkWithFiltersConfig.Tier>;
4782
+ }
4783
+
4784
+ export namespace BulkWithFiltersConfig {
4785
+ /**
4786
+ * Configuration for a single property filter
4787
+ */
4788
+ export interface Filter {
4789
+ /**
4790
+ * Event property key to filter on
4791
+ */
4792
+ property_key: string;
4793
+
4794
+ /**
4795
+ * Event property value to match
4796
+ */
4797
+ property_value: string;
4798
+ }
4799
+
4800
+ /**
4801
+ * Configuration for a single bulk pricing tier
4802
+ */
4803
+ export interface Tier {
4804
+ /**
4805
+ * Amount per unit
4806
+ */
4807
+ unit_amount: string;
4808
+
4809
+ /**
4810
+ * The lower bound for this tier
4811
+ */
4812
+ tier_lower_bound?: string | null;
4813
+ }
4814
+ }
4815
+ }
4816
+
4385
4817
  export interface NewFloatingGroupedWithMinMaxThresholdsPrice {
4386
4818
  /**
4387
4819
  * The cadence to bill for this price on.