metronome-sdk 2.1.0 → 3.0.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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/README.md +10 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +7 -1
  5. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +18 -12
  6. data/lib/metronome_sdk/internal/util.rb +7 -2
  7. data/lib/metronome_sdk/models/commit.rb +69 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +45 -2
  9. data/lib/metronome_sdk/models/credit.rb +69 -1
  10. data/lib/metronome_sdk/models/rate.rb +1 -11
  11. data/lib/metronome_sdk/models/subscription.rb +32 -5
  12. data/lib/metronome_sdk/models/v1/alert_create_params.rb +33 -1
  13. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +10 -1
  14. data/lib/metronome_sdk/models/v1/contract_create_params.rb +136 -20
  15. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -11
  16. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -11
  17. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +1 -11
  18. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +4 -0
  19. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +4 -0
  20. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +4 -0
  21. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +4 -0
  22. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +4 -0
  23. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +4 -0
  24. data/lib/metronome_sdk/models/v1/customer_create_params.rb +94 -2
  25. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_response.rb +111 -0
  26. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +32 -1
  27. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +15 -1
  28. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +15 -1
  29. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +33 -1
  30. data/lib/metronome_sdk/models/v1/customers/invoice.rb +71 -3
  31. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -1
  32. data/lib/metronome_sdk/models/v1/payment.rb +40 -1
  33. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +10 -1
  34. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +1 -0
  35. data/lib/metronome_sdk/models/v1/usage_search_response.rb +6 -3
  36. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +17 -1
  37. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +17 -1
  38. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +285 -22
  39. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +177 -3
  40. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  41. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
  42. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +1 -1
  43. data/lib/metronome_sdk/resources/v1/contracts.rb +6 -2
  44. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
  45. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +8 -4
  46. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +7 -7
  47. data/lib/metronome_sdk/resources/v1/customers/plans.rb +5 -5
  48. data/lib/metronome_sdk/resources/v1/customers.rb +12 -10
  49. data/lib/metronome_sdk/resources/v1/plans.rb +2 -2
  50. data/lib/metronome_sdk/resources/v1/settings.rb +3 -1
  51. data/lib/metronome_sdk/resources/v1/usage.rb +7 -7
  52. data/lib/metronome_sdk/resources/v2/contracts.rb +10 -2
  53. data/lib/metronome_sdk/version.rb +1 -1
  54. data/lib/metronome_sdk.rb +3 -0
  55. data/manifest.yaml +2 -0
  56. data/rbi/metronome_sdk/internal/transport/base_client.rbi +5 -0
  57. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  58. data/rbi/metronome_sdk/internal/type/base_model.rbi +8 -4
  59. data/rbi/metronome_sdk/models/commit.rbi +171 -0
  60. data/rbi/metronome_sdk/models/contract_v2.rbi +85 -6
  61. data/rbi/metronome_sdk/models/credit.rbi +171 -0
  62. data/rbi/metronome_sdk/models/rate.rbi +3 -18
  63. data/rbi/metronome_sdk/models/subscription.rbi +55 -9
  64. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +69 -0
  65. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +288 -24
  67. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +3 -18
  68. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -15
  69. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +3 -18
  70. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +20 -0
  71. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +20 -0
  72. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +20 -0
  73. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +20 -0
  74. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +20 -0
  75. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +20 -0
  76. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +204 -0
  77. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbi +281 -0
  78. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +67 -0
  79. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +18 -0
  80. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +18 -0
  81. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +71 -0
  82. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +121 -0
  83. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -0
  84. data/rbi/metronome_sdk/models/v1/payment.rbi +79 -0
  85. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +13 -0
  86. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +5 -0
  87. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +11 -3
  88. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +22 -0
  89. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +22 -0
  90. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +616 -27
  91. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +367 -3
  92. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  93. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -5
  94. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +1 -1
  95. data/rbi/metronome_sdk/resources/v1/contracts.rbi +9 -0
  96. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  97. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +9 -3
  98. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -7
  99. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +5 -5
  100. data/rbi/metronome_sdk/resources/v1/customers.rbi +15 -8
  101. data/rbi/metronome_sdk/resources/v1/plans.rbi +2 -2
  102. data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
  103. data/rbi/metronome_sdk/resources/v1/usage.rbi +7 -7
  104. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  105. data/sig/metronome_sdk/internal/transport/base_client.rbs +2 -0
  106. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  107. data/sig/metronome_sdk/models/commit.rbs +74 -0
  108. data/sig/metronome_sdk/models/contract_v2.rbs +45 -6
  109. data/sig/metronome_sdk/models/credit.rbs +74 -0
  110. data/sig/metronome_sdk/models/rate.rbs +3 -10
  111. data/sig/metronome_sdk/models/subscription.rbs +22 -3
  112. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +28 -0
  113. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +7 -0
  114. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +104 -0
  115. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +3 -10
  116. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +1 -8
  117. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +3 -10
  118. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +8 -0
  119. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +8 -0
  120. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +8 -0
  121. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +8 -0
  122. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +8 -0
  123. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +8 -0
  124. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +83 -0
  125. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbs +119 -0
  126. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +26 -1
  127. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +14 -0
  128. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -0
  129. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +30 -0
  130. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +64 -0
  131. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -0
  132. data/sig/metronome_sdk/models/v1/payment.rbs +45 -0
  133. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +8 -1
  134. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +3 -1
  135. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +3 -1
  136. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +14 -0
  137. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +14 -0
  138. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +232 -3
  139. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +131 -3
  140. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  141. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
  142. data/sig/metronome_sdk/resources/v1/contracts.rbs +2 -0
  143. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  144. data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +2 -0
  145. data/sig/metronome_sdk/resources/v1/customers.rbs +2 -1
  146. data/sig/metronome_sdk/resources/v1/settings.rbs +1 -0
  147. data/sig/metronome_sdk/resources/v2/contracts.rbs +4 -0
  148. metadata +19 -2
@@ -31,6 +31,18 @@ module MetronomeSDK
31
31
  sig { returns(String) }
32
32
  attr_accessor :billing_provider_customer_id
33
33
 
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :aws_customer_account_id
36
+
37
+ sig { params(aws_customer_account_id: String).void }
38
+ attr_writer :aws_customer_account_id
39
+
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :aws_customer_id
42
+
43
+ sig { params(aws_customer_id: String).void }
44
+ attr_writer :aws_customer_id
45
+
34
46
  sig { returns(T.nilable(String)) }
35
47
  attr_reader :aws_product_code
36
48
 
@@ -79,6 +91,8 @@ module MetronomeSDK
79
91
  billing_provider_type:
80
92
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::BillingProviderType::OrSymbol,
81
93
  billing_provider_customer_id: String,
94
+ aws_customer_account_id: String,
95
+ aws_customer_id: String,
82
96
  aws_product_code: String,
83
97
  aws_region:
84
98
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::AwsRegion::OrSymbol,
@@ -93,6 +107,8 @@ module MetronomeSDK
93
107
  # The customer ID in the billing provider's system. For Azure, this is the
94
108
  # subscription ID.
95
109
  billing_provider_customer_id:,
110
+ aws_customer_account_id: nil,
111
+ aws_customer_id: nil,
96
112
  aws_product_code: nil,
97
113
  aws_region: nil,
98
114
  # The collection method for the customer's invoices. NOTE:
@@ -109,6 +125,8 @@ module MetronomeSDK
109
125
  billing_provider_type:
110
126
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::BillingProviderType::OrSymbol,
111
127
  billing_provider_customer_id: String,
128
+ aws_customer_account_id: String,
129
+ aws_customer_id: String,
112
130
  aws_product_code: String,
113
131
  aws_region:
114
132
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::AwsRegion::OrSymbol,
@@ -57,6 +57,18 @@ module MetronomeSDK
57
57
  )
58
58
  end
59
59
 
60
+ sig { returns(T.nilable(String)) }
61
+ attr_reader :aws_customer_account_id
62
+
63
+ sig { params(aws_customer_account_id: String).void }
64
+ attr_writer :aws_customer_account_id
65
+
66
+ sig { returns(T.nilable(String)) }
67
+ attr_reader :aws_customer_id
68
+
69
+ sig { params(aws_customer_id: String).void }
70
+ attr_writer :aws_customer_id
71
+
60
72
  # Contract expiration date for the customer. The expected format is RFC 3339 and
61
73
  # can be retrieved from
62
74
  # [AWS's GetEntitlements API](https://docs.aws.amazon.com/marketplaceentitlement/latest/APIReference/API_GetEntitlements.html).
@@ -164,6 +176,8 @@ module MetronomeSDK
164
176
 
165
177
  sig do
166
178
  params(
179
+ aws_customer_account_id: String,
180
+ aws_customer_id: String,
167
181
  aws_expiration_date: Time,
168
182
  aws_is_subscription_product: T::Boolean,
169
183
  aws_product_code: String,
@@ -180,6 +194,8 @@ module MetronomeSDK
180
194
  ).returns(T.attached_class)
181
195
  end
182
196
  def self.new(
197
+ aws_customer_account_id: nil,
198
+ aws_customer_id: nil,
183
199
  # Contract expiration date for the customer. The expected format is RFC 3339 and
184
200
  # can be retrieved from
185
201
  # [AWS's GetEntitlements API](https://docs.aws.amazon.com/marketplaceentitlement/latest/APIReference/API_GetEntitlements.html).
@@ -208,6 +224,8 @@ module MetronomeSDK
208
224
  sig do
209
225
  override.returns(
210
226
  {
227
+ aws_customer_account_id: String,
228
+ aws_customer_id: String,
211
229
  aws_expiration_date: Time,
212
230
  aws_is_subscription_product: T::Boolean,
213
231
  aws_product_code: String,
@@ -209,6 +209,25 @@ module MetronomeSDK
209
209
  sig { params(invoice_types_filter: T::Array[String]).void }
210
210
  attr_writer :invoice_types_filter
211
211
 
212
+ # Only present for low_remaining_seat_balance_reached notifications. The seat
213
+ # group key or seat group key-value pair the alert is scoped to.
214
+ sig do
215
+ returns(
216
+ T.nilable(
217
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::SeatFilter
218
+ )
219
+ )
220
+ end
221
+ attr_reader :seat_filter
222
+
223
+ sig do
224
+ params(
225
+ seat_filter:
226
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::SeatFilter::OrHash
227
+ ).void
228
+ end
229
+ attr_writer :seat_filter
230
+
212
231
  # Prevents the creation of duplicates. If a request to create a record is made
213
232
  # with a previously used uniqueness key, a new record will not be created and the
214
233
  # request will fail with a 409 error.
@@ -241,6 +260,8 @@ module MetronomeSDK
241
260
  MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue::OrHash
242
261
  ],
243
262
  invoice_types_filter: T::Array[String],
263
+ seat_filter:
264
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::SeatFilter::OrHash,
244
265
  uniqueness_key: String
245
266
  ).returns(T.attached_class)
246
267
  end
@@ -275,6 +296,9 @@ module MetronomeSDK
275
296
  # Only supported for invoice_total_reached threshold notifications. A list of
276
297
  # invoice types to evaluate.
277
298
  invoice_types_filter: nil,
299
+ # Only present for low_remaining_seat_balance_reached notifications. The seat
300
+ # group key or seat group key-value pair the alert is scoped to.
301
+ seat_filter: nil,
278
302
  # Prevents the creation of duplicates. If a request to create a record is made
279
303
  # with a previously used uniqueness key, a new record will not be created and the
280
304
  # request will fail with a 409 error.
@@ -306,6 +330,8 @@ module MetronomeSDK
306
330
  MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue
307
331
  ],
308
332
  invoice_types_filter: T::Array[String],
333
+ seat_filter:
334
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::SeatFilter,
309
335
  uniqueness_key: String
310
336
  }
311
337
  )
@@ -595,6 +621,51 @@ module MetronomeSDK
595
621
  def to_hash
596
622
  end
597
623
  end
624
+
625
+ class SeatFilter < MetronomeSDK::Internal::Type::BaseModel
626
+ OrHash =
627
+ T.type_alias do
628
+ T.any(
629
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::SeatFilter,
630
+ MetronomeSDK::Internal::AnyHash
631
+ )
632
+ end
633
+
634
+ # The seat group key (e.g., "seat_id", "user_id") that the alert is scoped to.
635
+ sig { returns(String) }
636
+ attr_accessor :seat_group_key
637
+
638
+ # The seat group value that the alert is scoped to.
639
+ sig { returns(T.nilable(String)) }
640
+ attr_reader :seat_group_value
641
+
642
+ sig { params(seat_group_value: String).void }
643
+ attr_writer :seat_group_value
644
+
645
+ # Only present for low_remaining_seat_balance_reached notifications. The seat
646
+ # group key or seat group key-value pair the alert is scoped to.
647
+ sig do
648
+ params(
649
+ seat_group_key: String,
650
+ seat_group_value: String
651
+ ).returns(T.attached_class)
652
+ end
653
+ def self.new(
654
+ # The seat group key (e.g., "seat_id", "user_id") that the alert is scoped to.
655
+ seat_group_key:,
656
+ # The seat group value that the alert is scoped to.
657
+ seat_group_value: nil
658
+ )
659
+ end
660
+
661
+ sig do
662
+ override.returns(
663
+ { seat_group_key: String, seat_group_value: String }
664
+ )
665
+ end
666
+ def to_hash
667
+ end
668
+ end
598
669
  end
599
670
 
600
671
  # The status of the threshold notification. If the notification is archived, null
@@ -238,6 +238,17 @@ module MetronomeSDK
238
238
  end
239
239
  attr_writer :reseller_royalty
240
240
 
241
+ sig do
242
+ returns(
243
+ T.nilable(
244
+ T::Array[
245
+ MetronomeSDK::V1::Customers::Invoice::RevenueSystemInvoice
246
+ ]
247
+ )
248
+ )
249
+ end
250
+ attr_accessor :revenue_system_invoices
251
+
241
252
  # This field's availability is dependent on your client's configuration.
242
253
  sig { returns(T.nilable(String)) }
243
254
  attr_reader :salesforce_opportunity_id
@@ -301,6 +312,12 @@ module MetronomeSDK
301
312
  plan_name: String,
302
313
  reseller_royalty:
303
314
  MetronomeSDK::V1::Customers::Invoice::ResellerRoyalty::OrHash,
315
+ revenue_system_invoices:
316
+ T.nilable(
317
+ T::Array[
318
+ MetronomeSDK::V1::Customers::Invoice::RevenueSystemInvoice::OrHash
319
+ ]
320
+ ),
304
321
  salesforce_opportunity_id: String,
305
322
  start_timestamp: Time,
306
323
  subtotal: Float
@@ -348,6 +365,7 @@ module MetronomeSDK
348
365
  plan_name: nil,
349
366
  # Only present for contract invoices with reseller royalties.
350
367
  reseller_royalty: nil,
368
+ revenue_system_invoices: nil,
351
369
  # This field's availability is dependent on your client's configuration.
352
370
  salesforce_opportunity_id: nil,
353
371
  # Beginning of the usage period this invoice covers (UTC)
@@ -398,6 +416,12 @@ module MetronomeSDK
398
416
  plan_name: String,
399
417
  reseller_royalty:
400
418
  MetronomeSDK::V1::Customers::Invoice::ResellerRoyalty,
419
+ revenue_system_invoices:
420
+ T.nilable(
421
+ T::Array[
422
+ MetronomeSDK::V1::Customers::Invoice::RevenueSystemInvoice
423
+ ]
424
+ ),
401
425
  salesforce_opportunity_id: String,
402
426
  start_timestamp: Time,
403
427
  subtotal: Float
@@ -1648,6 +1672,13 @@ module MetronomeSDK
1648
1672
  sig { params(billing_provider_error: String).void }
1649
1673
  attr_writer :billing_provider_error
1650
1674
 
1675
+ # The ID of the payment in the external system, if available.
1676
+ sig { returns(T.nilable(String)) }
1677
+ attr_reader :external_payment_id
1678
+
1679
+ sig { params(external_payment_id: String).void }
1680
+ attr_writer :external_payment_id
1681
+
1651
1682
  sig do
1652
1683
  returns(
1653
1684
  T.nilable(
@@ -1721,6 +1752,7 @@ module MetronomeSDK
1721
1752
  billing_provider_type:
1722
1753
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::OrSymbol,
1723
1754
  billing_provider_error: String,
1755
+ external_payment_id: String,
1724
1756
  external_status:
1725
1757
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::OrSymbol,
1726
1758
  invoice_id: String,
@@ -1736,6 +1768,8 @@ module MetronomeSDK
1736
1768
  billing_provider_type:,
1737
1769
  # Error message from the billing provider, if available.
1738
1770
  billing_provider_error: nil,
1771
+ # The ID of the payment in the external system, if available.
1772
+ external_payment_id: nil,
1739
1773
  external_status: nil,
1740
1774
  invoice_id: nil,
1741
1775
  # The subtotal amount invoiced, if available from the billing provider.
@@ -1756,6 +1790,7 @@ module MetronomeSDK
1756
1790
  billing_provider_type:
1757
1791
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol,
1758
1792
  billing_provider_error: String,
1793
+ external_payment_id: String,
1759
1794
  external_status:
1760
1795
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol,
1761
1796
  invoice_id: String,
@@ -1867,6 +1902,11 @@ module MetronomeSDK
1867
1902
  :PAID,
1868
1903
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
1869
1904
  )
1905
+ PARTIALLY_PAID =
1906
+ T.let(
1907
+ :PARTIALLY_PAID,
1908
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
1909
+ )
1870
1910
  UNCOLLECTIBLE =
1871
1911
  T.let(
1872
1912
  :UNCOLLECTIBLE,
@@ -2005,6 +2045,13 @@ module MetronomeSDK
2005
2045
  sig { params(billing_provider_error: String).void }
2006
2046
  attr_writer :billing_provider_error
2007
2047
 
2048
+ # The ID of the payment in the external system, if available.
2049
+ sig { returns(T.nilable(String)) }
2050
+ attr_reader :external_payment_id
2051
+
2052
+ sig { params(external_payment_id: String).void }
2053
+ attr_writer :external_payment_id
2054
+
2008
2055
  sig do
2009
2056
  returns(
2010
2057
  T.nilable(
@@ -2078,6 +2125,7 @@ module MetronomeSDK
2078
2125
  billing_provider_type:
2079
2126
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::BillingProviderType::OrSymbol,
2080
2127
  billing_provider_error: String,
2128
+ external_payment_id: String,
2081
2129
  external_status:
2082
2130
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::OrSymbol,
2083
2131
  invoice_id: String,
@@ -2093,6 +2141,8 @@ module MetronomeSDK
2093
2141
  billing_provider_type:,
2094
2142
  # Error message from the billing provider, if available.
2095
2143
  billing_provider_error: nil,
2144
+ # The ID of the payment in the external system, if available.
2145
+ external_payment_id: nil,
2096
2146
  external_status: nil,
2097
2147
  invoice_id: nil,
2098
2148
  # The subtotal amount invoiced, if available from the billing provider.
@@ -2113,6 +2163,7 @@ module MetronomeSDK
2113
2163
  billing_provider_type:
2114
2164
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::BillingProviderType::TaggedSymbol,
2115
2165
  billing_provider_error: String,
2166
+ external_payment_id: String,
2116
2167
  external_status:
2117
2168
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::TaggedSymbol,
2118
2169
  invoice_id: String,
@@ -2224,6 +2275,11 @@ module MetronomeSDK
2224
2275
  :PAID,
2225
2276
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::TaggedSymbol
2226
2277
  )
2278
+ PARTIALLY_PAID =
2279
+ T.let(
2280
+ :PARTIALLY_PAID,
2281
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::TaggedSymbol
2282
+ )
2227
2283
  UNCOLLECTIBLE =
2228
2284
  T.let(
2229
2285
  :UNCOLLECTIBLE,
@@ -2673,6 +2729,71 @@ module MetronomeSDK
2673
2729
  end
2674
2730
  end
2675
2731
  end
2732
+
2733
+ class RevenueSystemInvoice < MetronomeSDK::Internal::Type::BaseModel
2734
+ OrHash =
2735
+ T.type_alias do
2736
+ T.any(
2737
+ MetronomeSDK::V1::Customers::Invoice::RevenueSystemInvoice,
2738
+ MetronomeSDK::Internal::AnyHash
2739
+ )
2740
+ end
2741
+
2742
+ sig { returns(String) }
2743
+ attr_accessor :revenue_system_external_entity_type
2744
+
2745
+ sig { returns(String) }
2746
+ attr_accessor :revenue_system_provider
2747
+
2748
+ sig { returns(String) }
2749
+ attr_accessor :sync_status
2750
+
2751
+ # The error message from the revenue system, if available.
2752
+ sig { returns(T.nilable(String)) }
2753
+ attr_reader :error_message
2754
+
2755
+ sig { params(error_message: String).void }
2756
+ attr_writer :error_message
2757
+
2758
+ sig { returns(T.nilable(String)) }
2759
+ attr_reader :revenue_system_external_entity_id
2760
+
2761
+ sig { params(revenue_system_external_entity_id: String).void }
2762
+ attr_writer :revenue_system_external_entity_id
2763
+
2764
+ sig do
2765
+ params(
2766
+ revenue_system_external_entity_type: String,
2767
+ revenue_system_provider: String,
2768
+ sync_status: String,
2769
+ error_message: String,
2770
+ revenue_system_external_entity_id: String
2771
+ ).returns(T.attached_class)
2772
+ end
2773
+ def self.new(
2774
+ revenue_system_external_entity_type:,
2775
+ revenue_system_provider:,
2776
+ sync_status:,
2777
+ # The error message from the revenue system, if available.
2778
+ error_message: nil,
2779
+ revenue_system_external_entity_id: nil
2780
+ )
2781
+ end
2782
+
2783
+ sig do
2784
+ override.returns(
2785
+ {
2786
+ revenue_system_external_entity_type: String,
2787
+ revenue_system_provider: String,
2788
+ sync_status: String,
2789
+ error_message: String,
2790
+ revenue_system_external_entity_id: String
2791
+ }
2792
+ )
2793
+ end
2794
+ def to_hash
2795
+ end
2796
+ end
2676
2797
  end
2677
2798
  end
2678
2799
  end
@@ -147,6 +147,12 @@ module MetronomeSDK
147
147
  end
148
148
  attr_accessor :adjustment_type
149
149
 
150
+ sig { returns(T.nilable(Float)) }
151
+ attr_reader :quantity
152
+
153
+ sig { params(quantity: Float).void }
154
+ attr_writer :quantity
155
+
150
156
  # Used in pricing tiers. Indicates at what metric value the price applies.
151
157
  sig { returns(T.nilable(Float)) }
152
158
  attr_reader :tier
@@ -164,6 +170,7 @@ module MetronomeSDK
164
170
  params(
165
171
  adjustment_type:
166
172
  MetronomeSDK::Models::V1::Customers::PlanListPriceAdjustmentsResponse::Price::AdjustmentType::OrSymbol,
173
+ quantity: Float,
167
174
  tier: Float,
168
175
  value: Float
169
176
  ).returns(T.attached_class)
@@ -171,6 +178,7 @@ module MetronomeSDK
171
178
  def self.new(
172
179
  # Determines how the value will be applied.
173
180
  adjustment_type:,
181
+ quantity: nil,
174
182
  # Used in pricing tiers. Indicates at what metric value the price applies.
175
183
  tier: nil,
176
184
  value: nil
@@ -182,6 +190,7 @@ module MetronomeSDK
182
190
  {
183
191
  adjustment_type:
184
192
  MetronomeSDK::Models::V1::Customers::PlanListPriceAdjustmentsResponse::Price::AdjustmentType::TaggedSymbol,
193
+ quantity: Float,
185
194
  tier: Float,
186
195
  value: Float
187
196
  }
@@ -72,6 +72,21 @@ module MetronomeSDK
72
72
  end
73
73
  attr_writer :payment_gateway
74
74
 
75
+ sig do
76
+ returns(
77
+ T.nilable(T::Array[MetronomeSDK::V1::Payment::RevenueSystemPayment])
78
+ )
79
+ end
80
+ attr_reader :revenue_system_payments
81
+
82
+ sig do
83
+ params(
84
+ revenue_system_payments:
85
+ T::Array[MetronomeSDK::V1::Payment::RevenueSystemPayment::OrHash]
86
+ ).void
87
+ end
88
+ attr_writer :revenue_system_payments
89
+
75
90
  sig do
76
91
  returns(T.nilable(MetronomeSDK::V1::PaymentStatus::TaggedSymbol))
77
92
  end
@@ -98,6 +113,8 @@ module MetronomeSDK
98
113
  fiat_credit_type: MetronomeSDK::CreditTypeData::OrHash,
99
114
  invoice_id: String,
100
115
  payment_gateway: MetronomeSDK::V1::Payment::PaymentGateway::OrHash,
116
+ revenue_system_payments:
117
+ T::Array[MetronomeSDK::V1::Payment::RevenueSystemPayment::OrHash],
101
118
  status: MetronomeSDK::V1::PaymentStatus::OrSymbol,
102
119
  updated_at: Time
103
120
  ).returns(T.attached_class)
@@ -113,6 +130,7 @@ module MetronomeSDK
113
130
  fiat_credit_type: nil,
114
131
  invoice_id: nil,
115
132
  payment_gateway: nil,
133
+ revenue_system_payments: nil,
116
134
  status: nil,
117
135
  updated_at: nil
118
136
  )
@@ -131,6 +149,8 @@ module MetronomeSDK
131
149
  fiat_credit_type: MetronomeSDK::CreditTypeData,
132
150
  invoice_id: String,
133
151
  payment_gateway: MetronomeSDK::V1::Payment::PaymentGateway,
152
+ revenue_system_payments:
153
+ T::Array[MetronomeSDK::V1::Payment::RevenueSystemPayment],
134
154
  status: MetronomeSDK::V1::PaymentStatus::TaggedSymbol,
135
155
  updated_at: Time
136
156
  }
@@ -318,6 +338,65 @@ module MetronomeSDK
318
338
  end
319
339
  end
320
340
  end
341
+
342
+ class RevenueSystemPayment < MetronomeSDK::Internal::Type::BaseModel
343
+ OrHash =
344
+ T.type_alias do
345
+ T.any(
346
+ MetronomeSDK::V1::Payment::RevenueSystemPayment,
347
+ MetronomeSDK::Internal::AnyHash
348
+ )
349
+ end
350
+
351
+ sig { returns(String) }
352
+ attr_accessor :revenue_system_provider
353
+
354
+ sig { returns(String) }
355
+ attr_accessor :sync_status
356
+
357
+ # The error message from the revenue system, if available.
358
+ sig { returns(T.nilable(String)) }
359
+ attr_reader :error_message
360
+
361
+ sig { params(error_message: String).void }
362
+ attr_writer :error_message
363
+
364
+ sig { returns(T.nilable(String)) }
365
+ attr_reader :revenue_system_external_payment_id
366
+
367
+ sig { params(revenue_system_external_payment_id: String).void }
368
+ attr_writer :revenue_system_external_payment_id
369
+
370
+ sig do
371
+ params(
372
+ revenue_system_provider: String,
373
+ sync_status: String,
374
+ error_message: String,
375
+ revenue_system_external_payment_id: String
376
+ ).returns(T.attached_class)
377
+ end
378
+ def self.new(
379
+ revenue_system_provider:,
380
+ sync_status:,
381
+ # The error message from the revenue system, if available.
382
+ error_message: nil,
383
+ revenue_system_external_payment_id: nil
384
+ )
385
+ end
386
+
387
+ sig do
388
+ override.returns(
389
+ {
390
+ revenue_system_provider: String,
391
+ sync_status: String,
392
+ error_message: String,
393
+ revenue_system_external_payment_id: String
394
+ }
395
+ )
396
+ end
397
+ def to_hash
398
+ end
399
+ end
321
400
  end
322
401
  end
323
402
  end
@@ -36,6 +36,14 @@ module MetronomeSDK
36
36
  sig { returns(T::Array[String]) }
37
37
  attr_accessor :delivery_method_ids
38
38
 
39
+ # Commit transactions if you want Metronome tax calculations used for reporting
40
+ # and tax filings.
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :commit_transactions
43
+
44
+ sig { params(commit_transactions: T::Boolean).void }
45
+ attr_writer :commit_transactions
46
+
39
47
  sig do
40
48
  params(
41
49
  avalara_environment:
@@ -43,6 +51,7 @@ module MetronomeSDK
43
51
  avalara_password: String,
44
52
  avalara_username: String,
45
53
  delivery_method_ids: T::Array[String],
54
+ commit_transactions: T::Boolean,
46
55
  request_options: MetronomeSDK::RequestOptions::OrHash
47
56
  ).returns(T.attached_class)
48
57
  end
@@ -56,6 +65,9 @@ module MetronomeSDK
56
65
  # The delivery method IDs of the billing provider configurations to update, can be
57
66
  # found in the response of the `/listConfiguredBillingProviders` endpoint.
58
67
  delivery_method_ids:,
68
+ # Commit transactions if you want Metronome tax calculations used for reporting
69
+ # and tax filings.
70
+ commit_transactions: nil,
59
71
  request_options: {}
60
72
  )
61
73
  end
@@ -68,6 +80,7 @@ module MetronomeSDK
68
80
  avalara_password: String,
69
81
  avalara_username: String,
70
82
  delivery_method_ids: T::Array[String],
83
+ commit_transactions: T::Boolean,
71
84
  request_options: MetronomeSDK::RequestOptions
72
85
  }
73
86
  )
@@ -99,6 +99,11 @@ module MetronomeSDK
99
99
  :azure_marketplace,
100
100
  MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
101
101
  )
102
+ GCP_MARKETPLACE =
103
+ T.let(
104
+ :gcp_marketplace,
105
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
106
+ )
102
107
 
103
108
  sig do
104
109
  override.returns(
@@ -180,7 +180,8 @@ module MetronomeSDK
180
180
  sig { params(aggregation_key: String).void }
181
181
  attr_writer :aggregation_key
182
182
 
183
- # Specifies the type of aggregation performed on matching events.
183
+ # Specifies the type of aggregation performed on matching events. Includes
184
+ # "custom_sql" for events search endpoint responses.
184
185
  sig do
185
186
  returns(
186
187
  T.nilable(
@@ -296,7 +297,8 @@ module MetronomeSDK
296
297
  # key must be one of the property filter names and is not applicable when the
297
298
  # aggregation type is 'count'.
298
299
  aggregation_key: nil,
299
- # Specifies the type of aggregation performed on matching events.
300
+ # Specifies the type of aggregation performed on matching events. Includes
301
+ # "custom_sql" for events search endpoint responses.
300
302
  aggregation_type: nil,
301
303
  # RFC 3339 timestamp indicating when the billable metric was archived. If not
302
304
  # provided, the billable metric is not archived.
@@ -345,7 +347,8 @@ module MetronomeSDK
345
347
  def to_hash
346
348
  end
347
349
 
348
- # Specifies the type of aggregation performed on matching events.
350
+ # Specifies the type of aggregation performed on matching events. Includes
351
+ # "custom_sql" for events search endpoint responses.
349
352
  module AggregationType
350
353
  extend MetronomeSDK::Internal::Type::Enum
351
354
 
@@ -383,6 +386,11 @@ module MetronomeSDK
383
386
  :UNIQUE,
384
387
  MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
385
388
  )
389
+ CUSTOM_SQL =
390
+ T.let(
391
+ :custom_sql,
392
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
393
+ )
386
394
 
387
395
  sig do
388
396
  override.returns(