metronome-sdk 3.1.0 → 3.2.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 (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/util.rb +32 -1
  5. data/lib/metronome_sdk/models/commit_rate.rb +29 -3
  6. data/lib/metronome_sdk/models/contract.rb +1 -9
  7. data/lib/metronome_sdk/models/contract_v2.rb +22 -1
  8. data/lib/metronome_sdk/models/overwrite_rate.rb +22 -1
  9. data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
  10. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
  11. data/lib/metronome_sdk/models/rate.rb +22 -1
  12. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +23 -2
  13. data/lib/metronome_sdk/models/v1/contract_create_params.rb +24 -11
  14. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +23 -1
  15. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +21 -1
  16. data/lib/metronome_sdk/models/v1/customers/invoice.rb +10 -1
  17. data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
  18. data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
  19. data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
  20. data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
  21. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
  22. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
  23. data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
  24. data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
  25. data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
  27. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
  28. data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +23 -2
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +23 -1
  31. data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
  32. data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
  33. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
  34. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
  35. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
  36. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
  37. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
  38. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
  39. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
  40. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
  41. data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
  42. data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
  43. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
  44. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
  45. data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
  46. data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
  47. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
  48. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
  49. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
  50. data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
  51. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
  52. data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
  53. data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
  54. data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
  55. data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
  56. data/lib/metronome_sdk/resources/v1/services.rb +2 -0
  57. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
  58. data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
  59. data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
  60. data/lib/metronome_sdk/resources/v1.rb +41 -0
  61. data/lib/metronome_sdk/version.rb +1 -1
  62. data/lib/metronome_sdk.rb +11 -0
  63. data/rbi/metronome_sdk/internal/util.rbi +21 -1
  64. data/rbi/metronome_sdk/models/commit_rate.rbi +43 -2
  65. data/rbi/metronome_sdk/models/contract.rbi +0 -11
  66. data/rbi/metronome_sdk/models/contract_v2.rbi +46 -0
  67. data/rbi/metronome_sdk/models/overwrite_rate.rbi +37 -0
  68. data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
  69. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
  70. data/rbi/metronome_sdk/models/rate.rbi +35 -0
  71. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +46 -5
  72. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +46 -16
  73. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +46 -0
  74. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +46 -0
  75. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +13 -0
  76. data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
  77. data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
  78. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
  79. data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
  80. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
  81. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
  82. data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
  83. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
  84. data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
  85. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
  86. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
  87. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
  88. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +46 -5
  89. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +46 -0
  90. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  91. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
  92. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
  93. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
  94. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
  95. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
  96. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
  97. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  98. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
  99. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
  100. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
  101. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
  102. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  103. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
  104. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
  105. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
  106. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  107. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
  108. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
  109. data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
  110. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
  111. data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
  112. data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
  113. data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
  114. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
  115. data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
  116. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
  117. data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
  118. data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
  119. data/rbi/metronome_sdk/resources/v1.rbi +40 -0
  120. data/sig/metronome_sdk/internal/util.rbs +10 -0
  121. data/sig/metronome_sdk/models/commit_rate.rbs +19 -0
  122. data/sig/metronome_sdk/models/contract.rbs +0 -7
  123. data/sig/metronome_sdk/models/contract_v2.rbs +19 -0
  124. data/sig/metronome_sdk/models/overwrite_rate.rbs +19 -0
  125. data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
  126. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
  127. data/sig/metronome_sdk/models/rate.rbs +19 -0
  128. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +20 -2
  129. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +20 -9
  130. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +19 -0
  131. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -0
  132. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  133. data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
  134. data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
  135. data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
  136. data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
  137. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
  138. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
  139. data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
  140. data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
  141. data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
  142. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
  143. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
  144. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
  145. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +20 -2
  146. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +19 -0
  147. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  148. data/sig/metronome_sdk/resources/v1/contracts.rbs +0 -1
  149. data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
  150. data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
  151. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  152. metadata +35 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4042c52081694b0647d9e9ccbd21553b1628165f85ab5d9836e68cf32283929a
4
- data.tar.gz: 6f798b92806f8125934bf2cbcd43aeb236f959de4451b0ec274284e8f6325185
3
+ metadata.gz: 8b3e0209591ded8e63e83f34ddc60fdb12c212f46729e5f9e386bc58f778d93d
4
+ data.tar.gz: 03f73bb384df88bcfbd99f204f873c82a5b60485ef8d21e4810ced69a5dc54ad
5
5
  SHA512:
6
- metadata.gz: 2db470ed0bfff080a708ac82661b55faf6acaf0b1e92a27fafb5136e43ffaa08a564b15e68062cae773ab86b1327c9cb5cc0c240d0c1b690b338a8acdb8a9020
7
- data.tar.gz: 689faaf8f79e992113ae83b9bb4dc42e992afdbb8524c978780010720377b20d1768d6490d74dab40cfd137fe3a89223d77e35bb7103a9e8f21216cb797feb5a
6
+ metadata.gz: 73be1a42aa2e2b72b750584e217cc98543abe98eee2bf831dc564de9b0f813903ee69eafcd014f444d132be06ba91daea76ee846c522626bef58d36b2e23ac3d
7
+ data.tar.gz: b3171d39686ef1a30a36d5f5f501fc18b4b2652c9eb91130c2255d93a2bec56f3e6efb35ac60e71abe978f6efc297e76283449b1dc1937abd88eb7fb39dd33b5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.2.0 (2026-03-02)
4
+
5
+ Full Changelog: [v3.1.0...v3.2.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.1.0...v3.2.0)
6
+
7
+ ### Features
8
+
9
+ * [ORCH-1333] removes AVALARA enum value from PaymetGateConfig ([ae00dc5](https://github.com/Metronome-Industries/metronome-ruby/commit/ae00dc54be07aa638d65dba0d3ce410ba9ba51f4))
10
+ * [orch-759] add `archiveCustomerRevenueSystemConfigurations` endpoint to API ([947cc3a](https://github.com/Metronome-Industries/metronome-ruby/commit/947cc3a597e726934a13f6493e5cc41c5333dd4b))
11
+ * Add minimum config to percentage and tiered percentage overwrites ([e4f1ac6](https://github.com/Metronome-Industries/metronome-ruby/commit/e4f1ac694574df4b6ff541783a57ec755a39117a))
12
+ * **api:** add minimum_config to rates/commits, specialized override tier types ([53c5cc8](https://github.com/Metronome-Industries/metronome-ruby/commit/53c5cc86ae5654a9a2052a01685f85763d344aaa))
13
+ * **api:** add netsuite billing provider to customers ([612a0b4](https://github.com/Metronome-Industries/metronome-ruby/commit/612a0b415510439e8cab101f449b45560ee5ebcd))
14
+ * **api:** add subscription_id field to invoice line items ([592027f](https://github.com/Metronome-Industries/metronome-ruby/commit/592027fcf304b460c86efdad5b60a62030a5d87f))
15
+ * **api:** support compound group keys in `v1/usage/groups` endpoint ([71d6b72](https://github.com/Metronome-Industries/metronome-ruby/commit/71d6b720f413295fb3cc90611ff8511692ad9ebd))
16
+ * update stainless sdk to include new package endpoints ([8599260](https://github.com/Metronome-Industries/metronome-ruby/commit/8599260388e5aaa5351af677cead0f5367273b5c))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **client:** loosen json header parsing ([b6a47c9](https://github.com/Metronome-Industries/metronome-ruby/commit/b6a47c9741309acba2d0fc7bcfeff7e8083108c3))
22
+ * **client:** serialize query parameters properly ([b3487d5](https://github.com/Metronome-Industries/metronome-ruby/commit/b3487d50e0477ccc61fb918a607a12eae7b2580d))
23
+ * properly mock time in ruby ci tests ([6469efe](https://github.com/Metronome-Industries/metronome-ruby/commit/6469efe98957025a21c45f8bea123f0862163037))
24
+
25
+
26
+ ### Chores
27
+
28
+ * **api:** remove priority field from contracts ([8b768ca](https://github.com/Metronome-Industries/metronome-ruby/commit/8b768caf4b279de4f5f8e859a60baa1fae85bdea))
29
+ * configure new SDK language ([d029725](https://github.com/Metronome-Industries/metronome-ruby/commit/d0297256192d340b338cb8928708d15b7daa934a))
30
+ * **docs:** add missing descriptions ([67fc1c1](https://github.com/Metronome-Industries/metronome-ruby/commit/67fc1c199518a6e40923d1f31ddd3302980d451a))
31
+ * update mock server docs ([9a1b8ff](https://github.com/Metronome-Industries/metronome-ruby/commit/9a1b8ffc1423b9b038b02c248cfdabb0899a71ca))
32
+
3
33
  ## 3.1.0 (2026-02-04)
4
34
 
5
35
  Full Changelog: [v3.0.0...v3.1.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.0.0...v3.1.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "metronome-sdk", "~> 3.1.0"
29
+ gem "metronome-sdk", "~> 3.2.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -485,11 +485,42 @@ module MetronomeSDK
485
485
  end
486
486
 
487
487
  # @type [Regexp]
488
- JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
488
+ JSON_CONTENT = %r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}
489
489
  # @type [Regexp]
490
490
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
491
 
492
492
  class << self
493
+ # @api private
494
+ #
495
+ # @param query [Hash{Symbol=>Object}]
496
+ #
497
+ # @return [Hash{Symbol=>Object}]
498
+ def encode_query_params(query)
499
+ out = {}
500
+ query.each { write_query_param_element!(out, _1, _2) }
501
+ out
502
+ end
503
+
504
+ # @api private
505
+ #
506
+ # @param collection [Hash{Symbol=>Object}]
507
+ # @param key [String]
508
+ # @param element [Object]
509
+ #
510
+ # @return [nil]
511
+ private def write_query_param_element!(collection, key, element)
512
+ case element
513
+ in Hash
514
+ element.each do |name, value|
515
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
516
+ end
517
+ in Array
518
+ collection[key] = element.map(&:to_s).join(",")
519
+ else
520
+ collection[key] = element.to_s
521
+ end
522
+ end
523
+
493
524
  # @api private
494
525
  #
495
526
  # @param y [Enumerator::Yielder]
@@ -8,8 +8,16 @@ module MetronomeSDK
8
8
  # @return [Symbol, MetronomeSDK::Models::CommitRate::RateType]
9
9
  required :rate_type, enum: -> { MetronomeSDK::CommitRate::RateType }
10
10
 
11
+ # @!attribute minimum_config
12
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
13
+ #
14
+ # @return [MetronomeSDK::Models::CommitRate::MinimumConfig, nil]
15
+ optional :minimum_config, -> { MetronomeSDK::CommitRate::MinimumConfig }
16
+
11
17
  # @!attribute price
12
- # Commit rate price. For FLAT rate_type, this must be >=0.
18
+ # Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
19
+ # rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
20
+ # and <=1.
13
21
  #
14
22
  # @return [Float, nil]
15
23
  optional :price, Float
@@ -20,13 +28,18 @@ module MetronomeSDK
20
28
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
21
29
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
22
30
 
23
- # @!method initialize(rate_type:, price: nil, tiers: nil)
31
+ # @!method initialize(rate_type:, minimum_config: nil, price: nil, tiers: nil)
32
+ # Some parameter documentations has been truncated, see
33
+ # {MetronomeSDK::Models::CommitRate} for more details.
34
+ #
24
35
  # A distinct rate on the rate card. You can choose to use this rate rather than
25
36
  # list rate when consuming a credit or commit.
26
37
  #
27
38
  # @param rate_type [Symbol, MetronomeSDK::Models::CommitRate::RateType]
28
39
  #
29
- # @param price [Float] Commit rate price. For FLAT rate_type, this must be >=0.
40
+ # @param minimum_config [MetronomeSDK::Models::CommitRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
41
+ #
42
+ # @param price [Float] Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_typ
30
43
  #
31
44
  # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
32
45
 
@@ -44,6 +57,19 @@ module MetronomeSDK
44
57
  # @!method self.values
45
58
  # @return [Array<Symbol>]
46
59
  end
60
+
61
+ # @see MetronomeSDK::Models::CommitRate#minimum_config
62
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
63
+ # @!attribute minimum
64
+ #
65
+ # @return [Float]
66
+ required :minimum, Float
67
+
68
+ # @!method initialize(minimum:)
69
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
70
+ #
71
+ # @param minimum [Float]
72
+ end
47
73
  end
48
74
  end
49
75
  end
@@ -60,12 +60,6 @@ module MetronomeSDK
60
60
  optional :prepaid_balance_threshold_configuration,
61
61
  -> { MetronomeSDK::PrepaidBalanceThresholdConfiguration }
62
62
 
63
- # @!attribute priority
64
- # Priority of the contract.
65
- #
66
- # @return [Float, nil]
67
- optional :priority, Float
68
-
69
63
  # @!attribute scheduled_charges_on_usage_invoices
70
64
  # Determines which scheduled and commit charges to consolidate onto the Contract's
71
65
  # usage invoice. The charge's `timestamp` must match the usage invoice's
@@ -96,7 +90,7 @@ module MetronomeSDK
96
90
  # @return [String, nil]
97
91
  optional :uniqueness_key, String
98
92
 
99
- # @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
93
+ # @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
100
94
  # Some parameter documentations has been truncated, see
101
95
  # {MetronomeSDK::Models::Contract} for more details.
102
96
  #
@@ -120,8 +114,6 @@ module MetronomeSDK
120
114
  #
121
115
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration]
122
116
  #
123
- # @param priority [Float] Priority of the contract.
124
- #
125
117
  # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::Contract::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
126
118
  #
127
119
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
@@ -1411,6 +1411,12 @@ module MetronomeSDK
1411
1411
  # @return [Boolean, nil]
1412
1412
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1413
1413
 
1414
+ # @!attribute minimum_config
1415
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1416
+ #
1417
+ # @return [MetronomeSDK::Models::ContractV2::Override::OverwriteRate::MinimumConfig, nil]
1418
+ optional :minimum_config, -> { MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig }
1419
+
1414
1420
  # @!attribute price
1415
1421
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1416
1422
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -1430,7 +1436,7 @@ module MetronomeSDK
1430
1436
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
1431
1437
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1432
1438
 
1433
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1439
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
1434
1440
  # Some parameter documentations has been truncated, see
1435
1441
  # {MetronomeSDK::Models::ContractV2::Override::OverwriteRate} for more details.
1436
1442
  #
@@ -1442,6 +1448,8 @@ module MetronomeSDK
1442
1448
  #
1443
1449
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1444
1450
  #
1451
+ # @param minimum_config [MetronomeSDK::Models::ContractV2::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1452
+ #
1445
1453
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1446
1454
  #
1447
1455
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -1462,6 +1470,19 @@ module MetronomeSDK
1462
1470
  # @!method self.values
1463
1471
  # @return [Array<Symbol>]
1464
1472
  end
1473
+
1474
+ # @see MetronomeSDK::Models::ContractV2::Override::OverwriteRate#minimum_config
1475
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1476
+ # @!attribute minimum
1477
+ #
1478
+ # @return [Float]
1479
+ required :minimum, Float
1480
+
1481
+ # @!method initialize(minimum:)
1482
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1483
+ #
1484
+ # @param minimum [Float]
1485
+ end
1465
1486
  end
1466
1487
 
1467
1488
  # @see MetronomeSDK::Models::ContractV2::Override#product
@@ -27,6 +27,12 @@ module MetronomeSDK
27
27
  # @return [Boolean, nil]
28
28
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
29
29
 
30
+ # @!attribute minimum_config
31
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
32
+ #
33
+ # @return [MetronomeSDK::Models::OverwriteRate::MinimumConfig, nil]
34
+ optional :minimum_config, -> { MetronomeSDK::OverwriteRate::MinimumConfig }
35
+
30
36
  # @!attribute price
31
37
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
32
38
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -46,7 +52,7 @@ module MetronomeSDK
46
52
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
47
53
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
48
54
 
49
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
55
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
50
56
  # Some parameter documentations has been truncated, see
51
57
  # {MetronomeSDK::Models::OverwriteRate} for more details.
52
58
  #
@@ -58,6 +64,8 @@ module MetronomeSDK
58
64
  #
59
65
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
60
66
  #
67
+ # @param minimum_config [MetronomeSDK::Models::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
68
+ #
61
69
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
62
70
  #
63
71
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -78,6 +86,19 @@ module MetronomeSDK
78
86
  # @!method self.values
79
87
  # @return [Array<Symbol>]
80
88
  end
89
+
90
+ # @see MetronomeSDK::Models::OverwriteRate#minimum_config
91
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
92
+ # @!attribute minimum
93
+ #
94
+ # @return [Float]
95
+ required :minimum, Float
96
+
97
+ # @!method initialize(minimum:)
98
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
99
+ #
100
+ # @param minimum [Float]
101
+ end
81
102
  end
82
103
  end
83
104
  end
@@ -139,7 +139,6 @@ module MetronomeSDK
139
139
  NONE = :NONE
140
140
  STRIPE = :STRIPE
141
141
  ANROK = :ANROK
142
- AVALARA = :AVALARA
143
142
  PRECALCULATED = :PRECALCULATED
144
143
 
145
144
  # @!method self.values
@@ -139,7 +139,6 @@ module MetronomeSDK
139
139
  NONE = :NONE
140
140
  STRIPE = :STRIPE
141
141
  ANROK = :ANROK
142
- AVALARA = :AVALARA
143
142
  PRECALCULATED = :PRECALCULATED
144
143
 
145
144
  # @!method self.values
@@ -27,6 +27,12 @@ module MetronomeSDK
27
27
  # @return [Boolean, nil]
28
28
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
29
29
 
30
+ # @!attribute minimum_config
31
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
32
+ #
33
+ # @return [MetronomeSDK::Models::Rate::MinimumConfig, nil]
34
+ optional :minimum_config, -> { MetronomeSDK::Rate::MinimumConfig }
35
+
30
36
  # @!attribute price
31
37
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
32
38
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -53,7 +59,7 @@ module MetronomeSDK
53
59
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
54
60
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
55
61
 
56
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
62
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
57
63
  # Some parameter documentations has been truncated, see
58
64
  # {MetronomeSDK::Models::Rate} for more details.
59
65
  #
@@ -65,6 +71,8 @@ module MetronomeSDK
65
71
  #
66
72
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
67
73
  #
74
+ # @param minimum_config [MetronomeSDK::Models::Rate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
75
+ #
68
76
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
69
77
  #
70
78
  # @param pricing_group_values [Hash{Symbol=>String}] if pricing groups are used, this will contain the values used to calculate the p
@@ -87,6 +95,19 @@ module MetronomeSDK
87
95
  # @!method self.values
88
96
  # @return [Array<Symbol>]
89
97
  end
98
+
99
+ # @see MetronomeSDK::Models::Rate#minimum_config
100
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
101
+ # @!attribute minimum
102
+ #
103
+ # @return [Float]
104
+ required :minimum, Float
105
+
106
+ # @!method initialize(minimum:)
107
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
108
+ #
109
+ # @param minimum [Float]
110
+ end
90
111
  end
91
112
  end
92
113
  end
@@ -702,7 +702,6 @@ module MetronomeSDK
702
702
  NONE = :NONE
703
703
  STRIPE = :STRIPE
704
704
  ANROK = :ANROK
705
- AVALARA = :AVALARA
706
705
  PRECALCULATED = :PRECALCULATED
707
706
 
708
707
  # @!method self.values
@@ -1363,6 +1362,13 @@ module MetronomeSDK
1363
1362
  # @return [Boolean, nil]
1364
1363
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1365
1364
 
1365
+ # @!attribute minimum_config
1366
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1367
+ #
1368
+ # @return [MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig, nil]
1369
+ optional :minimum_config,
1370
+ -> { MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig }
1371
+
1366
1372
  # @!attribute price
1367
1373
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1368
1374
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -1382,7 +1388,7 @@ module MetronomeSDK
1382
1388
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
1383
1389
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1384
1390
 
1385
- # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1391
+ # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
1386
1392
  # Some parameter documentations has been truncated, see
1387
1393
  # {MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate} for
1388
1394
  # more details.
@@ -1397,6 +1403,8 @@ module MetronomeSDK
1397
1403
  #
1398
1404
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1399
1405
  #
1406
+ # @param minimum_config [MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1407
+ #
1400
1408
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1401
1409
  #
1402
1410
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -1417,6 +1425,19 @@ module MetronomeSDK
1417
1425
  # @!method self.values
1418
1426
  # @return [Array<Symbol>]
1419
1427
  end
1428
+
1429
+ # @see MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate#minimum_config
1430
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1431
+ # @!attribute minimum
1432
+ #
1433
+ # @return [Float]
1434
+ required :minimum, Float
1435
+
1436
+ # @!method initialize(minimum:)
1437
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1438
+ #
1439
+ # @param minimum [Float]
1440
+ end
1420
1441
  end
1421
1442
 
1422
1443
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -116,12 +116,6 @@ module MetronomeSDK
116
116
  optional :prepaid_balance_threshold_configuration,
117
117
  -> { MetronomeSDK::PrepaidBalanceThresholdConfiguration }
118
118
 
119
- # @!attribute priority
120
- # Priority of the contract.
121
- #
122
- # @return [Float, nil]
123
- optional :priority, Float
124
-
125
119
  # @!attribute professional_services
126
120
  # This field's availability is dependent on your client's configuration.
127
121
  #
@@ -234,7 +228,7 @@ module MetronomeSDK
234
228
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule, nil]
235
229
  optional :usage_statement_schedule, -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule }
236
230
 
237
- # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, package_alias: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, revenue_system_configuration: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
231
+ # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, package_alias: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, revenue_system_configuration: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
238
232
  # Some parameter documentations has been truncated, see
239
233
  # {MetronomeSDK::Models::V1::ContractCreateParams} for more details.
240
234
  #
@@ -272,8 +266,6 @@ module MetronomeSDK
272
266
  #
273
267
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration]
274
268
  #
275
- # @param priority [Float] Priority of the contract.
276
- #
277
269
  # @param professional_services [Array<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>] This field's availability is dependent on your client's configuration.
278
270
  #
279
271
  # @param rate_card_alias [String] Selects the rate card linked to the specified alias as of the contract's start d
@@ -956,7 +948,6 @@ module MetronomeSDK
956
948
  NONE = :NONE
957
949
  STRIPE = :STRIPE
958
950
  ANROK = :ANROK
959
- AVALARA = :AVALARA
960
951
  PRECALCULATED = :PRECALCULATED
961
952
 
962
953
  # @!method self.values
@@ -1778,6 +1769,13 @@ module MetronomeSDK
1778
1769
  # @return [Boolean, nil]
1779
1770
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1780
1771
 
1772
+ # @!attribute minimum_config
1773
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1774
+ #
1775
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig, nil]
1776
+ optional :minimum_config,
1777
+ -> { MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig }
1778
+
1781
1779
  # @!attribute price
1782
1780
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1783
1781
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -1797,7 +1795,7 @@ module MetronomeSDK
1797
1795
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
1798
1796
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1799
1797
 
1800
- # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1798
+ # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
1801
1799
  # Some parameter documentations has been truncated, see
1802
1800
  # {MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate} for
1803
1801
  # more details.
@@ -1812,6 +1810,8 @@ module MetronomeSDK
1812
1810
  #
1813
1811
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1814
1812
  #
1813
+ # @param minimum_config [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1814
+ #
1815
1815
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1816
1816
  #
1817
1817
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -1832,6 +1832,19 @@ module MetronomeSDK
1832
1832
  # @!method self.values
1833
1833
  # @return [Array<Symbol>]
1834
1834
  end
1835
+
1836
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate#minimum_config
1837
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1838
+ # @!attribute minimum
1839
+ #
1840
+ # @return [Float]
1841
+ required :minimum, Float
1842
+
1843
+ # @!method initialize(minimum:)
1844
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1845
+ #
1846
+ # @param minimum [Float]
1847
+ end
1835
1848
  end
1836
1849
 
1837
1850
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -93,6 +93,13 @@ module MetronomeSDK
93
93
  # @return [Boolean, nil]
94
94
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
95
95
 
96
+ # @!attribute minimum_config
97
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
98
+ #
99
+ # @return [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig, nil]
100
+ optional :minimum_config,
101
+ -> { MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig }
102
+
96
103
  # @!attribute price
97
104
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
98
105
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
@@ -120,7 +127,7 @@ module MetronomeSDK
120
127
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
121
128
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
122
129
 
123
- # @!method initialize(entitled:, product_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
130
+ # @!method initialize(entitled:, product_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, minimum_config: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
124
131
  # Some parameter documentations has been truncated, see
125
132
  # {MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate} for
126
133
  # more details.
@@ -145,6 +152,8 @@ module MetronomeSDK
145
152
  #
146
153
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
147
154
  #
155
+ # @param minimum_config [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
156
+ #
148
157
  # @param price [Float] Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For PERCEN
149
158
  #
150
159
  # @param pricing_group_values [Hash{Symbol=>String}] Optional. List of pricing group key value pairs which will be used to calculate
@@ -183,6 +192,19 @@ module MetronomeSDK
183
192
  # @!method self.values
184
193
  # @return [Array<Symbol>]
185
194
  end
195
+
196
+ # @see MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate#minimum_config
197
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
198
+ # @!attribute minimum
199
+ #
200
+ # @return [Float]
201
+ required :minimum, Float
202
+
203
+ # @!method initialize(minimum:)
204
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
205
+ #
206
+ # @param minimum [Float]
207
+ end
186
208
  end
187
209
  end
188
210
  end
@@ -81,6 +81,12 @@ module MetronomeSDK
81
81
  # @return [Boolean, nil]
82
82
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
83
83
 
84
+ # @!attribute minimum_config
85
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
86
+ #
87
+ # @return [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams::MinimumConfig, nil]
88
+ optional :minimum_config, -> { MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig }
89
+
84
90
  # @!attribute price
85
91
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
86
92
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
@@ -108,7 +114,7 @@ module MetronomeSDK
108
114
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
109
115
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
110
116
 
111
- # @!method initialize(entitled:, product_id:, rate_card_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, request_options: {})
117
+ # @!method initialize(entitled:, product_id:, rate_card_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, minimum_config: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, request_options: {})
112
118
  # Some parameter documentations has been truncated, see
113
119
  # {MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams} for more
114
120
  # details.
@@ -135,6 +141,8 @@ module MetronomeSDK
135
141
  #
136
142
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
137
143
  #
144
+ # @param minimum_config [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
145
+ #
138
146
  # @param price [Float] Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For PERCEN
139
147
  #
140
148
  # @param pricing_group_values [Hash{Symbol=>String}] Optional. List of pricing group key value pairs which will be used to calculate
@@ -172,6 +180,18 @@ module MetronomeSDK
172
180
  # @!method self.values
173
181
  # @return [Array<Symbol>]
174
182
  end
183
+
184
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
185
+ # @!attribute minimum
186
+ #
187
+ # @return [Float]
188
+ required :minimum, Float
189
+
190
+ # @!method initialize(minimum:)
191
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
192
+ #
193
+ # @param minimum [Float]
194
+ end
175
195
  end
176
196
  end
177
197
  end
@@ -518,6 +518,13 @@ module MetronomeSDK
518
518
  # @return [Hash{Symbol=>String}, nil]
519
519
  optional :subscription_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
520
520
 
521
+ # @!attribute subscription_id
522
+ # ID of the subscription that this line item is associated with. Only present on
523
+ # line items with product of `SUBSCRIPTION` type.
524
+ #
525
+ # @return [String, nil]
526
+ optional :subscription_id, String
527
+
521
528
  # @!attribute tier
522
529
  # Populated if the line item has a tiered price.
523
530
  #
@@ -530,7 +537,7 @@ module MetronomeSDK
530
537
  # @return [Float, nil]
531
538
  optional :unit_price, Float
532
539
 
533
- # @!method initialize(credit_type:, name:, total:, type:, applied_commit_or_credit: nil, commit_custom_fields: nil, commit_id: nil, commit_netsuite_item_id: nil, commit_netsuite_sales_order_id: nil, commit_segment_id: nil, commit_type: nil, custom_fields: nil, discount_custom_fields: nil, discount_id: nil, ending_before: nil, group_key: nil, group_value: nil, is_prorated: nil, list_price: nil, metadata: nil, netsuite_invoice_billing_end: nil, netsuite_invoice_billing_start: nil, netsuite_item_id: nil, origin: nil, postpaid_commit: nil, presentation_group_values: nil, pricing_group_values: nil, product_custom_fields: nil, product_id: nil, product_tags: nil, product_type: nil, professional_service_custom_fields: nil, professional_service_id: nil, quantity: nil, reseller_type: nil, scheduled_charge_custom_fields: nil, scheduled_charge_id: nil, starting_at: nil, sub_line_items: nil, subscription_custom_fields: nil, tier: nil, unit_price: nil)
540
+ # @!method initialize(credit_type:, name:, total:, type:, applied_commit_or_credit: nil, commit_custom_fields: nil, commit_id: nil, commit_netsuite_item_id: nil, commit_netsuite_sales_order_id: nil, commit_segment_id: nil, commit_type: nil, custom_fields: nil, discount_custom_fields: nil, discount_id: nil, ending_before: nil, group_key: nil, group_value: nil, is_prorated: nil, list_price: nil, metadata: nil, netsuite_invoice_billing_end: nil, netsuite_invoice_billing_start: nil, netsuite_item_id: nil, origin: nil, postpaid_commit: nil, presentation_group_values: nil, pricing_group_values: nil, product_custom_fields: nil, product_id: nil, product_tags: nil, product_type: nil, professional_service_custom_fields: nil, professional_service_id: nil, quantity: nil, reseller_type: nil, scheduled_charge_custom_fields: nil, scheduled_charge_id: nil, starting_at: nil, sub_line_items: nil, subscription_custom_fields: nil, subscription_id: nil, tier: nil, unit_price: nil)
534
541
  # Some parameter documentations has been truncated, see
535
542
  # {MetronomeSDK::Models::V1::Customers::Invoice::LineItem} for more details.
536
543
  #
@@ -614,6 +621,8 @@ module MetronomeSDK
614
621
  #
615
622
  # @param subscription_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
616
623
  #
624
+ # @param subscription_id [String] ID of the subscription that this line item is associated with. Only present on l
625
+ #
617
626
  # @param tier [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::Tier] Populated if the line item has a tiered price.
618
627
  #
619
628
  # @param unit_price [Float] The unit price associated with the line item.