orb-billing 1.46.0 → 1.48.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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -1
  3. data/README.md +1 -1
  4. data/lib/orb/models/credit_block_update_params.rb +34 -0
  5. data/lib/orb/models/credit_block_update_response.rb +332 -0
  6. data/lib/orb/models/invoice_issue_summary_response.rb +2 -1
  7. data/lib/orb/models/invoice_issued_summary_webhook_event.rb +5 -3
  8. data/lib/orb/models/invoice_list_summary_response.rb +2 -1
  9. data/lib/orb/models/metric_archive_params.rb +20 -0
  10. data/lib/orb/models/metric_list_params.rb +21 -1
  11. data/lib/orb/models/metric_unarchive_params.rb +20 -0
  12. data/lib/orb/models/metric_update_params.rb +17 -1
  13. data/lib/orb/models/plan_update_params.rb +9 -1
  14. data/lib/orb/models/plans/external_plan_id_update_params.rb +9 -1
  15. data/lib/orb/models/subscription_alert_disabled_webhook_event.rb +5 -9
  16. data/lib/orb/models/subscription_grouped_cost_exceeded_webhook_event.rb +5 -9
  17. data/lib/orb/models/subscription_invoicing_threshold_exceeded_webhook_event.rb +5 -9
  18. data/lib/orb/models/subscription_license_allocation_reset_webhook_event.rb +5 -9
  19. data/lib/orb/models/subscription_license_balance_threshold_reached_webhook_event.rb +5 -9
  20. data/lib/orb/models/webhook_endpoint.rb +28 -1
  21. data/lib/orb/models/webhook_endpoint_create_params.rb +22 -1
  22. data/lib/orb/models/webhook_endpoint_update_params.rb +22 -1
  23. data/lib/orb/models/webhook_endpoint_with_secret.rb +28 -1
  24. data/lib/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rb +5 -3
  25. data/lib/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rb +5 -3
  26. data/lib/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rb +5 -3
  27. data/lib/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rb +5 -3
  28. data/lib/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rb +5 -3
  29. data/lib/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rb +5 -3
  30. data/lib/orb/models/webhooks/invoice_edited_standard_webhook_event.rb +5 -3
  31. data/lib/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rb +5 -3
  32. data/lib/orb/models/webhooks/invoice_issued_standard_webhook_event.rb +5 -3
  33. data/lib/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rb +5 -3
  34. data/lib/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rb +5 -3
  35. data/lib/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rb +5 -3
  36. data/lib/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rb +5 -3
  37. data/lib/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rb +5 -3
  38. data/lib/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rb +5 -3
  39. data/lib/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rb +5 -3
  40. data/lib/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rb +5 -3
  41. data/lib/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rb +5 -3
  42. data/lib/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rb +5 -3
  43. data/lib/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rb +5 -3
  44. data/lib/orb/models/webhooks/subscription_accounting_sync_failed_standard_webhook_event.rb +9 -7
  45. data/lib/orb/models/webhooks/subscription_accounting_sync_succeeded_standard_webhook_event.rb +9 -7
  46. data/lib/orb/models/webhooks/subscription_alert_disabled_standard_webhook_event.rb +5 -9
  47. data/lib/orb/models/webhooks/subscription_cancellation_scheduled_standard_webhook_event.rb +9 -7
  48. data/lib/orb/models/webhooks/subscription_cancellation_unscheduled_standard_webhook_event.rb +9 -7
  49. data/lib/orb/models/webhooks/subscription_cost_exceeded_standard_webhook_event.rb +9 -7
  50. data/lib/orb/models/webhooks/subscription_created_standard_webhook_event.rb +9 -7
  51. data/lib/orb/models/webhooks/subscription_edited_standard_webhook_event.rb +9 -7
  52. data/lib/orb/models/webhooks/subscription_ended_standard_webhook_event.rb +9 -7
  53. data/lib/orb/models/webhooks/subscription_fixed_fee_quantity_updated_standard_webhook_event.rb +9 -7
  54. data/lib/orb/models/webhooks/subscription_grouped_cost_exceeded_standard_webhook_event.rb +5 -9
  55. data/lib/orb/models/webhooks/subscription_invoicing_threshold_exceeded_standard_webhook_event.rb +5 -9
  56. data/lib/orb/models/webhooks/subscription_license_allocation_reset_standard_webhook_event.rb +5 -9
  57. data/lib/orb/models/webhooks/subscription_license_balance_threshold_reached_standard_webhook_event.rb +5 -9
  58. data/lib/orb/models/webhooks/subscription_plan_change_scheduled_standard_webhook_event.rb +9 -7
  59. data/lib/orb/models/webhooks/subscription_plan_changed_standard_webhook_event.rb +9 -7
  60. data/lib/orb/models/webhooks/subscription_plan_version_change_scheduled_standard_webhook_event.rb +9 -7
  61. data/lib/orb/models/webhooks/subscription_plan_version_changed_standard_webhook_event.rb +9 -7
  62. data/lib/orb/models/webhooks/subscription_spend_exceeded_standard_webhook_event.rb +9 -7
  63. data/lib/orb/models/webhooks/subscription_started_standard_webhook_event.rb +9 -7
  64. data/lib/orb/models/webhooks/subscription_trial_ended_standard_webhook_event.rb +9 -7
  65. data/lib/orb/models/webhooks/subscription_usage_exceeded_standard_webhook_event.rb +9 -7
  66. data/lib/orb/models.rb +6 -0
  67. data/lib/orb/resources/credit_blocks.rb +35 -0
  68. data/lib/orb/resources/metrics.rb +61 -5
  69. data/lib/orb/resources/plans/external_plan_id.rb +6 -3
  70. data/lib/orb/resources/plans.rb +6 -3
  71. data/lib/orb/resources/webhook_endpoints.rb +6 -2
  72. data/lib/orb/version.rb +1 -1
  73. data/lib/orb.rb +4 -0
  74. data/rbi/orb/models/credit_block_update_params.rbi +53 -0
  75. data/rbi/orb/models/credit_block_update_response.rbi +693 -0
  76. data/rbi/orb/models/invoice_issue_summary_response.rbi +2 -1
  77. data/rbi/orb/models/invoice_issued_summary_webhook_event.rbi +6 -3
  78. data/rbi/orb/models/invoice_list_summary_response.rbi +2 -1
  79. data/rbi/orb/models/metric_archive_params.rbi +33 -0
  80. data/rbi/orb/models/metric_list_params.rbi +29 -0
  81. data/rbi/orb/models/metric_unarchive_params.rbi +35 -0
  82. data/rbi/orb/models/metric_update_params.rbi +16 -0
  83. data/rbi/orb/models/plan_update_params.rbi +8 -0
  84. data/rbi/orb/models/plans/external_plan_id_update_params.rbi +8 -0
  85. data/rbi/orb/models/subscription_alert_disabled_webhook_event.rbi +6 -12
  86. data/rbi/orb/models/subscription_grouped_cost_exceeded_webhook_event.rbi +6 -12
  87. data/rbi/orb/models/subscription_invoicing_threshold_exceeded_webhook_event.rbi +6 -12
  88. data/rbi/orb/models/subscription_license_allocation_reset_webhook_event.rbi +6 -12
  89. data/rbi/orb/models/subscription_license_balance_threshold_reached_webhook_event.rbi +6 -12
  90. data/rbi/orb/models/webhook_endpoint.rbi +39 -0
  91. data/rbi/orb/models/webhook_endpoint_create_params.rbi +51 -0
  92. data/rbi/orb/models/webhook_endpoint_update_params.rbi +51 -0
  93. data/rbi/orb/models/webhook_endpoint_with_secret.rbi +50 -0
  94. data/rbi/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rbi +6 -3
  95. data/rbi/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rbi +6 -3
  96. data/rbi/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rbi +6 -3
  97. data/rbi/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rbi +6 -3
  98. data/rbi/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rbi +6 -3
  99. data/rbi/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rbi +6 -3
  100. data/rbi/orb/models/webhooks/invoice_edited_standard_webhook_event.rbi +6 -3
  101. data/rbi/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rbi +6 -3
  102. data/rbi/orb/models/webhooks/invoice_issued_standard_webhook_event.rbi +6 -3
  103. data/rbi/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rbi +6 -3
  104. data/rbi/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rbi +6 -3
  105. data/rbi/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rbi +6 -3
  106. data/rbi/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rbi +6 -3
  107. data/rbi/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rbi +6 -3
  108. data/rbi/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rbi +6 -3
  109. data/rbi/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rbi +6 -3
  110. data/rbi/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rbi +6 -3
  111. data/rbi/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rbi +6 -3
  112. data/rbi/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rbi +6 -3
  113. data/rbi/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rbi +6 -3
  114. data/rbi/orb/models/webhooks/subscription_accounting_sync_failed_standard_webhook_event.rbi +12 -9
  115. data/rbi/orb/models/webhooks/subscription_accounting_sync_succeeded_standard_webhook_event.rbi +12 -9
  116. data/rbi/orb/models/webhooks/subscription_alert_disabled_standard_webhook_event.rbi +6 -12
  117. data/rbi/orb/models/webhooks/subscription_cancellation_scheduled_standard_webhook_event.rbi +12 -9
  118. data/rbi/orb/models/webhooks/subscription_cancellation_unscheduled_standard_webhook_event.rbi +12 -9
  119. data/rbi/orb/models/webhooks/subscription_cost_exceeded_standard_webhook_event.rbi +12 -9
  120. data/rbi/orb/models/webhooks/subscription_created_standard_webhook_event.rbi +12 -9
  121. data/rbi/orb/models/webhooks/subscription_edited_standard_webhook_event.rbi +12 -9
  122. data/rbi/orb/models/webhooks/subscription_ended_standard_webhook_event.rbi +12 -9
  123. data/rbi/orb/models/webhooks/subscription_fixed_fee_quantity_updated_standard_webhook_event.rbi +12 -9
  124. data/rbi/orb/models/webhooks/subscription_grouped_cost_exceeded_standard_webhook_event.rbi +6 -12
  125. data/rbi/orb/models/webhooks/subscription_invoicing_threshold_exceeded_standard_webhook_event.rbi +6 -12
  126. data/rbi/orb/models/webhooks/subscription_license_allocation_reset_standard_webhook_event.rbi +6 -12
  127. data/rbi/orb/models/webhooks/subscription_license_balance_threshold_reached_standard_webhook_event.rbi +6 -12
  128. data/rbi/orb/models/webhooks/subscription_plan_change_scheduled_standard_webhook_event.rbi +12 -9
  129. data/rbi/orb/models/webhooks/subscription_plan_changed_standard_webhook_event.rbi +12 -9
  130. data/rbi/orb/models/webhooks/subscription_plan_version_change_scheduled_standard_webhook_event.rbi +12 -9
  131. data/rbi/orb/models/webhooks/subscription_plan_version_changed_standard_webhook_event.rbi +12 -9
  132. data/rbi/orb/models/webhooks/subscription_spend_exceeded_standard_webhook_event.rbi +12 -9
  133. data/rbi/orb/models/webhooks/subscription_started_standard_webhook_event.rbi +12 -9
  134. data/rbi/orb/models/webhooks/subscription_trial_ended_standard_webhook_event.rbi +12 -9
  135. data/rbi/orb/models/webhooks/subscription_usage_exceeded_standard_webhook_event.rbi +12 -9
  136. data/rbi/orb/models.rbi +6 -0
  137. data/rbi/orb/resources/credit_blocks.rbi +26 -0
  138. data/rbi/orb/resources/metrics.rbi +44 -3
  139. data/rbi/orb/resources/plans/external_plan_id.rbi +6 -2
  140. data/rbi/orb/resources/plans.rbi +6 -2
  141. data/rbi/orb/resources/webhook_endpoints.rbi +10 -0
  142. data/sig/orb/models/credit_block_update_params.rbs +28 -0
  143. data/sig/orb/models/credit_block_update_response.rbs +263 -0
  144. data/sig/orb/models/metric_archive_params.rbs +23 -0
  145. data/sig/orb/models/metric_list_params.rbs +18 -1
  146. data/sig/orb/models/metric_unarchive_params.rbs +23 -0
  147. data/sig/orb/models/metric_update_params.rbs +14 -1
  148. data/sig/orb/models/plan_update_params.rbs +6 -1
  149. data/sig/orb/models/plans/external_plan_id_update_params.rbs +6 -1
  150. data/sig/orb/models/webhook_endpoint.rbs +16 -0
  151. data/sig/orb/models/webhook_endpoint_create_params.rbs +20 -1
  152. data/sig/orb/models/webhook_endpoint_update_params.rbs +16 -0
  153. data/sig/orb/models/webhook_endpoint_with_secret.rbs +16 -0
  154. data/sig/orb/models.rbs +6 -0
  155. data/sig/orb/resources/credit_blocks.rbs +6 -0
  156. data/sig/orb/resources/metrics.rbs +13 -0
  157. data/sig/orb/resources/plans/external_plan_id.rbs +1 -0
  158. data/sig/orb/resources/plans.rbs +1 -0
  159. data/sig/orb/resources/webhook_endpoints.rbs +2 -0
  160. metadata +13 -1
@@ -0,0 +1,693 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class CreditBlockUpdateResponse < Orb::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Orb::Models::CreditBlockUpdateResponse, Orb::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ sig { returns(Float) }
15
+ attr_accessor :balance
16
+
17
+ # How this credit block was created: `allocation` (a subscription's recurring
18
+ # credit allocation), `top_up` (an automatic balance-threshold top-up),
19
+ # `commitment` (a subscription commitment true-up rolled forward as credit), or
20
+ # `manual` (a manual credit ledger increment, including credits voided or expired
21
+ # off another block).
22
+ sig do
23
+ returns(
24
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol
25
+ )
26
+ end
27
+ attr_accessor :credit_block_source
28
+
29
+ sig { returns(T.nilable(Time)) }
30
+ attr_accessor :effective_date
31
+
32
+ sig { returns(T.nilable(Time)) }
33
+ attr_accessor :expiry_date
34
+
35
+ sig { returns(T::Array[Orb::Models::CreditBlockUpdateResponse::Filter]) }
36
+ attr_accessor :filters
37
+
38
+ sig { returns(T.nilable(Float)) }
39
+ attr_accessor :maximum_initial_balance
40
+
41
+ # User specified key-value pairs for the resource. If not present, this defaults
42
+ # to an empty dictionary. Individual keys can be removed by setting the value to
43
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
44
+ # `null`.
45
+ sig { returns(T::Hash[Symbol, String]) }
46
+ attr_accessor :metadata
47
+
48
+ sig { returns(T.nilable(String)) }
49
+ attr_accessor :per_unit_cost_basis
50
+
51
+ sig do
52
+ returns(Orb::Models::CreditBlockUpdateResponse::Status::TaggedSymbol)
53
+ end
54
+ attr_accessor :status
55
+
56
+ # The credit allocation that funded a block. Extends the allocation resource
57
+ # serialized on prices with the catalog-item attribution of the funding price.
58
+ sig do
59
+ returns(
60
+ T.nilable(Orb::Models::CreditBlockUpdateResponse::CreditAllocation)
61
+ )
62
+ end
63
+ attr_reader :credit_allocation
64
+
65
+ sig do
66
+ params(
67
+ credit_allocation:
68
+ T.nilable(
69
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::OrHash
70
+ )
71
+ ).void
72
+ end
73
+ attr_writer :credit_allocation
74
+
75
+ # The subscription commitment whose true-up rolled forward into this credit block.
76
+ # Present only when `credit_block_source` is `commitment`.
77
+ sig do
78
+ returns(
79
+ T.nilable(Orb::Models::CreditBlockUpdateResponse::CreditCommitment)
80
+ )
81
+ end
82
+ attr_reader :credit_commitment
83
+
84
+ sig do
85
+ params(
86
+ credit_commitment:
87
+ T.nilable(
88
+ Orb::Models::CreditBlockUpdateResponse::CreditCommitment::OrHash
89
+ )
90
+ ).void
91
+ end
92
+ attr_writer :credit_commitment
93
+
94
+ # The Credit Block resource models prepaid credits within Orb.
95
+ sig do
96
+ params(
97
+ id: String,
98
+ balance: Float,
99
+ credit_block_source:
100
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::OrSymbol,
101
+ effective_date: T.nilable(Time),
102
+ expiry_date: T.nilable(Time),
103
+ filters:
104
+ T::Array[Orb::Models::CreditBlockUpdateResponse::Filter::OrHash],
105
+ maximum_initial_balance: T.nilable(Float),
106
+ metadata: T::Hash[Symbol, String],
107
+ per_unit_cost_basis: T.nilable(String),
108
+ status: Orb::Models::CreditBlockUpdateResponse::Status::OrSymbol,
109
+ credit_allocation:
110
+ T.nilable(
111
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::OrHash
112
+ ),
113
+ credit_commitment:
114
+ T.nilable(
115
+ Orb::Models::CreditBlockUpdateResponse::CreditCommitment::OrHash
116
+ )
117
+ ).returns(T.attached_class)
118
+ end
119
+ def self.new(
120
+ id:,
121
+ balance:,
122
+ # How this credit block was created: `allocation` (a subscription's recurring
123
+ # credit allocation), `top_up` (an automatic balance-threshold top-up),
124
+ # `commitment` (a subscription commitment true-up rolled forward as credit), or
125
+ # `manual` (a manual credit ledger increment, including credits voided or expired
126
+ # off another block).
127
+ credit_block_source:,
128
+ effective_date:,
129
+ expiry_date:,
130
+ filters:,
131
+ maximum_initial_balance:,
132
+ # User specified key-value pairs for the resource. If not present, this defaults
133
+ # to an empty dictionary. Individual keys can be removed by setting the value to
134
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
135
+ # `null`.
136
+ metadata:,
137
+ per_unit_cost_basis:,
138
+ status:,
139
+ # The credit allocation that funded a block. Extends the allocation resource
140
+ # serialized on prices with the catalog-item attribution of the funding price.
141
+ credit_allocation: nil,
142
+ # The subscription commitment whose true-up rolled forward into this credit block.
143
+ # Present only when `credit_block_source` is `commitment`.
144
+ credit_commitment: nil
145
+ )
146
+ end
147
+
148
+ sig do
149
+ override.returns(
150
+ {
151
+ id: String,
152
+ balance: Float,
153
+ credit_block_source:
154
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol,
155
+ effective_date: T.nilable(Time),
156
+ expiry_date: T.nilable(Time),
157
+ filters: T::Array[Orb::Models::CreditBlockUpdateResponse::Filter],
158
+ maximum_initial_balance: T.nilable(Float),
159
+ metadata: T::Hash[Symbol, String],
160
+ per_unit_cost_basis: T.nilable(String),
161
+ status:
162
+ Orb::Models::CreditBlockUpdateResponse::Status::TaggedSymbol,
163
+ credit_allocation:
164
+ T.nilable(
165
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation
166
+ ),
167
+ credit_commitment:
168
+ T.nilable(
169
+ Orb::Models::CreditBlockUpdateResponse::CreditCommitment
170
+ )
171
+ }
172
+ )
173
+ end
174
+ def to_hash
175
+ end
176
+
177
+ # How this credit block was created: `allocation` (a subscription's recurring
178
+ # credit allocation), `top_up` (an automatic balance-threshold top-up),
179
+ # `commitment` (a subscription commitment true-up rolled forward as credit), or
180
+ # `manual` (a manual credit ledger increment, including credits voided or expired
181
+ # off another block).
182
+ module CreditBlockSource
183
+ extend Orb::Internal::Type::Enum
184
+
185
+ TaggedSymbol =
186
+ T.type_alias do
187
+ T.all(
188
+ Symbol,
189
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource
190
+ )
191
+ end
192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
193
+
194
+ ALLOCATION =
195
+ T.let(
196
+ :allocation,
197
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol
198
+ )
199
+ TOP_UP =
200
+ T.let(
201
+ :top_up,
202
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol
203
+ )
204
+ COMMITMENT =
205
+ T.let(
206
+ :commitment,
207
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol
208
+ )
209
+ MANUAL =
210
+ T.let(
211
+ :manual,
212
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol
213
+ )
214
+
215
+ sig do
216
+ override.returns(
217
+ T::Array[
218
+ Orb::Models::CreditBlockUpdateResponse::CreditBlockSource::TaggedSymbol
219
+ ]
220
+ )
221
+ end
222
+ def self.values
223
+ end
224
+ end
225
+
226
+ class Filter < Orb::Internal::Type::BaseModel
227
+ OrHash =
228
+ T.type_alias do
229
+ T.any(
230
+ Orb::Models::CreditBlockUpdateResponse::Filter,
231
+ Orb::Internal::AnyHash
232
+ )
233
+ end
234
+
235
+ # The property of the price to filter on.
236
+ sig do
237
+ returns(
238
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
239
+ )
240
+ end
241
+ attr_accessor :field
242
+
243
+ # Should prices that match the filter be included or excluded.
244
+ sig do
245
+ returns(
246
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator::TaggedSymbol
247
+ )
248
+ end
249
+ attr_accessor :operator
250
+
251
+ # The IDs or values that match this filter.
252
+ sig { returns(T::Array[String]) }
253
+ attr_accessor :values
254
+
255
+ sig do
256
+ params(
257
+ field:
258
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::OrSymbol,
259
+ operator:
260
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator::OrSymbol,
261
+ values: T::Array[String]
262
+ ).returns(T.attached_class)
263
+ end
264
+ def self.new(
265
+ # The property of the price to filter on.
266
+ field:,
267
+ # Should prices that match the filter be included or excluded.
268
+ operator:,
269
+ # The IDs or values that match this filter.
270
+ values:
271
+ )
272
+ end
273
+
274
+ sig do
275
+ override.returns(
276
+ {
277
+ field:
278
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol,
279
+ operator:
280
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator::TaggedSymbol,
281
+ values: T::Array[String]
282
+ }
283
+ )
284
+ end
285
+ def to_hash
286
+ end
287
+
288
+ # The property of the price to filter on.
289
+ module Field
290
+ extend Orb::Internal::Type::Enum
291
+
292
+ TaggedSymbol =
293
+ T.type_alias do
294
+ T.all(
295
+ Symbol,
296
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field
297
+ )
298
+ end
299
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
300
+
301
+ PRICE_ID =
302
+ T.let(
303
+ :price_id,
304
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
305
+ )
306
+ ITEM_ID =
307
+ T.let(
308
+ :item_id,
309
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
310
+ )
311
+ PRICE_TYPE =
312
+ T.let(
313
+ :price_type,
314
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
315
+ )
316
+ CURRENCY =
317
+ T.let(
318
+ :currency,
319
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
320
+ )
321
+ PRICING_UNIT_ID =
322
+ T.let(
323
+ :pricing_unit_id,
324
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
325
+ )
326
+
327
+ sig do
328
+ override.returns(
329
+ T::Array[
330
+ Orb::Models::CreditBlockUpdateResponse::Filter::Field::TaggedSymbol
331
+ ]
332
+ )
333
+ end
334
+ def self.values
335
+ end
336
+ end
337
+
338
+ # Should prices that match the filter be included or excluded.
339
+ module Operator
340
+ extend Orb::Internal::Type::Enum
341
+
342
+ TaggedSymbol =
343
+ T.type_alias do
344
+ T.all(
345
+ Symbol,
346
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator
347
+ )
348
+ end
349
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
350
+
351
+ INCLUDES =
352
+ T.let(
353
+ :includes,
354
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator::TaggedSymbol
355
+ )
356
+ EXCLUDES =
357
+ T.let(
358
+ :excludes,
359
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator::TaggedSymbol
360
+ )
361
+
362
+ sig do
363
+ override.returns(
364
+ T::Array[
365
+ Orb::Models::CreditBlockUpdateResponse::Filter::Operator::TaggedSymbol
366
+ ]
367
+ )
368
+ end
369
+ def self.values
370
+ end
371
+ end
372
+ end
373
+
374
+ module Status
375
+ extend Orb::Internal::Type::Enum
376
+
377
+ TaggedSymbol =
378
+ T.type_alias do
379
+ T.all(Symbol, Orb::Models::CreditBlockUpdateResponse::Status)
380
+ end
381
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
382
+
383
+ ACTIVE =
384
+ T.let(
385
+ :active,
386
+ Orb::Models::CreditBlockUpdateResponse::Status::TaggedSymbol
387
+ )
388
+ PENDING_PAYMENT =
389
+ T.let(
390
+ :pending_payment,
391
+ Orb::Models::CreditBlockUpdateResponse::Status::TaggedSymbol
392
+ )
393
+
394
+ sig do
395
+ override.returns(
396
+ T::Array[
397
+ Orb::Models::CreditBlockUpdateResponse::Status::TaggedSymbol
398
+ ]
399
+ )
400
+ end
401
+ def self.values
402
+ end
403
+ end
404
+
405
+ class CreditAllocation < Orb::Internal::Type::BaseModel
406
+ OrHash =
407
+ T.type_alias do
408
+ T.any(
409
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation,
410
+ Orb::Internal::AnyHash
411
+ )
412
+ end
413
+
414
+ sig { returns(T::Boolean) }
415
+ attr_accessor :allows_rollover
416
+
417
+ sig { returns(String) }
418
+ attr_accessor :currency
419
+
420
+ sig { returns(T.nilable(Orb::CustomExpiration)) }
421
+ attr_reader :custom_expiration
422
+
423
+ sig do
424
+ params(
425
+ custom_expiration: T.nilable(Orb::CustomExpiration::OrHash)
426
+ ).void
427
+ end
428
+ attr_writer :custom_expiration
429
+
430
+ # The ID of the catalog item this block was allocated from, derived from the
431
+ # allocation's price.
432
+ sig { returns(String) }
433
+ attr_accessor :item_id
434
+
435
+ sig do
436
+ returns(
437
+ T.nilable(
438
+ T::Array[
439
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter
440
+ ]
441
+ )
442
+ )
443
+ end
444
+ attr_reader :filters
445
+
446
+ sig do
447
+ params(
448
+ filters:
449
+ T::Array[
450
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::OrHash
451
+ ]
452
+ ).void
453
+ end
454
+ attr_writer :filters
455
+
456
+ sig { returns(T.nilable(String)) }
457
+ attr_accessor :license_type_id
458
+
459
+ # The credit allocation that funded a block. Extends the allocation resource
460
+ # serialized on prices with the catalog-item attribution of the funding price.
461
+ sig do
462
+ params(
463
+ allows_rollover: T::Boolean,
464
+ currency: String,
465
+ custom_expiration: T.nilable(Orb::CustomExpiration::OrHash),
466
+ item_id: String,
467
+ filters:
468
+ T::Array[
469
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::OrHash
470
+ ],
471
+ license_type_id: T.nilable(String)
472
+ ).returns(T.attached_class)
473
+ end
474
+ def self.new(
475
+ allows_rollover:,
476
+ currency:,
477
+ custom_expiration:,
478
+ # The ID of the catalog item this block was allocated from, derived from the
479
+ # allocation's price.
480
+ item_id:,
481
+ filters: nil,
482
+ license_type_id: nil
483
+ )
484
+ end
485
+
486
+ sig do
487
+ override.returns(
488
+ {
489
+ allows_rollover: T::Boolean,
490
+ currency: String,
491
+ custom_expiration: T.nilable(Orb::CustomExpiration),
492
+ item_id: String,
493
+ filters:
494
+ T::Array[
495
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter
496
+ ],
497
+ license_type_id: T.nilable(String)
498
+ }
499
+ )
500
+ end
501
+ def to_hash
502
+ end
503
+
504
+ class Filter < Orb::Internal::Type::BaseModel
505
+ OrHash =
506
+ T.type_alias do
507
+ T.any(
508
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter,
509
+ Orb::Internal::AnyHash
510
+ )
511
+ end
512
+
513
+ # The property of the price to filter on.
514
+ sig do
515
+ returns(
516
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
517
+ )
518
+ end
519
+ attr_accessor :field
520
+
521
+ # Should prices that match the filter be included or excluded.
522
+ sig do
523
+ returns(
524
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator::TaggedSymbol
525
+ )
526
+ end
527
+ attr_accessor :operator
528
+
529
+ # The IDs or values that match this filter.
530
+ sig { returns(T::Array[String]) }
531
+ attr_accessor :values
532
+
533
+ sig do
534
+ params(
535
+ field:
536
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::OrSymbol,
537
+ operator:
538
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator::OrSymbol,
539
+ values: T::Array[String]
540
+ ).returns(T.attached_class)
541
+ end
542
+ def self.new(
543
+ # The property of the price to filter on.
544
+ field:,
545
+ # Should prices that match the filter be included or excluded.
546
+ operator:,
547
+ # The IDs or values that match this filter.
548
+ values:
549
+ )
550
+ end
551
+
552
+ sig do
553
+ override.returns(
554
+ {
555
+ field:
556
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol,
557
+ operator:
558
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator::TaggedSymbol,
559
+ values: T::Array[String]
560
+ }
561
+ )
562
+ end
563
+ def to_hash
564
+ end
565
+
566
+ # The property of the price to filter on.
567
+ module Field
568
+ extend Orb::Internal::Type::Enum
569
+
570
+ TaggedSymbol =
571
+ T.type_alias do
572
+ T.all(
573
+ Symbol,
574
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field
575
+ )
576
+ end
577
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
578
+
579
+ PRICE_ID =
580
+ T.let(
581
+ :price_id,
582
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
583
+ )
584
+ ITEM_ID =
585
+ T.let(
586
+ :item_id,
587
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
588
+ )
589
+ PRICE_TYPE =
590
+ T.let(
591
+ :price_type,
592
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
593
+ )
594
+ CURRENCY =
595
+ T.let(
596
+ :currency,
597
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
598
+ )
599
+ PRICING_UNIT_ID =
600
+ T.let(
601
+ :pricing_unit_id,
602
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
603
+ )
604
+
605
+ sig do
606
+ override.returns(
607
+ T::Array[
608
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Field::TaggedSymbol
609
+ ]
610
+ )
611
+ end
612
+ def self.values
613
+ end
614
+ end
615
+
616
+ # Should prices that match the filter be included or excluded.
617
+ module Operator
618
+ extend Orb::Internal::Type::Enum
619
+
620
+ TaggedSymbol =
621
+ T.type_alias do
622
+ T.all(
623
+ Symbol,
624
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator
625
+ )
626
+ end
627
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
628
+
629
+ INCLUDES =
630
+ T.let(
631
+ :includes,
632
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator::TaggedSymbol
633
+ )
634
+ EXCLUDES =
635
+ T.let(
636
+ :excludes,
637
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator::TaggedSymbol
638
+ )
639
+
640
+ sig do
641
+ override.returns(
642
+ T::Array[
643
+ Orb::Models::CreditBlockUpdateResponse::CreditAllocation::Filter::Operator::TaggedSymbol
644
+ ]
645
+ )
646
+ end
647
+ def self.values
648
+ end
649
+ end
650
+ end
651
+ end
652
+
653
+ class CreditCommitment < Orb::Internal::Type::BaseModel
654
+ OrHash =
655
+ T.type_alias do
656
+ T.any(
657
+ Orb::Models::CreditBlockUpdateResponse::CreditCommitment,
658
+ Orb::Internal::AnyHash
659
+ )
660
+ end
661
+
662
+ # The ID of the subscription commitment this block was rolled forward from.
663
+ sig { returns(String) }
664
+ attr_accessor :id
665
+
666
+ # The subscription the commitment belongs to.
667
+ sig { returns(T.nilable(String)) }
668
+ attr_accessor :subscription_id
669
+
670
+ # The subscription commitment whose true-up rolled forward into this credit block.
671
+ # Present only when `credit_block_source` is `commitment`.
672
+ sig do
673
+ params(id: String, subscription_id: T.nilable(String)).returns(
674
+ T.attached_class
675
+ )
676
+ end
677
+ def self.new(
678
+ # The ID of the subscription commitment this block was rolled forward from.
679
+ id:,
680
+ # The subscription the commitment belongs to.
681
+ subscription_id: nil
682
+ )
683
+ end
684
+
685
+ sig do
686
+ override.returns({ id: String, subscription_id: T.nilable(String) })
687
+ end
688
+ def to_hash
689
+ end
690
+ end
691
+ end
692
+ end
693
+ end
@@ -358,7 +358,8 @@ module Orb
358
358
  sig { returns(T::Boolean) }
359
359
  attr_accessor :will_auto_issue
360
360
 
361
- # #InvoiceApiResourceWithoutLineItems
361
+ # An invoice without its line items, subtotal, discounts, minimums or maximums.
362
+ # Fetch the invoice for those.
362
363
  sig do
363
364
  params(
364
365
  id: String,