orb-billing 1.39.0 → 1.40.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0a9272658203e27f096597fcf707e6f168ba671f7a9b24da1618ab018a7e19f
4
- data.tar.gz: d8adf16bf1f52f56468c22783c9d28ec6fec531b4ba25b7b545d942cbc82f5f5
3
+ metadata.gz: ae1a554ffa1f02c4a6389c6399a1ad669067740cb555aed61f1aa9f9431450f0
4
+ data.tar.gz: 61e554cca021010bd8a5fb9b05f6737277ebba9d41812e7f517c66c7263f1757
5
5
  SHA512:
6
- metadata.gz: ed994b60bbfe92f2faebb1eb6f479187f0c903e04357740976a63ff383b0329cee0e0ef990aeba26f7ed8fa56067d967ea92f1347c2f84448785ce89c9e61770
7
- data.tar.gz: 9e5940453306f3ff24b0027885138b31d095fdfa42865fabccf8ba5585f510832decf24770165b5b3890c212a6f85eec78e554e46be15b9873aacb2a9fa7fe6e
6
+ metadata.gz: 504c8ea65bf2ed7be2e1f88dc3a5cfef668638559902cecafaad975b8281019d86e3d25a0f9d20d06c758cc616b811bb22d5fd0fa980f8ac8cdb6724834f41ec
7
+ data.tar.gz: 9b751116050e2768715cdbc5b196c145f4efdcba8547c58fd1ac51d05208fa1d146c30b8bec593a4fa93954b8b8454275aaee2dd0535ae57885b4d40b6ab3772
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.40.0](https://github.com/orbcorp/orb-ruby/compare/v1.39.0...v1.40.0) (2026-10-07)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** add billable_metric_id filter, price_count, and prices list endpoint for dimensional price groups ([3b4e02a](https://github.com/orbcorp/orb-ruby/commit/3b4e02a8ad9286a0e1496a484e5255805c9a75ea))
9
+
3
10
  ## [1.39.0](https://github.com/orbcorp/orb-ruby/compare/v1.38.0...v1.39.0) (2026-10-01)
4
11
 
5
12
 
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "orb-billing", "~> 1.39.0"
18
+ gem "orb-billing", "~> 1.40.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -44,7 +44,14 @@ module Orb
44
44
  # @return [String]
45
45
  required :name, String
46
46
 
47
- # @!method initialize(id:, billable_metric_id:, dimensions:, external_dimensional_price_group_id:, metadata:, name:)
47
+ # @!attribute price_count
48
+ # The number of prices in this group. Archived prices and subscription overrides
49
+ # are excluded.
50
+ #
51
+ # @return [Integer]
52
+ required :price_count, Integer
53
+
54
+ # @!method initialize(id:, billable_metric_id:, dimensions:, external_dimensional_price_group_id:, metadata:, name:, price_count:)
48
55
  # Some parameter documentations has been truncated, see
49
56
  # {Orb::Models::DimensionalPriceGroup} for more details.
50
57
  #
@@ -63,6 +70,8 @@ module Orb
63
70
  # @param metadata [Hash{Symbol=>String}] User specified key-value pairs for the resource. If not present, this defaults t
64
71
  #
65
72
  # @param name [String] The name of the dimensional price group
73
+ #
74
+ # @param price_count [Integer] The number of prices in this group. Archived prices and subscription overrides a
66
75
  end
67
76
  end
68
77
  end
@@ -7,6 +7,12 @@ module Orb
7
7
  extend Orb::Internal::Type::RequestParameters::Converter
8
8
  include Orb::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute billable_metric_id
11
+ # Filter to groups that use this billable metric.
12
+ #
13
+ # @return [String, nil]
14
+ optional :billable_metric_id, String, nil?: true
15
+
10
16
  # @!attribute cursor
11
17
  # Cursor for pagination. This can be populated by the `next_cursor` value returned
12
18
  # from the initial request.
@@ -20,10 +26,12 @@ module Orb
20
26
  # @return [Integer, nil]
21
27
  optional :limit, Integer
22
28
 
23
- # @!method initialize(cursor: nil, limit: nil, request_options: {})
29
+ # @!method initialize(billable_metric_id: nil, cursor: nil, limit: nil, request_options: {})
24
30
  # Some parameter documentations has been truncated, see
25
31
  # {Orb::Models::DimensionalPriceGroupListParams} for more details.
26
32
  #
33
+ # @param billable_metric_id [String, nil] Filter to groups that use this billable metric.
34
+ #
27
35
  # @param cursor [String, nil] Cursor for pagination. This can be populated by the `next_cursor` value returned
28
36
  #
29
37
  # @param limit [Integer] The number of items to fetch. Defaults to 20.
@@ -107,10 +107,15 @@ module Orb
107
107
  # dimensions, and the prices in the group specify which partition their usage is
108
108
  # derived from.
109
109
  #
110
+ # Filter with `billable_metric_id`. Each group includes `price_count`:
111
+ # non-archived prices in the group. Subscription overrides are not counted.
112
+ #
110
113
  # The response also includes pagination_metadata, which lets the caller retrieve
111
114
  # the next page of results if they exist.
112
115
  #
113
- # @overload list(cursor: nil, limit: nil, request_options: {})
116
+ # @overload list(billable_metric_id: nil, cursor: nil, limit: nil, request_options: {})
117
+ #
118
+ # @param billable_metric_id [String, nil] Filter to groups that use this billable metric.
114
119
  #
115
120
  # @param cursor [String, nil] Cursor for pagination. This can be populated by the `next_cursor` value returned
116
121
  #
data/lib/orb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orb
4
- VERSION = "1.39.0"
4
+ VERSION = "1.40.0"
5
5
  end
@@ -36,6 +36,11 @@ module Orb
36
36
  sig { returns(String) }
37
37
  attr_accessor :name
38
38
 
39
+ # The number of prices in this group. Archived prices and subscription overrides
40
+ # are excluded.
41
+ sig { returns(Integer) }
42
+ attr_accessor :price_count
43
+
39
44
  # A dimensional price group is used to partition the result of a billable metric
40
45
  # by a set of dimensions. Prices in a price group must specify the partition used
41
46
  # to derive their usage.
@@ -46,7 +51,8 @@ module Orb
46
51
  dimensions: T::Array[String],
47
52
  external_dimensional_price_group_id: T.nilable(String),
48
53
  metadata: T::Hash[Symbol, String],
49
- name: String
54
+ name: String,
55
+ price_count: Integer
50
56
  ).returns(T.attached_class)
51
57
  end
52
58
  def self.new(
@@ -65,7 +71,10 @@ module Orb
65
71
  # `null`.
66
72
  metadata:,
67
73
  # The name of the dimensional price group
68
- name:
74
+ name:,
75
+ # The number of prices in this group. Archived prices and subscription overrides
76
+ # are excluded.
77
+ price_count:
69
78
  )
70
79
  end
71
80
 
@@ -77,7 +86,8 @@ module Orb
77
86
  dimensions: T::Array[String],
78
87
  external_dimensional_price_group_id: T.nilable(String),
79
88
  metadata: T::Hash[Symbol, String],
80
- name: String
89
+ name: String,
90
+ price_count: Integer
81
91
  }
82
92
  )
83
93
  end
@@ -11,6 +11,10 @@ module Orb
11
11
  T.any(Orb::DimensionalPriceGroupListParams, Orb::Internal::AnyHash)
12
12
  end
13
13
 
14
+ # Filter to groups that use this billable metric.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_accessor :billable_metric_id
17
+
14
18
  # Cursor for pagination. This can be populated by the `next_cursor` value returned
15
19
  # from the initial request.
16
20
  sig { returns(T.nilable(String)) }
@@ -25,12 +29,15 @@ module Orb
25
29
 
26
30
  sig do
27
31
  params(
32
+ billable_metric_id: T.nilable(String),
28
33
  cursor: T.nilable(String),
29
34
  limit: Integer,
30
35
  request_options: Orb::RequestOptions::OrHash
31
36
  ).returns(T.attached_class)
32
37
  end
33
38
  def self.new(
39
+ # Filter to groups that use this billable metric.
40
+ billable_metric_id: nil,
34
41
  # Cursor for pagination. This can be populated by the `next_cursor` value returned
35
42
  # from the initial request.
36
43
  cursor: nil,
@@ -43,6 +50,7 @@ module Orb
43
50
  sig do
44
51
  override.returns(
45
52
  {
53
+ billable_metric_id: T.nilable(String),
46
54
  cursor: T.nilable(String),
47
55
  limit: Integer,
48
56
  request_options: Orb::RequestOptions
@@ -86,16 +86,22 @@ module Orb
86
86
  # dimensions, and the prices in the group specify which partition their usage is
87
87
  # derived from.
88
88
  #
89
+ # Filter with `billable_metric_id`. Each group includes `price_count`:
90
+ # non-archived prices in the group. Subscription overrides are not counted.
91
+ #
89
92
  # The response also includes pagination_metadata, which lets the caller retrieve
90
93
  # the next page of results if they exist.
91
94
  sig do
92
95
  params(
96
+ billable_metric_id: T.nilable(String),
93
97
  cursor: T.nilable(String),
94
98
  limit: Integer,
95
99
  request_options: Orb::RequestOptions::OrHash
96
100
  ).returns(Orb::Internal::Page[Orb::DimensionalPriceGroup])
97
101
  end
98
102
  def list(
103
+ # Filter to groups that use this billable metric.
104
+ billable_metric_id: nil,
99
105
  # Cursor for pagination. This can be populated by the `next_cursor` value returned
100
106
  # from the initial request.
101
107
  cursor: nil,
@@ -7,7 +7,8 @@ module Orb
7
7
  dimensions: ::Array[String],
8
8
  external_dimensional_price_group_id: String?,
9
9
  metadata: ::Hash[Symbol, String],
10
- name: String
10
+ name: String,
11
+ price_count: Integer
11
12
  }
12
13
 
13
14
  class DimensionalPriceGroup < Orb::Internal::Type::BaseModel
@@ -23,13 +24,16 @@ module Orb
23
24
 
24
25
  attr_accessor name: String
25
26
 
27
+ attr_accessor price_count: Integer
28
+
26
29
  def initialize: (
27
30
  id: String,
28
31
  billable_metric_id: String,
29
32
  dimensions: ::Array[String],
30
33
  external_dimensional_price_group_id: String?,
31
34
  metadata: ::Hash[Symbol, String],
32
- name: String
35
+ name: String,
36
+ price_count: Integer
33
37
  ) -> void
34
38
 
35
39
  def to_hash: -> {
@@ -38,7 +42,8 @@ module Orb
38
42
  dimensions: ::Array[String],
39
43
  external_dimensional_price_group_id: String?,
40
44
  metadata: ::Hash[Symbol, String],
41
- name: String
45
+ name: String,
46
+ price_count: Integer
42
47
  }
43
48
  end
44
49
  end
@@ -1,13 +1,15 @@
1
1
  module Orb
2
2
  module Models
3
3
  type dimensional_price_group_list_params =
4
- { cursor: String?, limit: Integer }
4
+ { billable_metric_id: String?, cursor: String?, limit: Integer }
5
5
  & Orb::Internal::Type::request_parameters
6
6
 
7
7
  class DimensionalPriceGroupListParams < Orb::Internal::Type::BaseModel
8
8
  extend Orb::Internal::Type::RequestParameters::Converter
9
9
  include Orb::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor billable_metric_id: String?
12
+
11
13
  attr_accessor cursor: String?
12
14
 
13
15
  attr_reader limit: Integer?
@@ -15,12 +17,14 @@ module Orb
15
17
  def limit=: (Integer) -> Integer
16
18
 
17
19
  def initialize: (
20
+ ?billable_metric_id: String?,
18
21
  ?cursor: String?,
19
22
  ?limit: Integer,
20
23
  ?request_options: Orb::request_opts
21
24
  ) -> void
22
25
 
23
26
  def to_hash: -> {
27
+ billable_metric_id: String?,
24
28
  cursor: String?,
25
29
  limit: Integer,
26
30
  request_options: Orb::RequestOptions
@@ -25,6 +25,7 @@ module Orb
25
25
  ) -> Orb::DimensionalPriceGroup
26
26
 
27
27
  def list: (
28
+ ?billable_metric_id: String?,
28
29
  ?cursor: String?,
29
30
  ?limit: Integer,
30
31
  ?request_options: Orb::request_opts
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orb-billing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.39.0
4
+ version: 1.40.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Orb