metronome-sdk 2.0.0 → 2.1.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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +30 -24
  5. data/lib/metronome_sdk/models/contract.rb +1 -0
  6. data/lib/metronome_sdk/models/contract_v2.rb +40 -21
  7. data/lib/metronome_sdk/models/hierarchy_configuration.rb +45 -21
  8. data/lib/metronome_sdk/models/subscription.rb +10 -0
  9. data/lib/metronome_sdk/models/v1/contract_create_params.rb +77 -27
  10. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  11. data/lib/metronome_sdk/models/v1/customer_create_params.rb +11 -1
  12. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +14 -10
  13. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +1 -0
  14. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +1 -0
  15. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -1
  16. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -0
  17. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -0
  18. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +6 -1
  19. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +1 -1
  20. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  21. data/lib/metronome_sdk/models/v1/customers/invoice.rb +126 -4
  22. data/lib/metronome_sdk/models/v1/payment.rb +7 -1
  23. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +65 -0
  24. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rb +12 -0
  25. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +73 -0
  26. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_response.rb +31 -0
  27. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_params.rb +26 -0
  28. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_response.rb +105 -0
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +33 -6
  30. data/lib/metronome_sdk/resources/v1/contracts.rb +4 -2
  31. data/lib/metronome_sdk/resources/v1/credit_grants.rb +10 -5
  32. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +7 -4
  33. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -1
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -1
  35. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -4
  36. data/lib/metronome_sdk/resources/v1/customers.rb +7 -5
  37. data/lib/metronome_sdk/resources/v1/plans.rb +8 -4
  38. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +75 -0
  39. data/lib/metronome_sdk/resources/v1/settings.rb +55 -0
  40. data/lib/metronome_sdk/resources/v1.rb +4 -0
  41. data/lib/metronome_sdk/version.rb +1 -1
  42. data/lib/metronome_sdk.rb +8 -0
  43. data/rbi/metronome_sdk/models/contract.rbi +5 -0
  44. data/rbi/metronome_sdk/models/contract_v2.rbi +59 -27
  45. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +63 -27
  46. data/rbi/metronome_sdk/models/subscription.rbi +15 -0
  47. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +96 -33
  48. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  49. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +11 -0
  50. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +18 -11
  51. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +5 -0
  52. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +5 -0
  53. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +11 -0
  54. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +5 -0
  55. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +5 -0
  56. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +6 -0
  57. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +2 -2
  58. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  59. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +236 -0
  60. data/rbi/metronome_sdk/models/v1/payment.rbi +11 -3
  61. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +115 -0
  62. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbi +25 -0
  63. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +157 -0
  64. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_response.rbi +75 -0
  65. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_params.rbi +50 -0
  66. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_response.rbi +245 -0
  67. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +38 -6
  68. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -1
  69. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +10 -5
  70. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +8 -4
  71. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -2
  72. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +2 -1
  73. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +8 -4
  74. data/rbi/metronome_sdk/resources/v1/customers.rbi +11 -8
  75. data/rbi/metronome_sdk/resources/v1/plans.rbi +8 -4
  76. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +63 -0
  77. data/rbi/metronome_sdk/resources/v1/settings.rbi +47 -0
  78. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  79. data/sig/metronome_sdk/models/contract.rbs +2 -0
  80. data/sig/metronome_sdk/models/contract_v2.rbs +2 -0
  81. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  82. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +2 -0
  83. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +2 -0
  84. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +2 -0
  85. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +2 -0
  86. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +2 -0
  87. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +2 -0
  88. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +2 -0
  89. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +112 -0
  90. data/sig/metronome_sdk/models/v1/payment.rbs +10 -3
  91. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +54 -0
  92. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbs +13 -0
  93. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +64 -0
  94. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_response.rbs +34 -0
  95. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_params.rbs +28 -0
  96. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_response.rbs +102 -0
  97. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2 -0
  98. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  99. data/sig/metronome_sdk/resources/v1/settings/billing_providers.rbs +23 -0
  100. data/sig/metronome_sdk/resources/v1/settings.rbs +19 -0
  101. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  102. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0915b00a0f26162aace25f837292b0a4397ebd7e62179d9b8b3605a322ecfa1d'
4
- data.tar.gz: 8d0580f9ba5e72ca8eb0729c8664aff99b00bee910368df5a692e4b2fab6740b
3
+ metadata.gz: f70b65323a25a4de65861565a092a6aa70f43d28e5e910acca44d883efe9cf86
4
+ data.tar.gz: 4d89458274f95fb69ca5d6bccad455a6ecaf92a3d1a93b8843290166f724e01d
5
5
  SHA512:
6
- metadata.gz: 51ff71fc9926d302ef837596298dfa6eea80c52200b0861e51b4d6f399be2d276f04987ae40c0346eef2f3f5cdc18cce603b44bfb4c99fb123b20e5c3c7b5983
7
- data.tar.gz: 6a93ca533bf883619baecd64f06f6b51811676a2f8872cb5205d5ac64b52136a3f27f392671eb7deae4784e7af780cec40df66d3fa1f9b53c6162087a3dc893f
6
+ metadata.gz: '010907bdf574da3664f42af09be522e41a87dfc4ae1280ee4307326c8d62751c1fdc11bfec4214ec22176cbaf0002a2f1a7b6ed3668da3fb3347ab2bdb3b5494'
7
+ data.tar.gz: d9be0ec4d10b760064dc84412f78c074258613af6b2ba7e33432ddade4c39d6356ed9d4fc59fb7a89eadc1ce4cd99f893e7c329bbedc27b4dc8e3ac8f76d1c5d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.1.0 (2025-10-31)
4
+
5
+ Full Changelog: [v2.0.0...v2.1.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v2.0.0...v2.1.0)
6
+
7
+ ### Features
8
+
9
+ * [ORCH-282] plumb `payment_method_id` to the payment gateway object ([bba092f](https://github.com/Metronome-Industries/metronome-ruby/commit/bba092fbe0b66d2f2df6187c579bdc0458375a65))
10
+ * [ORCH-797] add billing_provider_error to invoice.external_invoice ([7f77e42](https://github.com/Metronome-Industries/metronome-ruby/commit/7f77e42d219f720783d480096248bf153e771336))
11
+ * Add avalara creds + billing provider APIs to SDK. Add avalara creds API to docs. ([9808e39](https://github.com/Metronome-Industries/metronome-ruby/commit/9808e39003df39e50183c64e806ef4589819353d))
12
+ * add beta tag to stripe auto charge items ([652727e](https://github.com/Metronome-Industries/metronome-ruby/commit/652727e1f6df7269a3b6db00f401460aab32ce6d))
13
+ * add exclude_zero_balances field behind a FF for anthropic ([9e7b1a4](https://github.com/Metronome-Industries/metronome-ruby/commit/9e7b1a461fe7eb13fd846f18f0ea329f6b1083b7))
14
+ * add METRONOME to BillingProvider type ([2f7e988](https://github.com/Metronome-Industries/metronome-ruby/commit/2f7e9882bf53acae0356e748be68e37067ef9bd9))
15
+ * docs(api) Documentation for seat-based subscription linked recurring commits beta release ([2e53b04](https://github.com/Metronome-Industries/metronome-ruby/commit/2e53b04d23b9e49184bd91d32c712a4c59a73f0a))
16
+ * handle thread interrupts in the core HTTP client ([db696fe](https://github.com/Metronome-Industries/metronome-ruby/commit/db696fe074207b842d076aaafa549c5695c87dd5))
17
+ * ignore_duplicates ([cd50ce6](https://github.com/Metronome-Industries/metronome-ruby/commit/cd50ce63586d55d98557e050024cad863be60b99))
18
+ * internal: moving plans docs to deprecated section of new docs site ([f5f12b4](https://github.com/Metronome-Industries/metronome-ruby/commit/f5f12b4af2bbc39d892b885b6b6f768128330806))
19
+ * not ready for review ([efabbf6](https://github.com/Metronome-Industries/metronome-ruby/commit/efabbf64195a0575e5136ba7de0a0552a11a7592))
20
+ * not ready for review ([624dd4f](https://github.com/Metronome-Industries/metronome-ruby/commit/624dd4f2c827279317bb7ac53cb9c8ab9aa4dde8))
21
+ * Relax requirement on customer level commits for invoice_contract_id if do_not_invoice is set to true ([af4a8a7](https://github.com/Metronome-Industries/metronome-ruby/commit/af4a8a72d376d709a69b9cd248e54ef12eaa8124))
22
+ * update get customer alerts api to include low seat balance type ([1e08e6d](https://github.com/Metronome-Industries/metronome-ruby/commit/1e08e6d2f1186dd47e17a6bf986d8732ec9801b3))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **api:** Make id field required in /v2/notifications/edit ([34c16c6](https://github.com/Metronome-Industries/metronome-ruby/commit/34c16c6bcebdfc18765883b017708225cf6d312c))
28
+
29
+
30
+ ### Chores
31
+
32
+ * **api:** Note SQL BM is not supported in previewCustomerEvents description ([1bb482c](https://github.com/Metronome-Industries/metronome-ruby/commit/1bb482c536bc70849b425b45a073431cf4dff009))
33
+
34
+
35
+ ### Documentation
36
+
37
+ * add migrate amendments to edits page ([6b10754](https://github.com/Metronome-Industries/metronome-ruby/commit/6b1075422730cb9b1b254ac7549c76b8f5f8d475))
38
+
3
39
  ## 2.0.0 (2025-10-16)
4
40
 
5
41
  Full Changelog: [v1.0.0...v2.0.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v1.0.0...v2.0.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "metronome-sdk", "~> 2.0.0"
20
+ gem "metronome-sdk", "~> 2.1.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -128,40 +128,48 @@ module MetronomeSDK
128
128
  url, deadline = request.fetch_values(:url, :deadline)
129
129
 
130
130
  req = nil
131
- eof = false
132
131
  finished = false
133
- closing = nil
134
132
 
135
133
  # rubocop:disable Metrics/BlockLength
136
134
  enum = Enumerator.new do |y|
137
135
  next if finished
138
136
 
139
137
  with_pool(url, deadline: deadline) do |conn|
140
- req, closing = self.class.build_request(request) do
141
- self.class.calibrate_socket_timeout(conn, deadline)
142
- end
143
-
144
- self.class.calibrate_socket_timeout(conn, deadline)
145
- unless conn.started?
146
- conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
147
- conn.start
148
- end
138
+ eof = false
139
+ closing = nil
140
+ ::Thread.handle_interrupt(Object => :never) do
141
+ ::Thread.handle_interrupt(Object => :immediate) do
142
+ req, closing = self.class.build_request(request) do
143
+ self.class.calibrate_socket_timeout(conn, deadline)
144
+ end
149
145
 
150
- self.class.calibrate_socket_timeout(conn, deadline)
151
- conn.request(req) do |rsp|
152
- y << [req, rsp]
153
- break if finished
154
-
155
- rsp.read_body do |bytes|
156
- y << bytes.force_encoding(Encoding::BINARY)
157
- break if finished
146
+ self.class.calibrate_socket_timeout(conn, deadline)
147
+ unless conn.started?
148
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
149
+ conn.start
150
+ end
158
151
 
159
152
  self.class.calibrate_socket_timeout(conn, deadline)
153
+ conn.request(req) do |rsp|
154
+ y << [req, rsp]
155
+ break if finished
156
+
157
+ rsp.read_body do |bytes|
158
+ y << bytes.force_encoding(Encoding::BINARY)
159
+ break if finished
160
+
161
+ self.class.calibrate_socket_timeout(conn, deadline)
162
+ end
163
+ eof = true
164
+ end
165
+ end
166
+ ensure
167
+ begin
168
+ conn.finish if !eof && conn&.started?
169
+ ensure
170
+ closing&.call
160
171
  end
161
- eof = true
162
172
  end
163
- ensure
164
- conn.finish if !eof && conn&.started?
165
173
  end
166
174
  rescue Timeout::Error
167
175
  raise MetronomeSDK::Errors::APITimeoutError.new(url: url, request: req)
@@ -174,8 +182,6 @@ module MetronomeSDK
174
182
  body = MetronomeSDK::Internal::Util.fused_enum(enum, external: true) do
175
183
  finished = true
176
184
  loop { enum.next }
177
- ensure
178
- closing&.call
179
185
  end
180
186
  [Integer(response.code), response, body]
181
187
  end
@@ -365,6 +365,7 @@ module MetronomeSDK
365
365
  QUICKBOOKS_ONLINE = :quickbooks_online
366
366
  WORKDAY = :workday
367
367
  GCP_MARKETPLACE = :gcp_marketplace
368
+ METRONOME = :metronome
368
369
 
369
370
  # @!method self.values
370
371
  # @return [Array<Symbol>]
@@ -2148,6 +2148,7 @@ module MetronomeSDK
2148
2148
  QUICKBOOKS_ONLINE = :quickbooks_online
2149
2149
  WORKDAY = :workday
2150
2150
  GCP_MARKETPLACE = :gcp_marketplace
2151
+ METRONOME = :metronome
2151
2152
 
2152
2153
  # @!method self.values
2153
2154
  # @return [Array<Symbol>]
@@ -2246,10 +2247,13 @@ module MetronomeSDK
2246
2247
  # @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration#parent_behavior
2247
2248
  class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
2248
2249
  # @!attribute invoice_consolidation_type
2249
- # Indicates the desired behavior of consolidated invoices generated by the parent
2250
- # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
2251
- # customers will be appended to the consolidated invoice **NONE**: Do not generate
2252
- # consolidated invoices
2250
+ # Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
2251
+ # generated by the parent in a customer hierarchy
2252
+ #
2253
+ # **CONCATENATE**: Statements on the invoices of child customers will be appended
2254
+ # to the consolidated invoice
2255
+ #
2256
+ # **NONE**: Do not generate consolidated invoices
2253
2257
  #
2254
2258
  # @return [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType, nil]
2255
2259
  optional :invoice_consolidation_type,
@@ -2260,12 +2264,15 @@ module MetronomeSDK
2260
2264
  # {MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior}
2261
2265
  # for more details.
2262
2266
  #
2263
- # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Indicates the desired behavior of consolidated invoices generated by the parent
2267
+ # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Account hierarchy M3 - Indicates the desired behavior of consolidated invoices g
2264
2268
 
2265
- # Indicates the desired behavior of consolidated invoices generated by the parent
2266
- # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
2267
- # customers will be appended to the consolidated invoice **NONE**: Do not generate
2268
- # consolidated invoices
2269
+ # Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
2270
+ # generated by the parent in a customer hierarchy
2271
+ #
2272
+ # **CONCATENATE**: Statements on the invoices of child customers will be appended
2273
+ # to the consolidated invoice
2274
+ #
2275
+ # **NONE**: Do not generate consolidated invoices
2269
2276
  #
2270
2277
  # @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior#invoice_consolidation_type
2271
2278
  module InvoiceConsolidationType
@@ -2289,17 +2296,23 @@ module MetronomeSDK
2289
2296
  -> { MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent }
2290
2297
 
2291
2298
  # @!attribute payer
2292
- # Indicates whether the child or parent should pay for the child's invoice charges
2299
+ # Account hierarchy M3 - Indicates which customer should pay for the child's
2300
+ # invoice charges **SELF**: The child pays for its own invoice charges **PARENT**:
2301
+ # The parent pays for the child's invoice charges
2293
2302
  #
2294
2303
  # @return [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer, nil]
2295
2304
  optional :payer,
2296
2305
  enum: -> { MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer }
2297
2306
 
2298
2307
  # @!attribute usage_statement_behavior
2299
- # Indicates the behavior of the child's invoice statements on the parent's
2300
- # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
2301
- # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
2302
- # appear on parent's consolidated invoices
2308
+ # Account hierarchy M3 - Indicates the behavior of the child's invoice statements
2309
+ # on the parent's invoices.
2310
+ #
2311
+ # **CONSOLIDATE**: Child's invoice statements will be added to parent's
2312
+ # consolidated invoices
2313
+ #
2314
+ # **SEPARATE**: Child's invoice statements will appear not appear on parent's
2315
+ # consolidated invoices
2303
2316
  #
2304
2317
  # @return [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior, nil]
2305
2318
  optional :usage_statement_behavior,
@@ -2312,9 +2325,9 @@ module MetronomeSDK
2312
2325
  #
2313
2326
  # @param parent [MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent] The single parent contract/customer for this child.
2314
2327
  #
2315
- # @param payer [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer] Indicates whether the child or parent should pay for the child's invoice charges
2328
+ # @param payer [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer] Account hierarchy M3 - Indicates which customer should pay for the child's invoi
2316
2329
  #
2317
- # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior] Indicates the behavior of the child's invoice statements on the parent's invoice
2330
+ # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior] Account hierarchy M3 - Indicates the behavior of the child's invoice statements
2318
2331
 
2319
2332
  # @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2#parent
2320
2333
  class Parent < MetronomeSDK::Internal::Type::BaseModel
@@ -2335,7 +2348,9 @@ module MetronomeSDK
2335
2348
  # @param customer_id [String]
2336
2349
  end
2337
2350
 
2338
- # Indicates whether the child or parent should pay for the child's invoice charges
2351
+ # Account hierarchy M3 - Indicates which customer should pay for the child's
2352
+ # invoice charges **SELF**: The child pays for its own invoice charges **PARENT**:
2353
+ # The parent pays for the child's invoice charges
2339
2354
  #
2340
2355
  # @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2#payer
2341
2356
  module Payer
@@ -2348,10 +2363,14 @@ module MetronomeSDK
2348
2363
  # @return [Array<Symbol>]
2349
2364
  end
2350
2365
 
2351
- # Indicates the behavior of the child's invoice statements on the parent's
2352
- # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
2353
- # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
2354
- # appear on parent's consolidated invoices
2366
+ # Account hierarchy M3 - Indicates the behavior of the child's invoice statements
2367
+ # on the parent's invoices.
2368
+ #
2369
+ # **CONSOLIDATE**: Child's invoice statements will be added to parent's
2370
+ # consolidated invoices
2371
+ #
2372
+ # **SEPARATE**: Child's invoice statements will appear not appear on parent's
2373
+ # consolidated invoices
2355
2374
  #
2356
2375
  # @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2#usage_statement_behavior
2357
2376
  module UsageStatementBehavior
@@ -49,10 +49,13 @@ module MetronomeSDK
49
49
  # @see MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration#parent_behavior
50
50
  class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
51
51
  # @!attribute invoice_consolidation_type
52
- # Indicates the desired behavior of consolidated invoices generated by the parent
53
- # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
54
- # customers will be appended to the consolidated invoice **NONE**: Do not generate
55
- # consolidated invoices
52
+ # Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
53
+ # generated by the parent in a customer hierarchy
54
+ #
55
+ # **CONCATENATE**: Statements on the invoices of child customers will be appended
56
+ # to the consolidated invoice
57
+ #
58
+ # **NONE**: Do not generate consolidated invoices
56
59
  #
57
60
  # @return [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType, nil]
58
61
  optional :invoice_consolidation_type,
@@ -63,12 +66,15 @@ module MetronomeSDK
63
66
  # {MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior}
64
67
  # for more details.
65
68
  #
66
- # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Indicates the desired behavior of consolidated invoices generated by the parent
69
+ # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Account hierarchy M3 - Indicates the desired behavior of consolidated invoices g
67
70
 
68
- # Indicates the desired behavior of consolidated invoices generated by the parent
69
- # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
70
- # customers will be appended to the consolidated invoice **NONE**: Do not generate
71
- # consolidated invoices
71
+ # Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
72
+ # generated by the parent in a customer hierarchy
73
+ #
74
+ # **CONCATENATE**: Statements on the invoices of child customers will be appended
75
+ # to the consolidated invoice
76
+ #
77
+ # **NONE**: Do not generate consolidated invoices
72
78
  #
73
79
  # @see MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior#invoice_consolidation_type
74
80
  module InvoiceConsolidationType
@@ -91,16 +97,25 @@ module MetronomeSDK
91
97
  required :parent, -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
92
98
 
93
99
  # @!attribute payer
94
- # Indicates whether the parent should pay for the child's invoice charges
100
+ # Account hierarchy M3 - Indicates which customer should pay for the child's
101
+ # invoice charges
102
+ #
103
+ # **SELF**: The child pays for its own invoice charges
104
+ #
105
+ # **PARENT**: The parent pays for the child's invoice charges
95
106
  #
96
107
  # @return [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer, nil]
97
108
  optional :payer, enum: -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer }
98
109
 
99
110
  # @!attribute usage_statement_behavior
100
- # Indicates the behavior of the child's invoice statements on the parent's
101
- # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
102
- # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
103
- # appear on parent's consolidated invoices
111
+ # Account hierarchy M3 - Indicates the behavior of the child's invoice statements
112
+ # on the parent's invoices.
113
+ #
114
+ # **CONSOLIDATE**: Child's invoice statements will be added to parent's
115
+ # consolidated invoices
116
+ #
117
+ # **SEPARATE**: Child's invoice statements will appear not appear on parent's
118
+ # consolidated invoices
104
119
  #
105
120
  # @return [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior, nil]
106
121
  optional :usage_statement_behavior,
@@ -113,9 +128,9 @@ module MetronomeSDK
113
128
  #
114
129
  # @param parent [MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
115
130
  #
116
- # @param payer [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer] Indicates whether the parent should pay for the child's invoice charges
131
+ # @param payer [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer] Account hierarchy M3 - Indicates which customer should pay for the child's invoi
117
132
  #
118
- # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior] Indicates the behavior of the child's invoice statements on the parent's invoice
133
+ # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior] Account hierarchy M3 - Indicates the behavior of the child's invoice statements
119
134
 
120
135
  # @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#parent
121
136
  class Parent < MetronomeSDK::Internal::Type::BaseModel
@@ -136,7 +151,12 @@ module MetronomeSDK
136
151
  # @param customer_id [String]
137
152
  end
138
153
 
139
- # Indicates whether the parent should pay for the child's invoice charges
154
+ # Account hierarchy M3 - Indicates which customer should pay for the child's
155
+ # invoice charges
156
+ #
157
+ # **SELF**: The child pays for its own invoice charges
158
+ #
159
+ # **PARENT**: The parent pays for the child's invoice charges
140
160
  #
141
161
  # @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#payer
142
162
  module Payer
@@ -149,10 +169,14 @@ module MetronomeSDK
149
169
  # @return [Array<Symbol>]
150
170
  end
151
171
 
152
- # Indicates the behavior of the child's invoice statements on the parent's
153
- # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
154
- # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
155
- # appear on parent's consolidated invoices
172
+ # Account hierarchy M3 - Indicates the behavior of the child's invoice statements
173
+ # on the parent's invoices.
174
+ #
175
+ # **CONSOLIDATE**: Child's invoice statements will be added to parent's
176
+ # consolidated invoices
177
+ #
178
+ # **SEPARATE**: Child's invoice statements will appear not appear on parent's
179
+ # consolidated invoices
156
180
  #
157
181
  # @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#usage_statement_behavior
158
182
  module UsageStatementBehavior
@@ -24,6 +24,11 @@ module MetronomeSDK
24
24
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
25
25
  # directly on the subscription. `initial_quantity` must be provided with this
26
26
  # option. Compatible with recurring commits/credits that use POOLED allocation.
27
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
28
+ # add user_123) to increment and decrement a subscription quantity, rather than
29
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
30
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
31
+ # provided with this option.
27
32
  #
28
33
  # @return [Symbol, MetronomeSDK::Models::Subscription::QuantityManagementMode]
29
34
  required :quantity_management_mode, enum: -> { MetronomeSDK::Subscription::QuantityManagementMode }
@@ -226,6 +231,11 @@ module MetronomeSDK
226
231
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
227
232
  # directly on the subscription. `initial_quantity` must be provided with this
228
233
  # option. Compatible with recurring commits/credits that use POOLED allocation.
234
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
235
+ # add user_123) to increment and decrement a subscription quantity, rather than
236
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
237
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
238
+ # provided with this option.
229
239
  #
230
240
  # @see MetronomeSDK::Models::Subscription#quantity_management_mode
231
241
  module QuantityManagementMode
@@ -1358,16 +1358,25 @@ module MetronomeSDK
1358
1358
  -> { MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior }
1359
1359
 
1360
1360
  # @!attribute payer
1361
- # Indicates whether the parent should pay for the child's invoice charges
1361
+ # Account hierarchy M3 - Indicates which customer should pay for the child's
1362
+ # invoice charges
1363
+ #
1364
+ # **SELF**: The child pays for its own invoice charges
1365
+ #
1366
+ # **PARENT**: The parent pays for the child's invoice charges
1362
1367
  #
1363
1368
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::Payer, nil]
1364
1369
  optional :payer, enum: -> { MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Payer }
1365
1370
 
1366
1371
  # @!attribute usage_statement_behavior
1367
- # Indicates the behavior of the child's invoice statements on the parent's
1368
- # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
1369
- # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
1370
- # appear on parent's consolidated invoices
1372
+ # Account hierarchy M3 - Indicates the behavior of the child's invoice statements
1373
+ # on the parent's invoices.
1374
+ #
1375
+ # **CONSOLIDATE**: Child's invoice statements will be added to parent's
1376
+ # consolidated invoices
1377
+ #
1378
+ # **SEPARATE**: Child's invoice statements will appear not appear on parent's
1379
+ # consolidated invoices
1371
1380
  #
1372
1381
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::UsageStatementBehavior, nil]
1373
1382
  optional :usage_statement_behavior,
@@ -1382,9 +1391,9 @@ module MetronomeSDK
1382
1391
  #
1383
1392
  # @param parent_behavior [MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior]
1384
1393
  #
1385
- # @param payer [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::Payer] Indicates whether the parent should pay for the child's invoice charges
1394
+ # @param payer [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::Payer] Account hierarchy M3 - Indicates which customer should pay for the child's invoi
1386
1395
  #
1387
- # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::UsageStatementBehavior] Indicates the behavior of the child's invoice statements on the parent's invoice
1396
+ # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::UsageStatementBehavior] Account hierarchy M3 - Indicates the behavior of the child's invoice statements
1388
1397
 
1389
1398
  # @see MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration#parent
1390
1399
  class Parent < MetronomeSDK::Internal::Type::BaseModel
@@ -1406,10 +1415,13 @@ module MetronomeSDK
1406
1415
  # @see MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration#parent_behavior
1407
1416
  class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
1408
1417
  # @!attribute invoice_consolidation_type
1409
- # Indicates the desired behavior of consolidated invoices generated by the parent
1410
- # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
1411
- # customers will be appended to the consolidated invoice **NONE**: Do not generate
1412
- # consolidated invoices
1418
+ # Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
1419
+ # generated by the parent in a customer hierarchy
1420
+ #
1421
+ # **CONCATENATE**: Statements on the invoices of child customers will be appended
1422
+ # to the consolidated invoice
1423
+ #
1424
+ # **NONE**: Do not generate consolidated invoices
1413
1425
  #
1414
1426
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::InvoiceConsolidationType, nil]
1415
1427
  optional :invoice_consolidation_type,
@@ -1420,12 +1432,15 @@ module MetronomeSDK
1420
1432
  # {MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior}
1421
1433
  # for more details.
1422
1434
  #
1423
- # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Indicates the desired behavior of consolidated invoices generated by the parent
1435
+ # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Account hierarchy M3 - Indicates the desired behavior of consolidated invoices g
1424
1436
 
1425
- # Indicates the desired behavior of consolidated invoices generated by the parent
1426
- # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
1427
- # customers will be appended to the consolidated invoice **NONE**: Do not generate
1428
- # consolidated invoices
1437
+ # Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
1438
+ # generated by the parent in a customer hierarchy
1439
+ #
1440
+ # **CONCATENATE**: Statements on the invoices of child customers will be appended
1441
+ # to the consolidated invoice
1442
+ #
1443
+ # **NONE**: Do not generate consolidated invoices
1429
1444
  #
1430
1445
  # @see MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior#invoice_consolidation_type
1431
1446
  module InvoiceConsolidationType
@@ -1439,7 +1454,12 @@ module MetronomeSDK
1439
1454
  end
1440
1455
  end
1441
1456
 
1442
- # Indicates whether the parent should pay for the child's invoice charges
1457
+ # Account hierarchy M3 - Indicates which customer should pay for the child's
1458
+ # invoice charges
1459
+ #
1460
+ # **SELF**: The child pays for its own invoice charges
1461
+ #
1462
+ # **PARENT**: The parent pays for the child's invoice charges
1443
1463
  #
1444
1464
  # @see MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration#payer
1445
1465
  module Payer
@@ -1452,10 +1472,14 @@ module MetronomeSDK
1452
1472
  # @return [Array<Symbol>]
1453
1473
  end
1454
1474
 
1455
- # Indicates the behavior of the child's invoice statements on the parent's
1456
- # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
1457
- # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
1458
- # appear on parent's consolidated invoices
1475
+ # Account hierarchy M3 - Indicates the behavior of the child's invoice statements
1476
+ # on the parent's invoices.
1477
+ #
1478
+ # **CONSOLIDATE**: Child's invoice statements will be added to parent's
1479
+ # consolidated invoices
1480
+ #
1481
+ # **SEPARATE**: Child's invoice statements will appear not appear on parent's
1482
+ # consolidated invoices
1459
1483
  #
1460
1484
  # @see MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration#usage_statement_behavior
1461
1485
  module UsageStatementBehavior
@@ -2223,20 +2247,26 @@ module MetronomeSDK
2223
2247
  required :subscription_id, String
2224
2248
 
2225
2249
  # @!attribute allocation
2226
- # If set to POOLED, allocation added per seat is pooled across the account.
2250
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
2251
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
2252
+ # allocation.
2227
2253
  #
2228
2254
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig::Allocation, nil]
2229
2255
  optional :allocation,
2230
2256
  enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig::Allocation }
2231
2257
 
2232
2258
  # @!method initialize(apply_seat_increase_config:, subscription_id:, allocation: nil)
2259
+ # Some parameter documentations has been truncated, see
2260
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig}
2261
+ # for more details.
2262
+ #
2233
2263
  # Attach a subscription to the recurring commit/credit.
2234
2264
  #
2235
2265
  # @param apply_seat_increase_config [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
2236
2266
  #
2237
2267
  # @param subscription_id [String] ID of the subscription to configure on the recurring commit/credit.
2238
2268
  #
2239
- # @param allocation [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig::Allocation] If set to POOLED, allocation added per seat is pooled across the account.
2269
+ # @param allocation [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig::Allocation] If set to POOLED, allocation added per seat is pooled across the account. (BETA)
2240
2270
 
2241
2271
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig#apply_seat_increase_config
2242
2272
  class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -2250,7 +2280,9 @@ module MetronomeSDK
2250
2280
  # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
2251
2281
  end
2252
2282
 
2253
- # If set to POOLED, allocation added per seat is pooled across the account.
2283
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
2284
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
2285
+ # allocation.
2254
2286
  #
2255
2287
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::SubscriptionConfig#allocation
2256
2288
  module Allocation
@@ -2564,20 +2596,26 @@ module MetronomeSDK
2564
2596
  required :subscription_id, String
2565
2597
 
2566
2598
  # @!attribute allocation
2567
- # If set to POOLED, allocation added per seat is pooled across the account.
2599
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
2600
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
2601
+ # allocation.
2568
2602
  #
2569
2603
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig::Allocation, nil]
2570
2604
  optional :allocation,
2571
2605
  enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig::Allocation }
2572
2606
 
2573
2607
  # @!method initialize(apply_seat_increase_config:, subscription_id:, allocation: nil)
2608
+ # Some parameter documentations has been truncated, see
2609
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig}
2610
+ # for more details.
2611
+ #
2574
2612
  # Attach a subscription to the recurring commit/credit.
2575
2613
  #
2576
2614
  # @param apply_seat_increase_config [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
2577
2615
  #
2578
2616
  # @param subscription_id [String] ID of the subscription to configure on the recurring commit/credit.
2579
2617
  #
2580
- # @param allocation [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig::Allocation] If set to POOLED, allocation added per seat is pooled across the account.
2618
+ # @param allocation [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig::Allocation] If set to POOLED, allocation added per seat is pooled across the account. (BETA)
2581
2619
 
2582
2620
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig#apply_seat_increase_config
2583
2621
  class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -2591,7 +2629,9 @@ module MetronomeSDK
2591
2629
  # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
2592
2630
  end
2593
2631
 
2594
- # If set to POOLED, allocation added per seat is pooled across the account.
2632
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
2633
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
2634
+ # allocation.
2595
2635
  #
2596
2636
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::SubscriptionConfig#allocation
2597
2637
  module Allocation
@@ -3034,6 +3074,11 @@ module MetronomeSDK
3034
3074
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
3035
3075
  # directly on the subscription. `initial_quantity` must be provided with this
3036
3076
  # option. Compatible with recurring commits/credits that use POOLED allocation.
3077
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
3078
+ # add user_123) to increment and decrement a subscription quantity, rather than
3079
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
3080
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
3081
+ # provided with this option.
3037
3082
  #
3038
3083
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::QuantityManagementMode, nil]
3039
3084
  optional :quantity_management_mode,
@@ -3182,6 +3227,11 @@ module MetronomeSDK
3182
3227
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
3183
3228
  # directly on the subscription. `initial_quantity` must be provided with this
3184
3229
  # option. Compatible with recurring commits/credits that use POOLED allocation.
3230
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
3231
+ # add user_123) to increment and decrement a subscription quantity, rather than
3232
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
3233
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
3234
+ # provided with this option.
3185
3235
  #
3186
3236
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#quantity_management_mode
3187
3237
  module QuantityManagementMode