metronome-sdk 3.9.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/models/commit.rb +9 -1
  5. data/lib/metronome_sdk/models/contract_v2.rb +29 -12
  6. data/lib/metronome_sdk/models/contract_without_amendments.rb +8 -5
  7. data/lib/metronome_sdk/models/v1/contract_create_params.rb +8 -5
  8. data/lib/metronome_sdk/models/v1/contract_create_response.rb +8 -5
  9. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +27 -1
  10. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +32 -5
  11. data/lib/metronome_sdk/models/v1/package_create_params.rb +8 -4
  12. data/lib/metronome_sdk/models/v1/package_list_response.rb +8 -4
  13. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +8 -4
  14. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -1
  15. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +11 -1
  16. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +12 -8
  17. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +8 -4
  18. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +8 -4
  19. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +11 -14
  20. data/lib/metronome_sdk/resources/v1/dashboards.rb +6 -9
  21. data/lib/metronome_sdk/resources/v2/contracts.rb +6 -2
  22. data/lib/metronome_sdk/version.rb +1 -1
  23. data/rbi/metronome_sdk/models/commit.rbi +11 -0
  24. data/rbi/metronome_sdk/models/contract_v2.rbi +47 -19
  25. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +12 -11
  26. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +12 -11
  27. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +12 -11
  28. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +67 -0
  29. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +96 -5
  30. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +12 -6
  31. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +12 -6
  32. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +12 -6
  33. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +12 -0
  34. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +12 -0
  35. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +18 -18
  36. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +12 -6
  37. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +12 -6
  38. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +15 -13
  39. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +6 -9
  40. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  41. data/sig/metronome_sdk/models/commit.rbs +7 -0
  42. data/sig/metronome_sdk/models/contract_v2.rbs +16 -10
  43. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1 -2
  44. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1 -2
  45. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1 -2
  46. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +28 -0
  47. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +39 -4
  48. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +5 -0
  49. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +5 -0
  50. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +8 -12
  51. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +1 -0
  52. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  53. metadata +2 -2
@@ -4026,7 +4026,8 @@ module MetronomeSDK
4026
4026
  # The commits will be created on the usage invoice frequency. If provided: - The
4027
4027
  # period defined in the duration will correspond to this frequency. - Commits will
4028
4028
  # be created aligned with the recurring commit's starting_at rather than the usage
4029
- # invoice dates.
4029
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4030
+ # are unable to be created with seat-based subscriptions
4030
4031
  sig do
4031
4032
  returns(
4032
4033
  T.nilable(
@@ -4168,7 +4169,8 @@ module MetronomeSDK
4168
4169
  # The commits will be created on the usage invoice frequency. If provided: - The
4169
4170
  # period defined in the duration will correspond to this frequency. - Commits will
4170
4171
  # be created aligned with the recurring commit's starting_at rather than the usage
4171
- # invoice dates.
4172
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4173
+ # are unable to be created with seat-based subscriptions
4172
4174
  recurrence_frequency: nil,
4173
4175
  # Will be passed down to the individual commits. This controls how much of an
4174
4176
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -4735,7 +4737,8 @@ module MetronomeSDK
4735
4737
  # The commits will be created on the usage invoice frequency. If provided: - The
4736
4738
  # period defined in the duration will correspond to this frequency. - Commits will
4737
4739
  # be created aligned with the recurring commit's starting_at rather than the usage
4738
- # invoice dates.
4740
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4741
+ # are unable to be created with seat-based subscriptions
4739
4742
  module RecurrenceFrequency
4740
4743
  extend MetronomeSDK::Internal::Type::Enum
4741
4744
 
@@ -5096,7 +5099,8 @@ module MetronomeSDK
5096
5099
  # The commits will be created on the usage invoice frequency. If provided: - The
5097
5100
  # period defined in the duration will correspond to this frequency. - Commits will
5098
5101
  # be created aligned with the recurring commit's starting_at rather than the usage
5099
- # invoice dates.
5102
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5103
+ # are unable to be created with seat-based subscriptions
5100
5104
  sig do
5101
5105
  returns(
5102
5106
  T.nilable(
@@ -5234,7 +5238,8 @@ module MetronomeSDK
5234
5238
  # The commits will be created on the usage invoice frequency. If provided: - The
5235
5239
  # period defined in the duration will correspond to this frequency. - Commits will
5236
5240
  # be created aligned with the recurring commit's starting_at rather than the usage
5237
- # invoice dates.
5241
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5242
+ # are unable to be created with seat-based subscriptions
5238
5243
  recurrence_frequency: nil,
5239
5244
  # Will be passed down to the individual commits. This controls how much of an
5240
5245
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -5648,7 +5653,8 @@ module MetronomeSDK
5648
5653
  # The commits will be created on the usage invoice frequency. If provided: - The
5649
5654
  # period defined in the duration will correspond to this frequency. - Commits will
5650
5655
  # be created aligned with the recurring commit's starting_at rather than the usage
5651
- # invoice dates.
5656
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5657
+ # are unable to be created with seat-based subscriptions
5652
5658
  module RecurrenceFrequency
5653
5659
  extend MetronomeSDK::Internal::Type::Enum
5654
5660
 
@@ -7959,11 +7965,6 @@ module MetronomeSDK
7959
7965
  end
7960
7966
  OrSymbol = T.type_alias { T.any(Symbol, String) }
7961
7967
 
7962
- SUPERSEDE =
7963
- T.let(
7964
- :SUPERSEDE,
7965
- MetronomeSDK::V1::ContractCreateParams::Transition::Type::TaggedSymbol
7966
- )
7967
7968
  RENEWAL =
7968
7969
  T.let(
7969
7970
  :RENEWAL,
@@ -613,11 +613,6 @@ module MetronomeSDK
613
613
  end
614
614
  OrSymbol = T.type_alias { T.any(Symbol, String) }
615
615
 
616
- SUPERSEDE =
617
- T.let(
618
- :SUPERSEDE,
619
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition::Type::TaggedSymbol
620
- )
621
616
  RENEWAL =
622
617
  T.let(
623
618
  :RENEWAL,
@@ -1295,7 +1290,8 @@ module MetronomeSDK
1295
1290
  # The commits will be created on the usage invoice frequency. If provided: - The
1296
1291
  # period defined in the duration will correspond to this frequency. - Commits will
1297
1292
  # be created aligned with the recurring commit's starting_at rather than the usage
1298
- # invoice dates.
1293
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1294
+ # are unable to be created with seat-based subscriptions
1299
1295
  sig do
1300
1296
  returns(
1301
1297
  T.nilable(
@@ -1431,7 +1427,8 @@ module MetronomeSDK
1431
1427
  # The commits will be created on the usage invoice frequency. If provided: - The
1432
1428
  # period defined in the duration will correspond to this frequency. - Commits will
1433
1429
  # be created aligned with the recurring commit's starting_at rather than the usage
1434
- # invoice dates.
1430
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1431
+ # are unable to be created with seat-based subscriptions
1435
1432
  recurrence_frequency: nil,
1436
1433
  # Will be passed down to the individual commits. This controls how much of an
1437
1434
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -2044,7 +2041,8 @@ module MetronomeSDK
2044
2041
  # The commits will be created on the usage invoice frequency. If provided: - The
2045
2042
  # period defined in the duration will correspond to this frequency. - Commits will
2046
2043
  # be created aligned with the recurring commit's starting_at rather than the usage
2047
- # invoice dates.
2044
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2045
+ # are unable to be created with seat-based subscriptions
2048
2046
  module RecurrenceFrequency
2049
2047
  extend MetronomeSDK::Internal::Type::Enum
2050
2048
 
@@ -2286,7 +2284,8 @@ module MetronomeSDK
2286
2284
  # The commits will be created on the usage invoice frequency. If provided: - The
2287
2285
  # period defined in the duration will correspond to this frequency. - Commits will
2288
2286
  # be created aligned with the recurring commit's starting_at rather than the usage
2289
- # invoice dates.
2287
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2288
+ # are unable to be created with seat-based subscriptions
2290
2289
  sig do
2291
2290
  returns(
2292
2291
  T.nilable(
@@ -2418,7 +2417,8 @@ module MetronomeSDK
2418
2417
  # The commits will be created on the usage invoice frequency. If provided: - The
2419
2418
  # period defined in the duration will correspond to this frequency. - Commits will
2420
2419
  # be created aligned with the recurring commit's starting_at rather than the usage
2421
- # invoice dates.
2420
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2421
+ # are unable to be created with seat-based subscriptions
2422
2422
  recurrence_frequency: nil,
2423
2423
  # Will be passed down to the individual commits. This controls how much of an
2424
2424
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -2874,7 +2874,8 @@ module MetronomeSDK
2874
2874
  # The commits will be created on the usage invoice frequency. If provided: - The
2875
2875
  # period defined in the duration will correspond to this frequency. - Commits will
2876
2876
  # be created aligned with the recurring commit's starting_at rather than the usage
2877
- # invoice dates.
2877
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2878
+ # are unable to be created with seat-based subscriptions
2878
2879
  module RecurrenceFrequency
2879
2880
  extend MetronomeSDK::Internal::Type::Enum
2880
2881
 
@@ -20,6 +20,29 @@ module MetronomeSDK
20
20
  sig { returns(String) }
21
21
  attr_accessor :rate_card_id
22
22
 
23
+ # Add credit type conversions for using custom pricing units in rates. Existing
24
+ # conversions cannot be modified.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ T::Array[
29
+ MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion
30
+ ]
31
+ )
32
+ )
33
+ end
34
+ attr_reader :add_credit_type_conversions
35
+
36
+ sig do
37
+ params(
38
+ add_credit_type_conversions:
39
+ T::Array[
40
+ MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion::OrHash
41
+ ]
42
+ ).void
43
+ end
44
+ attr_writer :add_credit_type_conversions
45
+
23
46
  # Reference this alias when creating a contract. If the same alias is assigned to
24
47
  # multiple rate cards, it will reference the rate card to which it was most
25
48
  # recently assigned. It is not exposed to end customers.
@@ -60,6 +83,10 @@ module MetronomeSDK
60
83
  sig do
61
84
  params(
62
85
  rate_card_id: String,
86
+ add_credit_type_conversions:
87
+ T::Array[
88
+ MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion::OrHash
89
+ ],
63
90
  aliases:
64
91
  T::Array[
65
92
  MetronomeSDK::V1::Contracts::RateCardUpdateParams::Alias::OrHash
@@ -72,6 +99,9 @@ module MetronomeSDK
72
99
  def self.new(
73
100
  # ID of the rate card to update
74
101
  rate_card_id:,
102
+ # Add credit type conversions for using custom pricing units in rates. Existing
103
+ # conversions cannot be modified.
104
+ add_credit_type_conversions: nil,
75
105
  # Reference this alias when creating a contract. If the same alias is assigned to
76
106
  # multiple rate cards, it will reference the rate card to which it was most
77
107
  # recently assigned. It is not exposed to end customers.
@@ -87,6 +117,10 @@ module MetronomeSDK
87
117
  override.returns(
88
118
  {
89
119
  rate_card_id: String,
120
+ add_credit_type_conversions:
121
+ T::Array[
122
+ MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion
123
+ ],
90
124
  aliases:
91
125
  T::Array[
92
126
  MetronomeSDK::V1::Contracts::RateCardUpdateParams::Alias
@@ -100,6 +134,39 @@ module MetronomeSDK
100
134
  def to_hash
101
135
  end
102
136
 
137
+ class AddCreditTypeConversion < MetronomeSDK::Internal::Type::BaseModel
138
+ OrHash =
139
+ T.type_alias do
140
+ T.any(
141
+ MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion,
142
+ MetronomeSDK::Internal::AnyHash
143
+ )
144
+ end
145
+
146
+ sig { returns(String) }
147
+ attr_accessor :custom_credit_type_id
148
+
149
+ sig { returns(Float) }
150
+ attr_accessor :fiat_per_custom_credit
151
+
152
+ sig do
153
+ params(
154
+ custom_credit_type_id: String,
155
+ fiat_per_custom_credit: Float
156
+ ).returns(T.attached_class)
157
+ end
158
+ def self.new(custom_credit_type_id:, fiat_per_custom_credit:)
159
+ end
160
+
161
+ sig do
162
+ override.returns(
163
+ { custom_credit_type_id: String, fiat_per_custom_credit: Float }
164
+ )
165
+ end
166
+ def to_hash
167
+ end
168
+ end
169
+
103
170
  class Alias < MetronomeSDK::Internal::Type::BaseModel
104
171
  OrHash =
105
172
  T.type_alias do
@@ -467,25 +467,116 @@ module MetronomeSDK
467
467
  end
468
468
 
469
469
  # The option key name
470
- sig { returns(String) }
470
+ sig do
471
+ returns(
472
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::OrSymbol
473
+ )
474
+ end
471
475
  attr_accessor :key
472
476
 
473
- # The option value
477
+ # The option value. For show_zero_usage_line_items: "true" or "false" (default
478
+ # "false"). For contract_id: a UUID filtering invoices to a specific contract. For
479
+ # invoice_type: "USAGE" or "SCHEDULED". For invoice_status_filter: "VOID",
480
+ # "FINALIZED", "DRAFT", "FINALIZED_AND_DRAFT", or "ALL". For hide_voided_invoices
481
+ # (deprecated): "true" or "false".
474
482
  sig { returns(String) }
475
483
  attr_accessor :value
476
484
 
477
- sig { params(key: String, value: String).returns(T.attached_class) }
485
+ sig do
486
+ params(
487
+ key:
488
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::OrSymbol,
489
+ value: String
490
+ ).returns(T.attached_class)
491
+ end
478
492
  def self.new(
479
493
  # The option key name
480
494
  key:,
481
- # The option value
495
+ # The option value. For show_zero_usage_line_items: "true" or "false" (default
496
+ # "false"). For contract_id: a UUID filtering invoices to a specific contract. For
497
+ # invoice_type: "USAGE" or "SCHEDULED". For invoice_status_filter: "VOID",
498
+ # "FINALIZED", "DRAFT", "FINALIZED_AND_DRAFT", or "ALL". For hide_voided_invoices
499
+ # (deprecated): "true" or "false".
482
500
  value:
483
501
  )
484
502
  end
485
503
 
486
- sig { override.returns({ key: String, value: String }) }
504
+ sig do
505
+ override.returns(
506
+ {
507
+ key:
508
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::OrSymbol,
509
+ value: String
510
+ }
511
+ )
512
+ end
487
513
  def to_hash
488
514
  end
515
+
516
+ # The option key name
517
+ module Key
518
+ extend MetronomeSDK::Internal::Type::Enum
519
+
520
+ TaggedSymbol =
521
+ T.type_alias do
522
+ T.all(
523
+ Symbol,
524
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key
525
+ )
526
+ end
527
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
528
+
529
+ SHOW_ZERO_USAGE_LINE_ITEMS =
530
+ T.let(
531
+ :show_zero_usage_line_items,
532
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
533
+ )
534
+ CONTRACT_ID =
535
+ T.let(
536
+ :contract_id,
537
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
538
+ )
539
+ INVOICE_TYPE =
540
+ T.let(
541
+ :invoice_type,
542
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
543
+ )
544
+ INVOICE_STATUS_FILTER =
545
+ T.let(
546
+ :invoice_status_filter,
547
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
548
+ )
549
+ HIDE_VOIDED_INVOICES =
550
+ T.let(
551
+ :hide_voided_invoices,
552
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
553
+ )
554
+ BILLABLE_STATUS_FILTER =
555
+ T.let(
556
+ :billable_status_filter,
557
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
558
+ )
559
+ HIDE_GRANT_NAME =
560
+ T.let(
561
+ :hide_grant_name,
562
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
563
+ )
564
+ CREDIT_LEDGER_CREDIT_TYPE_ID =
565
+ T.let(
566
+ :credit_ledger_credit_type_id,
567
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
568
+ )
569
+
570
+ sig do
571
+ override.returns(
572
+ T::Array[
573
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key::TaggedSymbol
574
+ ]
575
+ )
576
+ end
577
+ def self.values
578
+ end
579
+ end
489
580
  end
490
581
  end
491
582
  end
@@ -3219,7 +3219,8 @@ module MetronomeSDK
3219
3219
  # The commits will be created on the usage invoice frequency. If provided: - The
3220
3220
  # period defined in the duration will correspond to this frequency. - Commits will
3221
3221
  # be created aligned with the recurring commit's starting_at rather than the usage
3222
- # invoice dates.
3222
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3223
+ # are unable to be created with seat-based subscriptions
3223
3224
  sig do
3224
3225
  returns(
3225
3226
  T.nilable(
@@ -3358,7 +3359,8 @@ module MetronomeSDK
3358
3359
  # The commits will be created on the usage invoice frequency. If provided: - The
3359
3360
  # period defined in the duration will correspond to this frequency. - Commits will
3360
3361
  # be created aligned with the recurring commit's starting_at rather than the usage
3361
- # invoice dates.
3362
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
3363
+ # are unable to be created with seat-based subscriptions
3362
3364
  recurrence_frequency: nil,
3363
3365
  # Will be passed down to the individual commits. This controls how much of an
3364
3366
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -4100,7 +4102,8 @@ module MetronomeSDK
4100
4102
  # The commits will be created on the usage invoice frequency. If provided: - The
4101
4103
  # period defined in the duration will correspond to this frequency. - Commits will
4102
4104
  # be created aligned with the recurring commit's starting_at rather than the usage
4103
- # invoice dates.
4105
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4106
+ # are unable to be created with seat-based subscriptions
4104
4107
  module RecurrenceFrequency
4105
4108
  extend MetronomeSDK::Internal::Type::Enum
4106
4109
 
@@ -4467,7 +4470,8 @@ module MetronomeSDK
4467
4470
  # The commits will be created on the usage invoice frequency. If provided: - The
4468
4471
  # period defined in the duration will correspond to this frequency. - Commits will
4469
4472
  # be created aligned with the recurring commit's starting_at rather than the usage
4470
- # invoice dates.
4473
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4474
+ # are unable to be created with seat-based subscriptions
4471
4475
  sig do
4472
4476
  returns(
4473
4477
  T.nilable(
@@ -4602,7 +4606,8 @@ module MetronomeSDK
4602
4606
  # The commits will be created on the usage invoice frequency. If provided: - The
4603
4607
  # period defined in the duration will correspond to this frequency. - Commits will
4604
4608
  # be created aligned with the recurring commit's starting_at rather than the usage
4605
- # invoice dates.
4609
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
4610
+ # are unable to be created with seat-based subscriptions
4606
4611
  recurrence_frequency: nil,
4607
4612
  # Will be passed down to the individual commits. This controls how much of an
4608
4613
  # individual unexpired commit will roll over upon contract transition. Must be
@@ -5191,7 +5196,8 @@ module MetronomeSDK
5191
5196
  # The commits will be created on the usage invoice frequency. If provided: - The
5192
5197
  # period defined in the duration will correspond to this frequency. - Commits will
5193
5198
  # be created aligned with the recurring commit's starting_at rather than the usage
5194
- # invoice dates.
5199
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
5200
+ # are unable to be created with seat-based subscriptions
5195
5201
  module RecurrenceFrequency
5196
5202
  extend MetronomeSDK::Internal::Type::Enum
5197
5203
 
@@ -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,