metronome-sdk 3.8.0 → 3.10.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/models/commit.rb +9 -1
  5. data/lib/metronome_sdk/models/contract.rb +46 -16
  6. data/lib/metronome_sdk/models/contract_v2.rb +378 -15
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +8 -5
  8. data/lib/metronome_sdk/models/v1/contract_create_params.rb +8 -5
  9. data/lib/metronome_sdk/models/v1/contract_create_response.rb +73 -18
  10. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +27 -1
  11. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +32 -5
  12. data/lib/metronome_sdk/models/v1/package_create_params.rb +8 -4
  13. data/lib/metronome_sdk/models/v1/package_list_response.rb +8 -4
  14. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +8 -4
  15. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -1
  16. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +11 -1
  17. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +14 -8
  18. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +8 -4
  19. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +8 -4
  20. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +11 -14
  21. data/lib/metronome_sdk/resources/v1/dashboards.rb +6 -9
  22. data/lib/metronome_sdk/resources/v2/contracts.rb +6 -2
  23. data/lib/metronome_sdk/version.rb +1 -1
  24. data/rbi/metronome_sdk/models/commit.rbi +11 -0
  25. data/rbi/metronome_sdk/models/contract.rbi +47 -22
  26. data/rbi/metronome_sdk/models/contract_v2.rbi +711 -19
  27. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +12 -11
  28. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +12 -11
  29. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +72 -43
  30. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +67 -0
  31. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +96 -5
  32. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +12 -6
  33. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +12 -6
  34. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +12 -6
  35. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +12 -0
  36. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +12 -0
  37. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +28 -18
  38. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +12 -6
  39. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +12 -6
  40. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +15 -13
  41. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +6 -9
  42. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  43. data/sig/metronome_sdk/models/commit.rbs +7 -0
  44. data/sig/metronome_sdk/models/contract.rbs +22 -11
  45. data/sig/metronome_sdk/models/contract_v2.rbs +289 -5
  46. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1 -2
  47. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1 -2
  48. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +31 -17
  49. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +28 -0
  50. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +39 -4
  51. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +5 -0
  52. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +5 -0
  53. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +12 -14
  54. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +1 -0
  55. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  56. metadata +2 -2
@@ -3459,7 +3459,8 @@ module MetronomeSDK
3459
3459
  # The commits will be created on the usage invoice frequency. If provided: - The
3460
3460
  # period defined in the duration will correspond to this frequency. - Commits will
3461
3461
  # be created aligned with the recurring commit's starting_at rather than the usage
3462
- # invoice dates.
3462
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3463
+ # are unable to be created with seat-based subscriptions
3463
3464
  sig do
3464
3465
  returns(
3465
3466
  T.nilable(
@@ -3586,7 +3587,8 @@ module MetronomeSDK
3586
3587
  # The commits will be created on the usage invoice frequency. If provided: - The
3587
3588
  # period defined in the duration will correspond to this frequency. - Commits will
3588
3589
  # be created aligned with the recurring commit's starting_at rather than the usage
3589
- # invoice dates.
3590
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3591
+ # are unable to be created with seat-based subscriptions
3590
3592
  recurrence_frequency: nil,
3591
3593
  # Will be passed down to the individual commits. This controls how much of an
3592
3594
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -4341,7 +4343,8 @@ module MetronomeSDK
4341
4343
  # The commits will be created on the usage invoice frequency. If provided: - The
4342
4344
  # period defined in the duration will correspond to this frequency. - Commits will
4343
4345
  # be created aligned with the recurring commit's starting_at rather than the usage
4344
- # invoice dates.
4346
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4347
+ # are unable to be created with seat-based subscriptions
4345
4348
  module RecurrenceFrequency
4346
4349
  extend MetronomeSDK::Internal::Type::Enum
4347
4350
 
@@ -4692,7 +4695,8 @@ module MetronomeSDK
4692
4695
  # The commits will be created on the usage invoice frequency. If provided: - The
4693
4696
  # period defined in the duration will correspond to this frequency. - Commits will
4694
4697
  # be created aligned with the recurring commit's starting_at rather than the usage
4695
- # invoice dates.
4698
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4699
+ # are unable to be created with seat-based subscriptions
4696
4700
  sig do
4697
4701
  returns(
4698
4702
  T.nilable(
@@ -4815,7 +4819,8 @@ module MetronomeSDK
4815
4819
  # The commits will be created on the usage invoice frequency. If provided: - The
4816
4820
  # period defined in the duration will correspond to this frequency. - Commits will
4817
4821
  # be created aligned with the recurring commit's starting_at rather than the usage
4818
- # invoice dates.
4822
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4823
+ # are unable to be created with seat-based subscriptions
4819
4824
  recurrence_frequency: nil,
4820
4825
  # Will be passed down to the individual commits. This controls how much of an
4821
4826
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -5417,7 +5422,8 @@ module MetronomeSDK
5417
5422
  # The commits will be created on the usage invoice frequency. If provided: - The
5418
5423
  # period defined in the duration will correspond to this frequency. - Commits will
5419
5424
  # be created aligned with the recurring commit's starting_at rather than the usage
5420
- # invoice dates.
5425
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5426
+ # are unable to be created with seat-based subscriptions
5421
5427
  module RecurrenceFrequency
5422
5428
  extend MetronomeSDK::Internal::Type::Enum
5423
5429
 
@@ -3518,7 +3518,8 @@ module MetronomeSDK
3518
3518
  # The commits will be created on the usage invoice frequency. If provided: - The
3519
3519
  # period defined in the duration will correspond to this frequency. - Commits will
3520
3520
  # be created aligned with the recurring commit's starting_at rather than the usage
3521
- # invoice dates.
3521
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3522
+ # are unable to be created with seat-based subscriptions
3522
3523
  sig do
3523
3524
  returns(
3524
3525
  T.nilable(
@@ -3645,7 +3646,8 @@ module MetronomeSDK
3645
3646
  # The commits will be created on the usage invoice frequency. If provided: - The
3646
3647
  # period defined in the duration will correspond to this frequency. - Commits will
3647
3648
  # be created aligned with the recurring commit's starting_at rather than the usage
3648
- # invoice dates.
3649
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3650
+ # are unable to be created with seat-based subscriptions
3649
3651
  recurrence_frequency: nil,
3650
3652
  # Will be passed down to the individual commits. This controls how much of an
3651
3653
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -4400,7 +4402,8 @@ module MetronomeSDK
4400
4402
  # The commits will be created on the usage invoice frequency. If provided: - The
4401
4403
  # period defined in the duration will correspond to this frequency. - Commits will
4402
4404
  # be created aligned with the recurring commit's starting_at rather than the usage
4403
- # invoice dates.
4405
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4406
+ # are unable to be created with seat-based subscriptions
4404
4407
  module RecurrenceFrequency
4405
4408
  extend MetronomeSDK::Internal::Type::Enum
4406
4409
 
@@ -4753,7 +4756,8 @@ module MetronomeSDK
4753
4756
  # The commits will be created on the usage invoice frequency. If provided: - The
4754
4757
  # period defined in the duration will correspond to this frequency. - Commits will
4755
4758
  # be created aligned with the recurring commit's starting_at rather than the usage
4756
- # invoice dates.
4759
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4760
+ # are unable to be created with seat-based subscriptions
4757
4761
  sig do
4758
4762
  returns(
4759
4763
  T.nilable(
@@ -4876,7 +4880,8 @@ module MetronomeSDK
4876
4880
  # The commits will be created on the usage invoice frequency. If provided: - The
4877
4881
  # period defined in the duration will correspond to this frequency. - Commits will
4878
4882
  # be created aligned with the recurring commit's starting_at rather than the usage
4879
- # invoice dates.
4883
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4884
+ # are unable to be created with seat-based subscriptions
4880
4885
  recurrence_frequency: nil,
4881
4886
  # Will be passed down to the individual commits. This controls how much of an
4882
4887
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -5478,7 +5483,8 @@ module MetronomeSDK
5478
5483
  # The commits will be created on the usage invoice frequency. If provided: - The
5479
5484
  # period defined in the duration will correspond to this frequency. - Commits will
5480
5485
  # be created aligned with the recurring commit's starting_at rather than the usage
5481
- # invoice dates.
5486
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5487
+ # are unable to be created with seat-based subscriptions
5482
5488
  module RecurrenceFrequency
5483
5489
  extend MetronomeSDK::Internal::Type::Enum
5484
5490
 
@@ -40,6 +40,12 @@ module MetronomeSDK
40
40
  end
41
41
  attr_writer :access_schedule
42
42
 
43
+ # Which contracts the customer-level commit applies to. If set to null, the commit
44
+ # applies to all of the customer's contracts. This field cannot be edited for
45
+ # POSTPAID commits or contract-level commits.
46
+ sig { returns(T.nilable(T::Array[String])) }
47
+ attr_accessor :applicable_contract_ids
48
+
43
49
  # Which products the commit applies to. If applicable_product_ids,
44
50
  # applicable_product_tags or specifiers are not provided, the commit applies to
45
51
  # all products.
@@ -148,6 +154,7 @@ module MetronomeSDK
148
154
  customer_id: String,
149
155
  access_schedule:
150
156
  MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::OrHash,
157
+ applicable_contract_ids: T.nilable(T::Array[String]),
151
158
  applicable_product_ids: T.nilable(T::Array[String]),
152
159
  applicable_product_tags: T.nilable(T::Array[String]),
153
160
  description: String,
@@ -172,6 +179,10 @@ module MetronomeSDK
172
179
  # ID of the customer whose commit is being edited
173
180
  customer_id:,
174
181
  access_schedule: nil,
182
+ # Which contracts the customer-level commit applies to. If set to null, the commit
183
+ # applies to all of the customer's contracts. This field cannot be edited for
184
+ # POSTPAID commits or contract-level commits.
185
+ applicable_contract_ids: nil,
175
186
  # Which products the commit applies to. If applicable_product_ids,
176
187
  # applicable_product_tags or specifiers are not provided, the commit applies to
177
188
  # all products.
@@ -215,6 +226,7 @@ module MetronomeSDK
215
226
  customer_id: String,
216
227
  access_schedule:
217
228
  MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule,
229
+ applicable_contract_ids: T.nilable(T::Array[String]),
218
230
  applicable_product_ids: T.nilable(T::Array[String]),
219
231
  applicable_product_tags: T.nilable(T::Array[String]),
220
232
  description: String,
@@ -40,6 +40,12 @@ module MetronomeSDK
40
40
  end
41
41
  attr_writer :access_schedule
42
42
 
43
+ # Which contracts the customer-level credit applies to. If set to null, the credit
44
+ # applies to all of the customer's contracts. This field cannot be set on a
45
+ # contract-level credit.
46
+ sig { returns(T.nilable(T::Array[String])) }
47
+ attr_accessor :applicable_contract_ids
48
+
43
49
  # Which products the credit applies to. If both applicable_product_ids and
44
50
  # applicable_product_tags are not provided, the credit applies to all products.
45
51
  sig { returns(T.nilable(T::Array[String])) }
@@ -122,6 +128,7 @@ module MetronomeSDK
122
128
  customer_id: String,
123
129
  access_schedule:
124
130
  MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::OrHash,
131
+ applicable_contract_ids: T.nilable(T::Array[String]),
125
132
  applicable_product_ids: T.nilable(T::Array[String]),
126
133
  applicable_product_tags: T.nilable(T::Array[String]),
127
134
  description: String,
@@ -143,6 +150,10 @@ module MetronomeSDK
143
150
  # ID of the customer whose credit is being edited
144
151
  customer_id:,
145
152
  access_schedule: nil,
153
+ # Which contracts the customer-level credit applies to. If set to null, the credit
154
+ # applies to all of the customer's contracts. This field cannot be set on a
155
+ # contract-level credit.
156
+ applicable_contract_ids: nil,
146
157
  # Which products the credit applies to. If both applicable_product_ids and
147
158
  # applicable_product_tags are not provided, the credit applies to all products.
148
159
  applicable_product_ids: nil,
@@ -181,6 +192,7 @@ module MetronomeSDK
181
192
  customer_id: String,
182
193
  access_schedule:
183
194
  MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule,
195
+ applicable_contract_ids: T.nilable(T::Array[String]),
184
196
  applicable_product_ids: T.nilable(T::Array[String]),
185
197
  applicable_product_tags: T.nilable(T::Array[String]),
186
198
  description: String,
@@ -956,10 +956,7 @@ module MetronomeSDK
956
956
  attr_writer :billing_provider
957
957
 
958
958
  sig { returns(T.nilable(String)) }
959
- attr_reader :billing_provider_configuration_id
960
-
961
- sig { params(billing_provider_configuration_id: String).void }
962
- attr_writer :billing_provider_configuration_id
959
+ attr_accessor :billing_provider_configuration_id
963
960
 
964
961
  sig do
965
962
  returns(
@@ -982,7 +979,7 @@ module MetronomeSDK
982
979
  params(
983
980
  billing_provider:
984
981
  MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::OrSymbol,
985
- billing_provider_configuration_id: String,
982
+ billing_provider_configuration_id: T.nilable(String),
986
983
  delivery_method:
987
984
  MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::OrSymbol
988
985
  ).returns(T.attached_class)
@@ -999,7 +996,7 @@ module MetronomeSDK
999
996
  {
1000
997
  billing_provider:
1001
998
  MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::OrSymbol,
1002
- billing_provider_configuration_id: String,
999
+ billing_provider_configuration_id: T.nilable(String),
1003
1000
  delivery_method:
1004
1001
  MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::OrSymbol
1005
1002
  }
@@ -1182,6 +1179,11 @@ module MetronomeSDK
1182
1179
  :START_OF_CURRENT_PERIOD,
1183
1180
  MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
1184
1181
  )
1182
+ START_OF_NEXT_PERIOD =
1183
+ T.let(
1184
+ :START_OF_NEXT_PERIOD,
1185
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
1186
+ )
1185
1187
 
1186
1188
  sig do
1187
1189
  override.returns(
@@ -4338,7 +4340,8 @@ module MetronomeSDK
4338
4340
  # The commits will be created on the usage invoice frequency. If provided: - The
4339
4341
  # period defined in the duration will correspond to this frequency. - Commits will
4340
4342
  # be created aligned with the recurring commit's starting_at rather than the usage
4341
- # invoice dates.
4343
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4344
+ # are unable to be created with seat-based subscriptions
4342
4345
  sig do
4343
4346
  returns(
4344
4347
  T.nilable(
@@ -4482,7 +4485,8 @@ module MetronomeSDK
4482
4485
  # The commits will be created on the usage invoice frequency. If provided: - The
4483
4486
  # period defined in the duration will correspond to this frequency. - Commits will
4484
4487
  # be created aligned with the recurring commit's starting_at rather than the usage
4485
- # invoice dates.
4488
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4489
+ # are unable to be created with seat-based subscriptions
4486
4490
  recurrence_frequency: nil,
4487
4491
  # Will be passed down to the individual commits. This controls how much of an
4488
4492
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -5047,7 +5051,8 @@ module MetronomeSDK
5047
5051
  # The commits will be created on the usage invoice frequency. If provided: - The
5048
5052
  # period defined in the duration will correspond to this frequency. - Commits will
5049
5053
  # be created aligned with the recurring commit's starting_at rather than the usage
5050
- # invoice dates.
5054
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5055
+ # are unable to be created with seat-based subscriptions
5051
5056
  module RecurrenceFrequency
5052
5057
  extend MetronomeSDK::Internal::Type::Enum
5053
5058
 
@@ -5408,7 +5413,8 @@ module MetronomeSDK
5408
5413
  # The commits will be created on the usage invoice frequency. If provided: - The
5409
5414
  # period defined in the duration will correspond to this frequency. - Commits will
5410
5415
  # be created aligned with the recurring commit's starting_at rather than the usage
5411
- # invoice dates.
5416
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5417
+ # are unable to be created with seat-based subscriptions
5412
5418
  sig do
5413
5419
  returns(
5414
5420
  T.nilable(
@@ -5548,7 +5554,8 @@ module MetronomeSDK
5548
5554
  # The commits will be created on the usage invoice frequency. If provided: - The
5549
5555
  # period defined in the duration will correspond to this frequency. - Commits will
5550
5556
  # be created aligned with the recurring commit's starting_at rather than the usage
5551
- # invoice dates.
5557
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5558
+ # are unable to be created with seat-based subscriptions
5552
5559
  recurrence_frequency: nil,
5553
5560
  # Will be passed down to the individual commits. This controls how much of an
5554
5561
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -5962,7 +5969,8 @@ module MetronomeSDK
5962
5969
  # The commits will be created on the usage invoice frequency. If provided: - The
5963
5970
  # period defined in the duration will correspond to this frequency. - Commits will
5964
5971
  # be created aligned with the recurring commit's starting_at rather than the usage
5965
- # invoice dates.
5972
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5973
+ # are unable to be created with seat-based subscriptions
5966
5974
  module RecurrenceFrequency
5967
5975
  extend MetronomeSDK::Internal::Type::Enum
5968
5976
 
@@ -6550,10 +6558,7 @@ module MetronomeSDK
6550
6558
  attr_writer :provider
6551
6559
 
6552
6560
  sig { returns(T.nilable(String)) }
6553
- attr_reader :revenue_system_configuration_id
6554
-
6555
- sig { params(revenue_system_configuration_id: String).void }
6556
- attr_writer :revenue_system_configuration_id
6561
+ attr_accessor :revenue_system_configuration_id
6557
6562
 
6558
6563
  sig do
6559
6564
  params(
@@ -6561,7 +6566,7 @@ module MetronomeSDK
6561
6566
  MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
6562
6567
  provider:
6563
6568
  MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration::Provider::OrSymbol,
6564
- revenue_system_configuration_id: String
6569
+ revenue_system_configuration_id: T.nilable(String)
6565
6570
  ).returns(T.attached_class)
6566
6571
  end
6567
6572
  def self.new(
@@ -6579,7 +6584,7 @@ module MetronomeSDK
6579
6584
  MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
6580
6585
  provider:
6581
6586
  MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration::Provider::OrSymbol,
6582
- revenue_system_configuration_id: String
6587
+ revenue_system_configuration_id: T.nilable(String)
6583
6588
  }
6584
6589
  )
6585
6590
  end
@@ -6719,6 +6724,11 @@ module MetronomeSDK
6719
6724
  :START_OF_CURRENT_PERIOD,
6720
6725
  MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
6721
6726
  )
6727
+ START_OF_NEXT_PERIOD =
6728
+ T.let(
6729
+ :START_OF_NEXT_PERIOD,
6730
+ MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
6731
+ )
6722
6732
 
6723
6733
  sig do
6724
6734
  override.returns(
@@ -2596,7 +2596,8 @@ module MetronomeSDK
2596
2596
  # The commits will be created on the usage invoice frequency. If provided: - The
2597
2597
  # period defined in the duration will correspond to this frequency. - Commits will
2598
2598
  # be created aligned with the recurring commit's starting_at rather than the usage
2599
- # invoice dates.
2599
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2600
+ # are unable to be created with seat-based subscriptions
2600
2601
  sig do
2601
2602
  returns(
2602
2603
  T.nilable(
@@ -2732,7 +2733,8 @@ module MetronomeSDK
2732
2733
  # The commits will be created on the usage invoice frequency. If provided: - The
2733
2734
  # period defined in the duration will correspond to this frequency. - Commits will
2734
2735
  # be created aligned with the recurring commit's starting_at rather than the usage
2735
- # invoice dates.
2736
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2737
+ # are unable to be created with seat-based subscriptions
2736
2738
  recurrence_frequency: nil,
2737
2739
  # Will be passed down to the individual commits. This controls how much of an
2738
2740
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -3341,7 +3343,8 @@ module MetronomeSDK
3341
3343
  # The commits will be created on the usage invoice frequency. If provided: - The
3342
3344
  # period defined in the duration will correspond to this frequency. - Commits will
3343
3345
  # be created aligned with the recurring commit's starting_at rather than the usage
3344
- # invoice dates.
3346
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3347
+ # are unable to be created with seat-based subscriptions
3345
3348
  module RecurrenceFrequency
3346
3349
  extend MetronomeSDK::Internal::Type::Enum
3347
3350
 
@@ -3583,7 +3586,8 @@ module MetronomeSDK
3583
3586
  # The commits will be created on the usage invoice frequency. If provided: - The
3584
3587
  # period defined in the duration will correspond to this frequency. - Commits will
3585
3588
  # be created aligned with the recurring commit's starting_at rather than the usage
3586
- # invoice dates.
3589
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3590
+ # are unable to be created with seat-based subscriptions
3587
3591
  sig do
3588
3592
  returns(
3589
3593
  T.nilable(
@@ -3715,7 +3719,8 @@ module MetronomeSDK
3715
3719
  # The commits will be created on the usage invoice frequency. If provided: - The
3716
3720
  # period defined in the duration will correspond to this frequency. - Commits will
3717
3721
  # be created aligned with the recurring commit's starting_at rather than the usage
3718
- # invoice dates.
3722
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3723
+ # are unable to be created with seat-based subscriptions
3719
3724
  recurrence_frequency: nil,
3720
3725
  # Will be passed down to the individual commits. This controls how much of an
3721
3726
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -4169,7 +4174,8 @@ module MetronomeSDK
4169
4174
  # The commits will be created on the usage invoice frequency. If provided: - The
4170
4175
  # period defined in the duration will correspond to this frequency. - Commits will
4171
4176
  # be created aligned with the recurring commit's starting_at rather than the usage
4172
- # invoice dates.
4177
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4178
+ # are unable to be created with seat-based subscriptions
4173
4179
  module RecurrenceFrequency
4174
4180
  extend MetronomeSDK::Internal::Type::Enum
4175
4181
 
@@ -2537,7 +2537,8 @@ module MetronomeSDK
2537
2537
  # The commits will be created on the usage invoice frequency. If provided: - The
2538
2538
  # period defined in the duration will correspond to this frequency. - Commits will
2539
2539
  # be created aligned with the recurring commit's starting_at rather than the usage
2540
- # invoice dates.
2540
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2541
+ # are unable to be created with seat-based subscriptions
2541
2542
  sig do
2542
2543
  returns(
2543
2544
  T.nilable(
@@ -2671,7 +2672,8 @@ module MetronomeSDK
2671
2672
  # The commits will be created on the usage invoice frequency. If provided: - The
2672
2673
  # period defined in the duration will correspond to this frequency. - Commits will
2673
2674
  # be created aligned with the recurring commit's starting_at rather than the usage
2674
- # invoice dates.
2675
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2676
+ # are unable to be created with seat-based subscriptions
2675
2677
  recurrence_frequency: nil,
2676
2678
  # Will be passed down to the individual commits. This controls how much of an
2677
2679
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -3270,7 +3272,8 @@ module MetronomeSDK
3270
3272
  # The commits will be created on the usage invoice frequency. If provided: - The
3271
3273
  # period defined in the duration will correspond to this frequency. - Commits will
3272
3274
  # be created aligned with the recurring commit's starting_at rather than the usage
3273
- # invoice dates.
3275
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3276
+ # are unable to be created with seat-based subscriptions
3274
3277
  module RecurrenceFrequency
3275
3278
  extend MetronomeSDK::Internal::Type::Enum
3276
3279
 
@@ -3512,7 +3515,8 @@ module MetronomeSDK
3512
3515
  # The commits will be created on the usage invoice frequency. If provided: - The
3513
3516
  # period defined in the duration will correspond to this frequency. - Commits will
3514
3517
  # be created aligned with the recurring commit's starting_at rather than the usage
3515
- # invoice dates.
3518
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3519
+ # are unable to be created with seat-based subscriptions
3516
3520
  sig do
3517
3521
  returns(
3518
3522
  T.nilable(
@@ -3642,7 +3646,8 @@ module MetronomeSDK
3642
3646
  # The commits will be created on the usage invoice frequency. If provided: - The
3643
3647
  # period defined in the duration will correspond to this frequency. - Commits will
3644
3648
  # be created aligned with the recurring commit's starting_at rather than the usage
3645
- # invoice dates.
3649
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3650
+ # are unable to be created with seat-based subscriptions
3646
3651
  recurrence_frequency: nil,
3647
3652
  # Will be passed down to the individual commits. This controls how much of an
3648
3653
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -4090,7 +4095,8 @@ module MetronomeSDK
4090
4095
  # The commits will be created on the usage invoice frequency. If provided: - The
4091
4096
  # period defined in the duration will correspond to this frequency. - Commits will
4092
4097
  # be created aligned with the recurring commit's starting_at rather than the usage
4093
- # invoice dates.
4098
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4099
+ # are unable to be created with seat-based subscriptions
4094
4100
  module RecurrenceFrequency
4095
4101
  extend MetronomeSDK::Internal::Type::Enum
4096
4102
 
@@ -114,24 +114,19 @@ module MetronomeSDK
114
114
  def retrieve(id:, request_options: {})
115
115
  end
116
116
 
117
- # Update the metadata properties of an existing rate card, including its name,
118
- # description, and aliases. This endpoint is designed for managing rate card
119
- # identity and reference aliases rather than modifying pricing rates.
120
- #
121
- # Modifies the descriptive properties and alias configuration of a rate card
122
- # without affecting the underlying pricing rates or schedules. This allows you to
123
- # update how a rate card is identified and referenced throughout your system.
117
+ # Update a rate card's name, description, aliases, and credit type conversion
118
+ # rates. This endpoint does not affect underlying pricing rates or schedules.
124
119
  #
125
120
  # ### Use this endpoint to:
126
121
  #
127
- # - Rate card renaming: Update display names or descriptions for organizational
122
+ # - Rename rate cards: Update display names or descriptions for organizational
128
123
  # clarity
129
- # - Alias management: Add, modify, or schedule alias transitions for seamless rate
130
- # card migrations
131
- # - Documentation updates: Keep rate card descriptions current with business
124
+ # - Manage aliases: Add, modify, or schedule alias transitions for seamless and
125
+ # code-free rate card migrations
126
+ # - Update documentation: Keep rate card descriptions current with business
132
127
  # context
133
- # - Self-serve provisioning setup: Configure aliases to enable code-free rate card
134
- # transitions
128
+ # - Configure custom pricing units: Add credit type conversions to enable rates
129
+ # with different pricing units
135
130
  #
136
131
  # #### Active contract impact:
137
132
  #
@@ -169,6 +164,10 @@ module MetronomeSDK
169
164
  sig do
170
165
  params(
171
166
  rate_card_id: String,
167
+ add_credit_type_conversions:
168
+ T::Array[
169
+ MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion::OrHash
170
+ ],
172
171
  aliases:
173
172
  T::Array[
174
173
  MetronomeSDK::V1::Contracts::RateCardUpdateParams::Alias::OrHash
@@ -183,6 +182,9 @@ module MetronomeSDK
183
182
  def update(
184
183
  # ID of the rate card to update
185
184
  rate_card_id:,
185
+ # Add credit type conversions for using custom pricing units in rates. Existing
186
+ # conversions cannot be modified.
187
+ add_credit_type_conversions: nil,
186
188
  # Reference this alias when creating a contract. If the same alias is assigned to
187
189
  # multiple rate cards, it will reference the rate card to which it was most
188
190
  # recently assigned. It is not exposed to end customers.
@@ -30,16 +30,13 @@ module MetronomeSDK
30
30
  #
31
31
  # - Dashboard types: Choose from `invoices`, `usage`, or `commits_and_credits`
32
32
  # - Customization options:
33
- # - `dashboard_options`: Configure dashboard behavior. For the invoices
34
- # dashboard, supported keys include: `show_zero_usage_line_items`
35
- # ("true"/"false"), `hide_voided_invoices` ("true"/"false"), `contract_id`
36
- # (UUID, filters invoices by contract), `invoice_type` ("USAGE" or
37
- # "SCHEDULED", filters by invoice type), `invoice_status_filter` ("VOID",
38
- # "FINALIZED", "DRAFT", "FINALIZED_AND_DRAFT", or "ALL"), and
39
- # `billable_status_filter` ("BILLABLE", "UNBILLABLE", or "ALL")
33
+ # - `dashboard_options`: Configure dashboard behavior. Supported for the
34
+ # invoices dashboard only. Available keys include:
35
+ # `show_zero_usage_line_items` ("true"/"false"), `contract_id` (UUID, filters
36
+ # invoices by contract), `invoice_type` ("USAGE" or "SCHEDULED", filters by
37
+ # invoice type), and `invoice_status_filter` ("VOID", "FINALIZED", "DRAFT",
38
+ # "FINALIZED_AND_DRAFT", or "ALL")
40
39
  # - `color_overrides`: Match your brand's color palette
41
- # - `bm_group_key_overrides`: Customize how dimensions are displayed (for the
42
- # usage embeddable dashboard)
43
40
  # - Iframe implementation: Embed the returned URL directly in an iframe element
44
41
  # - Responsive design: Dashboards automatically adapt to container dimensions
45
42
  sig do
@@ -318,6 +318,7 @@ module MetronomeSDK
318
318
  customer_id: String,
319
319
  access_schedule:
320
320
  MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::OrHash,
321
+ applicable_contract_ids: T.nilable(T::Array[String]),
321
322
  applicable_product_ids: T.nilable(T::Array[String]),
322
323
  applicable_product_tags: T.nilable(T::Array[String]),
323
324
  description: String,
@@ -342,6 +343,10 @@ module MetronomeSDK
342
343
  # ID of the customer whose commit is being edited
343
344
  customer_id:,
344
345
  access_schedule: nil,
346
+ # Which contracts the customer-level commit applies to. If set to null, the commit
347
+ # applies to all of the customer's contracts. This field cannot be edited for
348
+ # POSTPAID commits or contract-level commits.
349
+ applicable_contract_ids: nil,
345
350
  # Which products the commit applies to. If applicable_product_ids,
346
351
  # applicable_product_tags or specifiers are not provided, the commit applies to
347
352
  # all products.
@@ -400,6 +405,7 @@ module MetronomeSDK
400
405
  customer_id: String,
401
406
  access_schedule:
402
407
  MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::OrHash,
408
+ applicable_contract_ids: T.nilable(T::Array[String]),
403
409
  applicable_product_ids: T.nilable(T::Array[String]),
404
410
  applicable_product_tags: T.nilable(T::Array[String]),
405
411
  description: String,
@@ -421,6 +427,10 @@ module MetronomeSDK
421
427
  # ID of the customer whose credit is being edited
422
428
  customer_id:,
423
429
  access_schedule: nil,
430
+ # Which contracts the customer-level credit applies to. If set to null, the credit
431
+ # applies to all of the customer's contracts. This field cannot be set on a
432
+ # contract-level credit.
433
+ applicable_contract_ids: nil,
424
434
  # Which products the credit applies to. If both applicable_product_ids and
425
435
  # applicable_product_tags are not provided, the credit applies to all products.
426
436
  applicable_product_ids: nil,
@@ -14,6 +14,7 @@ module MetronomeSDK
14
14
  archived_at: Time,
15
15
  balance: Float,
16
16
  contract: MetronomeSDK::Commit::Contract,
17
+ cost_basis: Float,
17
18
  created_by: String,
18
19
  custom_fields: ::Hash[Symbol, String],
19
20
  description: String,
@@ -80,6 +81,10 @@ module MetronomeSDK
80
81
  MetronomeSDK::Commit::Contract
81
82
  ) -> MetronomeSDK::Commit::Contract
82
83
 
84
+ attr_reader cost_basis: Float?
85
+
86
+ def cost_basis=: (Float) -> Float
87
+
83
88
  attr_reader created_by: String?
84
89
 
85
90
  def created_by=: (String) -> String
@@ -187,6 +192,7 @@ module MetronomeSDK
187
192
  ?archived_at: Time,
188
193
  ?balance: Float,
189
194
  ?contract: MetronomeSDK::Commit::Contract,
195
+ ?cost_basis: Float,
190
196
  ?created_by: String,
191
197
  ?custom_fields: ::Hash[Symbol, String],
192
198
  ?description: String,
@@ -221,6 +227,7 @@ module MetronomeSDK
221
227
  archived_at: Time,
222
228
  balance: Float,
223
229
  contract: MetronomeSDK::Commit::Contract,
230
+ cost_basis: Float,
224
231
  created_by: String,
225
232
  custom_fields: ::Hash[Symbol, String],
226
233
  description: String,