orb-billing 0.6.0 → 0.7.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/orb/client.rb +4 -0
  5. data/lib/orb/models/{plans/version_create_params.rb → beta/external_plan_id_create_plan_version_params.rb} +1880 -1734
  6. data/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb +22 -0
  7. data/lib/orb/models/{plans/external_plan_id_set_default_version_params.rb → beta/external_plan_id_set_default_plan_version_params.rb} +3 -3
  8. data/lib/orb/models/beta_create_plan_version_params.rb +17758 -0
  9. data/lib/orb/models/beta_fetch_plan_version_params.rb +20 -0
  10. data/lib/orb/models/{plan_set_default_version_params.rb → beta_set_default_plan_version_params.rb} +2 -2
  11. data/lib/orb/models/plan_version.rb +735 -0
  12. data/lib/orb/models/plan_version_phase.rb +70 -0
  13. data/lib/orb/models/price_evaluate_multiple_params.rb +8620 -0
  14. data/lib/orb/models/price_evaluate_multiple_response.rb +51 -0
  15. data/lib/orb/models/price_evaluate_params.rb +21 -8529
  16. data/lib/orb/models/price_evaluate_response.rb +3 -38
  17. data/lib/orb/models.rb +14 -2
  18. data/lib/orb/resources/beta/external_plan_id.rb +113 -0
  19. data/lib/orb/resources/beta.rb +115 -0
  20. data/lib/orb/resources/plans/external_plan_id.rb +0 -31
  21. data/lib/orb/resources/plans.rb +0 -31
  22. data/lib/orb/resources/prices.rb +69 -8
  23. data/lib/orb/version.rb +1 -1
  24. data/lib/orb.rb +12 -12
  25. data/rbi/orb/client.rbi +3 -0
  26. data/rbi/orb/models/{plans/version_create_params.rbi → beta/external_plan_id_create_plan_version_params.rbi} +2816 -2771
  27. data/rbi/orb/models/{plans/version_retrieve_params.rbi → beta/external_plan_id_fetch_plan_version_params.rbi} +10 -7
  28. data/rbi/orb/models/{plans/external_plan_id_set_default_version_params.rbi → beta/external_plan_id_set_default_plan_version_params.rbi} +3 -3
  29. data/rbi/orb/models/beta_create_plan_version_params.rbi +32595 -0
  30. data/rbi/orb/models/beta_fetch_plan_version_params.rbi +35 -0
  31. data/rbi/orb/models/{plan_set_default_version_params.rbi → beta_set_default_plan_version_params.rbi} +2 -2
  32. data/rbi/orb/models/plan_version.rbi +1367 -0
  33. data/rbi/orb/models/plan_version_phase.rbi +99 -0
  34. data/rbi/orb/models/price_evaluate_multiple_params.rbi +15764 -0
  35. data/rbi/orb/models/price_evaluate_multiple_response.rbi +96 -0
  36. data/rbi/orb/models/price_evaluate_params.rbi +25 -15684
  37. data/rbi/orb/models/price_evaluate_response.rbi +5 -68
  38. data/rbi/orb/models.rbi +14 -2
  39. data/rbi/orb/resources/{plans/versions.rbi → beta/external_plan_id.rbi} +42 -15
  40. data/rbi/orb/resources/beta.rbi +111 -0
  41. data/rbi/orb/resources/plans/external_plan_id.rbi +0 -22
  42. data/rbi/orb/resources/plans.rbi +0 -22
  43. data/rbi/orb/resources/prices.rbi +66 -4
  44. data/sig/orb/client.rbs +2 -0
  45. data/sig/orb/models/{plans/version_create_params.rbs → beta/external_plan_id_create_plan_version_params.rbs} +1763 -1763
  46. data/sig/orb/models/{plans/version_retrieve_params.rbs → beta/external_plan_id_fetch_plan_version_params.rbs} +7 -7
  47. data/sig/orb/models/{plans/external_plan_id_set_default_version_params.rbs → beta/external_plan_id_set_default_plan_version_params.rbs} +3 -3
  48. data/sig/orb/models/beta_create_plan_version_params.rbs +12877 -0
  49. data/sig/orb/models/beta_fetch_plan_version_params.rbs +20 -0
  50. data/sig/orb/models/{plan_set_default_version_params.rbs → beta_set_default_plan_version_params.rbs} +2 -2
  51. data/sig/orb/models/plan_version.rbs +583 -0
  52. data/sig/orb/models/plan_version_phase.rbs +60 -0
  53. data/sig/orb/models/price_evaluate_multiple_params.rbs +6230 -0
  54. data/sig/orb/models/price_evaluate_multiple_response.rbs +50 -0
  55. data/sig/orb/models/price_evaluate_params.rbs +10 -6187
  56. data/sig/orb/models/price_evaluate_response.rbs +4 -41
  57. data/sig/orb/models.rbs +14 -2
  58. data/sig/orb/resources/beta/external_plan_id.rbs +34 -0
  59. data/sig/orb/resources/beta.rbs +34 -0
  60. data/sig/orb/resources/plans/external_plan_id.rbs +0 -8
  61. data/sig/orb/resources/plans.rbs +0 -8
  62. data/sig/orb/resources/prices.rbs +13 -2
  63. metadata +37 -37
  64. data/lib/orb/models/plans/external_plan_id/version_create_params.rb +0 -17948
  65. data/lib/orb/models/plans/external_plan_id/version_create_response.rb +0 -819
  66. data/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +0 -24
  67. data/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +0 -819
  68. data/lib/orb/models/plans/version_create_response.rb +0 -814
  69. data/lib/orb/models/plans/version_retrieve_params.rb +0 -22
  70. data/lib/orb/models/plans/version_retrieve_response.rb +0 -814
  71. data/lib/orb/resources/plans/external_plan_id/versions.rb +0 -88
  72. data/lib/orb/resources/plans/versions.rb +0 -86
  73. data/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +0 -32668
  74. data/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +0 -1562
  75. data/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +0 -42
  76. data/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +0 -1562
  77. data/rbi/orb/models/plans/version_create_response.rbi +0 -1556
  78. data/rbi/orb/models/plans/version_retrieve_response.rbi +0 -1558
  79. data/rbi/orb/resources/plans/external_plan_id/versions.rbi +0 -103
  80. data/sig/orb/models/plans/external_plan_id/version_create_params.rbs +0 -12923
  81. data/sig/orb/models/plans/external_plan_id/version_create_response.rbs +0 -664
  82. data/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +0 -27
  83. data/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +0 -664
  84. data/sig/orb/models/plans/version_create_response.rbs +0 -662
  85. data/sig/orb/models/plans/version_retrieve_response.rbs +0 -662
  86. data/sig/orb/resources/plans/external_plan_id/versions.rbs +0 -30
  87. data/sig/orb/resources/plans/versions.rbs +0 -28
@@ -8,83 +8,20 @@ module Orb
8
8
  T.any(Orb::Models::PriceEvaluateResponse, Orb::Internal::AnyHash)
9
9
  end
10
10
 
11
- sig { returns(T::Array[Orb::Models::PriceEvaluateResponse::Data]) }
11
+ sig { returns(T::Array[Orb::EvaluatePriceGroup]) }
12
12
  attr_accessor :data
13
13
 
14
14
  sig do
15
- params(
16
- data: T::Array[Orb::Models::PriceEvaluateResponse::Data::OrHash]
17
- ).returns(T.attached_class)
15
+ params(data: T::Array[Orb::EvaluatePriceGroup::OrHash]).returns(
16
+ T.attached_class
17
+ )
18
18
  end
19
19
  def self.new(data:)
20
20
  end
21
21
 
22
- sig do
23
- override.returns(
24
- { data: T::Array[Orb::Models::PriceEvaluateResponse::Data] }
25
- )
26
- end
22
+ sig { override.returns({ data: T::Array[Orb::EvaluatePriceGroup] }) }
27
23
  def to_hash
28
24
  end
29
-
30
- class Data < Orb::Internal::Type::BaseModel
31
- OrHash =
32
- T.type_alias do
33
- T.any(
34
- Orb::Models::PriceEvaluateResponse::Data,
35
- Orb::Internal::AnyHash
36
- )
37
- end
38
-
39
- # The currency of the price
40
- sig { returns(String) }
41
- attr_accessor :currency
42
-
43
- # The computed price groups associated with input price.
44
- sig { returns(T::Array[Orb::EvaluatePriceGroup]) }
45
- attr_accessor :price_groups
46
-
47
- # The index of the inline price
48
- sig { returns(T.nilable(Integer)) }
49
- attr_accessor :inline_price_index
50
-
51
- # The ID of the price
52
- sig { returns(T.nilable(String)) }
53
- attr_accessor :price_id
54
-
55
- sig do
56
- params(
57
- currency: String,
58
- price_groups: T::Array[Orb::EvaluatePriceGroup::OrHash],
59
- inline_price_index: T.nilable(Integer),
60
- price_id: T.nilable(String)
61
- ).returns(T.attached_class)
62
- end
63
- def self.new(
64
- # The currency of the price
65
- currency:,
66
- # The computed price groups associated with input price.
67
- price_groups:,
68
- # The index of the inline price
69
- inline_price_index: nil,
70
- # The ID of the price
71
- price_id: nil
72
- )
73
- end
74
-
75
- sig do
76
- override.returns(
77
- {
78
- currency: String,
79
- price_groups: T::Array[Orb::EvaluatePriceGroup],
80
- inline_price_index: T.nilable(Integer),
81
- price_id: T.nilable(String)
82
- }
83
- )
84
- end
85
- def to_hash
86
- end
87
- end
88
25
  end
89
26
  end
90
27
  end
data/rbi/orb/models.rbi CHANGED
@@ -23,6 +23,14 @@ module Orb
23
23
 
24
24
  AmountDiscount = Orb::Models::AmountDiscount
25
25
 
26
+ Beta = Orb::Models::Beta
27
+
28
+ BetaCreatePlanVersionParams = Orb::Models::BetaCreatePlanVersionParams
29
+
30
+ BetaFetchPlanVersionParams = Orb::Models::BetaFetchPlanVersionParams
31
+
32
+ BetaSetDefaultPlanVersionParams = Orb::Models::BetaSetDefaultPlanVersionParams
33
+
26
34
  BillableMetric = Orb::Models::BillableMetric
27
35
 
28
36
  BillingCycleRelativeDate = Orb::Models::BillingCycleRelativeDate
@@ -158,14 +166,18 @@ module Orb
158
166
 
159
167
  Plans = Orb::Models::Plans
160
168
 
161
- PlanSetDefaultVersionParams = Orb::Models::PlanSetDefaultVersionParams
162
-
163
169
  PlanUpdateParams = Orb::Models::PlanUpdateParams
164
170
 
171
+ PlanVersion = Orb::Models::PlanVersion
172
+
173
+ PlanVersionPhase = Orb::Models::PlanVersionPhase
174
+
165
175
  Price = Orb::Models::Price
166
176
 
167
177
  PriceCreateParams = Orb::Models::PriceCreateParams
168
178
 
179
+ PriceEvaluateMultipleParams = Orb::Models::PriceEvaluateMultipleParams
180
+
169
181
  PriceEvaluateParams = Orb::Models::PriceEvaluateParams
170
182
 
171
183
  PriceFetchParams = Orb::Models::PriceFetchParams
@@ -2,50 +2,58 @@
2
2
 
3
3
  module Orb
4
4
  module Resources
5
- class Plans
6
- class Versions
5
+ class Beta
6
+ class ExternalPlanID
7
7
  # This API endpoint is in beta and its interface may change. It is recommended for
8
8
  # use only in test mode.
9
9
  #
10
10
  # This endpoint allows the creation of a new plan version for an existing plan.
11
11
  sig do
12
12
  params(
13
- plan_id: String,
13
+ external_plan_id: String,
14
14
  version: Integer,
15
15
  add_adjustments:
16
16
  T.nilable(
17
- T::Array[Orb::Plans::VersionCreateParams::AddAdjustment::OrHash]
17
+ T::Array[
18
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::OrHash
19
+ ]
18
20
  ),
19
21
  add_prices:
20
22
  T.nilable(
21
- T::Array[Orb::Plans::VersionCreateParams::AddPrice::OrHash]
23
+ T::Array[
24
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::OrHash
25
+ ]
22
26
  ),
23
27
  remove_adjustments:
24
28
  T.nilable(
25
29
  T::Array[
26
- Orb::Plans::VersionCreateParams::RemoveAdjustment::OrHash
30
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment::OrHash
27
31
  ]
28
32
  ),
29
33
  remove_prices:
30
34
  T.nilable(
31
- T::Array[Orb::Plans::VersionCreateParams::RemovePrice::OrHash]
35
+ T::Array[
36
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice::OrHash
37
+ ]
32
38
  ),
33
39
  replace_adjustments:
34
40
  T.nilable(
35
41
  T::Array[
36
- Orb::Plans::VersionCreateParams::ReplaceAdjustment::OrHash
42
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::OrHash
37
43
  ]
38
44
  ),
39
45
  replace_prices:
40
46
  T.nilable(
41
- T::Array[Orb::Plans::VersionCreateParams::ReplacePrice::OrHash]
47
+ T::Array[
48
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::OrHash
49
+ ]
42
50
  ),
43
51
  set_as_default: T.nilable(T::Boolean),
44
52
  request_options: Orb::RequestOptions::OrHash
45
- ).returns(Orb::Models::Plans::VersionCreateResponse)
53
+ ).returns(Orb::PlanVersion)
46
54
  end
47
- def create(
48
- plan_id,
55
+ def create_plan_version(
56
+ external_plan_id,
49
57
  # New version number.
50
58
  version:,
51
59
  # Additional adjustments to be added to the plan.
@@ -74,11 +82,30 @@ module Orb
74
82
  sig do
75
83
  params(
76
84
  version: String,
77
- plan_id: String,
85
+ external_plan_id: String,
78
86
  request_options: Orb::RequestOptions::OrHash
79
- ).returns(Orb::Models::Plans::VersionRetrieveResponse)
87
+ ).returns(Orb::PlanVersion)
88
+ end
89
+ def fetch_plan_version(version, external_plan_id:, request_options: {})
80
90
  end
81
- def retrieve(version, plan_id:, request_options: {})
91
+
92
+ # This API endpoint is in beta and its interface may change. It is recommended for
93
+ # use only in test mode.
94
+ #
95
+ # This endpoint allows setting the default version of a plan.
96
+ sig do
97
+ params(
98
+ external_plan_id: String,
99
+ version: Integer,
100
+ request_options: Orb::RequestOptions::OrHash
101
+ ).returns(Orb::Plan)
102
+ end
103
+ def set_default_plan_version(
104
+ external_plan_id,
105
+ # Plan version to set as the default.
106
+ version:,
107
+ request_options: {}
108
+ )
82
109
  end
83
110
 
84
111
  # @api private
@@ -0,0 +1,111 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Resources
5
+ class Beta
6
+ sig { returns(Orb::Resources::Beta::ExternalPlanID) }
7
+ attr_reader :external_plan_id
8
+
9
+ # This API endpoint is in beta and its interface may change. It is recommended for
10
+ # use only in test mode.
11
+ #
12
+ # This endpoint allows the creation of a new plan version for an existing plan.
13
+ sig do
14
+ params(
15
+ plan_id: String,
16
+ version: Integer,
17
+ add_adjustments:
18
+ T.nilable(
19
+ T::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment::OrHash]
20
+ ),
21
+ add_prices:
22
+ T.nilable(
23
+ T::Array[Orb::BetaCreatePlanVersionParams::AddPrice::OrHash]
24
+ ),
25
+ remove_adjustments:
26
+ T.nilable(
27
+ T::Array[
28
+ Orb::BetaCreatePlanVersionParams::RemoveAdjustment::OrHash
29
+ ]
30
+ ),
31
+ remove_prices:
32
+ T.nilable(
33
+ T::Array[Orb::BetaCreatePlanVersionParams::RemovePrice::OrHash]
34
+ ),
35
+ replace_adjustments:
36
+ T.nilable(
37
+ T::Array[
38
+ Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::OrHash
39
+ ]
40
+ ),
41
+ replace_prices:
42
+ T.nilable(
43
+ T::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::OrHash]
44
+ ),
45
+ set_as_default: T.nilable(T::Boolean),
46
+ request_options: Orb::RequestOptions::OrHash
47
+ ).returns(Orb::PlanVersion)
48
+ end
49
+ def create_plan_version(
50
+ plan_id,
51
+ # New version number.
52
+ version:,
53
+ # Additional adjustments to be added to the plan.
54
+ add_adjustments: nil,
55
+ # Additional prices to be added to the plan.
56
+ add_prices: nil,
57
+ # Adjustments to be removed from the plan.
58
+ remove_adjustments: nil,
59
+ # Prices to be removed from the plan.
60
+ remove_prices: nil,
61
+ # Adjustments to be replaced with additional adjustments on the plan.
62
+ replace_adjustments: nil,
63
+ # Prices to be replaced with additional prices on the plan.
64
+ replace_prices: nil,
65
+ # Set this new plan version as the default
66
+ set_as_default: nil,
67
+ request_options: {}
68
+ )
69
+ end
70
+
71
+ # This API endpoint is in beta and its interface may change. It is recommended for
72
+ # use only in test mode.
73
+ #
74
+ # This endpoint is used to fetch a plan version. It returns the phases, prices,
75
+ # and adjustments present on this version of the plan.
76
+ sig do
77
+ params(
78
+ version: String,
79
+ plan_id: String,
80
+ request_options: Orb::RequestOptions::OrHash
81
+ ).returns(Orb::PlanVersion)
82
+ end
83
+ def fetch_plan_version(version, plan_id:, request_options: {})
84
+ end
85
+
86
+ # This API endpoint is in beta and its interface may change. It is recommended for
87
+ # use only in test mode.
88
+ #
89
+ # This endpoint allows setting the default version of a plan.
90
+ sig do
91
+ params(
92
+ plan_id: String,
93
+ version: Integer,
94
+ request_options: Orb::RequestOptions::OrHash
95
+ ).returns(Orb::Plan)
96
+ end
97
+ def set_default_plan_version(
98
+ plan_id,
99
+ # Plan version to set as the default.
100
+ version:,
101
+ request_options: {}
102
+ )
103
+ end
104
+
105
+ # @api private
106
+ sig { params(client: Orb::Client).returns(T.attached_class) }
107
+ def self.new(client:)
108
+ end
109
+ end
110
+ end
111
+ end
@@ -4,9 +4,6 @@ module Orb
4
4
  module Resources
5
5
  class Plans
6
6
  class ExternalPlanID
7
- sig { returns(Orb::Resources::Plans::ExternalPlanID::Versions) }
8
- attr_reader :versions
9
-
10
7
  # This endpoint can be used to update the `external_plan_id`, and `metadata` of an
11
8
  # existing plan.
12
9
  #
@@ -58,25 +55,6 @@ module Orb
58
55
  def fetch(external_plan_id, request_options: {})
59
56
  end
60
57
 
61
- # This API endpoint is in beta and its interface may change. It is recommended for
62
- # use only in test mode.
63
- #
64
- # This endpoint allows setting the default version of a plan.
65
- sig do
66
- params(
67
- external_plan_id: String,
68
- version: Integer,
69
- request_options: Orb::RequestOptions::OrHash
70
- ).returns(Orb::Plan)
71
- end
72
- def set_default_version(
73
- external_plan_id,
74
- # Plan version to set as the default.
75
- version:,
76
- request_options: {}
77
- )
78
- end
79
-
80
58
  # @api private
81
59
  sig { params(client: Orb::Client).returns(T.attached_class) }
82
60
  def self.new(client:)
@@ -6,9 +6,6 @@ module Orb
6
6
  sig { returns(Orb::Resources::Plans::ExternalPlanID) }
7
7
  attr_reader :external_plan_id
8
8
 
9
- sig { returns(Orb::Resources::Plans::Versions) }
10
- attr_reader :versions
11
-
12
9
  # This endpoint allows creation of plans including their prices.
13
10
  sig do
14
11
  params(
@@ -166,25 +163,6 @@ module Orb
166
163
  def fetch(plan_id, request_options: {})
167
164
  end
168
165
 
169
- # This API endpoint is in beta and its interface may change. It is recommended for
170
- # use only in test mode.
171
- #
172
- # This endpoint allows setting the default version of a plan.
173
- sig do
174
- params(
175
- plan_id: String,
176
- version: Integer,
177
- request_options: Orb::RequestOptions::OrHash
178
- ).returns(Orb::Plan)
179
- end
180
- def set_default_version(
181
- plan_id,
182
- # Plan version to set as the default.
183
- version:,
184
- request_options: {}
185
- )
186
- end
187
-
188
166
  # @api private
189
167
  sig { params(client: Orb::Client).returns(T.attached_class) }
190
168
  def self.new(client:)
@@ -183,6 +183,65 @@ module Orb
183
183
  )
184
184
  end
185
185
 
186
+ # [NOTE] It is recommended to use the `/v1/prices/evaluate` which offers further
187
+ # functionality, such as multiple prices, inline price definitions, and querying
188
+ # over preview events.
189
+ #
190
+ # This endpoint is used to evaluate the output of a price for a given customer and
191
+ # time range. It enables filtering and grouping the output using
192
+ # [computed properties](/extensibility/advanced-metrics#computed-properties),
193
+ # supporting the following workflows:
194
+ #
195
+ # 1. Showing detailed usage and costs to the end customer.
196
+ # 2. Auditing subtotals on invoice line items.
197
+ #
198
+ # For these workflows, the expressiveness of computed properties in both the
199
+ # filters and grouping is critical. For example, if you'd like to show your
200
+ # customer their usage grouped by hour and another property, you can do so with
201
+ # the following `grouping_keys`:
202
+ # `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd
203
+ # like to examine a customer's usage for a specific property value, you can do so
204
+ # with the following `filter`:
205
+ # `my_property = 'foo' AND my_other_property = 'bar'`.
206
+ #
207
+ # By default, the start of the time range must be no more than 100 days ago and
208
+ # the length of the results must be no greater than 1000. Note that this is a POST
209
+ # endpoint rather than a GET endpoint because it employs a JSON body rather than
210
+ # query parameters.
211
+ sig do
212
+ params(
213
+ price_id: String,
214
+ timeframe_end: Time,
215
+ timeframe_start: Time,
216
+ customer_id: T.nilable(String),
217
+ external_customer_id: T.nilable(String),
218
+ filter: T.nilable(String),
219
+ grouping_keys: T::Array[String],
220
+ request_options: Orb::RequestOptions::OrHash
221
+ ).returns(Orb::Models::PriceEvaluateResponse)
222
+ end
223
+ def evaluate(
224
+ price_id,
225
+ # The exclusive upper bound for event timestamps
226
+ timeframe_end:,
227
+ # The inclusive lower bound for event timestamps
228
+ timeframe_start:,
229
+ # The ID of the customer to which this evaluation is scoped.
230
+ customer_id: nil,
231
+ # The external customer ID of the customer to which this evaluation is scoped.
232
+ external_customer_id: nil,
233
+ # A boolean
234
+ # [computed property](/extensibility/advanced-metrics#computed-properties) used to
235
+ # filter the underlying billable metric
236
+ filter: nil,
237
+ # Properties (or
238
+ # [computed properties](/extensibility/advanced-metrics#computed-properties)) used
239
+ # to group the underlying billable metric
240
+ grouping_keys: nil,
241
+ request_options: {}
242
+ )
243
+ end
244
+
186
245
  # This endpoint is used to evaluate the output of price(s) for a given customer
187
246
  # and time range over either ingested events or preview events. It enables
188
247
  # filtering and grouping the output using
@@ -218,14 +277,17 @@ module Orb
218
277
  timeframe_end: Time,
219
278
  timeframe_start: Time,
220
279
  customer_id: T.nilable(String),
221
- events: T.nilable(T::Array[Orb::PriceEvaluateParams::Event::OrHash]),
280
+ events:
281
+ T.nilable(
282
+ T::Array[Orb::PriceEvaluateMultipleParams::Event::OrHash]
283
+ ),
222
284
  external_customer_id: T.nilable(String),
223
285
  price_evaluations:
224
- T::Array[Orb::PriceEvaluateParams::PriceEvaluation::OrHash],
286
+ T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::OrHash],
225
287
  request_options: Orb::RequestOptions::OrHash
226
- ).returns(Orb::Models::PriceEvaluateResponse)
288
+ ).returns(Orb::Models::PriceEvaluateMultipleResponse)
227
289
  end
228
- def evaluate(
290
+ def evaluate_multiple(
229
291
  # The exclusive upper bound for event timestamps
230
292
  timeframe_end:,
231
293
  # The inclusive lower bound for event timestamps
data/sig/orb/client.rbs CHANGED
@@ -12,6 +12,8 @@ module Orb
12
12
 
13
13
  attr_reader top_level: Orb::Resources::TopLevel
14
14
 
15
+ attr_reader beta: Orb::Resources::Beta
16
+
15
17
  attr_reader coupons: Orb::Resources::Coupons
16
18
 
17
19
  attr_reader credit_notes: Orb::Resources::CreditNotes