orb-billing 4.73.0 → 5.0.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 (141) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +18 -30
  3. package/index.d.mts +148 -14
  4. package/index.d.ts +148 -14
  5. package/index.d.ts.map +1 -1
  6. package/index.js +0 -3
  7. package/index.js.map +1 -1
  8. package/index.mjs +3 -6
  9. package/index.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/alerts.d.ts +20 -88
  12. package/resources/alerts.d.ts.map +1 -1
  13. package/resources/alerts.js.map +1 -1
  14. package/resources/alerts.mjs.map +1 -1
  15. package/resources/beta/beta.d.ts +9 -7313
  16. package/resources/beta/beta.d.ts.map +1 -1
  17. package/resources/beta/beta.js.map +1 -1
  18. package/resources/beta/beta.mjs.map +1 -1
  19. package/resources/beta/external-plan-id.d.ts +7 -7074
  20. package/resources/beta/external-plan-id.d.ts.map +1 -1
  21. package/resources/beta/external-plan-id.js.map +1 -1
  22. package/resources/beta/external-plan-id.mjs.map +1 -1
  23. package/resources/credit-notes.d.ts +9 -163
  24. package/resources/credit-notes.d.ts.map +1 -1
  25. package/resources/credit-notes.js +3 -6
  26. package/resources/credit-notes.js.map +1 -1
  27. package/resources/credit-notes.mjs +2 -4
  28. package/resources/credit-notes.mjs.map +1 -1
  29. package/resources/customers/balance-transactions.d.ts +5 -32
  30. package/resources/customers/balance-transactions.d.ts.map +1 -1
  31. package/resources/customers/balance-transactions.js.map +1 -1
  32. package/resources/customers/balance-transactions.mjs.map +1 -1
  33. package/resources/customers/costs.d.ts +3 -81
  34. package/resources/customers/costs.d.ts.map +1 -1
  35. package/resources/customers/credits/credits.d.ts +4 -4
  36. package/resources/customers/credits/credits.d.ts.map +1 -1
  37. package/resources/customers/credits/credits.js.map +1 -1
  38. package/resources/customers/credits/credits.mjs.map +1 -1
  39. package/resources/customers/credits/index.d.ts +2 -2
  40. package/resources/customers/credits/index.d.ts.map +1 -1
  41. package/resources/customers/credits/index.js.map +1 -1
  42. package/resources/customers/credits/index.mjs.map +1 -1
  43. package/resources/customers/credits/ledger.d.ts +171 -962
  44. package/resources/customers/credits/ledger.d.ts.map +1 -1
  45. package/resources/customers/credits/ledger.js.map +1 -1
  46. package/resources/customers/credits/ledger.mjs.map +1 -1
  47. package/resources/customers/credits/top-ups.d.ts +37 -117
  48. package/resources/customers/credits/top-ups.d.ts.map +1 -1
  49. package/resources/customers/credits/top-ups.js.map +1 -1
  50. package/resources/customers/credits/top-ups.mjs.map +1 -1
  51. package/resources/customers/customers.d.ts +72 -678
  52. package/resources/customers/customers.d.ts.map +1 -1
  53. package/resources/customers/customers.js.map +1 -1
  54. package/resources/customers/customers.mjs.map +1 -1
  55. package/resources/customers/index.d.ts +1 -1
  56. package/resources/customers/index.d.ts.map +1 -1
  57. package/resources/customers/index.js.map +1 -1
  58. package/resources/customers/index.mjs.map +1 -1
  59. package/resources/events/events.d.ts +3 -3
  60. package/resources/events/events.d.ts.map +1 -1
  61. package/resources/index.d.ts +7 -7
  62. package/resources/index.d.ts.map +1 -1
  63. package/resources/index.js +1 -4
  64. package/resources/index.js.map +1 -1
  65. package/resources/index.mjs +3 -3
  66. package/resources/index.mjs.map +1 -1
  67. package/resources/invoice-line-items.d.ts +6 -395
  68. package/resources/invoice-line-items.d.ts.map +1 -1
  69. package/resources/invoice-line-items.js.map +1 -1
  70. package/resources/invoice-line-items.mjs.map +1 -1
  71. package/resources/invoices.d.ts +30 -1700
  72. package/resources/invoices.d.ts.map +1 -1
  73. package/resources/invoices.js +3 -6
  74. package/resources/invoices.js.map +1 -1
  75. package/resources/invoices.mjs +2 -4
  76. package/resources/invoices.mjs.map +1 -1
  77. package/resources/plans/plans.d.ts +7 -3801
  78. package/resources/plans/plans.d.ts.map +1 -1
  79. package/resources/plans/plans.js.map +1 -1
  80. package/resources/plans/plans.mjs.map +1 -1
  81. package/resources/prices/external-price-id.d.ts +3 -3
  82. package/resources/prices/external-price-id.d.ts.map +1 -1
  83. package/resources/prices/index.d.ts +1 -1
  84. package/resources/prices/index.d.ts.map +1 -1
  85. package/resources/prices/index.js +1 -2
  86. package/resources/prices/index.js.map +1 -1
  87. package/resources/prices/index.mjs +1 -1
  88. package/resources/prices/index.mjs.map +1 -1
  89. package/resources/prices/prices.d.ts +347 -9373
  90. package/resources/prices/prices.d.ts.map +1 -1
  91. package/resources/prices/prices.js +39 -20
  92. package/resources/prices/prices.js.map +1 -1
  93. package/resources/prices/prices.mjs +38 -18
  94. package/resources/prices/prices.mjs.map +1 -1
  95. package/resources/shared.d.ts +7269 -9
  96. package/resources/shared.d.ts.map +1 -1
  97. package/resources/shared.js +11 -0
  98. package/resources/shared.js.map +1 -1
  99. package/resources/shared.mjs +7 -1
  100. package/resources/shared.mjs.map +1 -1
  101. package/resources/subscription-changes.d.ts +138 -2158
  102. package/resources/subscription-changes.d.ts.map +1 -1
  103. package/resources/subscription-changes.js.map +1 -1
  104. package/resources/subscription-changes.mjs.map +1 -1
  105. package/resources/subscriptions.d.ts +2722 -26580
  106. package/resources/subscriptions.d.ts.map +1 -1
  107. package/resources/subscriptions.js +7 -1
  108. package/resources/subscriptions.js.map +1 -1
  109. package/resources/subscriptions.mjs +7 -1
  110. package/resources/subscriptions.mjs.map +1 -1
  111. package/src/index.ts +221 -40
  112. package/src/resources/alerts.ts +20 -94
  113. package/src/resources/beta/beta.ts +124 -8892
  114. package/src/resources/beta/external-plan-id.ts +118 -8593
  115. package/src/resources/credit-notes.ts +10 -217
  116. package/src/resources/customers/balance-transactions.ts +5 -36
  117. package/src/resources/customers/costs.ts +3 -101
  118. package/src/resources/customers/credits/credits.ts +18 -0
  119. package/src/resources/customers/credits/index.ts +9 -0
  120. package/src/resources/customers/credits/ledger.ts +212 -1435
  121. package/src/resources/customers/credits/top-ups.ts +41 -132
  122. package/src/resources/customers/customers.ts +162 -1454
  123. package/src/resources/customers/index.ts +8 -0
  124. package/src/resources/events/events.ts +3 -3
  125. package/src/resources/index.ts +43 -21
  126. package/src/resources/invoice-line-items.ts +10 -501
  127. package/src/resources/invoices.ts +60 -2394
  128. package/src/resources/plans/plans.ts +38 -4588
  129. package/src/resources/prices/external-price-id.ts +3 -3
  130. package/src/resources/prices/index.ts +2 -2
  131. package/src/resources/prices/prices.ts +501 -11811
  132. package/src/resources/shared.ts +9582 -22
  133. package/src/resources/subscription-changes.ts +171 -2670
  134. package/src/resources/subscriptions.ts +3175 -31993
  135. package/src/version.ts +1 -1
  136. package/version.d.ts +1 -1
  137. package/version.d.ts.map +1 -1
  138. package/version.js +1 -1
  139. package/version.js.map +1 -1
  140. package/version.mjs +1 -1
  141. package/version.mjs.map +1 -1
@@ -6,7 +6,6 @@ import * as Core from '../../core';
6
6
  import * as Shared from '../shared';
7
7
  import * as ExternalPlanIDAPI from './external-plan-id';
8
8
  import { ExternalPlanID, ExternalPlanIDUpdateParams } from './external-plan-id';
9
- import * as PricesAPI from '../prices/prices';
10
9
  import { Page, type PageParams } from '../../pagination';
11
10
 
12
11
  export class Plans extends APIResource {
@@ -88,11 +87,11 @@ export interface Plan {
88
87
  * across all phases of the plan.
89
88
  */
90
89
  adjustments: Array<
91
- | Plan.PlanPhaseUsageDiscountAdjustment
92
- | Plan.PlanPhaseAmountDiscountAdjustment
93
- | Plan.PlanPhasePercentageDiscountAdjustment
94
- | Plan.PlanPhaseMinimumAdjustment
95
- | Plan.PlanPhaseMaximumAdjustment
90
+ | Shared.PlanPhaseUsageDiscountAdjustment
91
+ | Shared.PlanPhaseAmountDiscountAdjustment
92
+ | Shared.PlanPhasePercentageDiscountAdjustment
93
+ | Shared.PlanPhaseMinimumAdjustment
94
+ | Shared.PlanPhaseMaximumAdjustment
96
95
  >;
97
96
 
98
97
  base_plan: Plan.BasePlan | null;
@@ -140,7 +139,7 @@ export interface Plan {
140
139
  /**
141
140
  * @deprecated
142
141
  */
143
- maximum: Plan.Maximum | null;
142
+ maximum: Shared.Maximum | null;
144
143
 
145
144
  /**
146
145
  * @deprecated
@@ -158,7 +157,7 @@ export interface Plan {
158
157
  /**
159
158
  * @deprecated
160
159
  */
161
- minimum: Plan.Minimum | null;
160
+ minimum: Shared.Minimum | null;
162
161
 
163
162
  /**
164
163
  * @deprecated
@@ -182,7 +181,7 @@ export interface Plan {
182
181
  * Prices for this plan. If the plan has phases, this includes prices across all
183
182
  * phases of the plan.
184
183
  */
185
- prices: Array<PricesAPI.Price>;
184
+ prices: Array<Shared.Price>;
186
185
 
187
186
  product: Plan.Product;
188
187
 
@@ -194,296 +193,6 @@ export interface Plan {
194
193
  }
195
194
 
196
195
  export namespace Plan {
197
- export interface PlanPhaseUsageDiscountAdjustment {
198
- id: string;
199
-
200
- adjustment_type: 'usage_discount';
201
-
202
- /**
203
- * @deprecated The price IDs that this adjustment applies to.
204
- */
205
- applies_to_price_ids: Array<string>;
206
-
207
- /**
208
- * The filters that determine which prices to apply this adjustment to.
209
- */
210
- filters: Array<PlanPhaseUsageDiscountAdjustment.Filter>;
211
-
212
- /**
213
- * True for adjustments that apply to an entire invocice, false for adjustments
214
- * that apply to only one price.
215
- */
216
- is_invoice_level: boolean;
217
-
218
- /**
219
- * The plan phase in which this adjustment is active.
220
- */
221
- plan_phase_order: number | null;
222
-
223
- /**
224
- * The reason for the adjustment.
225
- */
226
- reason: string | null;
227
-
228
- /**
229
- * The number of usage units by which to discount the price this adjustment applies
230
- * to in a given billing period.
231
- */
232
- usage_discount: number;
233
- }
234
-
235
- export namespace PlanPhaseUsageDiscountAdjustment {
236
- export interface Filter {
237
- /**
238
- * The property of the price to filter on.
239
- */
240
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
241
-
242
- /**
243
- * Should prices that match the filter be included or excluded.
244
- */
245
- operator: 'includes' | 'excludes';
246
-
247
- /**
248
- * The IDs or values that match this filter.
249
- */
250
- values: Array<string>;
251
- }
252
- }
253
-
254
- export interface PlanPhaseAmountDiscountAdjustment {
255
- id: string;
256
-
257
- adjustment_type: 'amount_discount';
258
-
259
- /**
260
- * The amount by which to discount the prices this adjustment applies to in a given
261
- * billing period.
262
- */
263
- amount_discount: string;
264
-
265
- /**
266
- * @deprecated The price IDs that this adjustment applies to.
267
- */
268
- applies_to_price_ids: Array<string>;
269
-
270
- /**
271
- * The filters that determine which prices to apply this adjustment to.
272
- */
273
- filters: Array<PlanPhaseAmountDiscountAdjustment.Filter>;
274
-
275
- /**
276
- * True for adjustments that apply to an entire invocice, false for adjustments
277
- * that apply to only one price.
278
- */
279
- is_invoice_level: boolean;
280
-
281
- /**
282
- * The plan phase in which this adjustment is active.
283
- */
284
- plan_phase_order: number | null;
285
-
286
- /**
287
- * The reason for the adjustment.
288
- */
289
- reason: string | null;
290
- }
291
-
292
- export namespace PlanPhaseAmountDiscountAdjustment {
293
- export interface Filter {
294
- /**
295
- * The property of the price to filter on.
296
- */
297
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
298
-
299
- /**
300
- * Should prices that match the filter be included or excluded.
301
- */
302
- operator: 'includes' | 'excludes';
303
-
304
- /**
305
- * The IDs or values that match this filter.
306
- */
307
- values: Array<string>;
308
- }
309
- }
310
-
311
- export interface PlanPhasePercentageDiscountAdjustment {
312
- id: string;
313
-
314
- adjustment_type: 'percentage_discount';
315
-
316
- /**
317
- * @deprecated The price IDs that this adjustment applies to.
318
- */
319
- applies_to_price_ids: Array<string>;
320
-
321
- /**
322
- * The filters that determine which prices to apply this adjustment to.
323
- */
324
- filters: Array<PlanPhasePercentageDiscountAdjustment.Filter>;
325
-
326
- /**
327
- * True for adjustments that apply to an entire invocice, false for adjustments
328
- * that apply to only one price.
329
- */
330
- is_invoice_level: boolean;
331
-
332
- /**
333
- * The percentage (as a value between 0 and 1) by which to discount the price
334
- * intervals this adjustment applies to in a given billing period.
335
- */
336
- percentage_discount: number;
337
-
338
- /**
339
- * The plan phase in which this adjustment is active.
340
- */
341
- plan_phase_order: number | null;
342
-
343
- /**
344
- * The reason for the adjustment.
345
- */
346
- reason: string | null;
347
- }
348
-
349
- export namespace PlanPhasePercentageDiscountAdjustment {
350
- export interface Filter {
351
- /**
352
- * The property of the price to filter on.
353
- */
354
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
355
-
356
- /**
357
- * Should prices that match the filter be included or excluded.
358
- */
359
- operator: 'includes' | 'excludes';
360
-
361
- /**
362
- * The IDs or values that match this filter.
363
- */
364
- values: Array<string>;
365
- }
366
- }
367
-
368
- export interface PlanPhaseMinimumAdjustment {
369
- id: string;
370
-
371
- adjustment_type: 'minimum';
372
-
373
- /**
374
- * @deprecated The price IDs that this adjustment applies to.
375
- */
376
- applies_to_price_ids: Array<string>;
377
-
378
- /**
379
- * The filters that determine which prices to apply this adjustment to.
380
- */
381
- filters: Array<PlanPhaseMinimumAdjustment.Filter>;
382
-
383
- /**
384
- * True for adjustments that apply to an entire invocice, false for adjustments
385
- * that apply to only one price.
386
- */
387
- is_invoice_level: boolean;
388
-
389
- /**
390
- * The item ID that revenue from this minimum will be attributed to.
391
- */
392
- item_id: string;
393
-
394
- /**
395
- * The minimum amount to charge in a given billing period for the prices this
396
- * adjustment applies to.
397
- */
398
- minimum_amount: string;
399
-
400
- /**
401
- * The plan phase in which this adjustment is active.
402
- */
403
- plan_phase_order: number | null;
404
-
405
- /**
406
- * The reason for the adjustment.
407
- */
408
- reason: string | null;
409
- }
410
-
411
- export namespace PlanPhaseMinimumAdjustment {
412
- export interface Filter {
413
- /**
414
- * The property of the price to filter on.
415
- */
416
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
417
-
418
- /**
419
- * Should prices that match the filter be included or excluded.
420
- */
421
- operator: 'includes' | 'excludes';
422
-
423
- /**
424
- * The IDs or values that match this filter.
425
- */
426
- values: Array<string>;
427
- }
428
- }
429
-
430
- export interface PlanPhaseMaximumAdjustment {
431
- id: string;
432
-
433
- adjustment_type: 'maximum';
434
-
435
- /**
436
- * @deprecated The price IDs that this adjustment applies to.
437
- */
438
- applies_to_price_ids: Array<string>;
439
-
440
- /**
441
- * The filters that determine which prices to apply this adjustment to.
442
- */
443
- filters: Array<PlanPhaseMaximumAdjustment.Filter>;
444
-
445
- /**
446
- * True for adjustments that apply to an entire invocice, false for adjustments
447
- * that apply to only one price.
448
- */
449
- is_invoice_level: boolean;
450
-
451
- /**
452
- * The maximum amount to charge in a given billing period for the prices this
453
- * adjustment applies to.
454
- */
455
- maximum_amount: string;
456
-
457
- /**
458
- * The plan phase in which this adjustment is active.
459
- */
460
- plan_phase_order: number | null;
461
-
462
- /**
463
- * The reason for the adjustment.
464
- */
465
- reason: string | null;
466
- }
467
-
468
- export namespace PlanPhaseMaximumAdjustment {
469
- export interface Filter {
470
- /**
471
- * The property of the price to filter on.
472
- */
473
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
474
-
475
- /**
476
- * Should prices that match the filter be included or excluded.
477
- */
478
- operator: 'includes' | 'excludes';
479
-
480
- /**
481
- * The IDs or values that match this filter.
482
- */
483
- values: Array<string>;
484
- }
485
- }
486
-
487
196
  export interface BasePlan {
488
197
  id: string | null;
489
198
 
@@ -497,86 +206,6 @@ export namespace Plan {
497
206
  name: string | null;
498
207
  }
499
208
 
500
- /**
501
- * @deprecated
502
- */
503
- export interface Maximum {
504
- /**
505
- * @deprecated List of price_ids that this maximum amount applies to. For plan/plan
506
- * phase maximums, this can be a subset of prices.
507
- */
508
- applies_to_price_ids: Array<string>;
509
-
510
- /**
511
- * The filters that determine which prices to apply this maximum to.
512
- */
513
- filters: Array<Maximum.Filter>;
514
-
515
- /**
516
- * Maximum amount applied
517
- */
518
- maximum_amount: string;
519
- }
520
-
521
- export namespace Maximum {
522
- export interface Filter {
523
- /**
524
- * The property of the price to filter on.
525
- */
526
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
527
-
528
- /**
529
- * Should prices that match the filter be included or excluded.
530
- */
531
- operator: 'includes' | 'excludes';
532
-
533
- /**
534
- * The IDs or values that match this filter.
535
- */
536
- values: Array<string>;
537
- }
538
- }
539
-
540
- /**
541
- * @deprecated
542
- */
543
- export interface Minimum {
544
- /**
545
- * @deprecated List of price_ids that this minimum amount applies to. For plan/plan
546
- * phase minimums, this can be a subset of prices.
547
- */
548
- applies_to_price_ids: Array<string>;
549
-
550
- /**
551
- * The filters that determine which prices to apply this minimum to.
552
- */
553
- filters: Array<Minimum.Filter>;
554
-
555
- /**
556
- * Minimum amount applied
557
- */
558
- minimum_amount: string;
559
- }
560
-
561
- export namespace Minimum {
562
- export interface Filter {
563
- /**
564
- * The property of the price to filter on.
565
- */
566
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
567
-
568
- /**
569
- * Should prices that match the filter be included or excluded.
570
- */
571
- operator: 'includes' | 'excludes';
572
-
573
- /**
574
- * The IDs or values that match this filter.
575
- */
576
- values: Array<string>;
577
- }
578
- }
579
-
580
209
  export interface PlanPhase {
581
210
  id: string;
582
211
 
@@ -592,11 +221,11 @@ export namespace Plan {
592
221
 
593
222
  duration_unit: 'daily' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' | null;
594
223
 
595
- maximum: PlanPhase.Maximum | null;
224
+ maximum: Shared.Maximum | null;
596
225
 
597
226
  maximum_amount: string | null;
598
227
 
599
- minimum: PlanPhase.Minimum | null;
228
+ minimum: Shared.Minimum | null;
600
229
 
601
230
  minimum_amount: string | null;
602
231
 
@@ -608,82 +237,6 @@ export namespace Plan {
608
237
  order: number;
609
238
  }
610
239
 
611
- export namespace PlanPhase {
612
- export interface Maximum {
613
- /**
614
- * @deprecated List of price_ids that this maximum amount applies to. For plan/plan
615
- * phase maximums, this can be a subset of prices.
616
- */
617
- applies_to_price_ids: Array<string>;
618
-
619
- /**
620
- * The filters that determine which prices to apply this maximum to.
621
- */
622
- filters: Array<Maximum.Filter>;
623
-
624
- /**
625
- * Maximum amount applied
626
- */
627
- maximum_amount: string;
628
- }
629
-
630
- export namespace Maximum {
631
- export interface Filter {
632
- /**
633
- * The property of the price to filter on.
634
- */
635
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
636
-
637
- /**
638
- * Should prices that match the filter be included or excluded.
639
- */
640
- operator: 'includes' | 'excludes';
641
-
642
- /**
643
- * The IDs or values that match this filter.
644
- */
645
- values: Array<string>;
646
- }
647
- }
648
-
649
- export interface Minimum {
650
- /**
651
- * @deprecated List of price_ids that this minimum amount applies to. For plan/plan
652
- * phase minimums, this can be a subset of prices.
653
- */
654
- applies_to_price_ids: Array<string>;
655
-
656
- /**
657
- * The filters that determine which prices to apply this minimum to.
658
- */
659
- filters: Array<Minimum.Filter>;
660
-
661
- /**
662
- * Minimum amount applied
663
- */
664
- minimum_amount: string;
665
- }
666
-
667
- export namespace Minimum {
668
- export interface Filter {
669
- /**
670
- * The property of the price to filter on.
671
- */
672
- field: 'price_id' | 'item_id' | 'price_type' | 'currency' | 'pricing_unit_id';
673
-
674
- /**
675
- * Should prices that match the filter be included or excluded.
676
- */
677
- operator: 'includes' | 'excludes';
678
-
679
- /**
680
- * The IDs or values that match this filter.
681
- */
682
- values: Array<string>;
683
- }
684
- }
685
- }
686
-
687
240
  export interface Product {
688
241
  id: string;
689
242
 
@@ -713,34 +266,34 @@ export interface PlanCreateParams {
713
266
  * phases of the plan.
714
267
  */
715
268
  prices: Array<
716
- | PlanCreateParams.NewPlanUnitPrice
717
- | PlanCreateParams.NewPlanPackagePrice
718
- | PlanCreateParams.NewPlanMatrixPrice
719
- | PlanCreateParams.NewPlanTieredPrice
720
- | PlanCreateParams.NewPlanTieredBpsPrice
721
- | PlanCreateParams.NewPlanBpsPrice
722
- | PlanCreateParams.NewPlanBulkBpsPrice
723
- | PlanCreateParams.NewPlanBulkPrice
724
- | PlanCreateParams.NewPlanThresholdTotalAmountPrice
725
- | PlanCreateParams.NewPlanTieredPackagePrice
726
- | PlanCreateParams.NewPlanTieredWithMinimumPrice
727
- | PlanCreateParams.NewPlanUnitWithPercentPrice
728
- | PlanCreateParams.NewPlanPackageWithAllocationPrice
729
- | PlanCreateParams.NewPlanTierWithProrationPrice
730
- | PlanCreateParams.NewPlanUnitWithProrationPrice
731
- | PlanCreateParams.NewPlanGroupedAllocationPrice
732
- | PlanCreateParams.NewPlanGroupedWithProratedMinimumPrice
733
- | PlanCreateParams.NewPlanGroupedWithMeteredMinimumPrice
734
- | PlanCreateParams.NewPlanMatrixWithDisplayNamePrice
735
- | PlanCreateParams.NewPlanBulkWithProrationPrice
736
- | PlanCreateParams.NewPlanGroupedTieredPackagePrice
737
- | PlanCreateParams.NewPlanMaxGroupTieredPackagePrice
738
- | PlanCreateParams.NewPlanScalableMatrixWithUnitPricingPrice
739
- | PlanCreateParams.NewPlanScalableMatrixWithTieredPricingPrice
740
- | PlanCreateParams.NewPlanCumulativeGroupedBulkPrice
741
- | PlanCreateParams.NewPlanTieredPackageWithMinimumPrice
742
- | PlanCreateParams.NewPlanMatrixWithAllocationPrice
743
- | PlanCreateParams.NewPlanGroupedTieredPrice
269
+ | Shared.NewPlanUnitPrice
270
+ | Shared.NewPlanPackagePrice
271
+ | Shared.NewPlanMatrixPrice
272
+ | Shared.NewPlanTieredPrice
273
+ | Shared.NewPlanTieredBPSPrice
274
+ | Shared.NewPlanBPSPrice
275
+ | Shared.NewPlanBulkBPSPrice
276
+ | Shared.NewPlanBulkPrice
277
+ | Shared.NewPlanThresholdTotalAmountPrice
278
+ | Shared.NewPlanTieredPackagePrice
279
+ | Shared.NewPlanTieredWithMinimumPrice
280
+ | Shared.NewPlanUnitWithPercentPrice
281
+ | Shared.NewPlanPackageWithAllocationPrice
282
+ | Shared.NewPlanTierWithProrationPrice
283
+ | Shared.NewPlanUnitWithProrationPrice
284
+ | Shared.NewPlanGroupedAllocationPrice
285
+ | Shared.NewPlanGroupedWithProratedMinimumPrice
286
+ | Shared.NewPlanGroupedWithMeteredMinimumPrice
287
+ | Shared.NewPlanMatrixWithDisplayNamePrice
288
+ | Shared.NewPlanBulkWithProrationPrice
289
+ | Shared.NewPlanGroupedTieredPackagePrice
290
+ | Shared.NewPlanMaxGroupTieredPackagePrice
291
+ | Shared.NewPlanScalableMatrixWithUnitPricingPrice
292
+ | Shared.NewPlanScalableMatrixWithTieredPricingPrice
293
+ | Shared.NewPlanCumulativeGroupedBulkPrice
294
+ | Shared.NewPlanTieredPackageWithMinimumPrice
295
+ | Shared.NewPlanMatrixWithAllocationPrice
296
+ | Shared.NewPlanGroupedTieredPrice
744
297
  >;
745
298
 
746
299
  /**
@@ -771,4109 +324,6 @@ export interface PlanCreateParams {
771
324
  status?: 'active' | 'draft';
772
325
  }
773
326
 
774
- export namespace PlanCreateParams {
775
- export interface NewPlanUnitPrice {
776
- /**
777
- * The cadence to bill for this price on.
778
- */
779
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
780
-
781
- /**
782
- * The id of the item the price will be associated with.
783
- */
784
- item_id: string;
785
-
786
- model_type: 'unit';
787
-
788
- /**
789
- * The name of the price.
790
- */
791
- name: string;
792
-
793
- unit_config: NewPlanUnitPrice.UnitConfig;
794
-
795
- /**
796
- * The id of the billable metric for the price. Only needed if the price is
797
- * usage-based.
798
- */
799
- billable_metric_id?: string | null;
800
-
801
- /**
802
- * If the Price represents a fixed cost, the price will be billed in-advance if
803
- * this is true, and in-arrears if this is false.
804
- */
805
- billed_in_advance?: boolean | null;
806
-
807
- /**
808
- * For custom cadence: specifies the duration of the billing period in days or
809
- * months.
810
- */
811
- billing_cycle_configuration?: NewPlanUnitPrice.BillingCycleConfiguration | null;
812
-
813
- /**
814
- * The per unit conversion rate of the price currency to the invoicing currency.
815
- */
816
- conversion_rate?: number | null;
817
-
818
- /**
819
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
820
- * price is billed.
821
- */
822
- currency?: string | null;
823
-
824
- /**
825
- * For dimensional price: specifies a price group and dimension values
826
- */
827
- dimensional_price_configuration?: NewPlanUnitPrice.DimensionalPriceConfiguration | null;
828
-
829
- /**
830
- * An alias for the price.
831
- */
832
- external_price_id?: string | null;
833
-
834
- /**
835
- * If the Price represents a fixed cost, this represents the quantity of units
836
- * applied.
837
- */
838
- fixed_price_quantity?: number | null;
839
-
840
- /**
841
- * The property used to group this price on an invoice
842
- */
843
- invoice_grouping_key?: string | null;
844
-
845
- /**
846
- * Within each billing cycle, specifies the cadence at which invoices are produced.
847
- * If unspecified, a single invoice is produced per billing cycle.
848
- */
849
- invoicing_cycle_configuration?: NewPlanUnitPrice.InvoicingCycleConfiguration | null;
850
-
851
- /**
852
- * User-specified key/value pairs for the resource. Individual keys can be removed
853
- * by setting the value to `null`, and the entire metadata mapping can be cleared
854
- * by setting `metadata` to `null`.
855
- */
856
- metadata?: Record<string, string | null> | null;
857
- }
858
-
859
- export namespace NewPlanUnitPrice {
860
- export interface UnitConfig {
861
- /**
862
- * Rate per unit of usage
863
- */
864
- unit_amount: string;
865
- }
866
-
867
- /**
868
- * For custom cadence: specifies the duration of the billing period in days or
869
- * months.
870
- */
871
- export interface BillingCycleConfiguration {
872
- /**
873
- * The duration of the billing period.
874
- */
875
- duration: number;
876
-
877
- /**
878
- * The unit of billing period duration.
879
- */
880
- duration_unit: 'day' | 'month';
881
- }
882
-
883
- /**
884
- * For dimensional price: specifies a price group and dimension values
885
- */
886
- export interface DimensionalPriceConfiguration {
887
- /**
888
- * The list of dimension values matching (in order) the dimensions of the price
889
- * group
890
- */
891
- dimension_values: Array<string>;
892
-
893
- /**
894
- * The id of the dimensional price group to include this price in
895
- */
896
- dimensional_price_group_id?: string | null;
897
-
898
- /**
899
- * The external id of the dimensional price group to include this price in
900
- */
901
- external_dimensional_price_group_id?: string | null;
902
- }
903
-
904
- /**
905
- * Within each billing cycle, specifies the cadence at which invoices are produced.
906
- * If unspecified, a single invoice is produced per billing cycle.
907
- */
908
- export interface InvoicingCycleConfiguration {
909
- /**
910
- * The duration of the billing period.
911
- */
912
- duration: number;
913
-
914
- /**
915
- * The unit of billing period duration.
916
- */
917
- duration_unit: 'day' | 'month';
918
- }
919
- }
920
-
921
- export interface NewPlanPackagePrice {
922
- /**
923
- * The cadence to bill for this price on.
924
- */
925
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
926
-
927
- /**
928
- * The id of the item the price will be associated with.
929
- */
930
- item_id: string;
931
-
932
- model_type: 'package';
933
-
934
- /**
935
- * The name of the price.
936
- */
937
- name: string;
938
-
939
- package_config: NewPlanPackagePrice.PackageConfig;
940
-
941
- /**
942
- * The id of the billable metric for the price. Only needed if the price is
943
- * usage-based.
944
- */
945
- billable_metric_id?: string | null;
946
-
947
- /**
948
- * If the Price represents a fixed cost, the price will be billed in-advance if
949
- * this is true, and in-arrears if this is false.
950
- */
951
- billed_in_advance?: boolean | null;
952
-
953
- /**
954
- * For custom cadence: specifies the duration of the billing period in days or
955
- * months.
956
- */
957
- billing_cycle_configuration?: NewPlanPackagePrice.BillingCycleConfiguration | null;
958
-
959
- /**
960
- * The per unit conversion rate of the price currency to the invoicing currency.
961
- */
962
- conversion_rate?: number | null;
963
-
964
- /**
965
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
966
- * price is billed.
967
- */
968
- currency?: string | null;
969
-
970
- /**
971
- * For dimensional price: specifies a price group and dimension values
972
- */
973
- dimensional_price_configuration?: NewPlanPackagePrice.DimensionalPriceConfiguration | null;
974
-
975
- /**
976
- * An alias for the price.
977
- */
978
- external_price_id?: string | null;
979
-
980
- /**
981
- * If the Price represents a fixed cost, this represents the quantity of units
982
- * applied.
983
- */
984
- fixed_price_quantity?: number | null;
985
-
986
- /**
987
- * The property used to group this price on an invoice
988
- */
989
- invoice_grouping_key?: string | null;
990
-
991
- /**
992
- * Within each billing cycle, specifies the cadence at which invoices are produced.
993
- * If unspecified, a single invoice is produced per billing cycle.
994
- */
995
- invoicing_cycle_configuration?: NewPlanPackagePrice.InvoicingCycleConfiguration | null;
996
-
997
- /**
998
- * User-specified key/value pairs for the resource. Individual keys can be removed
999
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1000
- * by setting `metadata` to `null`.
1001
- */
1002
- metadata?: Record<string, string | null> | null;
1003
- }
1004
-
1005
- export namespace NewPlanPackagePrice {
1006
- export interface PackageConfig {
1007
- /**
1008
- * A currency amount to rate usage by
1009
- */
1010
- package_amount: string;
1011
-
1012
- /**
1013
- * An integer amount to represent package size. For example, 1000 here would divide
1014
- * usage by 1000 before multiplying by package_amount in rating
1015
- */
1016
- package_size: number;
1017
- }
1018
-
1019
- /**
1020
- * For custom cadence: specifies the duration of the billing period in days or
1021
- * months.
1022
- */
1023
- export interface BillingCycleConfiguration {
1024
- /**
1025
- * The duration of the billing period.
1026
- */
1027
- duration: number;
1028
-
1029
- /**
1030
- * The unit of billing period duration.
1031
- */
1032
- duration_unit: 'day' | 'month';
1033
- }
1034
-
1035
- /**
1036
- * For dimensional price: specifies a price group and dimension values
1037
- */
1038
- export interface DimensionalPriceConfiguration {
1039
- /**
1040
- * The list of dimension values matching (in order) the dimensions of the price
1041
- * group
1042
- */
1043
- dimension_values: Array<string>;
1044
-
1045
- /**
1046
- * The id of the dimensional price group to include this price in
1047
- */
1048
- dimensional_price_group_id?: string | null;
1049
-
1050
- /**
1051
- * The external id of the dimensional price group to include this price in
1052
- */
1053
- external_dimensional_price_group_id?: string | null;
1054
- }
1055
-
1056
- /**
1057
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1058
- * If unspecified, a single invoice is produced per billing cycle.
1059
- */
1060
- export interface InvoicingCycleConfiguration {
1061
- /**
1062
- * The duration of the billing period.
1063
- */
1064
- duration: number;
1065
-
1066
- /**
1067
- * The unit of billing period duration.
1068
- */
1069
- duration_unit: 'day' | 'month';
1070
- }
1071
- }
1072
-
1073
- export interface NewPlanMatrixPrice {
1074
- /**
1075
- * The cadence to bill for this price on.
1076
- */
1077
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
1078
-
1079
- /**
1080
- * The id of the item the price will be associated with.
1081
- */
1082
- item_id: string;
1083
-
1084
- matrix_config: NewPlanMatrixPrice.MatrixConfig;
1085
-
1086
- model_type: 'matrix';
1087
-
1088
- /**
1089
- * The name of the price.
1090
- */
1091
- name: string;
1092
-
1093
- /**
1094
- * The id of the billable metric for the price. Only needed if the price is
1095
- * usage-based.
1096
- */
1097
- billable_metric_id?: string | null;
1098
-
1099
- /**
1100
- * If the Price represents a fixed cost, the price will be billed in-advance if
1101
- * this is true, and in-arrears if this is false.
1102
- */
1103
- billed_in_advance?: boolean | null;
1104
-
1105
- /**
1106
- * For custom cadence: specifies the duration of the billing period in days or
1107
- * months.
1108
- */
1109
- billing_cycle_configuration?: NewPlanMatrixPrice.BillingCycleConfiguration | null;
1110
-
1111
- /**
1112
- * The per unit conversion rate of the price currency to the invoicing currency.
1113
- */
1114
- conversion_rate?: number | null;
1115
-
1116
- /**
1117
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
1118
- * price is billed.
1119
- */
1120
- currency?: string | null;
1121
-
1122
- /**
1123
- * For dimensional price: specifies a price group and dimension values
1124
- */
1125
- dimensional_price_configuration?: NewPlanMatrixPrice.DimensionalPriceConfiguration | null;
1126
-
1127
- /**
1128
- * An alias for the price.
1129
- */
1130
- external_price_id?: string | null;
1131
-
1132
- /**
1133
- * If the Price represents a fixed cost, this represents the quantity of units
1134
- * applied.
1135
- */
1136
- fixed_price_quantity?: number | null;
1137
-
1138
- /**
1139
- * The property used to group this price on an invoice
1140
- */
1141
- invoice_grouping_key?: string | null;
1142
-
1143
- /**
1144
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1145
- * If unspecified, a single invoice is produced per billing cycle.
1146
- */
1147
- invoicing_cycle_configuration?: NewPlanMatrixPrice.InvoicingCycleConfiguration | null;
1148
-
1149
- /**
1150
- * User-specified key/value pairs for the resource. Individual keys can be removed
1151
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1152
- * by setting `metadata` to `null`.
1153
- */
1154
- metadata?: Record<string, string | null> | null;
1155
- }
1156
-
1157
- export namespace NewPlanMatrixPrice {
1158
- export interface MatrixConfig {
1159
- /**
1160
- * Default per unit rate for any usage not bucketed into a specified matrix_value
1161
- */
1162
- default_unit_amount: string;
1163
-
1164
- /**
1165
- * One or two event property values to evaluate matrix groups by
1166
- */
1167
- dimensions: Array<string | null>;
1168
-
1169
- /**
1170
- * Matrix values for specified matrix grouping keys
1171
- */
1172
- matrix_values: Array<MatrixConfig.MatrixValue>;
1173
- }
1174
-
1175
- export namespace MatrixConfig {
1176
- export interface MatrixValue {
1177
- /**
1178
- * One or two matrix keys to filter usage to this Matrix value by. For example,
1179
- * ["region", "tier"] could be used to filter cloud usage by a cloud region and an
1180
- * instance tier.
1181
- */
1182
- dimension_values: Array<string | null>;
1183
-
1184
- /**
1185
- * Unit price for the specified dimension_values
1186
- */
1187
- unit_amount: string;
1188
- }
1189
- }
1190
-
1191
- /**
1192
- * For custom cadence: specifies the duration of the billing period in days or
1193
- * months.
1194
- */
1195
- export interface BillingCycleConfiguration {
1196
- /**
1197
- * The duration of the billing period.
1198
- */
1199
- duration: number;
1200
-
1201
- /**
1202
- * The unit of billing period duration.
1203
- */
1204
- duration_unit: 'day' | 'month';
1205
- }
1206
-
1207
- /**
1208
- * For dimensional price: specifies a price group and dimension values
1209
- */
1210
- export interface DimensionalPriceConfiguration {
1211
- /**
1212
- * The list of dimension values matching (in order) the dimensions of the price
1213
- * group
1214
- */
1215
- dimension_values: Array<string>;
1216
-
1217
- /**
1218
- * The id of the dimensional price group to include this price in
1219
- */
1220
- dimensional_price_group_id?: string | null;
1221
-
1222
- /**
1223
- * The external id of the dimensional price group to include this price in
1224
- */
1225
- external_dimensional_price_group_id?: string | null;
1226
- }
1227
-
1228
- /**
1229
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1230
- * If unspecified, a single invoice is produced per billing cycle.
1231
- */
1232
- export interface InvoicingCycleConfiguration {
1233
- /**
1234
- * The duration of the billing period.
1235
- */
1236
- duration: number;
1237
-
1238
- /**
1239
- * The unit of billing period duration.
1240
- */
1241
- duration_unit: 'day' | 'month';
1242
- }
1243
- }
1244
-
1245
- export interface NewPlanTieredPrice {
1246
- /**
1247
- * The cadence to bill for this price on.
1248
- */
1249
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
1250
-
1251
- /**
1252
- * The id of the item the price will be associated with.
1253
- */
1254
- item_id: string;
1255
-
1256
- model_type: 'tiered';
1257
-
1258
- /**
1259
- * The name of the price.
1260
- */
1261
- name: string;
1262
-
1263
- tiered_config: NewPlanTieredPrice.TieredConfig;
1264
-
1265
- /**
1266
- * The id of the billable metric for the price. Only needed if the price is
1267
- * usage-based.
1268
- */
1269
- billable_metric_id?: string | null;
1270
-
1271
- /**
1272
- * If the Price represents a fixed cost, the price will be billed in-advance if
1273
- * this is true, and in-arrears if this is false.
1274
- */
1275
- billed_in_advance?: boolean | null;
1276
-
1277
- /**
1278
- * For custom cadence: specifies the duration of the billing period in days or
1279
- * months.
1280
- */
1281
- billing_cycle_configuration?: NewPlanTieredPrice.BillingCycleConfiguration | null;
1282
-
1283
- /**
1284
- * The per unit conversion rate of the price currency to the invoicing currency.
1285
- */
1286
- conversion_rate?: number | null;
1287
-
1288
- /**
1289
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
1290
- * price is billed.
1291
- */
1292
- currency?: string | null;
1293
-
1294
- /**
1295
- * For dimensional price: specifies a price group and dimension values
1296
- */
1297
- dimensional_price_configuration?: NewPlanTieredPrice.DimensionalPriceConfiguration | null;
1298
-
1299
- /**
1300
- * An alias for the price.
1301
- */
1302
- external_price_id?: string | null;
1303
-
1304
- /**
1305
- * If the Price represents a fixed cost, this represents the quantity of units
1306
- * applied.
1307
- */
1308
- fixed_price_quantity?: number | null;
1309
-
1310
- /**
1311
- * The property used to group this price on an invoice
1312
- */
1313
- invoice_grouping_key?: string | null;
1314
-
1315
- /**
1316
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1317
- * If unspecified, a single invoice is produced per billing cycle.
1318
- */
1319
- invoicing_cycle_configuration?: NewPlanTieredPrice.InvoicingCycleConfiguration | null;
1320
-
1321
- /**
1322
- * User-specified key/value pairs for the resource. Individual keys can be removed
1323
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1324
- * by setting `metadata` to `null`.
1325
- */
1326
- metadata?: Record<string, string | null> | null;
1327
- }
1328
-
1329
- export namespace NewPlanTieredPrice {
1330
- export interface TieredConfig {
1331
- /**
1332
- * Tiers for rating based on total usage quantities into the specified tier
1333
- */
1334
- tiers: Array<TieredConfig.Tier>;
1335
- }
1336
-
1337
- export namespace TieredConfig {
1338
- export interface Tier {
1339
- /**
1340
- * Exclusive tier starting value
1341
- */
1342
- first_unit: number;
1343
-
1344
- /**
1345
- * Amount per unit
1346
- */
1347
- unit_amount: string;
1348
-
1349
- /**
1350
- * Inclusive tier ending value. If null, this is treated as the last tier
1351
- */
1352
- last_unit?: number | null;
1353
- }
1354
- }
1355
-
1356
- /**
1357
- * For custom cadence: specifies the duration of the billing period in days or
1358
- * months.
1359
- */
1360
- export interface BillingCycleConfiguration {
1361
- /**
1362
- * The duration of the billing period.
1363
- */
1364
- duration: number;
1365
-
1366
- /**
1367
- * The unit of billing period duration.
1368
- */
1369
- duration_unit: 'day' | 'month';
1370
- }
1371
-
1372
- /**
1373
- * For dimensional price: specifies a price group and dimension values
1374
- */
1375
- export interface DimensionalPriceConfiguration {
1376
- /**
1377
- * The list of dimension values matching (in order) the dimensions of the price
1378
- * group
1379
- */
1380
- dimension_values: Array<string>;
1381
-
1382
- /**
1383
- * The id of the dimensional price group to include this price in
1384
- */
1385
- dimensional_price_group_id?: string | null;
1386
-
1387
- /**
1388
- * The external id of the dimensional price group to include this price in
1389
- */
1390
- external_dimensional_price_group_id?: string | null;
1391
- }
1392
-
1393
- /**
1394
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1395
- * If unspecified, a single invoice is produced per billing cycle.
1396
- */
1397
- export interface InvoicingCycleConfiguration {
1398
- /**
1399
- * The duration of the billing period.
1400
- */
1401
- duration: number;
1402
-
1403
- /**
1404
- * The unit of billing period duration.
1405
- */
1406
- duration_unit: 'day' | 'month';
1407
- }
1408
- }
1409
-
1410
- export interface NewPlanTieredBpsPrice {
1411
- /**
1412
- * The cadence to bill for this price on.
1413
- */
1414
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
1415
-
1416
- /**
1417
- * The id of the item the price will be associated with.
1418
- */
1419
- item_id: string;
1420
-
1421
- model_type: 'tiered_bps';
1422
-
1423
- /**
1424
- * The name of the price.
1425
- */
1426
- name: string;
1427
-
1428
- tiered_bps_config: NewPlanTieredBpsPrice.TieredBpsConfig;
1429
-
1430
- /**
1431
- * The id of the billable metric for the price. Only needed if the price is
1432
- * usage-based.
1433
- */
1434
- billable_metric_id?: string | null;
1435
-
1436
- /**
1437
- * If the Price represents a fixed cost, the price will be billed in-advance if
1438
- * this is true, and in-arrears if this is false.
1439
- */
1440
- billed_in_advance?: boolean | null;
1441
-
1442
- /**
1443
- * For custom cadence: specifies the duration of the billing period in days or
1444
- * months.
1445
- */
1446
- billing_cycle_configuration?: NewPlanTieredBpsPrice.BillingCycleConfiguration | null;
1447
-
1448
- /**
1449
- * The per unit conversion rate of the price currency to the invoicing currency.
1450
- */
1451
- conversion_rate?: number | null;
1452
-
1453
- /**
1454
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
1455
- * price is billed.
1456
- */
1457
- currency?: string | null;
1458
-
1459
- /**
1460
- * For dimensional price: specifies a price group and dimension values
1461
- */
1462
- dimensional_price_configuration?: NewPlanTieredBpsPrice.DimensionalPriceConfiguration | null;
1463
-
1464
- /**
1465
- * An alias for the price.
1466
- */
1467
- external_price_id?: string | null;
1468
-
1469
- /**
1470
- * If the Price represents a fixed cost, this represents the quantity of units
1471
- * applied.
1472
- */
1473
- fixed_price_quantity?: number | null;
1474
-
1475
- /**
1476
- * The property used to group this price on an invoice
1477
- */
1478
- invoice_grouping_key?: string | null;
1479
-
1480
- /**
1481
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1482
- * If unspecified, a single invoice is produced per billing cycle.
1483
- */
1484
- invoicing_cycle_configuration?: NewPlanTieredBpsPrice.InvoicingCycleConfiguration | null;
1485
-
1486
- /**
1487
- * User-specified key/value pairs for the resource. Individual keys can be removed
1488
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1489
- * by setting `metadata` to `null`.
1490
- */
1491
- metadata?: Record<string, string | null> | null;
1492
- }
1493
-
1494
- export namespace NewPlanTieredBpsPrice {
1495
- export interface TieredBpsConfig {
1496
- /**
1497
- * Tiers for a Graduated BPS pricing model, where usage is bucketed into specified
1498
- * tiers
1499
- */
1500
- tiers: Array<TieredBpsConfig.Tier>;
1501
- }
1502
-
1503
- export namespace TieredBpsConfig {
1504
- export interface Tier {
1505
- /**
1506
- * Per-event basis point rate
1507
- */
1508
- bps: number;
1509
-
1510
- /**
1511
- * Exclusive tier starting value
1512
- */
1513
- minimum_amount: string;
1514
-
1515
- /**
1516
- * Inclusive tier ending value
1517
- */
1518
- maximum_amount?: string | null;
1519
-
1520
- /**
1521
- * Per unit maximum to charge
1522
- */
1523
- per_unit_maximum?: string | null;
1524
- }
1525
- }
1526
-
1527
- /**
1528
- * For custom cadence: specifies the duration of the billing period in days or
1529
- * months.
1530
- */
1531
- export interface BillingCycleConfiguration {
1532
- /**
1533
- * The duration of the billing period.
1534
- */
1535
- duration: number;
1536
-
1537
- /**
1538
- * The unit of billing period duration.
1539
- */
1540
- duration_unit: 'day' | 'month';
1541
- }
1542
-
1543
- /**
1544
- * For dimensional price: specifies a price group and dimension values
1545
- */
1546
- export interface DimensionalPriceConfiguration {
1547
- /**
1548
- * The list of dimension values matching (in order) the dimensions of the price
1549
- * group
1550
- */
1551
- dimension_values: Array<string>;
1552
-
1553
- /**
1554
- * The id of the dimensional price group to include this price in
1555
- */
1556
- dimensional_price_group_id?: string | null;
1557
-
1558
- /**
1559
- * The external id of the dimensional price group to include this price in
1560
- */
1561
- external_dimensional_price_group_id?: string | null;
1562
- }
1563
-
1564
- /**
1565
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1566
- * If unspecified, a single invoice is produced per billing cycle.
1567
- */
1568
- export interface InvoicingCycleConfiguration {
1569
- /**
1570
- * The duration of the billing period.
1571
- */
1572
- duration: number;
1573
-
1574
- /**
1575
- * The unit of billing period duration.
1576
- */
1577
- duration_unit: 'day' | 'month';
1578
- }
1579
- }
1580
-
1581
- export interface NewPlanBpsPrice {
1582
- bps_config: NewPlanBpsPrice.BpsConfig;
1583
-
1584
- /**
1585
- * The cadence to bill for this price on.
1586
- */
1587
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
1588
-
1589
- /**
1590
- * The id of the item the price will be associated with.
1591
- */
1592
- item_id: string;
1593
-
1594
- model_type: 'bps';
1595
-
1596
- /**
1597
- * The name of the price.
1598
- */
1599
- name: string;
1600
-
1601
- /**
1602
- * The id of the billable metric for the price. Only needed if the price is
1603
- * usage-based.
1604
- */
1605
- billable_metric_id?: string | null;
1606
-
1607
- /**
1608
- * If the Price represents a fixed cost, the price will be billed in-advance if
1609
- * this is true, and in-arrears if this is false.
1610
- */
1611
- billed_in_advance?: boolean | null;
1612
-
1613
- /**
1614
- * For custom cadence: specifies the duration of the billing period in days or
1615
- * months.
1616
- */
1617
- billing_cycle_configuration?: NewPlanBpsPrice.BillingCycleConfiguration | null;
1618
-
1619
- /**
1620
- * The per unit conversion rate of the price currency to the invoicing currency.
1621
- */
1622
- conversion_rate?: number | null;
1623
-
1624
- /**
1625
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
1626
- * price is billed.
1627
- */
1628
- currency?: string | null;
1629
-
1630
- /**
1631
- * For dimensional price: specifies a price group and dimension values
1632
- */
1633
- dimensional_price_configuration?: NewPlanBpsPrice.DimensionalPriceConfiguration | null;
1634
-
1635
- /**
1636
- * An alias for the price.
1637
- */
1638
- external_price_id?: string | null;
1639
-
1640
- /**
1641
- * If the Price represents a fixed cost, this represents the quantity of units
1642
- * applied.
1643
- */
1644
- fixed_price_quantity?: number | null;
1645
-
1646
- /**
1647
- * The property used to group this price on an invoice
1648
- */
1649
- invoice_grouping_key?: string | null;
1650
-
1651
- /**
1652
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1653
- * If unspecified, a single invoice is produced per billing cycle.
1654
- */
1655
- invoicing_cycle_configuration?: NewPlanBpsPrice.InvoicingCycleConfiguration | null;
1656
-
1657
- /**
1658
- * User-specified key/value pairs for the resource. Individual keys can be removed
1659
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1660
- * by setting `metadata` to `null`.
1661
- */
1662
- metadata?: Record<string, string | null> | null;
1663
- }
1664
-
1665
- export namespace NewPlanBpsPrice {
1666
- export interface BpsConfig {
1667
- /**
1668
- * Basis point take rate per event
1669
- */
1670
- bps: number;
1671
-
1672
- /**
1673
- * Optional currency amount maximum to cap spend per event
1674
- */
1675
- per_unit_maximum?: string | null;
1676
- }
1677
-
1678
- /**
1679
- * For custom cadence: specifies the duration of the billing period in days or
1680
- * months.
1681
- */
1682
- export interface BillingCycleConfiguration {
1683
- /**
1684
- * The duration of the billing period.
1685
- */
1686
- duration: number;
1687
-
1688
- /**
1689
- * The unit of billing period duration.
1690
- */
1691
- duration_unit: 'day' | 'month';
1692
- }
1693
-
1694
- /**
1695
- * For dimensional price: specifies a price group and dimension values
1696
- */
1697
- export interface DimensionalPriceConfiguration {
1698
- /**
1699
- * The list of dimension values matching (in order) the dimensions of the price
1700
- * group
1701
- */
1702
- dimension_values: Array<string>;
1703
-
1704
- /**
1705
- * The id of the dimensional price group to include this price in
1706
- */
1707
- dimensional_price_group_id?: string | null;
1708
-
1709
- /**
1710
- * The external id of the dimensional price group to include this price in
1711
- */
1712
- external_dimensional_price_group_id?: string | null;
1713
- }
1714
-
1715
- /**
1716
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1717
- * If unspecified, a single invoice is produced per billing cycle.
1718
- */
1719
- export interface InvoicingCycleConfiguration {
1720
- /**
1721
- * The duration of the billing period.
1722
- */
1723
- duration: number;
1724
-
1725
- /**
1726
- * The unit of billing period duration.
1727
- */
1728
- duration_unit: 'day' | 'month';
1729
- }
1730
- }
1731
-
1732
- export interface NewPlanBulkBpsPrice {
1733
- bulk_bps_config: NewPlanBulkBpsPrice.BulkBpsConfig;
1734
-
1735
- /**
1736
- * The cadence to bill for this price on.
1737
- */
1738
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
1739
-
1740
- /**
1741
- * The id of the item the price will be associated with.
1742
- */
1743
- item_id: string;
1744
-
1745
- model_type: 'bulk_bps';
1746
-
1747
- /**
1748
- * The name of the price.
1749
- */
1750
- name: string;
1751
-
1752
- /**
1753
- * The id of the billable metric for the price. Only needed if the price is
1754
- * usage-based.
1755
- */
1756
- billable_metric_id?: string | null;
1757
-
1758
- /**
1759
- * If the Price represents a fixed cost, the price will be billed in-advance if
1760
- * this is true, and in-arrears if this is false.
1761
- */
1762
- billed_in_advance?: boolean | null;
1763
-
1764
- /**
1765
- * For custom cadence: specifies the duration of the billing period in days or
1766
- * months.
1767
- */
1768
- billing_cycle_configuration?: NewPlanBulkBpsPrice.BillingCycleConfiguration | null;
1769
-
1770
- /**
1771
- * The per unit conversion rate of the price currency to the invoicing currency.
1772
- */
1773
- conversion_rate?: number | null;
1774
-
1775
- /**
1776
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
1777
- * price is billed.
1778
- */
1779
- currency?: string | null;
1780
-
1781
- /**
1782
- * For dimensional price: specifies a price group and dimension values
1783
- */
1784
- dimensional_price_configuration?: NewPlanBulkBpsPrice.DimensionalPriceConfiguration | null;
1785
-
1786
- /**
1787
- * An alias for the price.
1788
- */
1789
- external_price_id?: string | null;
1790
-
1791
- /**
1792
- * If the Price represents a fixed cost, this represents the quantity of units
1793
- * applied.
1794
- */
1795
- fixed_price_quantity?: number | null;
1796
-
1797
- /**
1798
- * The property used to group this price on an invoice
1799
- */
1800
- invoice_grouping_key?: string | null;
1801
-
1802
- /**
1803
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1804
- * If unspecified, a single invoice is produced per billing cycle.
1805
- */
1806
- invoicing_cycle_configuration?: NewPlanBulkBpsPrice.InvoicingCycleConfiguration | null;
1807
-
1808
- /**
1809
- * User-specified key/value pairs for the resource. Individual keys can be removed
1810
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1811
- * by setting `metadata` to `null`.
1812
- */
1813
- metadata?: Record<string, string | null> | null;
1814
- }
1815
-
1816
- export namespace NewPlanBulkBpsPrice {
1817
- export interface BulkBpsConfig {
1818
- /**
1819
- * Tiers for a bulk BPS pricing model where all usage is aggregated to a single
1820
- * tier based on total volume
1821
- */
1822
- tiers: Array<BulkBpsConfig.Tier>;
1823
- }
1824
-
1825
- export namespace BulkBpsConfig {
1826
- export interface Tier {
1827
- /**
1828
- * Basis points to rate on
1829
- */
1830
- bps: number;
1831
-
1832
- /**
1833
- * Upper bound for tier
1834
- */
1835
- maximum_amount?: string | null;
1836
-
1837
- /**
1838
- * The maximum amount to charge for any one event
1839
- */
1840
- per_unit_maximum?: string | null;
1841
- }
1842
- }
1843
-
1844
- /**
1845
- * For custom cadence: specifies the duration of the billing period in days or
1846
- * months.
1847
- */
1848
- export interface BillingCycleConfiguration {
1849
- /**
1850
- * The duration of the billing period.
1851
- */
1852
- duration: number;
1853
-
1854
- /**
1855
- * The unit of billing period duration.
1856
- */
1857
- duration_unit: 'day' | 'month';
1858
- }
1859
-
1860
- /**
1861
- * For dimensional price: specifies a price group and dimension values
1862
- */
1863
- export interface DimensionalPriceConfiguration {
1864
- /**
1865
- * The list of dimension values matching (in order) the dimensions of the price
1866
- * group
1867
- */
1868
- dimension_values: Array<string>;
1869
-
1870
- /**
1871
- * The id of the dimensional price group to include this price in
1872
- */
1873
- dimensional_price_group_id?: string | null;
1874
-
1875
- /**
1876
- * The external id of the dimensional price group to include this price in
1877
- */
1878
- external_dimensional_price_group_id?: string | null;
1879
- }
1880
-
1881
- /**
1882
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1883
- * If unspecified, a single invoice is produced per billing cycle.
1884
- */
1885
- export interface InvoicingCycleConfiguration {
1886
- /**
1887
- * The duration of the billing period.
1888
- */
1889
- duration: number;
1890
-
1891
- /**
1892
- * The unit of billing period duration.
1893
- */
1894
- duration_unit: 'day' | 'month';
1895
- }
1896
- }
1897
-
1898
- export interface NewPlanBulkPrice {
1899
- bulk_config: NewPlanBulkPrice.BulkConfig;
1900
-
1901
- /**
1902
- * The cadence to bill for this price on.
1903
- */
1904
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
1905
-
1906
- /**
1907
- * The id of the item the price will be associated with.
1908
- */
1909
- item_id: string;
1910
-
1911
- model_type: 'bulk';
1912
-
1913
- /**
1914
- * The name of the price.
1915
- */
1916
- name: string;
1917
-
1918
- /**
1919
- * The id of the billable metric for the price. Only needed if the price is
1920
- * usage-based.
1921
- */
1922
- billable_metric_id?: string | null;
1923
-
1924
- /**
1925
- * If the Price represents a fixed cost, the price will be billed in-advance if
1926
- * this is true, and in-arrears if this is false.
1927
- */
1928
- billed_in_advance?: boolean | null;
1929
-
1930
- /**
1931
- * For custom cadence: specifies the duration of the billing period in days or
1932
- * months.
1933
- */
1934
- billing_cycle_configuration?: NewPlanBulkPrice.BillingCycleConfiguration | null;
1935
-
1936
- /**
1937
- * The per unit conversion rate of the price currency to the invoicing currency.
1938
- */
1939
- conversion_rate?: number | null;
1940
-
1941
- /**
1942
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
1943
- * price is billed.
1944
- */
1945
- currency?: string | null;
1946
-
1947
- /**
1948
- * For dimensional price: specifies a price group and dimension values
1949
- */
1950
- dimensional_price_configuration?: NewPlanBulkPrice.DimensionalPriceConfiguration | null;
1951
-
1952
- /**
1953
- * An alias for the price.
1954
- */
1955
- external_price_id?: string | null;
1956
-
1957
- /**
1958
- * If the Price represents a fixed cost, this represents the quantity of units
1959
- * applied.
1960
- */
1961
- fixed_price_quantity?: number | null;
1962
-
1963
- /**
1964
- * The property used to group this price on an invoice
1965
- */
1966
- invoice_grouping_key?: string | null;
1967
-
1968
- /**
1969
- * Within each billing cycle, specifies the cadence at which invoices are produced.
1970
- * If unspecified, a single invoice is produced per billing cycle.
1971
- */
1972
- invoicing_cycle_configuration?: NewPlanBulkPrice.InvoicingCycleConfiguration | null;
1973
-
1974
- /**
1975
- * User-specified key/value pairs for the resource. Individual keys can be removed
1976
- * by setting the value to `null`, and the entire metadata mapping can be cleared
1977
- * by setting `metadata` to `null`.
1978
- */
1979
- metadata?: Record<string, string | null> | null;
1980
- }
1981
-
1982
- export namespace NewPlanBulkPrice {
1983
- export interface BulkConfig {
1984
- /**
1985
- * Bulk tiers for rating based on total usage volume
1986
- */
1987
- tiers: Array<BulkConfig.Tier>;
1988
- }
1989
-
1990
- export namespace BulkConfig {
1991
- export interface Tier {
1992
- /**
1993
- * Amount per unit
1994
- */
1995
- unit_amount: string;
1996
-
1997
- /**
1998
- * Upper bound for this tier
1999
- */
2000
- maximum_units?: number | null;
2001
- }
2002
- }
2003
-
2004
- /**
2005
- * For custom cadence: specifies the duration of the billing period in days or
2006
- * months.
2007
- */
2008
- export interface BillingCycleConfiguration {
2009
- /**
2010
- * The duration of the billing period.
2011
- */
2012
- duration: number;
2013
-
2014
- /**
2015
- * The unit of billing period duration.
2016
- */
2017
- duration_unit: 'day' | 'month';
2018
- }
2019
-
2020
- /**
2021
- * For dimensional price: specifies a price group and dimension values
2022
- */
2023
- export interface DimensionalPriceConfiguration {
2024
- /**
2025
- * The list of dimension values matching (in order) the dimensions of the price
2026
- * group
2027
- */
2028
- dimension_values: Array<string>;
2029
-
2030
- /**
2031
- * The id of the dimensional price group to include this price in
2032
- */
2033
- dimensional_price_group_id?: string | null;
2034
-
2035
- /**
2036
- * The external id of the dimensional price group to include this price in
2037
- */
2038
- external_dimensional_price_group_id?: string | null;
2039
- }
2040
-
2041
- /**
2042
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2043
- * If unspecified, a single invoice is produced per billing cycle.
2044
- */
2045
- export interface InvoicingCycleConfiguration {
2046
- /**
2047
- * The duration of the billing period.
2048
- */
2049
- duration: number;
2050
-
2051
- /**
2052
- * The unit of billing period duration.
2053
- */
2054
- duration_unit: 'day' | 'month';
2055
- }
2056
- }
2057
-
2058
- export interface NewPlanThresholdTotalAmountPrice {
2059
- /**
2060
- * The cadence to bill for this price on.
2061
- */
2062
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2063
-
2064
- /**
2065
- * The id of the item the price will be associated with.
2066
- */
2067
- item_id: string;
2068
-
2069
- model_type: 'threshold_total_amount';
2070
-
2071
- /**
2072
- * The name of the price.
2073
- */
2074
- name: string;
2075
-
2076
- threshold_total_amount_config: Record<string, unknown>;
2077
-
2078
- /**
2079
- * The id of the billable metric for the price. Only needed if the price is
2080
- * usage-based.
2081
- */
2082
- billable_metric_id?: string | null;
2083
-
2084
- /**
2085
- * If the Price represents a fixed cost, the price will be billed in-advance if
2086
- * this is true, and in-arrears if this is false.
2087
- */
2088
- billed_in_advance?: boolean | null;
2089
-
2090
- /**
2091
- * For custom cadence: specifies the duration of the billing period in days or
2092
- * months.
2093
- */
2094
- billing_cycle_configuration?: NewPlanThresholdTotalAmountPrice.BillingCycleConfiguration | null;
2095
-
2096
- /**
2097
- * The per unit conversion rate of the price currency to the invoicing currency.
2098
- */
2099
- conversion_rate?: number | null;
2100
-
2101
- /**
2102
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2103
- * price is billed.
2104
- */
2105
- currency?: string | null;
2106
-
2107
- /**
2108
- * For dimensional price: specifies a price group and dimension values
2109
- */
2110
- dimensional_price_configuration?: NewPlanThresholdTotalAmountPrice.DimensionalPriceConfiguration | null;
2111
-
2112
- /**
2113
- * An alias for the price.
2114
- */
2115
- external_price_id?: string | null;
2116
-
2117
- /**
2118
- * If the Price represents a fixed cost, this represents the quantity of units
2119
- * applied.
2120
- */
2121
- fixed_price_quantity?: number | null;
2122
-
2123
- /**
2124
- * The property used to group this price on an invoice
2125
- */
2126
- invoice_grouping_key?: string | null;
2127
-
2128
- /**
2129
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2130
- * If unspecified, a single invoice is produced per billing cycle.
2131
- */
2132
- invoicing_cycle_configuration?: NewPlanThresholdTotalAmountPrice.InvoicingCycleConfiguration | null;
2133
-
2134
- /**
2135
- * User-specified key/value pairs for the resource. Individual keys can be removed
2136
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2137
- * by setting `metadata` to `null`.
2138
- */
2139
- metadata?: Record<string, string | null> | null;
2140
- }
2141
-
2142
- export namespace NewPlanThresholdTotalAmountPrice {
2143
- /**
2144
- * For custom cadence: specifies the duration of the billing period in days or
2145
- * months.
2146
- */
2147
- export interface BillingCycleConfiguration {
2148
- /**
2149
- * The duration of the billing period.
2150
- */
2151
- duration: number;
2152
-
2153
- /**
2154
- * The unit of billing period duration.
2155
- */
2156
- duration_unit: 'day' | 'month';
2157
- }
2158
-
2159
- /**
2160
- * For dimensional price: specifies a price group and dimension values
2161
- */
2162
- export interface DimensionalPriceConfiguration {
2163
- /**
2164
- * The list of dimension values matching (in order) the dimensions of the price
2165
- * group
2166
- */
2167
- dimension_values: Array<string>;
2168
-
2169
- /**
2170
- * The id of the dimensional price group to include this price in
2171
- */
2172
- dimensional_price_group_id?: string | null;
2173
-
2174
- /**
2175
- * The external id of the dimensional price group to include this price in
2176
- */
2177
- external_dimensional_price_group_id?: string | null;
2178
- }
2179
-
2180
- /**
2181
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2182
- * If unspecified, a single invoice is produced per billing cycle.
2183
- */
2184
- export interface InvoicingCycleConfiguration {
2185
- /**
2186
- * The duration of the billing period.
2187
- */
2188
- duration: number;
2189
-
2190
- /**
2191
- * The unit of billing period duration.
2192
- */
2193
- duration_unit: 'day' | 'month';
2194
- }
2195
- }
2196
-
2197
- export interface NewPlanTieredPackagePrice {
2198
- /**
2199
- * The cadence to bill for this price on.
2200
- */
2201
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2202
-
2203
- /**
2204
- * The id of the item the price will be associated with.
2205
- */
2206
- item_id: string;
2207
-
2208
- model_type: 'tiered_package';
2209
-
2210
- /**
2211
- * The name of the price.
2212
- */
2213
- name: string;
2214
-
2215
- tiered_package_config: Record<string, unknown>;
2216
-
2217
- /**
2218
- * The id of the billable metric for the price. Only needed if the price is
2219
- * usage-based.
2220
- */
2221
- billable_metric_id?: string | null;
2222
-
2223
- /**
2224
- * If the Price represents a fixed cost, the price will be billed in-advance if
2225
- * this is true, and in-arrears if this is false.
2226
- */
2227
- billed_in_advance?: boolean | null;
2228
-
2229
- /**
2230
- * For custom cadence: specifies the duration of the billing period in days or
2231
- * months.
2232
- */
2233
- billing_cycle_configuration?: NewPlanTieredPackagePrice.BillingCycleConfiguration | null;
2234
-
2235
- /**
2236
- * The per unit conversion rate of the price currency to the invoicing currency.
2237
- */
2238
- conversion_rate?: number | null;
2239
-
2240
- /**
2241
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2242
- * price is billed.
2243
- */
2244
- currency?: string | null;
2245
-
2246
- /**
2247
- * For dimensional price: specifies a price group and dimension values
2248
- */
2249
- dimensional_price_configuration?: NewPlanTieredPackagePrice.DimensionalPriceConfiguration | null;
2250
-
2251
- /**
2252
- * An alias for the price.
2253
- */
2254
- external_price_id?: string | null;
2255
-
2256
- /**
2257
- * If the Price represents a fixed cost, this represents the quantity of units
2258
- * applied.
2259
- */
2260
- fixed_price_quantity?: number | null;
2261
-
2262
- /**
2263
- * The property used to group this price on an invoice
2264
- */
2265
- invoice_grouping_key?: string | null;
2266
-
2267
- /**
2268
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2269
- * If unspecified, a single invoice is produced per billing cycle.
2270
- */
2271
- invoicing_cycle_configuration?: NewPlanTieredPackagePrice.InvoicingCycleConfiguration | null;
2272
-
2273
- /**
2274
- * User-specified key/value pairs for the resource. Individual keys can be removed
2275
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2276
- * by setting `metadata` to `null`.
2277
- */
2278
- metadata?: Record<string, string | null> | null;
2279
- }
2280
-
2281
- export namespace NewPlanTieredPackagePrice {
2282
- /**
2283
- * For custom cadence: specifies the duration of the billing period in days or
2284
- * months.
2285
- */
2286
- export interface BillingCycleConfiguration {
2287
- /**
2288
- * The duration of the billing period.
2289
- */
2290
- duration: number;
2291
-
2292
- /**
2293
- * The unit of billing period duration.
2294
- */
2295
- duration_unit: 'day' | 'month';
2296
- }
2297
-
2298
- /**
2299
- * For dimensional price: specifies a price group and dimension values
2300
- */
2301
- export interface DimensionalPriceConfiguration {
2302
- /**
2303
- * The list of dimension values matching (in order) the dimensions of the price
2304
- * group
2305
- */
2306
- dimension_values: Array<string>;
2307
-
2308
- /**
2309
- * The id of the dimensional price group to include this price in
2310
- */
2311
- dimensional_price_group_id?: string | null;
2312
-
2313
- /**
2314
- * The external id of the dimensional price group to include this price in
2315
- */
2316
- external_dimensional_price_group_id?: string | null;
2317
- }
2318
-
2319
- /**
2320
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2321
- * If unspecified, a single invoice is produced per billing cycle.
2322
- */
2323
- export interface InvoicingCycleConfiguration {
2324
- /**
2325
- * The duration of the billing period.
2326
- */
2327
- duration: number;
2328
-
2329
- /**
2330
- * The unit of billing period duration.
2331
- */
2332
- duration_unit: 'day' | 'month';
2333
- }
2334
- }
2335
-
2336
- export interface NewPlanTieredWithMinimumPrice {
2337
- /**
2338
- * The cadence to bill for this price on.
2339
- */
2340
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2341
-
2342
- /**
2343
- * The id of the item the price will be associated with.
2344
- */
2345
- item_id: string;
2346
-
2347
- model_type: 'tiered_with_minimum';
2348
-
2349
- /**
2350
- * The name of the price.
2351
- */
2352
- name: string;
2353
-
2354
- tiered_with_minimum_config: Record<string, unknown>;
2355
-
2356
- /**
2357
- * The id of the billable metric for the price. Only needed if the price is
2358
- * usage-based.
2359
- */
2360
- billable_metric_id?: string | null;
2361
-
2362
- /**
2363
- * If the Price represents a fixed cost, the price will be billed in-advance if
2364
- * this is true, and in-arrears if this is false.
2365
- */
2366
- billed_in_advance?: boolean | null;
2367
-
2368
- /**
2369
- * For custom cadence: specifies the duration of the billing period in days or
2370
- * months.
2371
- */
2372
- billing_cycle_configuration?: NewPlanTieredWithMinimumPrice.BillingCycleConfiguration | null;
2373
-
2374
- /**
2375
- * The per unit conversion rate of the price currency to the invoicing currency.
2376
- */
2377
- conversion_rate?: number | null;
2378
-
2379
- /**
2380
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2381
- * price is billed.
2382
- */
2383
- currency?: string | null;
2384
-
2385
- /**
2386
- * For dimensional price: specifies a price group and dimension values
2387
- */
2388
- dimensional_price_configuration?: NewPlanTieredWithMinimumPrice.DimensionalPriceConfiguration | null;
2389
-
2390
- /**
2391
- * An alias for the price.
2392
- */
2393
- external_price_id?: string | null;
2394
-
2395
- /**
2396
- * If the Price represents a fixed cost, this represents the quantity of units
2397
- * applied.
2398
- */
2399
- fixed_price_quantity?: number | null;
2400
-
2401
- /**
2402
- * The property used to group this price on an invoice
2403
- */
2404
- invoice_grouping_key?: string | null;
2405
-
2406
- /**
2407
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2408
- * If unspecified, a single invoice is produced per billing cycle.
2409
- */
2410
- invoicing_cycle_configuration?: NewPlanTieredWithMinimumPrice.InvoicingCycleConfiguration | null;
2411
-
2412
- /**
2413
- * User-specified key/value pairs for the resource. Individual keys can be removed
2414
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2415
- * by setting `metadata` to `null`.
2416
- */
2417
- metadata?: Record<string, string | null> | null;
2418
- }
2419
-
2420
- export namespace NewPlanTieredWithMinimumPrice {
2421
- /**
2422
- * For custom cadence: specifies the duration of the billing period in days or
2423
- * months.
2424
- */
2425
- export interface BillingCycleConfiguration {
2426
- /**
2427
- * The duration of the billing period.
2428
- */
2429
- duration: number;
2430
-
2431
- /**
2432
- * The unit of billing period duration.
2433
- */
2434
- duration_unit: 'day' | 'month';
2435
- }
2436
-
2437
- /**
2438
- * For dimensional price: specifies a price group and dimension values
2439
- */
2440
- export interface DimensionalPriceConfiguration {
2441
- /**
2442
- * The list of dimension values matching (in order) the dimensions of the price
2443
- * group
2444
- */
2445
- dimension_values: Array<string>;
2446
-
2447
- /**
2448
- * The id of the dimensional price group to include this price in
2449
- */
2450
- dimensional_price_group_id?: string | null;
2451
-
2452
- /**
2453
- * The external id of the dimensional price group to include this price in
2454
- */
2455
- external_dimensional_price_group_id?: string | null;
2456
- }
2457
-
2458
- /**
2459
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2460
- * If unspecified, a single invoice is produced per billing cycle.
2461
- */
2462
- export interface InvoicingCycleConfiguration {
2463
- /**
2464
- * The duration of the billing period.
2465
- */
2466
- duration: number;
2467
-
2468
- /**
2469
- * The unit of billing period duration.
2470
- */
2471
- duration_unit: 'day' | 'month';
2472
- }
2473
- }
2474
-
2475
- export interface NewPlanUnitWithPercentPrice {
2476
- /**
2477
- * The cadence to bill for this price on.
2478
- */
2479
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2480
-
2481
- /**
2482
- * The id of the item the price will be associated with.
2483
- */
2484
- item_id: string;
2485
-
2486
- model_type: 'unit_with_percent';
2487
-
2488
- /**
2489
- * The name of the price.
2490
- */
2491
- name: string;
2492
-
2493
- unit_with_percent_config: Record<string, unknown>;
2494
-
2495
- /**
2496
- * The id of the billable metric for the price. Only needed if the price is
2497
- * usage-based.
2498
- */
2499
- billable_metric_id?: string | null;
2500
-
2501
- /**
2502
- * If the Price represents a fixed cost, the price will be billed in-advance if
2503
- * this is true, and in-arrears if this is false.
2504
- */
2505
- billed_in_advance?: boolean | null;
2506
-
2507
- /**
2508
- * For custom cadence: specifies the duration of the billing period in days or
2509
- * months.
2510
- */
2511
- billing_cycle_configuration?: NewPlanUnitWithPercentPrice.BillingCycleConfiguration | null;
2512
-
2513
- /**
2514
- * The per unit conversion rate of the price currency to the invoicing currency.
2515
- */
2516
- conversion_rate?: number | null;
2517
-
2518
- /**
2519
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2520
- * price is billed.
2521
- */
2522
- currency?: string | null;
2523
-
2524
- /**
2525
- * For dimensional price: specifies a price group and dimension values
2526
- */
2527
- dimensional_price_configuration?: NewPlanUnitWithPercentPrice.DimensionalPriceConfiguration | null;
2528
-
2529
- /**
2530
- * An alias for the price.
2531
- */
2532
- external_price_id?: string | null;
2533
-
2534
- /**
2535
- * If the Price represents a fixed cost, this represents the quantity of units
2536
- * applied.
2537
- */
2538
- fixed_price_quantity?: number | null;
2539
-
2540
- /**
2541
- * The property used to group this price on an invoice
2542
- */
2543
- invoice_grouping_key?: string | null;
2544
-
2545
- /**
2546
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2547
- * If unspecified, a single invoice is produced per billing cycle.
2548
- */
2549
- invoicing_cycle_configuration?: NewPlanUnitWithPercentPrice.InvoicingCycleConfiguration | null;
2550
-
2551
- /**
2552
- * User-specified key/value pairs for the resource. Individual keys can be removed
2553
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2554
- * by setting `metadata` to `null`.
2555
- */
2556
- metadata?: Record<string, string | null> | null;
2557
- }
2558
-
2559
- export namespace NewPlanUnitWithPercentPrice {
2560
- /**
2561
- * For custom cadence: specifies the duration of the billing period in days or
2562
- * months.
2563
- */
2564
- export interface BillingCycleConfiguration {
2565
- /**
2566
- * The duration of the billing period.
2567
- */
2568
- duration: number;
2569
-
2570
- /**
2571
- * The unit of billing period duration.
2572
- */
2573
- duration_unit: 'day' | 'month';
2574
- }
2575
-
2576
- /**
2577
- * For dimensional price: specifies a price group and dimension values
2578
- */
2579
- export interface DimensionalPriceConfiguration {
2580
- /**
2581
- * The list of dimension values matching (in order) the dimensions of the price
2582
- * group
2583
- */
2584
- dimension_values: Array<string>;
2585
-
2586
- /**
2587
- * The id of the dimensional price group to include this price in
2588
- */
2589
- dimensional_price_group_id?: string | null;
2590
-
2591
- /**
2592
- * The external id of the dimensional price group to include this price in
2593
- */
2594
- external_dimensional_price_group_id?: string | null;
2595
- }
2596
-
2597
- /**
2598
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2599
- * If unspecified, a single invoice is produced per billing cycle.
2600
- */
2601
- export interface InvoicingCycleConfiguration {
2602
- /**
2603
- * The duration of the billing period.
2604
- */
2605
- duration: number;
2606
-
2607
- /**
2608
- * The unit of billing period duration.
2609
- */
2610
- duration_unit: 'day' | 'month';
2611
- }
2612
- }
2613
-
2614
- export interface NewPlanPackageWithAllocationPrice {
2615
- /**
2616
- * The cadence to bill for this price on.
2617
- */
2618
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2619
-
2620
- /**
2621
- * The id of the item the price will be associated with.
2622
- */
2623
- item_id: string;
2624
-
2625
- model_type: 'package_with_allocation';
2626
-
2627
- /**
2628
- * The name of the price.
2629
- */
2630
- name: string;
2631
-
2632
- package_with_allocation_config: Record<string, unknown>;
2633
-
2634
- /**
2635
- * The id of the billable metric for the price. Only needed if the price is
2636
- * usage-based.
2637
- */
2638
- billable_metric_id?: string | null;
2639
-
2640
- /**
2641
- * If the Price represents a fixed cost, the price will be billed in-advance if
2642
- * this is true, and in-arrears if this is false.
2643
- */
2644
- billed_in_advance?: boolean | null;
2645
-
2646
- /**
2647
- * For custom cadence: specifies the duration of the billing period in days or
2648
- * months.
2649
- */
2650
- billing_cycle_configuration?: NewPlanPackageWithAllocationPrice.BillingCycleConfiguration | null;
2651
-
2652
- /**
2653
- * The per unit conversion rate of the price currency to the invoicing currency.
2654
- */
2655
- conversion_rate?: number | null;
2656
-
2657
- /**
2658
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2659
- * price is billed.
2660
- */
2661
- currency?: string | null;
2662
-
2663
- /**
2664
- * For dimensional price: specifies a price group and dimension values
2665
- */
2666
- dimensional_price_configuration?: NewPlanPackageWithAllocationPrice.DimensionalPriceConfiguration | null;
2667
-
2668
- /**
2669
- * An alias for the price.
2670
- */
2671
- external_price_id?: string | null;
2672
-
2673
- /**
2674
- * If the Price represents a fixed cost, this represents the quantity of units
2675
- * applied.
2676
- */
2677
- fixed_price_quantity?: number | null;
2678
-
2679
- /**
2680
- * The property used to group this price on an invoice
2681
- */
2682
- invoice_grouping_key?: string | null;
2683
-
2684
- /**
2685
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2686
- * If unspecified, a single invoice is produced per billing cycle.
2687
- */
2688
- invoicing_cycle_configuration?: NewPlanPackageWithAllocationPrice.InvoicingCycleConfiguration | null;
2689
-
2690
- /**
2691
- * User-specified key/value pairs for the resource. Individual keys can be removed
2692
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2693
- * by setting `metadata` to `null`.
2694
- */
2695
- metadata?: Record<string, string | null> | null;
2696
- }
2697
-
2698
- export namespace NewPlanPackageWithAllocationPrice {
2699
- /**
2700
- * For custom cadence: specifies the duration of the billing period in days or
2701
- * months.
2702
- */
2703
- export interface BillingCycleConfiguration {
2704
- /**
2705
- * The duration of the billing period.
2706
- */
2707
- duration: number;
2708
-
2709
- /**
2710
- * The unit of billing period duration.
2711
- */
2712
- duration_unit: 'day' | 'month';
2713
- }
2714
-
2715
- /**
2716
- * For dimensional price: specifies a price group and dimension values
2717
- */
2718
- export interface DimensionalPriceConfiguration {
2719
- /**
2720
- * The list of dimension values matching (in order) the dimensions of the price
2721
- * group
2722
- */
2723
- dimension_values: Array<string>;
2724
-
2725
- /**
2726
- * The id of the dimensional price group to include this price in
2727
- */
2728
- dimensional_price_group_id?: string | null;
2729
-
2730
- /**
2731
- * The external id of the dimensional price group to include this price in
2732
- */
2733
- external_dimensional_price_group_id?: string | null;
2734
- }
2735
-
2736
- /**
2737
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2738
- * If unspecified, a single invoice is produced per billing cycle.
2739
- */
2740
- export interface InvoicingCycleConfiguration {
2741
- /**
2742
- * The duration of the billing period.
2743
- */
2744
- duration: number;
2745
-
2746
- /**
2747
- * The unit of billing period duration.
2748
- */
2749
- duration_unit: 'day' | 'month';
2750
- }
2751
- }
2752
-
2753
- export interface NewPlanTierWithProrationPrice {
2754
- /**
2755
- * The cadence to bill for this price on.
2756
- */
2757
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2758
-
2759
- /**
2760
- * The id of the item the price will be associated with.
2761
- */
2762
- item_id: string;
2763
-
2764
- model_type: 'tiered_with_proration';
2765
-
2766
- /**
2767
- * The name of the price.
2768
- */
2769
- name: string;
2770
-
2771
- tiered_with_proration_config: Record<string, unknown>;
2772
-
2773
- /**
2774
- * The id of the billable metric for the price. Only needed if the price is
2775
- * usage-based.
2776
- */
2777
- billable_metric_id?: string | null;
2778
-
2779
- /**
2780
- * If the Price represents a fixed cost, the price will be billed in-advance if
2781
- * this is true, and in-arrears if this is false.
2782
- */
2783
- billed_in_advance?: boolean | null;
2784
-
2785
- /**
2786
- * For custom cadence: specifies the duration of the billing period in days or
2787
- * months.
2788
- */
2789
- billing_cycle_configuration?: NewPlanTierWithProrationPrice.BillingCycleConfiguration | null;
2790
-
2791
- /**
2792
- * The per unit conversion rate of the price currency to the invoicing currency.
2793
- */
2794
- conversion_rate?: number | null;
2795
-
2796
- /**
2797
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2798
- * price is billed.
2799
- */
2800
- currency?: string | null;
2801
-
2802
- /**
2803
- * For dimensional price: specifies a price group and dimension values
2804
- */
2805
- dimensional_price_configuration?: NewPlanTierWithProrationPrice.DimensionalPriceConfiguration | null;
2806
-
2807
- /**
2808
- * An alias for the price.
2809
- */
2810
- external_price_id?: string | null;
2811
-
2812
- /**
2813
- * If the Price represents a fixed cost, this represents the quantity of units
2814
- * applied.
2815
- */
2816
- fixed_price_quantity?: number | null;
2817
-
2818
- /**
2819
- * The property used to group this price on an invoice
2820
- */
2821
- invoice_grouping_key?: string | null;
2822
-
2823
- /**
2824
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2825
- * If unspecified, a single invoice is produced per billing cycle.
2826
- */
2827
- invoicing_cycle_configuration?: NewPlanTierWithProrationPrice.InvoicingCycleConfiguration | null;
2828
-
2829
- /**
2830
- * User-specified key/value pairs for the resource. Individual keys can be removed
2831
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2832
- * by setting `metadata` to `null`.
2833
- */
2834
- metadata?: Record<string, string | null> | null;
2835
- }
2836
-
2837
- export namespace NewPlanTierWithProrationPrice {
2838
- /**
2839
- * For custom cadence: specifies the duration of the billing period in days or
2840
- * months.
2841
- */
2842
- export interface BillingCycleConfiguration {
2843
- /**
2844
- * The duration of the billing period.
2845
- */
2846
- duration: number;
2847
-
2848
- /**
2849
- * The unit of billing period duration.
2850
- */
2851
- duration_unit: 'day' | 'month';
2852
- }
2853
-
2854
- /**
2855
- * For dimensional price: specifies a price group and dimension values
2856
- */
2857
- export interface DimensionalPriceConfiguration {
2858
- /**
2859
- * The list of dimension values matching (in order) the dimensions of the price
2860
- * group
2861
- */
2862
- dimension_values: Array<string>;
2863
-
2864
- /**
2865
- * The id of the dimensional price group to include this price in
2866
- */
2867
- dimensional_price_group_id?: string | null;
2868
-
2869
- /**
2870
- * The external id of the dimensional price group to include this price in
2871
- */
2872
- external_dimensional_price_group_id?: string | null;
2873
- }
2874
-
2875
- /**
2876
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2877
- * If unspecified, a single invoice is produced per billing cycle.
2878
- */
2879
- export interface InvoicingCycleConfiguration {
2880
- /**
2881
- * The duration of the billing period.
2882
- */
2883
- duration: number;
2884
-
2885
- /**
2886
- * The unit of billing period duration.
2887
- */
2888
- duration_unit: 'day' | 'month';
2889
- }
2890
- }
2891
-
2892
- export interface NewPlanUnitWithProrationPrice {
2893
- /**
2894
- * The cadence to bill for this price on.
2895
- */
2896
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
2897
-
2898
- /**
2899
- * The id of the item the price will be associated with.
2900
- */
2901
- item_id: string;
2902
-
2903
- model_type: 'unit_with_proration';
2904
-
2905
- /**
2906
- * The name of the price.
2907
- */
2908
- name: string;
2909
-
2910
- unit_with_proration_config: Record<string, unknown>;
2911
-
2912
- /**
2913
- * The id of the billable metric for the price. Only needed if the price is
2914
- * usage-based.
2915
- */
2916
- billable_metric_id?: string | null;
2917
-
2918
- /**
2919
- * If the Price represents a fixed cost, the price will be billed in-advance if
2920
- * this is true, and in-arrears if this is false.
2921
- */
2922
- billed_in_advance?: boolean | null;
2923
-
2924
- /**
2925
- * For custom cadence: specifies the duration of the billing period in days or
2926
- * months.
2927
- */
2928
- billing_cycle_configuration?: NewPlanUnitWithProrationPrice.BillingCycleConfiguration | null;
2929
-
2930
- /**
2931
- * The per unit conversion rate of the price currency to the invoicing currency.
2932
- */
2933
- conversion_rate?: number | null;
2934
-
2935
- /**
2936
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
2937
- * price is billed.
2938
- */
2939
- currency?: string | null;
2940
-
2941
- /**
2942
- * For dimensional price: specifies a price group and dimension values
2943
- */
2944
- dimensional_price_configuration?: NewPlanUnitWithProrationPrice.DimensionalPriceConfiguration | null;
2945
-
2946
- /**
2947
- * An alias for the price.
2948
- */
2949
- external_price_id?: string | null;
2950
-
2951
- /**
2952
- * If the Price represents a fixed cost, this represents the quantity of units
2953
- * applied.
2954
- */
2955
- fixed_price_quantity?: number | null;
2956
-
2957
- /**
2958
- * The property used to group this price on an invoice
2959
- */
2960
- invoice_grouping_key?: string | null;
2961
-
2962
- /**
2963
- * Within each billing cycle, specifies the cadence at which invoices are produced.
2964
- * If unspecified, a single invoice is produced per billing cycle.
2965
- */
2966
- invoicing_cycle_configuration?: NewPlanUnitWithProrationPrice.InvoicingCycleConfiguration | null;
2967
-
2968
- /**
2969
- * User-specified key/value pairs for the resource. Individual keys can be removed
2970
- * by setting the value to `null`, and the entire metadata mapping can be cleared
2971
- * by setting `metadata` to `null`.
2972
- */
2973
- metadata?: Record<string, string | null> | null;
2974
- }
2975
-
2976
- export namespace NewPlanUnitWithProrationPrice {
2977
- /**
2978
- * For custom cadence: specifies the duration of the billing period in days or
2979
- * months.
2980
- */
2981
- export interface BillingCycleConfiguration {
2982
- /**
2983
- * The duration of the billing period.
2984
- */
2985
- duration: number;
2986
-
2987
- /**
2988
- * The unit of billing period duration.
2989
- */
2990
- duration_unit: 'day' | 'month';
2991
- }
2992
-
2993
- /**
2994
- * For dimensional price: specifies a price group and dimension values
2995
- */
2996
- export interface DimensionalPriceConfiguration {
2997
- /**
2998
- * The list of dimension values matching (in order) the dimensions of the price
2999
- * group
3000
- */
3001
- dimension_values: Array<string>;
3002
-
3003
- /**
3004
- * The id of the dimensional price group to include this price in
3005
- */
3006
- dimensional_price_group_id?: string | null;
3007
-
3008
- /**
3009
- * The external id of the dimensional price group to include this price in
3010
- */
3011
- external_dimensional_price_group_id?: string | null;
3012
- }
3013
-
3014
- /**
3015
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3016
- * If unspecified, a single invoice is produced per billing cycle.
3017
- */
3018
- export interface InvoicingCycleConfiguration {
3019
- /**
3020
- * The duration of the billing period.
3021
- */
3022
- duration: number;
3023
-
3024
- /**
3025
- * The unit of billing period duration.
3026
- */
3027
- duration_unit: 'day' | 'month';
3028
- }
3029
- }
3030
-
3031
- export interface NewPlanGroupedAllocationPrice {
3032
- /**
3033
- * The cadence to bill for this price on.
3034
- */
3035
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3036
-
3037
- grouped_allocation_config: Record<string, unknown>;
3038
-
3039
- /**
3040
- * The id of the item the price will be associated with.
3041
- */
3042
- item_id: string;
3043
-
3044
- model_type: 'grouped_allocation';
3045
-
3046
- /**
3047
- * The name of the price.
3048
- */
3049
- name: string;
3050
-
3051
- /**
3052
- * The id of the billable metric for the price. Only needed if the price is
3053
- * usage-based.
3054
- */
3055
- billable_metric_id?: string | null;
3056
-
3057
- /**
3058
- * If the Price represents a fixed cost, the price will be billed in-advance if
3059
- * this is true, and in-arrears if this is false.
3060
- */
3061
- billed_in_advance?: boolean | null;
3062
-
3063
- /**
3064
- * For custom cadence: specifies the duration of the billing period in days or
3065
- * months.
3066
- */
3067
- billing_cycle_configuration?: NewPlanGroupedAllocationPrice.BillingCycleConfiguration | null;
3068
-
3069
- /**
3070
- * The per unit conversion rate of the price currency to the invoicing currency.
3071
- */
3072
- conversion_rate?: number | null;
3073
-
3074
- /**
3075
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3076
- * price is billed.
3077
- */
3078
- currency?: string | null;
3079
-
3080
- /**
3081
- * For dimensional price: specifies a price group and dimension values
3082
- */
3083
- dimensional_price_configuration?: NewPlanGroupedAllocationPrice.DimensionalPriceConfiguration | null;
3084
-
3085
- /**
3086
- * An alias for the price.
3087
- */
3088
- external_price_id?: string | null;
3089
-
3090
- /**
3091
- * If the Price represents a fixed cost, this represents the quantity of units
3092
- * applied.
3093
- */
3094
- fixed_price_quantity?: number | null;
3095
-
3096
- /**
3097
- * The property used to group this price on an invoice
3098
- */
3099
- invoice_grouping_key?: string | null;
3100
-
3101
- /**
3102
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3103
- * If unspecified, a single invoice is produced per billing cycle.
3104
- */
3105
- invoicing_cycle_configuration?: NewPlanGroupedAllocationPrice.InvoicingCycleConfiguration | null;
3106
-
3107
- /**
3108
- * User-specified key/value pairs for the resource. Individual keys can be removed
3109
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3110
- * by setting `metadata` to `null`.
3111
- */
3112
- metadata?: Record<string, string | null> | null;
3113
- }
3114
-
3115
- export namespace NewPlanGroupedAllocationPrice {
3116
- /**
3117
- * For custom cadence: specifies the duration of the billing period in days or
3118
- * months.
3119
- */
3120
- export interface BillingCycleConfiguration {
3121
- /**
3122
- * The duration of the billing period.
3123
- */
3124
- duration: number;
3125
-
3126
- /**
3127
- * The unit of billing period duration.
3128
- */
3129
- duration_unit: 'day' | 'month';
3130
- }
3131
-
3132
- /**
3133
- * For dimensional price: specifies a price group and dimension values
3134
- */
3135
- export interface DimensionalPriceConfiguration {
3136
- /**
3137
- * The list of dimension values matching (in order) the dimensions of the price
3138
- * group
3139
- */
3140
- dimension_values: Array<string>;
3141
-
3142
- /**
3143
- * The id of the dimensional price group to include this price in
3144
- */
3145
- dimensional_price_group_id?: string | null;
3146
-
3147
- /**
3148
- * The external id of the dimensional price group to include this price in
3149
- */
3150
- external_dimensional_price_group_id?: string | null;
3151
- }
3152
-
3153
- /**
3154
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3155
- * If unspecified, a single invoice is produced per billing cycle.
3156
- */
3157
- export interface InvoicingCycleConfiguration {
3158
- /**
3159
- * The duration of the billing period.
3160
- */
3161
- duration: number;
3162
-
3163
- /**
3164
- * The unit of billing period duration.
3165
- */
3166
- duration_unit: 'day' | 'month';
3167
- }
3168
- }
3169
-
3170
- export interface NewPlanGroupedWithProratedMinimumPrice {
3171
- /**
3172
- * The cadence to bill for this price on.
3173
- */
3174
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3175
-
3176
- grouped_with_prorated_minimum_config: Record<string, unknown>;
3177
-
3178
- /**
3179
- * The id of the item the price will be associated with.
3180
- */
3181
- item_id: string;
3182
-
3183
- model_type: 'grouped_with_prorated_minimum';
3184
-
3185
- /**
3186
- * The name of the price.
3187
- */
3188
- name: string;
3189
-
3190
- /**
3191
- * The id of the billable metric for the price. Only needed if the price is
3192
- * usage-based.
3193
- */
3194
- billable_metric_id?: string | null;
3195
-
3196
- /**
3197
- * If the Price represents a fixed cost, the price will be billed in-advance if
3198
- * this is true, and in-arrears if this is false.
3199
- */
3200
- billed_in_advance?: boolean | null;
3201
-
3202
- /**
3203
- * For custom cadence: specifies the duration of the billing period in days or
3204
- * months.
3205
- */
3206
- billing_cycle_configuration?: NewPlanGroupedWithProratedMinimumPrice.BillingCycleConfiguration | null;
3207
-
3208
- /**
3209
- * The per unit conversion rate of the price currency to the invoicing currency.
3210
- */
3211
- conversion_rate?: number | null;
3212
-
3213
- /**
3214
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3215
- * price is billed.
3216
- */
3217
- currency?: string | null;
3218
-
3219
- /**
3220
- * For dimensional price: specifies a price group and dimension values
3221
- */
3222
- dimensional_price_configuration?: NewPlanGroupedWithProratedMinimumPrice.DimensionalPriceConfiguration | null;
3223
-
3224
- /**
3225
- * An alias for the price.
3226
- */
3227
- external_price_id?: string | null;
3228
-
3229
- /**
3230
- * If the Price represents a fixed cost, this represents the quantity of units
3231
- * applied.
3232
- */
3233
- fixed_price_quantity?: number | null;
3234
-
3235
- /**
3236
- * The property used to group this price on an invoice
3237
- */
3238
- invoice_grouping_key?: string | null;
3239
-
3240
- /**
3241
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3242
- * If unspecified, a single invoice is produced per billing cycle.
3243
- */
3244
- invoicing_cycle_configuration?: NewPlanGroupedWithProratedMinimumPrice.InvoicingCycleConfiguration | null;
3245
-
3246
- /**
3247
- * User-specified key/value pairs for the resource. Individual keys can be removed
3248
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3249
- * by setting `metadata` to `null`.
3250
- */
3251
- metadata?: Record<string, string | null> | null;
3252
- }
3253
-
3254
- export namespace NewPlanGroupedWithProratedMinimumPrice {
3255
- /**
3256
- * For custom cadence: specifies the duration of the billing period in days or
3257
- * months.
3258
- */
3259
- export interface BillingCycleConfiguration {
3260
- /**
3261
- * The duration of the billing period.
3262
- */
3263
- duration: number;
3264
-
3265
- /**
3266
- * The unit of billing period duration.
3267
- */
3268
- duration_unit: 'day' | 'month';
3269
- }
3270
-
3271
- /**
3272
- * For dimensional price: specifies a price group and dimension values
3273
- */
3274
- export interface DimensionalPriceConfiguration {
3275
- /**
3276
- * The list of dimension values matching (in order) the dimensions of the price
3277
- * group
3278
- */
3279
- dimension_values: Array<string>;
3280
-
3281
- /**
3282
- * The id of the dimensional price group to include this price in
3283
- */
3284
- dimensional_price_group_id?: string | null;
3285
-
3286
- /**
3287
- * The external id of the dimensional price group to include this price in
3288
- */
3289
- external_dimensional_price_group_id?: string | null;
3290
- }
3291
-
3292
- /**
3293
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3294
- * If unspecified, a single invoice is produced per billing cycle.
3295
- */
3296
- export interface InvoicingCycleConfiguration {
3297
- /**
3298
- * The duration of the billing period.
3299
- */
3300
- duration: number;
3301
-
3302
- /**
3303
- * The unit of billing period duration.
3304
- */
3305
- duration_unit: 'day' | 'month';
3306
- }
3307
- }
3308
-
3309
- export interface NewPlanGroupedWithMeteredMinimumPrice {
3310
- /**
3311
- * The cadence to bill for this price on.
3312
- */
3313
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3314
-
3315
- grouped_with_metered_minimum_config: Record<string, unknown>;
3316
-
3317
- /**
3318
- * The id of the item the price will be associated with.
3319
- */
3320
- item_id: string;
3321
-
3322
- model_type: 'grouped_with_metered_minimum';
3323
-
3324
- /**
3325
- * The name of the price.
3326
- */
3327
- name: string;
3328
-
3329
- /**
3330
- * The id of the billable metric for the price. Only needed if the price is
3331
- * usage-based.
3332
- */
3333
- billable_metric_id?: string | null;
3334
-
3335
- /**
3336
- * If the Price represents a fixed cost, the price will be billed in-advance if
3337
- * this is true, and in-arrears if this is false.
3338
- */
3339
- billed_in_advance?: boolean | null;
3340
-
3341
- /**
3342
- * For custom cadence: specifies the duration of the billing period in days or
3343
- * months.
3344
- */
3345
- billing_cycle_configuration?: NewPlanGroupedWithMeteredMinimumPrice.BillingCycleConfiguration | null;
3346
-
3347
- /**
3348
- * The per unit conversion rate of the price currency to the invoicing currency.
3349
- */
3350
- conversion_rate?: number | null;
3351
-
3352
- /**
3353
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3354
- * price is billed.
3355
- */
3356
- currency?: string | null;
3357
-
3358
- /**
3359
- * For dimensional price: specifies a price group and dimension values
3360
- */
3361
- dimensional_price_configuration?: NewPlanGroupedWithMeteredMinimumPrice.DimensionalPriceConfiguration | null;
3362
-
3363
- /**
3364
- * An alias for the price.
3365
- */
3366
- external_price_id?: string | null;
3367
-
3368
- /**
3369
- * If the Price represents a fixed cost, this represents the quantity of units
3370
- * applied.
3371
- */
3372
- fixed_price_quantity?: number | null;
3373
-
3374
- /**
3375
- * The property used to group this price on an invoice
3376
- */
3377
- invoice_grouping_key?: string | null;
3378
-
3379
- /**
3380
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3381
- * If unspecified, a single invoice is produced per billing cycle.
3382
- */
3383
- invoicing_cycle_configuration?: NewPlanGroupedWithMeteredMinimumPrice.InvoicingCycleConfiguration | null;
3384
-
3385
- /**
3386
- * User-specified key/value pairs for the resource. Individual keys can be removed
3387
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3388
- * by setting `metadata` to `null`.
3389
- */
3390
- metadata?: Record<string, string | null> | null;
3391
- }
3392
-
3393
- export namespace NewPlanGroupedWithMeteredMinimumPrice {
3394
- /**
3395
- * For custom cadence: specifies the duration of the billing period in days or
3396
- * months.
3397
- */
3398
- export interface BillingCycleConfiguration {
3399
- /**
3400
- * The duration of the billing period.
3401
- */
3402
- duration: number;
3403
-
3404
- /**
3405
- * The unit of billing period duration.
3406
- */
3407
- duration_unit: 'day' | 'month';
3408
- }
3409
-
3410
- /**
3411
- * For dimensional price: specifies a price group and dimension values
3412
- */
3413
- export interface DimensionalPriceConfiguration {
3414
- /**
3415
- * The list of dimension values matching (in order) the dimensions of the price
3416
- * group
3417
- */
3418
- dimension_values: Array<string>;
3419
-
3420
- /**
3421
- * The id of the dimensional price group to include this price in
3422
- */
3423
- dimensional_price_group_id?: string | null;
3424
-
3425
- /**
3426
- * The external id of the dimensional price group to include this price in
3427
- */
3428
- external_dimensional_price_group_id?: string | null;
3429
- }
3430
-
3431
- /**
3432
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3433
- * If unspecified, a single invoice is produced per billing cycle.
3434
- */
3435
- export interface InvoicingCycleConfiguration {
3436
- /**
3437
- * The duration of the billing period.
3438
- */
3439
- duration: number;
3440
-
3441
- /**
3442
- * The unit of billing period duration.
3443
- */
3444
- duration_unit: 'day' | 'month';
3445
- }
3446
- }
3447
-
3448
- export interface NewPlanMatrixWithDisplayNamePrice {
3449
- /**
3450
- * The cadence to bill for this price on.
3451
- */
3452
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3453
-
3454
- /**
3455
- * The id of the item the price will be associated with.
3456
- */
3457
- item_id: string;
3458
-
3459
- matrix_with_display_name_config: Record<string, unknown>;
3460
-
3461
- model_type: 'matrix_with_display_name';
3462
-
3463
- /**
3464
- * The name of the price.
3465
- */
3466
- name: string;
3467
-
3468
- /**
3469
- * The id of the billable metric for the price. Only needed if the price is
3470
- * usage-based.
3471
- */
3472
- billable_metric_id?: string | null;
3473
-
3474
- /**
3475
- * If the Price represents a fixed cost, the price will be billed in-advance if
3476
- * this is true, and in-arrears if this is false.
3477
- */
3478
- billed_in_advance?: boolean | null;
3479
-
3480
- /**
3481
- * For custom cadence: specifies the duration of the billing period in days or
3482
- * months.
3483
- */
3484
- billing_cycle_configuration?: NewPlanMatrixWithDisplayNamePrice.BillingCycleConfiguration | null;
3485
-
3486
- /**
3487
- * The per unit conversion rate of the price currency to the invoicing currency.
3488
- */
3489
- conversion_rate?: number | null;
3490
-
3491
- /**
3492
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3493
- * price is billed.
3494
- */
3495
- currency?: string | null;
3496
-
3497
- /**
3498
- * For dimensional price: specifies a price group and dimension values
3499
- */
3500
- dimensional_price_configuration?: NewPlanMatrixWithDisplayNamePrice.DimensionalPriceConfiguration | null;
3501
-
3502
- /**
3503
- * An alias for the price.
3504
- */
3505
- external_price_id?: string | null;
3506
-
3507
- /**
3508
- * If the Price represents a fixed cost, this represents the quantity of units
3509
- * applied.
3510
- */
3511
- fixed_price_quantity?: number | null;
3512
-
3513
- /**
3514
- * The property used to group this price on an invoice
3515
- */
3516
- invoice_grouping_key?: string | null;
3517
-
3518
- /**
3519
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3520
- * If unspecified, a single invoice is produced per billing cycle.
3521
- */
3522
- invoicing_cycle_configuration?: NewPlanMatrixWithDisplayNamePrice.InvoicingCycleConfiguration | null;
3523
-
3524
- /**
3525
- * User-specified key/value pairs for the resource. Individual keys can be removed
3526
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3527
- * by setting `metadata` to `null`.
3528
- */
3529
- metadata?: Record<string, string | null> | null;
3530
- }
3531
-
3532
- export namespace NewPlanMatrixWithDisplayNamePrice {
3533
- /**
3534
- * For custom cadence: specifies the duration of the billing period in days or
3535
- * months.
3536
- */
3537
- export interface BillingCycleConfiguration {
3538
- /**
3539
- * The duration of the billing period.
3540
- */
3541
- duration: number;
3542
-
3543
- /**
3544
- * The unit of billing period duration.
3545
- */
3546
- duration_unit: 'day' | 'month';
3547
- }
3548
-
3549
- /**
3550
- * For dimensional price: specifies a price group and dimension values
3551
- */
3552
- export interface DimensionalPriceConfiguration {
3553
- /**
3554
- * The list of dimension values matching (in order) the dimensions of the price
3555
- * group
3556
- */
3557
- dimension_values: Array<string>;
3558
-
3559
- /**
3560
- * The id of the dimensional price group to include this price in
3561
- */
3562
- dimensional_price_group_id?: string | null;
3563
-
3564
- /**
3565
- * The external id of the dimensional price group to include this price in
3566
- */
3567
- external_dimensional_price_group_id?: string | null;
3568
- }
3569
-
3570
- /**
3571
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3572
- * If unspecified, a single invoice is produced per billing cycle.
3573
- */
3574
- export interface InvoicingCycleConfiguration {
3575
- /**
3576
- * The duration of the billing period.
3577
- */
3578
- duration: number;
3579
-
3580
- /**
3581
- * The unit of billing period duration.
3582
- */
3583
- duration_unit: 'day' | 'month';
3584
- }
3585
- }
3586
-
3587
- export interface NewPlanBulkWithProrationPrice {
3588
- bulk_with_proration_config: Record<string, unknown>;
3589
-
3590
- /**
3591
- * The cadence to bill for this price on.
3592
- */
3593
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3594
-
3595
- /**
3596
- * The id of the item the price will be associated with.
3597
- */
3598
- item_id: string;
3599
-
3600
- model_type: 'bulk_with_proration';
3601
-
3602
- /**
3603
- * The name of the price.
3604
- */
3605
- name: string;
3606
-
3607
- /**
3608
- * The id of the billable metric for the price. Only needed if the price is
3609
- * usage-based.
3610
- */
3611
- billable_metric_id?: string | null;
3612
-
3613
- /**
3614
- * If the Price represents a fixed cost, the price will be billed in-advance if
3615
- * this is true, and in-arrears if this is false.
3616
- */
3617
- billed_in_advance?: boolean | null;
3618
-
3619
- /**
3620
- * For custom cadence: specifies the duration of the billing period in days or
3621
- * months.
3622
- */
3623
- billing_cycle_configuration?: NewPlanBulkWithProrationPrice.BillingCycleConfiguration | null;
3624
-
3625
- /**
3626
- * The per unit conversion rate of the price currency to the invoicing currency.
3627
- */
3628
- conversion_rate?: number | null;
3629
-
3630
- /**
3631
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3632
- * price is billed.
3633
- */
3634
- currency?: string | null;
3635
-
3636
- /**
3637
- * For dimensional price: specifies a price group and dimension values
3638
- */
3639
- dimensional_price_configuration?: NewPlanBulkWithProrationPrice.DimensionalPriceConfiguration | null;
3640
-
3641
- /**
3642
- * An alias for the price.
3643
- */
3644
- external_price_id?: string | null;
3645
-
3646
- /**
3647
- * If the Price represents a fixed cost, this represents the quantity of units
3648
- * applied.
3649
- */
3650
- fixed_price_quantity?: number | null;
3651
-
3652
- /**
3653
- * The property used to group this price on an invoice
3654
- */
3655
- invoice_grouping_key?: string | null;
3656
-
3657
- /**
3658
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3659
- * If unspecified, a single invoice is produced per billing cycle.
3660
- */
3661
- invoicing_cycle_configuration?: NewPlanBulkWithProrationPrice.InvoicingCycleConfiguration | null;
3662
-
3663
- /**
3664
- * User-specified key/value pairs for the resource. Individual keys can be removed
3665
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3666
- * by setting `metadata` to `null`.
3667
- */
3668
- metadata?: Record<string, string | null> | null;
3669
- }
3670
-
3671
- export namespace NewPlanBulkWithProrationPrice {
3672
- /**
3673
- * For custom cadence: specifies the duration of the billing period in days or
3674
- * months.
3675
- */
3676
- export interface BillingCycleConfiguration {
3677
- /**
3678
- * The duration of the billing period.
3679
- */
3680
- duration: number;
3681
-
3682
- /**
3683
- * The unit of billing period duration.
3684
- */
3685
- duration_unit: 'day' | 'month';
3686
- }
3687
-
3688
- /**
3689
- * For dimensional price: specifies a price group and dimension values
3690
- */
3691
- export interface DimensionalPriceConfiguration {
3692
- /**
3693
- * The list of dimension values matching (in order) the dimensions of the price
3694
- * group
3695
- */
3696
- dimension_values: Array<string>;
3697
-
3698
- /**
3699
- * The id of the dimensional price group to include this price in
3700
- */
3701
- dimensional_price_group_id?: string | null;
3702
-
3703
- /**
3704
- * The external id of the dimensional price group to include this price in
3705
- */
3706
- external_dimensional_price_group_id?: string | null;
3707
- }
3708
-
3709
- /**
3710
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3711
- * If unspecified, a single invoice is produced per billing cycle.
3712
- */
3713
- export interface InvoicingCycleConfiguration {
3714
- /**
3715
- * The duration of the billing period.
3716
- */
3717
- duration: number;
3718
-
3719
- /**
3720
- * The unit of billing period duration.
3721
- */
3722
- duration_unit: 'day' | 'month';
3723
- }
3724
- }
3725
-
3726
- export interface NewPlanGroupedTieredPackagePrice {
3727
- /**
3728
- * The cadence to bill for this price on.
3729
- */
3730
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3731
-
3732
- grouped_tiered_package_config: Record<string, unknown>;
3733
-
3734
- /**
3735
- * The id of the item the price will be associated with.
3736
- */
3737
- item_id: string;
3738
-
3739
- model_type: 'grouped_tiered_package';
3740
-
3741
- /**
3742
- * The name of the price.
3743
- */
3744
- name: string;
3745
-
3746
- /**
3747
- * The id of the billable metric for the price. Only needed if the price is
3748
- * usage-based.
3749
- */
3750
- billable_metric_id?: string | null;
3751
-
3752
- /**
3753
- * If the Price represents a fixed cost, the price will be billed in-advance if
3754
- * this is true, and in-arrears if this is false.
3755
- */
3756
- billed_in_advance?: boolean | null;
3757
-
3758
- /**
3759
- * For custom cadence: specifies the duration of the billing period in days or
3760
- * months.
3761
- */
3762
- billing_cycle_configuration?: NewPlanGroupedTieredPackagePrice.BillingCycleConfiguration | null;
3763
-
3764
- /**
3765
- * The per unit conversion rate of the price currency to the invoicing currency.
3766
- */
3767
- conversion_rate?: number | null;
3768
-
3769
- /**
3770
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3771
- * price is billed.
3772
- */
3773
- currency?: string | null;
3774
-
3775
- /**
3776
- * For dimensional price: specifies a price group and dimension values
3777
- */
3778
- dimensional_price_configuration?: NewPlanGroupedTieredPackagePrice.DimensionalPriceConfiguration | null;
3779
-
3780
- /**
3781
- * An alias for the price.
3782
- */
3783
- external_price_id?: string | null;
3784
-
3785
- /**
3786
- * If the Price represents a fixed cost, this represents the quantity of units
3787
- * applied.
3788
- */
3789
- fixed_price_quantity?: number | null;
3790
-
3791
- /**
3792
- * The property used to group this price on an invoice
3793
- */
3794
- invoice_grouping_key?: string | null;
3795
-
3796
- /**
3797
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3798
- * If unspecified, a single invoice is produced per billing cycle.
3799
- */
3800
- invoicing_cycle_configuration?: NewPlanGroupedTieredPackagePrice.InvoicingCycleConfiguration | null;
3801
-
3802
- /**
3803
- * User-specified key/value pairs for the resource. Individual keys can be removed
3804
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3805
- * by setting `metadata` to `null`.
3806
- */
3807
- metadata?: Record<string, string | null> | null;
3808
- }
3809
-
3810
- export namespace NewPlanGroupedTieredPackagePrice {
3811
- /**
3812
- * For custom cadence: specifies the duration of the billing period in days or
3813
- * months.
3814
- */
3815
- export interface BillingCycleConfiguration {
3816
- /**
3817
- * The duration of the billing period.
3818
- */
3819
- duration: number;
3820
-
3821
- /**
3822
- * The unit of billing period duration.
3823
- */
3824
- duration_unit: 'day' | 'month';
3825
- }
3826
-
3827
- /**
3828
- * For dimensional price: specifies a price group and dimension values
3829
- */
3830
- export interface DimensionalPriceConfiguration {
3831
- /**
3832
- * The list of dimension values matching (in order) the dimensions of the price
3833
- * group
3834
- */
3835
- dimension_values: Array<string>;
3836
-
3837
- /**
3838
- * The id of the dimensional price group to include this price in
3839
- */
3840
- dimensional_price_group_id?: string | null;
3841
-
3842
- /**
3843
- * The external id of the dimensional price group to include this price in
3844
- */
3845
- external_dimensional_price_group_id?: string | null;
3846
- }
3847
-
3848
- /**
3849
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3850
- * If unspecified, a single invoice is produced per billing cycle.
3851
- */
3852
- export interface InvoicingCycleConfiguration {
3853
- /**
3854
- * The duration of the billing period.
3855
- */
3856
- duration: number;
3857
-
3858
- /**
3859
- * The unit of billing period duration.
3860
- */
3861
- duration_unit: 'day' | 'month';
3862
- }
3863
- }
3864
-
3865
- export interface NewPlanMaxGroupTieredPackagePrice {
3866
- /**
3867
- * The cadence to bill for this price on.
3868
- */
3869
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
3870
-
3871
- /**
3872
- * The id of the item the price will be associated with.
3873
- */
3874
- item_id: string;
3875
-
3876
- max_group_tiered_package_config: Record<string, unknown>;
3877
-
3878
- model_type: 'max_group_tiered_package';
3879
-
3880
- /**
3881
- * The name of the price.
3882
- */
3883
- name: string;
3884
-
3885
- /**
3886
- * The id of the billable metric for the price. Only needed if the price is
3887
- * usage-based.
3888
- */
3889
- billable_metric_id?: string | null;
3890
-
3891
- /**
3892
- * If the Price represents a fixed cost, the price will be billed in-advance if
3893
- * this is true, and in-arrears if this is false.
3894
- */
3895
- billed_in_advance?: boolean | null;
3896
-
3897
- /**
3898
- * For custom cadence: specifies the duration of the billing period in days or
3899
- * months.
3900
- */
3901
- billing_cycle_configuration?: NewPlanMaxGroupTieredPackagePrice.BillingCycleConfiguration | null;
3902
-
3903
- /**
3904
- * The per unit conversion rate of the price currency to the invoicing currency.
3905
- */
3906
- conversion_rate?: number | null;
3907
-
3908
- /**
3909
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
3910
- * price is billed.
3911
- */
3912
- currency?: string | null;
3913
-
3914
- /**
3915
- * For dimensional price: specifies a price group and dimension values
3916
- */
3917
- dimensional_price_configuration?: NewPlanMaxGroupTieredPackagePrice.DimensionalPriceConfiguration | null;
3918
-
3919
- /**
3920
- * An alias for the price.
3921
- */
3922
- external_price_id?: string | null;
3923
-
3924
- /**
3925
- * If the Price represents a fixed cost, this represents the quantity of units
3926
- * applied.
3927
- */
3928
- fixed_price_quantity?: number | null;
3929
-
3930
- /**
3931
- * The property used to group this price on an invoice
3932
- */
3933
- invoice_grouping_key?: string | null;
3934
-
3935
- /**
3936
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3937
- * If unspecified, a single invoice is produced per billing cycle.
3938
- */
3939
- invoicing_cycle_configuration?: NewPlanMaxGroupTieredPackagePrice.InvoicingCycleConfiguration | null;
3940
-
3941
- /**
3942
- * User-specified key/value pairs for the resource. Individual keys can be removed
3943
- * by setting the value to `null`, and the entire metadata mapping can be cleared
3944
- * by setting `metadata` to `null`.
3945
- */
3946
- metadata?: Record<string, string | null> | null;
3947
- }
3948
-
3949
- export namespace NewPlanMaxGroupTieredPackagePrice {
3950
- /**
3951
- * For custom cadence: specifies the duration of the billing period in days or
3952
- * months.
3953
- */
3954
- export interface BillingCycleConfiguration {
3955
- /**
3956
- * The duration of the billing period.
3957
- */
3958
- duration: number;
3959
-
3960
- /**
3961
- * The unit of billing period duration.
3962
- */
3963
- duration_unit: 'day' | 'month';
3964
- }
3965
-
3966
- /**
3967
- * For dimensional price: specifies a price group and dimension values
3968
- */
3969
- export interface DimensionalPriceConfiguration {
3970
- /**
3971
- * The list of dimension values matching (in order) the dimensions of the price
3972
- * group
3973
- */
3974
- dimension_values: Array<string>;
3975
-
3976
- /**
3977
- * The id of the dimensional price group to include this price in
3978
- */
3979
- dimensional_price_group_id?: string | null;
3980
-
3981
- /**
3982
- * The external id of the dimensional price group to include this price in
3983
- */
3984
- external_dimensional_price_group_id?: string | null;
3985
- }
3986
-
3987
- /**
3988
- * Within each billing cycle, specifies the cadence at which invoices are produced.
3989
- * If unspecified, a single invoice is produced per billing cycle.
3990
- */
3991
- export interface InvoicingCycleConfiguration {
3992
- /**
3993
- * The duration of the billing period.
3994
- */
3995
- duration: number;
3996
-
3997
- /**
3998
- * The unit of billing period duration.
3999
- */
4000
- duration_unit: 'day' | 'month';
4001
- }
4002
- }
4003
-
4004
- export interface NewPlanScalableMatrixWithUnitPricingPrice {
4005
- /**
4006
- * The cadence to bill for this price on.
4007
- */
4008
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4009
-
4010
- /**
4011
- * The id of the item the price will be associated with.
4012
- */
4013
- item_id: string;
4014
-
4015
- model_type: 'scalable_matrix_with_unit_pricing';
4016
-
4017
- /**
4018
- * The name of the price.
4019
- */
4020
- name: string;
4021
-
4022
- scalable_matrix_with_unit_pricing_config: Record<string, unknown>;
4023
-
4024
- /**
4025
- * The id of the billable metric for the price. Only needed if the price is
4026
- * usage-based.
4027
- */
4028
- billable_metric_id?: string | null;
4029
-
4030
- /**
4031
- * If the Price represents a fixed cost, the price will be billed in-advance if
4032
- * this is true, and in-arrears if this is false.
4033
- */
4034
- billed_in_advance?: boolean | null;
4035
-
4036
- /**
4037
- * For custom cadence: specifies the duration of the billing period in days or
4038
- * months.
4039
- */
4040
- billing_cycle_configuration?: NewPlanScalableMatrixWithUnitPricingPrice.BillingCycleConfiguration | null;
4041
-
4042
- /**
4043
- * The per unit conversion rate of the price currency to the invoicing currency.
4044
- */
4045
- conversion_rate?: number | null;
4046
-
4047
- /**
4048
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4049
- * price is billed.
4050
- */
4051
- currency?: string | null;
4052
-
4053
- /**
4054
- * For dimensional price: specifies a price group and dimension values
4055
- */
4056
- dimensional_price_configuration?: NewPlanScalableMatrixWithUnitPricingPrice.DimensionalPriceConfiguration | null;
4057
-
4058
- /**
4059
- * An alias for the price.
4060
- */
4061
- external_price_id?: string | null;
4062
-
4063
- /**
4064
- * If the Price represents a fixed cost, this represents the quantity of units
4065
- * applied.
4066
- */
4067
- fixed_price_quantity?: number | null;
4068
-
4069
- /**
4070
- * The property used to group this price on an invoice
4071
- */
4072
- invoice_grouping_key?: string | null;
4073
-
4074
- /**
4075
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4076
- * If unspecified, a single invoice is produced per billing cycle.
4077
- */
4078
- invoicing_cycle_configuration?: NewPlanScalableMatrixWithUnitPricingPrice.InvoicingCycleConfiguration | null;
4079
-
4080
- /**
4081
- * User-specified key/value pairs for the resource. Individual keys can be removed
4082
- * by setting the value to `null`, and the entire metadata mapping can be cleared
4083
- * by setting `metadata` to `null`.
4084
- */
4085
- metadata?: Record<string, string | null> | null;
4086
- }
4087
-
4088
- export namespace NewPlanScalableMatrixWithUnitPricingPrice {
4089
- /**
4090
- * For custom cadence: specifies the duration of the billing period in days or
4091
- * months.
4092
- */
4093
- export interface BillingCycleConfiguration {
4094
- /**
4095
- * The duration of the billing period.
4096
- */
4097
- duration: number;
4098
-
4099
- /**
4100
- * The unit of billing period duration.
4101
- */
4102
- duration_unit: 'day' | 'month';
4103
- }
4104
-
4105
- /**
4106
- * For dimensional price: specifies a price group and dimension values
4107
- */
4108
- export interface DimensionalPriceConfiguration {
4109
- /**
4110
- * The list of dimension values matching (in order) the dimensions of the price
4111
- * group
4112
- */
4113
- dimension_values: Array<string>;
4114
-
4115
- /**
4116
- * The id of the dimensional price group to include this price in
4117
- */
4118
- dimensional_price_group_id?: string | null;
4119
-
4120
- /**
4121
- * The external id of the dimensional price group to include this price in
4122
- */
4123
- external_dimensional_price_group_id?: string | null;
4124
- }
4125
-
4126
- /**
4127
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4128
- * If unspecified, a single invoice is produced per billing cycle.
4129
- */
4130
- export interface InvoicingCycleConfiguration {
4131
- /**
4132
- * The duration of the billing period.
4133
- */
4134
- duration: number;
4135
-
4136
- /**
4137
- * The unit of billing period duration.
4138
- */
4139
- duration_unit: 'day' | 'month';
4140
- }
4141
- }
4142
-
4143
- export interface NewPlanScalableMatrixWithTieredPricingPrice {
4144
- /**
4145
- * The cadence to bill for this price on.
4146
- */
4147
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4148
-
4149
- /**
4150
- * The id of the item the price will be associated with.
4151
- */
4152
- item_id: string;
4153
-
4154
- model_type: 'scalable_matrix_with_tiered_pricing';
4155
-
4156
- /**
4157
- * The name of the price.
4158
- */
4159
- name: string;
4160
-
4161
- scalable_matrix_with_tiered_pricing_config: Record<string, unknown>;
4162
-
4163
- /**
4164
- * The id of the billable metric for the price. Only needed if the price is
4165
- * usage-based.
4166
- */
4167
- billable_metric_id?: string | null;
4168
-
4169
- /**
4170
- * If the Price represents a fixed cost, the price will be billed in-advance if
4171
- * this is true, and in-arrears if this is false.
4172
- */
4173
- billed_in_advance?: boolean | null;
4174
-
4175
- /**
4176
- * For custom cadence: specifies the duration of the billing period in days or
4177
- * months.
4178
- */
4179
- billing_cycle_configuration?: NewPlanScalableMatrixWithTieredPricingPrice.BillingCycleConfiguration | null;
4180
-
4181
- /**
4182
- * The per unit conversion rate of the price currency to the invoicing currency.
4183
- */
4184
- conversion_rate?: number | null;
4185
-
4186
- /**
4187
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4188
- * price is billed.
4189
- */
4190
- currency?: string | null;
4191
-
4192
- /**
4193
- * For dimensional price: specifies a price group and dimension values
4194
- */
4195
- dimensional_price_configuration?: NewPlanScalableMatrixWithTieredPricingPrice.DimensionalPriceConfiguration | null;
4196
-
4197
- /**
4198
- * An alias for the price.
4199
- */
4200
- external_price_id?: string | null;
4201
-
4202
- /**
4203
- * If the Price represents a fixed cost, this represents the quantity of units
4204
- * applied.
4205
- */
4206
- fixed_price_quantity?: number | null;
4207
-
4208
- /**
4209
- * The property used to group this price on an invoice
4210
- */
4211
- invoice_grouping_key?: string | null;
4212
-
4213
- /**
4214
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4215
- * If unspecified, a single invoice is produced per billing cycle.
4216
- */
4217
- invoicing_cycle_configuration?: NewPlanScalableMatrixWithTieredPricingPrice.InvoicingCycleConfiguration | null;
4218
-
4219
- /**
4220
- * User-specified key/value pairs for the resource. Individual keys can be removed
4221
- * by setting the value to `null`, and the entire metadata mapping can be cleared
4222
- * by setting `metadata` to `null`.
4223
- */
4224
- metadata?: Record<string, string | null> | null;
4225
- }
4226
-
4227
- export namespace NewPlanScalableMatrixWithTieredPricingPrice {
4228
- /**
4229
- * For custom cadence: specifies the duration of the billing period in days or
4230
- * months.
4231
- */
4232
- export interface BillingCycleConfiguration {
4233
- /**
4234
- * The duration of the billing period.
4235
- */
4236
- duration: number;
4237
-
4238
- /**
4239
- * The unit of billing period duration.
4240
- */
4241
- duration_unit: 'day' | 'month';
4242
- }
4243
-
4244
- /**
4245
- * For dimensional price: specifies a price group and dimension values
4246
- */
4247
- export interface DimensionalPriceConfiguration {
4248
- /**
4249
- * The list of dimension values matching (in order) the dimensions of the price
4250
- * group
4251
- */
4252
- dimension_values: Array<string>;
4253
-
4254
- /**
4255
- * The id of the dimensional price group to include this price in
4256
- */
4257
- dimensional_price_group_id?: string | null;
4258
-
4259
- /**
4260
- * The external id of the dimensional price group to include this price in
4261
- */
4262
- external_dimensional_price_group_id?: string | null;
4263
- }
4264
-
4265
- /**
4266
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4267
- * If unspecified, a single invoice is produced per billing cycle.
4268
- */
4269
- export interface InvoicingCycleConfiguration {
4270
- /**
4271
- * The duration of the billing period.
4272
- */
4273
- duration: number;
4274
-
4275
- /**
4276
- * The unit of billing period duration.
4277
- */
4278
- duration_unit: 'day' | 'month';
4279
- }
4280
- }
4281
-
4282
- export interface NewPlanCumulativeGroupedBulkPrice {
4283
- /**
4284
- * The cadence to bill for this price on.
4285
- */
4286
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4287
-
4288
- cumulative_grouped_bulk_config: Record<string, unknown>;
4289
-
4290
- /**
4291
- * The id of the item the price will be associated with.
4292
- */
4293
- item_id: string;
4294
-
4295
- model_type: 'cumulative_grouped_bulk';
4296
-
4297
- /**
4298
- * The name of the price.
4299
- */
4300
- name: string;
4301
-
4302
- /**
4303
- * The id of the billable metric for the price. Only needed if the price is
4304
- * usage-based.
4305
- */
4306
- billable_metric_id?: string | null;
4307
-
4308
- /**
4309
- * If the Price represents a fixed cost, the price will be billed in-advance if
4310
- * this is true, and in-arrears if this is false.
4311
- */
4312
- billed_in_advance?: boolean | null;
4313
-
4314
- /**
4315
- * For custom cadence: specifies the duration of the billing period in days or
4316
- * months.
4317
- */
4318
- billing_cycle_configuration?: NewPlanCumulativeGroupedBulkPrice.BillingCycleConfiguration | null;
4319
-
4320
- /**
4321
- * The per unit conversion rate of the price currency to the invoicing currency.
4322
- */
4323
- conversion_rate?: number | null;
4324
-
4325
- /**
4326
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4327
- * price is billed.
4328
- */
4329
- currency?: string | null;
4330
-
4331
- /**
4332
- * For dimensional price: specifies a price group and dimension values
4333
- */
4334
- dimensional_price_configuration?: NewPlanCumulativeGroupedBulkPrice.DimensionalPriceConfiguration | null;
4335
-
4336
- /**
4337
- * An alias for the price.
4338
- */
4339
- external_price_id?: string | null;
4340
-
4341
- /**
4342
- * If the Price represents a fixed cost, this represents the quantity of units
4343
- * applied.
4344
- */
4345
- fixed_price_quantity?: number | null;
4346
-
4347
- /**
4348
- * The property used to group this price on an invoice
4349
- */
4350
- invoice_grouping_key?: string | null;
4351
-
4352
- /**
4353
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4354
- * If unspecified, a single invoice is produced per billing cycle.
4355
- */
4356
- invoicing_cycle_configuration?: NewPlanCumulativeGroupedBulkPrice.InvoicingCycleConfiguration | null;
4357
-
4358
- /**
4359
- * User-specified key/value pairs for the resource. Individual keys can be removed
4360
- * by setting the value to `null`, and the entire metadata mapping can be cleared
4361
- * by setting `metadata` to `null`.
4362
- */
4363
- metadata?: Record<string, string | null> | null;
4364
- }
4365
-
4366
- export namespace NewPlanCumulativeGroupedBulkPrice {
4367
- /**
4368
- * For custom cadence: specifies the duration of the billing period in days or
4369
- * months.
4370
- */
4371
- export interface BillingCycleConfiguration {
4372
- /**
4373
- * The duration of the billing period.
4374
- */
4375
- duration: number;
4376
-
4377
- /**
4378
- * The unit of billing period duration.
4379
- */
4380
- duration_unit: 'day' | 'month';
4381
- }
4382
-
4383
- /**
4384
- * For dimensional price: specifies a price group and dimension values
4385
- */
4386
- export interface DimensionalPriceConfiguration {
4387
- /**
4388
- * The list of dimension values matching (in order) the dimensions of the price
4389
- * group
4390
- */
4391
- dimension_values: Array<string>;
4392
-
4393
- /**
4394
- * The id of the dimensional price group to include this price in
4395
- */
4396
- dimensional_price_group_id?: string | null;
4397
-
4398
- /**
4399
- * The external id of the dimensional price group to include this price in
4400
- */
4401
- external_dimensional_price_group_id?: string | null;
4402
- }
4403
-
4404
- /**
4405
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4406
- * If unspecified, a single invoice is produced per billing cycle.
4407
- */
4408
- export interface InvoicingCycleConfiguration {
4409
- /**
4410
- * The duration of the billing period.
4411
- */
4412
- duration: number;
4413
-
4414
- /**
4415
- * The unit of billing period duration.
4416
- */
4417
- duration_unit: 'day' | 'month';
4418
- }
4419
- }
4420
-
4421
- export interface NewPlanTieredPackageWithMinimumPrice {
4422
- /**
4423
- * The cadence to bill for this price on.
4424
- */
4425
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4426
-
4427
- /**
4428
- * The id of the item the price will be associated with.
4429
- */
4430
- item_id: string;
4431
-
4432
- model_type: 'tiered_package_with_minimum';
4433
-
4434
- /**
4435
- * The name of the price.
4436
- */
4437
- name: string;
4438
-
4439
- tiered_package_with_minimum_config: Record<string, unknown>;
4440
-
4441
- /**
4442
- * The id of the billable metric for the price. Only needed if the price is
4443
- * usage-based.
4444
- */
4445
- billable_metric_id?: string | null;
4446
-
4447
- /**
4448
- * If the Price represents a fixed cost, the price will be billed in-advance if
4449
- * this is true, and in-arrears if this is false.
4450
- */
4451
- billed_in_advance?: boolean | null;
4452
-
4453
- /**
4454
- * For custom cadence: specifies the duration of the billing period in days or
4455
- * months.
4456
- */
4457
- billing_cycle_configuration?: NewPlanTieredPackageWithMinimumPrice.BillingCycleConfiguration | null;
4458
-
4459
- /**
4460
- * The per unit conversion rate of the price currency to the invoicing currency.
4461
- */
4462
- conversion_rate?: number | null;
4463
-
4464
- /**
4465
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4466
- * price is billed.
4467
- */
4468
- currency?: string | null;
4469
-
4470
- /**
4471
- * For dimensional price: specifies a price group and dimension values
4472
- */
4473
- dimensional_price_configuration?: NewPlanTieredPackageWithMinimumPrice.DimensionalPriceConfiguration | null;
4474
-
4475
- /**
4476
- * An alias for the price.
4477
- */
4478
- external_price_id?: string | null;
4479
-
4480
- /**
4481
- * If the Price represents a fixed cost, this represents the quantity of units
4482
- * applied.
4483
- */
4484
- fixed_price_quantity?: number | null;
4485
-
4486
- /**
4487
- * The property used to group this price on an invoice
4488
- */
4489
- invoice_grouping_key?: string | null;
4490
-
4491
- /**
4492
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4493
- * If unspecified, a single invoice is produced per billing cycle.
4494
- */
4495
- invoicing_cycle_configuration?: NewPlanTieredPackageWithMinimumPrice.InvoicingCycleConfiguration | null;
4496
-
4497
- /**
4498
- * User-specified key/value pairs for the resource. Individual keys can be removed
4499
- * by setting the value to `null`, and the entire metadata mapping can be cleared
4500
- * by setting `metadata` to `null`.
4501
- */
4502
- metadata?: Record<string, string | null> | null;
4503
- }
4504
-
4505
- export namespace NewPlanTieredPackageWithMinimumPrice {
4506
- /**
4507
- * For custom cadence: specifies the duration of the billing period in days or
4508
- * months.
4509
- */
4510
- export interface BillingCycleConfiguration {
4511
- /**
4512
- * The duration of the billing period.
4513
- */
4514
- duration: number;
4515
-
4516
- /**
4517
- * The unit of billing period duration.
4518
- */
4519
- duration_unit: 'day' | 'month';
4520
- }
4521
-
4522
- /**
4523
- * For dimensional price: specifies a price group and dimension values
4524
- */
4525
- export interface DimensionalPriceConfiguration {
4526
- /**
4527
- * The list of dimension values matching (in order) the dimensions of the price
4528
- * group
4529
- */
4530
- dimension_values: Array<string>;
4531
-
4532
- /**
4533
- * The id of the dimensional price group to include this price in
4534
- */
4535
- dimensional_price_group_id?: string | null;
4536
-
4537
- /**
4538
- * The external id of the dimensional price group to include this price in
4539
- */
4540
- external_dimensional_price_group_id?: string | null;
4541
- }
4542
-
4543
- /**
4544
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4545
- * If unspecified, a single invoice is produced per billing cycle.
4546
- */
4547
- export interface InvoicingCycleConfiguration {
4548
- /**
4549
- * The duration of the billing period.
4550
- */
4551
- duration: number;
4552
-
4553
- /**
4554
- * The unit of billing period duration.
4555
- */
4556
- duration_unit: 'day' | 'month';
4557
- }
4558
- }
4559
-
4560
- export interface NewPlanMatrixWithAllocationPrice {
4561
- /**
4562
- * The cadence to bill for this price on.
4563
- */
4564
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4565
-
4566
- /**
4567
- * The id of the item the price will be associated with.
4568
- */
4569
- item_id: string;
4570
-
4571
- matrix_with_allocation_config: NewPlanMatrixWithAllocationPrice.MatrixWithAllocationConfig;
4572
-
4573
- model_type: 'matrix_with_allocation';
4574
-
4575
- /**
4576
- * The name of the price.
4577
- */
4578
- name: string;
4579
-
4580
- /**
4581
- * The id of the billable metric for the price. Only needed if the price is
4582
- * usage-based.
4583
- */
4584
- billable_metric_id?: string | null;
4585
-
4586
- /**
4587
- * If the Price represents a fixed cost, the price will be billed in-advance if
4588
- * this is true, and in-arrears if this is false.
4589
- */
4590
- billed_in_advance?: boolean | null;
4591
-
4592
- /**
4593
- * For custom cadence: specifies the duration of the billing period in days or
4594
- * months.
4595
- */
4596
- billing_cycle_configuration?: NewPlanMatrixWithAllocationPrice.BillingCycleConfiguration | null;
4597
-
4598
- /**
4599
- * The per unit conversion rate of the price currency to the invoicing currency.
4600
- */
4601
- conversion_rate?: number | null;
4602
-
4603
- /**
4604
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4605
- * price is billed.
4606
- */
4607
- currency?: string | null;
4608
-
4609
- /**
4610
- * For dimensional price: specifies a price group and dimension values
4611
- */
4612
- dimensional_price_configuration?: NewPlanMatrixWithAllocationPrice.DimensionalPriceConfiguration | null;
4613
-
4614
- /**
4615
- * An alias for the price.
4616
- */
4617
- external_price_id?: string | null;
4618
-
4619
- /**
4620
- * If the Price represents a fixed cost, this represents the quantity of units
4621
- * applied.
4622
- */
4623
- fixed_price_quantity?: number | null;
4624
-
4625
- /**
4626
- * The property used to group this price on an invoice
4627
- */
4628
- invoice_grouping_key?: string | null;
4629
-
4630
- /**
4631
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4632
- * If unspecified, a single invoice is produced per billing cycle.
4633
- */
4634
- invoicing_cycle_configuration?: NewPlanMatrixWithAllocationPrice.InvoicingCycleConfiguration | null;
4635
-
4636
- /**
4637
- * User-specified key/value pairs for the resource. Individual keys can be removed
4638
- * by setting the value to `null`, and the entire metadata mapping can be cleared
4639
- * by setting `metadata` to `null`.
4640
- */
4641
- metadata?: Record<string, string | null> | null;
4642
- }
4643
-
4644
- export namespace NewPlanMatrixWithAllocationPrice {
4645
- export interface MatrixWithAllocationConfig {
4646
- /**
4647
- * Allocation to be used to calculate the price
4648
- */
4649
- allocation: number;
4650
-
4651
- /**
4652
- * Default per unit rate for any usage not bucketed into a specified matrix_value
4653
- */
4654
- default_unit_amount: string;
4655
-
4656
- /**
4657
- * One or two event property values to evaluate matrix groups by
4658
- */
4659
- dimensions: Array<string | null>;
4660
-
4661
- /**
4662
- * Matrix values for specified matrix grouping keys
4663
- */
4664
- matrix_values: Array<MatrixWithAllocationConfig.MatrixValue>;
4665
- }
4666
-
4667
- export namespace MatrixWithAllocationConfig {
4668
- export interface MatrixValue {
4669
- /**
4670
- * One or two matrix keys to filter usage to this Matrix value by. For example,
4671
- * ["region", "tier"] could be used to filter cloud usage by a cloud region and an
4672
- * instance tier.
4673
- */
4674
- dimension_values: Array<string | null>;
4675
-
4676
- /**
4677
- * Unit price for the specified dimension_values
4678
- */
4679
- unit_amount: string;
4680
- }
4681
- }
4682
-
4683
- /**
4684
- * For custom cadence: specifies the duration of the billing period in days or
4685
- * months.
4686
- */
4687
- export interface BillingCycleConfiguration {
4688
- /**
4689
- * The duration of the billing period.
4690
- */
4691
- duration: number;
4692
-
4693
- /**
4694
- * The unit of billing period duration.
4695
- */
4696
- duration_unit: 'day' | 'month';
4697
- }
4698
-
4699
- /**
4700
- * For dimensional price: specifies a price group and dimension values
4701
- */
4702
- export interface DimensionalPriceConfiguration {
4703
- /**
4704
- * The list of dimension values matching (in order) the dimensions of the price
4705
- * group
4706
- */
4707
- dimension_values: Array<string>;
4708
-
4709
- /**
4710
- * The id of the dimensional price group to include this price in
4711
- */
4712
- dimensional_price_group_id?: string | null;
4713
-
4714
- /**
4715
- * The external id of the dimensional price group to include this price in
4716
- */
4717
- external_dimensional_price_group_id?: string | null;
4718
- }
4719
-
4720
- /**
4721
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4722
- * If unspecified, a single invoice is produced per billing cycle.
4723
- */
4724
- export interface InvoicingCycleConfiguration {
4725
- /**
4726
- * The duration of the billing period.
4727
- */
4728
- duration: number;
4729
-
4730
- /**
4731
- * The unit of billing period duration.
4732
- */
4733
- duration_unit: 'day' | 'month';
4734
- }
4735
- }
4736
-
4737
- export interface NewPlanGroupedTieredPrice {
4738
- /**
4739
- * The cadence to bill for this price on.
4740
- */
4741
- cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
4742
-
4743
- grouped_tiered_config: Record<string, unknown>;
4744
-
4745
- /**
4746
- * The id of the item the price will be associated with.
4747
- */
4748
- item_id: string;
4749
-
4750
- model_type: 'grouped_tiered';
4751
-
4752
- /**
4753
- * The name of the price.
4754
- */
4755
- name: string;
4756
-
4757
- /**
4758
- * The id of the billable metric for the price. Only needed if the price is
4759
- * usage-based.
4760
- */
4761
- billable_metric_id?: string | null;
4762
-
4763
- /**
4764
- * If the Price represents a fixed cost, the price will be billed in-advance if
4765
- * this is true, and in-arrears if this is false.
4766
- */
4767
- billed_in_advance?: boolean | null;
4768
-
4769
- /**
4770
- * For custom cadence: specifies the duration of the billing period in days or
4771
- * months.
4772
- */
4773
- billing_cycle_configuration?: NewPlanGroupedTieredPrice.BillingCycleConfiguration | null;
4774
-
4775
- /**
4776
- * The per unit conversion rate of the price currency to the invoicing currency.
4777
- */
4778
- conversion_rate?: number | null;
4779
-
4780
- /**
4781
- * An ISO 4217 currency string, or custom pricing unit identifier, in which this
4782
- * price is billed.
4783
- */
4784
- currency?: string | null;
4785
-
4786
- /**
4787
- * For dimensional price: specifies a price group and dimension values
4788
- */
4789
- dimensional_price_configuration?: NewPlanGroupedTieredPrice.DimensionalPriceConfiguration | null;
4790
-
4791
- /**
4792
- * An alias for the price.
4793
- */
4794
- external_price_id?: string | null;
4795
-
4796
- /**
4797
- * If the Price represents a fixed cost, this represents the quantity of units
4798
- * applied.
4799
- */
4800
- fixed_price_quantity?: number | null;
4801
-
4802
- /**
4803
- * The property used to group this price on an invoice
4804
- */
4805
- invoice_grouping_key?: string | null;
4806
-
4807
- /**
4808
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4809
- * If unspecified, a single invoice is produced per billing cycle.
4810
- */
4811
- invoicing_cycle_configuration?: NewPlanGroupedTieredPrice.InvoicingCycleConfiguration | null;
4812
-
4813
- /**
4814
- * User-specified key/value pairs for the resource. Individual keys can be removed
4815
- * by setting the value to `null`, and the entire metadata mapping can be cleared
4816
- * by setting `metadata` to `null`.
4817
- */
4818
- metadata?: Record<string, string | null> | null;
4819
- }
4820
-
4821
- export namespace NewPlanGroupedTieredPrice {
4822
- /**
4823
- * For custom cadence: specifies the duration of the billing period in days or
4824
- * months.
4825
- */
4826
- export interface BillingCycleConfiguration {
4827
- /**
4828
- * The duration of the billing period.
4829
- */
4830
- duration: number;
4831
-
4832
- /**
4833
- * The unit of billing period duration.
4834
- */
4835
- duration_unit: 'day' | 'month';
4836
- }
4837
-
4838
- /**
4839
- * For dimensional price: specifies a price group and dimension values
4840
- */
4841
- export interface DimensionalPriceConfiguration {
4842
- /**
4843
- * The list of dimension values matching (in order) the dimensions of the price
4844
- * group
4845
- */
4846
- dimension_values: Array<string>;
4847
-
4848
- /**
4849
- * The id of the dimensional price group to include this price in
4850
- */
4851
- dimensional_price_group_id?: string | null;
4852
-
4853
- /**
4854
- * The external id of the dimensional price group to include this price in
4855
- */
4856
- external_dimensional_price_group_id?: string | null;
4857
- }
4858
-
4859
- /**
4860
- * Within each billing cycle, specifies the cadence at which invoices are produced.
4861
- * If unspecified, a single invoice is produced per billing cycle.
4862
- */
4863
- export interface InvoicingCycleConfiguration {
4864
- /**
4865
- * The duration of the billing period.
4866
- */
4867
- duration: number;
4868
-
4869
- /**
4870
- * The unit of billing period duration.
4871
- */
4872
- duration_unit: 'day' | 'month';
4873
- }
4874
- }
4875
- }
4876
-
4877
327
  export interface PlanUpdateParams {
4878
328
  /**
4879
329
  * An optional user-defined ID for this plan resource, used throughout the system