metronome-sdk 1.0.0 → 2.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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +1 -1
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +1 -1
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +11 -7
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +7 -10
  11. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  12. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  13. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  14. data/lib/metronome_sdk/internal/util.rb +8 -7
  15. data/lib/metronome_sdk/models/contract_v2.rb +256 -6
  16. data/lib/metronome_sdk/models/contract_without_amendments.rb +2 -2
  17. data/lib/metronome_sdk/models/hierarchy_configuration.rb +99 -2
  18. data/lib/metronome_sdk/models/payment_gate_config.rb +1 -0
  19. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +1 -0
  20. data/lib/metronome_sdk/models/subscription.rb +85 -1
  21. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  22. data/lib/metronome_sdk/models/v1/alert_create_params.rb +38 -36
  23. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/contract_create_params.rb +101 -3
  25. data/lib/metronome_sdk/models/v1/customer_detail.rb +9 -1
  26. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +5 -15
  27. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  28. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -3
  29. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  30. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +12 -12
  31. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +40 -38
  32. data/lib/metronome_sdk/models/v1/customers/invoice.rb +136 -18
  33. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  34. data/lib/metronome_sdk/models/v1/payment.rb +151 -0
  35. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  36. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  37. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  38. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  39. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  40. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  41. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +9 -1
  42. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +9 -1
  43. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +186 -3
  44. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +195 -8
  45. data/lib/metronome_sdk/resources/v1/alerts.rb +57 -53
  46. data/lib/metronome_sdk/resources/v1/contracts.rb +4 -3
  47. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +70 -51
  48. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +55 -0
  49. data/lib/metronome_sdk/resources/v1/customers.rb +7 -4
  50. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  51. data/lib/metronome_sdk/resources/v1/usage.rb +4 -2
  52. data/lib/metronome_sdk/resources/v1.rb +4 -0
  53. data/lib/metronome_sdk/resources/v2/contracts.rb +9 -3
  54. data/lib/metronome_sdk/version.rb +1 -1
  55. data/lib/metronome_sdk.rb +9 -0
  56. data/rbi/metronome_sdk/errors.rbi +29 -2
  57. data/rbi/metronome_sdk/file_part.rbi +1 -1
  58. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  59. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  60. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  61. data/rbi/metronome_sdk/models/contract_v2.rbi +603 -10
  62. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2 -2
  63. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +250 -6
  64. data/rbi/metronome_sdk/models/payment_gate_config.rbi +5 -0
  65. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +5 -0
  66. data/rbi/metronome_sdk/models/subscription.rbi +175 -0
  67. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  68. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +51 -47
  69. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +5 -0
  70. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +257 -4
  71. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +8 -0
  72. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
  73. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  74. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  75. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  76. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +14 -14
  77. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +48 -44
  78. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +246 -58
  79. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  80. data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
  81. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  82. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  83. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  84. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  85. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  86. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  87. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +18 -0
  88. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +18 -0
  89. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +498 -6
  90. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +462 -14
  91. data/rbi/metronome_sdk/resources/v1/alerts.rbi +68 -64
  92. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
  93. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +73 -54
  94. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -0
  95. data/rbi/metronome_sdk/resources/v1/customers.rbi +7 -4
  96. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  97. data/rbi/metronome_sdk/resources/v1/usage.rbi +4 -2
  98. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  99. data/rbi/metronome_sdk/resources/v2/contracts.rbi +14 -0
  100. data/sig/metronome_sdk/errors.rbs +7 -0
  101. data/sig/metronome_sdk/file_part.rbs +1 -1
  102. data/sig/metronome_sdk/models/contract_v2.rbs +239 -12
  103. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +87 -6
  104. data/sig/metronome_sdk/models/payment_gate_config.rbs +2 -1
  105. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +2 -1
  106. data/sig/metronome_sdk/models/subscription.rbs +80 -0
  107. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +2 -1
  108. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +91 -5
  109. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  110. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  111. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  112. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
  113. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  114. data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
  115. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  116. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  117. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  118. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  119. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  120. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  121. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +9 -0
  122. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +9 -0
  123. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +182 -7
  124. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +221 -18
  125. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  126. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  127. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  128. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -0
  129. metadata +29 -2
@@ -2,6 +2,7 @@ module MetronomeSDK
2
2
  module Models
3
3
  type subscription =
4
4
  {
5
+ billing_periods: MetronomeSDK::Subscription::BillingPeriods,
5
6
  collection_schedule: MetronomeSDK::Models::Subscription::collection_schedule,
6
7
  proration: MetronomeSDK::Subscription::Proration,
7
8
  quantity_management_mode: MetronomeSDK::Models::Subscription::quantity_management_mode,
@@ -17,6 +18,8 @@ module MetronomeSDK
17
18
  }
18
19
 
19
20
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
21
+ attr_accessor billing_periods: MetronomeSDK::Subscription::BillingPeriods
22
+
20
23
  attr_accessor collection_schedule: MetronomeSDK::Models::Subscription::collection_schedule
21
24
 
22
25
  attr_accessor proration: MetronomeSDK::Subscription::Proration
@@ -54,6 +57,7 @@ module MetronomeSDK
54
57
  def name=: (String) -> String
55
58
 
56
59
  def initialize: (
60
+ billing_periods: MetronomeSDK::Subscription::BillingPeriods,
57
61
  collection_schedule: MetronomeSDK::Models::Subscription::collection_schedule,
58
62
  proration: MetronomeSDK::Subscription::Proration,
59
63
  quantity_management_mode: MetronomeSDK::Models::Subscription::quantity_management_mode,
@@ -69,6 +73,7 @@ module MetronomeSDK
69
73
  ) -> void
70
74
 
71
75
  def to_hash: -> {
76
+ billing_periods: MetronomeSDK::Subscription::BillingPeriods,
72
77
  collection_schedule: MetronomeSDK::Models::Subscription::collection_schedule,
73
78
  proration: MetronomeSDK::Subscription::Proration,
74
79
  quantity_management_mode: MetronomeSDK::Models::Subscription::quantity_management_mode,
@@ -83,6 +88,81 @@ module MetronomeSDK
83
88
  name: String
84
89
  }
85
90
 
91
+ type billing_periods =
92
+ {
93
+ current: MetronomeSDK::Subscription::BillingPeriods::Current,
94
+ next_: MetronomeSDK::Subscription::BillingPeriods::Next,
95
+ previous: MetronomeSDK::Subscription::BillingPeriods::Previous
96
+ }
97
+
98
+ class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
99
+ attr_reader current: MetronomeSDK::Subscription::BillingPeriods::Current?
100
+
101
+ def current=: (
102
+ MetronomeSDK::Subscription::BillingPeriods::Current
103
+ ) -> MetronomeSDK::Subscription::BillingPeriods::Current
104
+
105
+ attr_reader next_: MetronomeSDK::Subscription::BillingPeriods::Next?
106
+
107
+ def next_=: (
108
+ MetronomeSDK::Subscription::BillingPeriods::Next
109
+ ) -> MetronomeSDK::Subscription::BillingPeriods::Next
110
+
111
+ attr_reader previous: MetronomeSDK::Subscription::BillingPeriods::Previous?
112
+
113
+ def previous=: (
114
+ MetronomeSDK::Subscription::BillingPeriods::Previous
115
+ ) -> MetronomeSDK::Subscription::BillingPeriods::Previous
116
+
117
+ def initialize: (
118
+ ?current: MetronomeSDK::Subscription::BillingPeriods::Current,
119
+ ?next_: MetronomeSDK::Subscription::BillingPeriods::Next,
120
+ ?previous: MetronomeSDK::Subscription::BillingPeriods::Previous
121
+ ) -> void
122
+
123
+ def to_hash: -> {
124
+ current: MetronomeSDK::Subscription::BillingPeriods::Current,
125
+ next_: MetronomeSDK::Subscription::BillingPeriods::Next,
126
+ previous: MetronomeSDK::Subscription::BillingPeriods::Previous
127
+ }
128
+
129
+ type current = { ending_before: Time, starting_at: Time }
130
+
131
+ class Current < MetronomeSDK::Internal::Type::BaseModel
132
+ attr_accessor ending_before: Time
133
+
134
+ attr_accessor starting_at: Time
135
+
136
+ def initialize: (ending_before: Time, starting_at: Time) -> void
137
+
138
+ def to_hash: -> { ending_before: Time, starting_at: Time }
139
+ end
140
+
141
+ type next_ = { ending_before: Time, starting_at: Time }
142
+
143
+ class Next < MetronomeSDK::Internal::Type::BaseModel
144
+ attr_accessor ending_before: Time
145
+
146
+ attr_accessor starting_at: Time
147
+
148
+ def initialize: (ending_before: Time, starting_at: Time) -> void
149
+
150
+ def to_hash: -> { ending_before: Time, starting_at: Time }
151
+ end
152
+
153
+ type previous = { ending_before: Time, starting_at: Time }
154
+
155
+ class Previous < MetronomeSDK::Internal::Type::BaseModel
156
+ attr_accessor ending_before: Time
157
+
158
+ attr_accessor starting_at: Time
159
+
160
+ def initialize: (ending_before: Time, starting_at: Time) -> void
161
+
162
+ def to_hash: -> { ending_before: Time, starting_at: Time }
163
+ end
164
+ end
165
+
86
166
  type collection_schedule = :ADVANCE | :ARREARS
87
167
 
88
168
  module CollectionSchedule
@@ -601,7 +601,7 @@ module MetronomeSDK
601
601
  end
602
602
  end
603
603
 
604
- type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
604
+ type tax_type = :NONE | :STRIPE | :ANROK | :AVALARA | :PRECALCULATED
605
605
 
606
606
  module TaxType
607
607
  extend MetronomeSDK::Internal::Type::Enum
@@ -609,6 +609,7 @@ module MetronomeSDK
609
609
  NONE: :NONE
610
610
  STRIPE: :STRIPE
611
611
  ANROK: :ANROK
612
+ AVALARA: :AVALARA
612
613
  PRECALCULATED: :PRECALCULATED
613
614
 
614
615
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type]
@@ -823,7 +823,7 @@ module MetronomeSDK
823
823
  end
824
824
  end
825
825
 
826
- type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
826
+ type tax_type = :NONE | :STRIPE | :ANROK | :AVALARA | :PRECALCULATED
827
827
 
828
828
  module TaxType
829
829
  extend MetronomeSDK::Internal::Type::Enum
@@ -831,6 +831,7 @@ module MetronomeSDK
831
831
  NONE: :NONE
832
832
  STRIPE: :STRIPE
833
833
  ANROK: :ANROK
834
+ AVALARA: :AVALARA
834
835
  PRECALCULATED: :PRECALCULATED
835
836
 
836
837
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type]
@@ -1210,18 +1211,49 @@ module MetronomeSDK
1210
1211
 
1211
1212
  type hierarchy_configuration =
1212
1213
  {
1213
- parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1214
+ parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent,
1215
+ parent_behavior: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior,
1216
+ payer: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer,
1217
+ usage_statement_behavior: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior
1214
1218
  }
1215
1219
 
1216
1220
  class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1217
- attr_accessor parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1221
+ attr_reader parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent?
1222
+
1223
+ def parent=: (
1224
+ MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1225
+ ) -> MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1226
+
1227
+ attr_reader parent_behavior: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior?
1228
+
1229
+ def parent_behavior=: (
1230
+ MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior
1231
+ ) -> MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior
1232
+
1233
+ attr_reader payer: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer?
1234
+
1235
+ def payer=: (
1236
+ MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer
1237
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer
1238
+
1239
+ attr_reader usage_statement_behavior: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior?
1240
+
1241
+ def usage_statement_behavior=: (
1242
+ MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior
1243
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior
1218
1244
 
1219
1245
  def initialize: (
1220
- parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1246
+ ?parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent,
1247
+ ?parent_behavior: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior,
1248
+ ?payer: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer,
1249
+ ?usage_statement_behavior: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior
1221
1250
  ) -> void
1222
1251
 
1223
1252
  def to_hash: -> {
1224
- parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1253
+ parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent,
1254
+ parent_behavior: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior,
1255
+ payer: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer,
1256
+ usage_statement_behavior: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior
1225
1257
  }
1226
1258
 
1227
1259
  type parent = { contract_id: String, customer_id: String }
@@ -1235,6 +1267,60 @@ module MetronomeSDK
1235
1267
 
1236
1268
  def to_hash: -> { contract_id: String, customer_id: String }
1237
1269
  end
1270
+
1271
+ type parent_behavior =
1272
+ {
1273
+ invoice_consolidation_type: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type
1274
+ }
1275
+
1276
+ class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
1277
+ attr_reader invoice_consolidation_type: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type?
1278
+
1279
+ def invoice_consolidation_type=: (
1280
+ MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type
1281
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type
1282
+
1283
+ def initialize: (
1284
+ ?invoice_consolidation_type: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type
1285
+ ) -> void
1286
+
1287
+ def to_hash: -> {
1288
+ invoice_consolidation_type: MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type
1289
+ }
1290
+
1291
+ type invoice_consolidation_type = :CONCATENATE | :NONE
1292
+
1293
+ module InvoiceConsolidationType
1294
+ extend MetronomeSDK::Internal::Type::Enum
1295
+
1296
+ CONCATENATE: :CONCATENATE
1297
+ NONE: :NONE
1298
+
1299
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::ParentBehavior::invoice_consolidation_type]
1300
+ end
1301
+ end
1302
+
1303
+ type payer = :SELF | :PARENT
1304
+
1305
+ module Payer
1306
+ extend MetronomeSDK::Internal::Type::Enum
1307
+
1308
+ SELF: :SELF
1309
+ PARENT: :PARENT
1310
+
1311
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::payer]
1312
+ end
1313
+
1314
+ type usage_statement_behavior = :CONSOLIDATE | :SEPARATE
1315
+
1316
+ module UsageStatementBehavior
1317
+ extend MetronomeSDK::Internal::Type::Enum
1318
+
1319
+ CONSOLIDATE: :CONSOLIDATE
1320
+ SEPARATE: :SEPARATE
1321
+
1322
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::usage_statement_behavior]
1323
+ end
1238
1324
  end
1239
1325
 
1240
1326
  type multiplier_override_prioritization = :LOWEST_MULTIPLIER | :EXPLICIT
@@ -10,6 +10,7 @@ module MetronomeSDK
10
10
  external_id: String,
11
11
  ingest_aliases: ::Array[String],
12
12
  name: String,
13
+ updated_at: Time,
13
14
  archived_at: Time?,
14
15
  current_billable_status: MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus
15
16
  }
@@ -29,6 +30,8 @@ module MetronomeSDK
29
30
 
30
31
  attr_accessor name: String
31
32
 
33
+ attr_accessor updated_at: Time
34
+
32
35
  attr_accessor archived_at: Time?
33
36
 
34
37
  attr_reader current_billable_status: MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus?
@@ -45,6 +48,7 @@ module MetronomeSDK
45
48
  external_id: String,
46
49
  ingest_aliases: ::Array[String],
47
50
  name: String,
51
+ updated_at: Time,
48
52
  ?archived_at: Time?,
49
53
  ?current_billable_status: MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus
50
54
  ) -> void
@@ -57,6 +61,7 @@ module MetronomeSDK
57
61
  external_id: String,
58
62
  ingest_aliases: ::Array[String],
59
63
  name: String,
64
+ updated_at: Time,
60
65
  archived_at: Time?,
61
66
  current_billable_status: MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus
62
67
  }
@@ -47,7 +47,6 @@ module MetronomeSDK
47
47
  type event =
48
48
  {
49
49
  event_type: String,
50
- customer_id: String,
51
50
  properties: ::Hash[Symbol, top],
52
51
  timestamp: String,
53
52
  transaction_id: String
@@ -56,10 +55,6 @@ module MetronomeSDK
56
55
  class Event < MetronomeSDK::Internal::Type::BaseModel
57
56
  attr_accessor event_type: String
58
57
 
59
- attr_reader customer_id: String?
60
-
61
- def customer_id=: (String) -> String
62
-
63
58
  attr_reader properties: ::Hash[Symbol, top]?
64
59
 
65
60
  def properties=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
@@ -74,7 +69,6 @@ module MetronomeSDK
74
69
 
75
70
  def initialize: (
76
71
  event_type: String,
77
- ?customer_id: String,
78
72
  ?properties: ::Hash[Symbol, top],
79
73
  ?timestamp: String,
80
74
  ?transaction_id: String
@@ -82,7 +76,6 @@ module MetronomeSDK
82
76
 
83
77
  def to_hash: -> {
84
78
  event_type: String,
85
- customer_id: String,
86
79
  properties: ::Hash[Symbol, top],
87
80
  timestamp: String,
88
81
  transaction_id: String
@@ -2,14 +2,16 @@ module MetronomeSDK
2
2
  module Models
3
3
  module V1
4
4
  type customer_preview_events_response =
5
- { data: MetronomeSDK::V1::Customers::Invoice }
5
+ { data: ::Array[MetronomeSDK::V1::Customers::Invoice] }
6
6
 
7
7
  class CustomerPreviewEventsResponse < MetronomeSDK::Internal::Type::BaseModel
8
- attr_accessor data: MetronomeSDK::V1::Customers::Invoice
8
+ attr_accessor data: ::Array[MetronomeSDK::V1::Customers::Invoice]
9
9
 
10
- def initialize: (data: MetronomeSDK::V1::Customers::Invoice) -> void
10
+ def initialize: (
11
+ data: ::Array[MetronomeSDK::V1::Customers::Invoice]
12
+ ) -> void
11
13
 
12
- def to_hash: -> { data: MetronomeSDK::V1::Customers::Invoice }
14
+ def to_hash: -> { data: ::Array[MetronomeSDK::V1::Customers::Invoice] }
13
15
  end
14
16
  end
15
17
  end
@@ -12,7 +12,7 @@ module MetronomeSDK
12
12
  total: Float,
13
13
  type: String,
14
14
  amendment_id: String,
15
- billable_status: MetronomeSDK::Models::V1::Customers::Invoice::billable_status,
15
+ billable_status: top,
16
16
  contract_custom_fields: ::Hash[Symbol, String],
17
17
  contract_id: String,
18
18
  correction_record: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord,
@@ -53,11 +53,9 @@ module MetronomeSDK
53
53
 
54
54
  def amendment_id=: (String) -> String
55
55
 
56
- attr_reader billable_status: MetronomeSDK::Models::V1::Customers::Invoice::billable_status?
56
+ attr_reader billable_status: top?
57
57
 
58
- def billable_status=: (
59
- MetronomeSDK::Models::V1::Customers::Invoice::billable_status
60
- ) -> MetronomeSDK::Models::V1::Customers::Invoice::billable_status
58
+ def billable_status=: (top) -> top
61
59
 
62
60
  attr_reader contract_custom_fields: ::Hash[Symbol, String]?
63
61
 
@@ -154,7 +152,7 @@ module MetronomeSDK
154
152
  total: Float,
155
153
  type: String,
156
154
  ?amendment_id: String,
157
- ?billable_status: MetronomeSDK::Models::V1::Customers::Invoice::billable_status,
155
+ ?billable_status: top,
158
156
  ?contract_custom_fields: ::Hash[Symbol, String],
159
157
  ?contract_id: String,
160
158
  ?correction_record: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord,
@@ -185,7 +183,7 @@ module MetronomeSDK
185
183
  total: Float,
186
184
  type: String,
187
185
  amendment_id: String,
188
- billable_status: MetronomeSDK::Models::V1::Customers::Invoice::billable_status,
186
+ billable_status: top,
189
187
  contract_custom_fields: ::Hash[Symbol, String],
190
188
  contract_id: String,
191
189
  correction_record: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord,
@@ -738,17 +736,6 @@ module MetronomeSDK
738
736
  end
739
737
  end
740
738
 
741
- type billable_status = :billable | :unbillable
742
-
743
- module BillableStatus
744
- extend MetronomeSDK::Internal::Type::Enum
745
-
746
- BILLABLE: :billable
747
- UNBILLABLE: :unbillable
748
-
749
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::Customers::Invoice::billable_status]
750
- end
751
-
752
739
  type correction_record =
753
740
  {
754
741
  corrected_invoice_id: String,
@@ -789,7 +776,11 @@ module MetronomeSDK
789
776
  billing_provider_type: MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::billing_provider_type,
790
777
  external_status: MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::external_status,
791
778
  invoice_id: String,
792
- issued_at_timestamp: Time
779
+ invoiced_sub_total: Float,
780
+ invoiced_total: Float,
781
+ issued_at_timestamp: Time,
782
+ pdf_url: String,
783
+ tax: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
793
784
  }
794
785
 
795
786
  class CorrectedExternalInvoice < MetronomeSDK::Internal::Type::BaseModel
@@ -805,22 +796,48 @@ module MetronomeSDK
805
796
 
806
797
  def invoice_id=: (String) -> String
807
798
 
799
+ attr_reader invoiced_sub_total: Float?
800
+
801
+ def invoiced_sub_total=: (Float) -> Float
802
+
803
+ attr_reader invoiced_total: Float?
804
+
805
+ def invoiced_total=: (Float) -> Float
806
+
808
807
  attr_reader issued_at_timestamp: Time?
809
808
 
810
809
  def issued_at_timestamp=: (Time) -> Time
811
810
 
811
+ attr_reader pdf_url: String?
812
+
813
+ def pdf_url=: (String) -> String
814
+
815
+ attr_reader tax: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax?
816
+
817
+ def tax=: (
818
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
819
+ ) -> MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
820
+
812
821
  def initialize: (
813
822
  billing_provider_type: MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::billing_provider_type,
814
823
  ?external_status: MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::external_status,
815
824
  ?invoice_id: String,
816
- ?issued_at_timestamp: Time
825
+ ?invoiced_sub_total: Float,
826
+ ?invoiced_total: Float,
827
+ ?issued_at_timestamp: Time,
828
+ ?pdf_url: String,
829
+ ?tax: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
817
830
  ) -> void
818
831
 
819
832
  def to_hash: -> {
820
833
  billing_provider_type: MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::billing_provider_type,
821
834
  external_status: MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::external_status,
822
835
  invoice_id: String,
823
- issued_at_timestamp: Time
836
+ invoiced_sub_total: Float,
837
+ invoiced_total: Float,
838
+ issued_at_timestamp: Time,
839
+ pdf_url: String,
840
+ tax: MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
824
841
  }
825
842
 
826
843
  type billing_provider_type =
@@ -878,6 +895,39 @@ module MetronomeSDK
878
895
 
879
896
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::external_status]
880
897
  end
898
+
899
+ type tax =
900
+ {
901
+ total_tax_amount: Float,
902
+ total_taxable_amount: Float,
903
+ transaction_id: String
904
+ }
905
+
906
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
907
+ attr_reader total_tax_amount: Float?
908
+
909
+ def total_tax_amount=: (Float) -> Float
910
+
911
+ attr_reader total_taxable_amount: Float?
912
+
913
+ def total_taxable_amount=: (Float) -> Float
914
+
915
+ attr_reader transaction_id: String?
916
+
917
+ def transaction_id=: (String) -> String
918
+
919
+ def initialize: (
920
+ ?total_tax_amount: Float,
921
+ ?total_taxable_amount: Float,
922
+ ?transaction_id: String
923
+ ) -> void
924
+
925
+ def to_hash: -> {
926
+ total_tax_amount: Float,
927
+ total_taxable_amount: Float,
928
+ transaction_id: String
929
+ }
930
+ end
881
931
  end
882
932
  end
883
933
 
@@ -886,7 +936,11 @@ module MetronomeSDK
886
936
  billing_provider_type: MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::billing_provider_type,
887
937
  external_status: MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::external_status,
888
938
  invoice_id: String,
889
- issued_at_timestamp: Time
939
+ invoiced_sub_total: Float,
940
+ invoiced_total: Float,
941
+ issued_at_timestamp: Time,
942
+ pdf_url: String,
943
+ tax: MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
890
944
  }
891
945
 
892
946
  class ExternalInvoice < MetronomeSDK::Internal::Type::BaseModel
@@ -902,22 +956,48 @@ module MetronomeSDK
902
956
 
903
957
  def invoice_id=: (String) -> String
904
958
 
959
+ attr_reader invoiced_sub_total: Float?
960
+
961
+ def invoiced_sub_total=: (Float) -> Float
962
+
963
+ attr_reader invoiced_total: Float?
964
+
965
+ def invoiced_total=: (Float) -> Float
966
+
905
967
  attr_reader issued_at_timestamp: Time?
906
968
 
907
969
  def issued_at_timestamp=: (Time) -> Time
908
970
 
971
+ attr_reader pdf_url: String?
972
+
973
+ def pdf_url=: (String) -> String
974
+
975
+ attr_reader tax: MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax?
976
+
977
+ def tax=: (
978
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
979
+ ) -> MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
980
+
909
981
  def initialize: (
910
982
  billing_provider_type: MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::billing_provider_type,
911
983
  ?external_status: MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::external_status,
912
984
  ?invoice_id: String,
913
- ?issued_at_timestamp: Time
985
+ ?invoiced_sub_total: Float,
986
+ ?invoiced_total: Float,
987
+ ?issued_at_timestamp: Time,
988
+ ?pdf_url: String,
989
+ ?tax: MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
914
990
  ) -> void
915
991
 
916
992
  def to_hash: -> {
917
993
  billing_provider_type: MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::billing_provider_type,
918
994
  external_status: MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::external_status,
919
995
  invoice_id: String,
920
- issued_at_timestamp: Time
996
+ invoiced_sub_total: Float,
997
+ invoiced_total: Float,
998
+ issued_at_timestamp: Time,
999
+ pdf_url: String,
1000
+ tax: MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
921
1001
  }
922
1002
 
923
1003
  type billing_provider_type =
@@ -975,6 +1055,39 @@ module MetronomeSDK
975
1055
 
976
1056
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::external_status]
977
1057
  end
1058
+
1059
+ type tax =
1060
+ {
1061
+ total_tax_amount: Float,
1062
+ total_taxable_amount: Float,
1063
+ transaction_id: String
1064
+ }
1065
+
1066
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
1067
+ attr_reader total_tax_amount: Float?
1068
+
1069
+ def total_tax_amount=: (Float) -> Float
1070
+
1071
+ attr_reader total_taxable_amount: Float?
1072
+
1073
+ def total_taxable_amount=: (Float) -> Float
1074
+
1075
+ attr_reader transaction_id: String?
1076
+
1077
+ def transaction_id=: (String) -> String
1078
+
1079
+ def initialize: (
1080
+ ?total_tax_amount: Float,
1081
+ ?total_taxable_amount: Float,
1082
+ ?transaction_id: String
1083
+ ) -> void
1084
+
1085
+ def to_hash: -> {
1086
+ total_tax_amount: Float,
1087
+ total_taxable_amount: Float,
1088
+ transaction_id: String
1089
+ }
1090
+ end
978
1091
  end
979
1092
 
980
1093
  type invoice_adjustment =
@@ -0,0 +1,32 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ module V1
4
+ module Customers
5
+ type invoice_retrieve_pdf_params =
6
+ { customer_id: String, invoice_id: String }
7
+ & MetronomeSDK::Internal::Type::request_parameters
8
+
9
+ class InvoiceRetrievePdfParams < MetronomeSDK::Internal::Type::BaseModel
10
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
11
+ include MetronomeSDK::Internal::Type::RequestParameters
12
+
13
+ attr_accessor customer_id: String
14
+
15
+ attr_accessor invoice_id: String
16
+
17
+ def initialize: (
18
+ customer_id: String,
19
+ invoice_id: String,
20
+ ?request_options: MetronomeSDK::request_opts
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ customer_id: String,
25
+ invoice_id: String,
26
+ request_options: MetronomeSDK::RequestOptions
27
+ }
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end