metronome-sdk 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  6. data/lib/metronome_sdk/models/commit.rb +36 -1
  7. data/lib/metronome_sdk/models/contract.rb +140 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +457 -8
  9. data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
  10. data/lib/metronome_sdk/models/credit.rb +10 -1
  11. data/lib/metronome_sdk/models/override.rb +7 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
  13. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
  14. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  15. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  16. data/lib/metronome_sdk/models/subscription.rb +90 -2
  17. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  18. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
  19. data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
  20. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
  21. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  22. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  23. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  25. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  26. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  27. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  28. data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
  29. data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
  30. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
  31. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
  32. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
  33. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
  34. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  36. data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
  37. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  38. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  39. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  40. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  41. data/lib/metronome_sdk/resources/v1.rb +0 -4
  42. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  43. data/lib/metronome_sdk/version.rb +1 -1
  44. data/lib/metronome_sdk.rb +2 -8
  45. data/rbi/metronome_sdk/models/commit.rbi +61 -0
  46. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  47. data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
  48. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
  49. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  50. data/rbi/metronome_sdk/models/override.rbi +9 -0
  51. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
  52. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
  53. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  54. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  55. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  56. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  57. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
  58. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
  59. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
  60. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  61. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  62. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  63. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  64. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  65. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  67. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
  68. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
  69. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
  70. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
  71. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
  72. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
  73. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  74. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  75. data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
  76. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  77. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  78. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  79. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  80. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  81. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  82. data/sig/metronome_sdk/models/commit.rbs +26 -0
  83. data/sig/metronome_sdk/models/contract.rbs +151 -0
  84. data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
  85. data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
  86. data/sig/metronome_sdk/models/credit.rbs +7 -0
  87. data/sig/metronome_sdk/models/override.rbs +7 -0
  88. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  89. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  90. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  91. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  92. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  93. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  94. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
  95. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
  96. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
  97. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  98. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  99. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  100. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  101. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  102. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  103. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  104. data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
  105. data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
  106. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
  107. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
  108. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
  109. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
  110. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  111. data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
  112. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  113. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  114. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  115. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  116. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  117. metadata +8 -26
  118. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  119. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  120. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  121. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  122. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  123. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  124. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  125. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  126. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  127. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  128. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  129. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  130. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  131. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  132. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  133. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  134. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  135. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  136. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  137. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  138. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  139. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  140. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  141. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -446,6 +446,24 @@ module MetronomeSDK
446
446
  end
447
447
  attr_writer :specifiers
448
448
 
449
+ # Optional attributes for spend tracker integration. Immutable after creation.
450
+ sig do
451
+ returns(
452
+ T.nilable(
453
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes
454
+ )
455
+ )
456
+ end
457
+ attr_reader :spend_tracker_attributes
458
+
459
+ sig do
460
+ params(
461
+ spend_tracker_attributes:
462
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes::OrHash
463
+ ).void
464
+ end
465
+ attr_writer :spend_tracker_attributes
466
+
449
467
  # A temporary ID for the commit that can be used to reference the commit for
450
468
  # commit specific overrides.
451
469
  sig { returns(T.nilable(String)) }
@@ -477,6 +495,8 @@ module MetronomeSDK
477
495
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
478
496
  rollover_fraction: Float,
479
497
  specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
498
+ spend_tracker_attributes:
499
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes::OrHash,
480
500
  temporary_id: String
481
501
  ).returns(T.attached_class)
482
502
  end
@@ -523,6 +543,8 @@ module MetronomeSDK
523
543
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
524
544
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
525
545
  specifiers: nil,
546
+ # Optional attributes for spend tracker integration. Immutable after creation.
547
+ spend_tracker_attributes: nil,
526
548
  # A temporary ID for the commit that can be used to reference the commit for
527
549
  # commit specific overrides.
528
550
  temporary_id: nil
@@ -553,6 +575,8 @@ module MetronomeSDK
553
575
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
554
576
  rollover_fraction: Float,
555
577
  specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
578
+ spend_tracker_attributes:
579
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
556
580
  temporary_id: String
557
581
  }
558
582
  )
@@ -1124,6 +1148,36 @@ module MetronomeSDK
1124
1148
  def self.values
1125
1149
  end
1126
1150
  end
1151
+
1152
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
1153
+ OrHash =
1154
+ T.type_alias do
1155
+ T.any(
1156
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
1157
+ MetronomeSDK::Internal::AnyHash
1158
+ )
1159
+ end
1160
+
1161
+ # If true, this commit will be included in spend trackers with discounted set to
1162
+ # DISCOUNTED_ONLY
1163
+ sig { returns(T::Boolean) }
1164
+ attr_accessor :counts_as_discounted
1165
+
1166
+ # Optional attributes for spend tracker integration. Immutable after creation.
1167
+ sig do
1168
+ params(counts_as_discounted: T::Boolean).returns(T.attached_class)
1169
+ end
1170
+ def self.new(
1171
+ # If true, this commit will be included in spend trackers with discounted set to
1172
+ # DISCOUNTED_ONLY
1173
+ counts_as_discounted:
1174
+ )
1175
+ end
1176
+
1177
+ sig { override.returns({ counts_as_discounted: T::Boolean }) }
1178
+ def to_hash
1179
+ end
1180
+ end
1127
1181
  end
1128
1182
 
1129
1183
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -1985,9 +2039,10 @@ module MetronomeSDK
1985
2039
  attr_writer :entitled
1986
2040
 
1987
2041
  # Indicates whether the override should only apply to commits. Defaults to
1988
- # `false`. If `true`, you can specify relevant commits in `override_specifiers` by
1989
- # passing `commit_ids`. if you do not specify `commit_ids`, then the override will
1990
- # apply when consuming any prepaid or postpaid commit.
2042
+ # `false`. If `true` you can specify relevant commits in `override_specifiers` by
2043
+ # passing `commit_ids`, `recurring_commit_ids`, or `any_commit_or_credit_ids`. If
2044
+ # you do not specify any of these fields, the override will apply when consuming
2045
+ # any prepaid commit, postpaid commit, or credit
1991
2046
  sig { returns(T.nilable(T::Boolean)) }
1992
2047
  attr_reader :is_commit_specific
1993
2048
 
@@ -2154,9 +2209,10 @@ module MetronomeSDK
2154
2209
  ending_before: nil,
2155
2210
  entitled: nil,
2156
2211
  # Indicates whether the override should only apply to commits. Defaults to
2157
- # `false`. If `true`, you can specify relevant commits in `override_specifiers` by
2158
- # passing `commit_ids`. if you do not specify `commit_ids`, then the override will
2159
- # apply when consuming any prepaid or postpaid commit.
2212
+ # `false`. If `true` you can specify relevant commits in `override_specifiers` by
2213
+ # passing `commit_ids`, `recurring_commit_ids`, or `any_commit_or_credit_ids`. If
2214
+ # you do not specify any of these fields, the override will apply when consuming
2215
+ # any prepaid commit, postpaid commit, or credit
2160
2216
  is_commit_specific: nil,
2161
2217
  # Required for MULTIPLIER type. Must be >=0.
2162
2218
  multiplier: nil,
@@ -2224,6 +2280,17 @@ module MetronomeSDK
2224
2280
  )
2225
2281
  end
2226
2282
 
2283
+ # Can only be used for commit specific overrides. Must be used in conjunction with
2284
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2285
+ # `presentation_group_values`. Must be used instead of both `commit_ids` and
2286
+ # `recurring_commit_ids` If provided, the override will apply to any specified
2287
+ # commit, credit, recurring commit or recurring credit IDs.
2288
+ sig { returns(T.nilable(T::Array[String])) }
2289
+ attr_reader :any_commit_or_credit_ids
2290
+
2291
+ sig { params(any_commit_or_credit_ids: T::Array[String]).void }
2292
+ attr_writer :any_commit_or_credit_ids
2293
+
2227
2294
  sig do
2228
2295
  returns(
2229
2296
  T.nilable(
@@ -2296,6 +2363,7 @@ module MetronomeSDK
2296
2363
 
2297
2364
  sig do
2298
2365
  params(
2366
+ any_commit_or_credit_ids: T::Array[String],
2299
2367
  billing_frequency:
2300
2368
  MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
2301
2369
  commit_ids: T::Array[String],
@@ -2307,6 +2375,12 @@ module MetronomeSDK
2307
2375
  ).returns(T.attached_class)
2308
2376
  end
2309
2377
  def self.new(
2378
+ # Can only be used for commit specific overrides. Must be used in conjunction with
2379
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2380
+ # `presentation_group_values`. Must be used instead of both `commit_ids` and
2381
+ # `recurring_commit_ids` If provided, the override will apply to any specified
2382
+ # commit, credit, recurring commit or recurring credit IDs.
2383
+ any_commit_or_credit_ids: nil,
2310
2384
  billing_frequency: nil,
2311
2385
  # Can only be used for commit specific overrides. Must be used in conjunction with
2312
2386
  # one of `product_id`, `product_tags`, `pricing_group_values`, or
@@ -2335,6 +2409,7 @@ module MetronomeSDK
2335
2409
  sig do
2336
2410
  override.returns(
2337
2411
  {
2412
+ any_commit_or_credit_ids: T::Array[String],
2338
2413
  billing_frequency:
2339
2414
  MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
2340
2415
  commit_ids: T::Array[String],