telnyx 5.152.0 → 5.153.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: 04a183dc77791bfa1a32afaffc3a41b585f364c8725396fe7424a734e6c35d6f
4
- data.tar.gz: 54e1992ae48567587451faf8a58efd41d1221c66f0df56160acf94f90c29eedd
3
+ metadata.gz: 2698f72702e542d2717e625e5ae944ec105f50b1f4e6574907cfb502f7cf72c7
4
+ data.tar.gz: 169b51c7046bd7d2289949134520343c930350abc29dc9d42becd8ae2167d45d
5
5
  SHA512:
6
- metadata.gz: 785681f6ba062ad89fdbb90821f05294862b3f470a9d720698026ba59a91658b3352fdf580d7bd3d310581cbedb88ed9c29b1ff719965e7b24a111d008e6f33e
7
- data.tar.gz: 99041a707855d23560f802d272c97e5a2103b7605cd0459a5c7320d9d71d13d4a6ff7c572d968ff3edfec36d4f05555d3a5431143f34c693911f40c6d6eae0e0
6
+ metadata.gz: b0957b04236dc5d885c26616a722cf4cecb0e32aa259965aee3892a0ac457a53978c28594bc2cabfb10326259ad55194e98b9c8f82d35d09851026510d2df75c
7
+ data.tar.gz: afede30078c4435158997d92bf8888d2fb190a36a679607fd6e971223b45896f4c391ddd1a2a74ec741116fcac6dcaf9fa34ad8898603595ab0b848a0fde9452
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.153.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.152.0...v5.153.0) (2026-07-03)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * use git reset --hard for tree replacement, force-push, and fix PR URL regex in release-please.yml ([#303](https://github.com/team-telnyx/telnyx-ruby/issues/303)) ([7da92a6](https://github.com/team-telnyx/telnyx-ruby/commit/7da92a649c21dd2f589008c48ae3622649a62a32))
9
+
3
10
  ## 5.152.0 (2026-07-02)
4
11
 
5
12
  Full Changelog: [v5.151.0...v5.152.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.151.0...v5.152.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.152.0"
27
+ gem "telnyx", "~> 5.153.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Internal
5
+ # @generic Elem
6
+ #
7
+ # @example
8
+ # if cursor_flat_pagination.has_next?
9
+ # cursor_flat_pagination = cursor_flat_pagination.next_page
10
+ # end
11
+ #
12
+ # @example
13
+ # cursor_flat_pagination.auto_paging_each do |key|
14
+ # puts(key)
15
+ # end
16
+ class CursorFlatPagination
17
+ include Telnyx::Internal::Type::BasePage
18
+
19
+ # @return [Array<generic<Elem>>, nil]
20
+ attr_accessor :data
21
+
22
+ # @return [Meta]
23
+ attr_accessor :meta
24
+
25
+ # @return [Boolean]
26
+ def next_page?
27
+ !data.to_a.empty? && !meta&.cursor.to_s.empty?
28
+ end
29
+
30
+ # @raise [Telnyx::HTTP::Error]
31
+ # @return [self]
32
+ def next_page
33
+ unless next_page?
34
+ message = "No more pages available. Please check #next_page? before calling ##{__method__}"
35
+ raise RuntimeError.new(message)
36
+ end
37
+
38
+ req = Telnyx::Internal::Util.deep_merge(@req, {query: {cursor: meta&.cursor}})
39
+ @client.request(req)
40
+ end
41
+
42
+ # @param blk [Proc]
43
+ #
44
+ # @yieldparam [generic<Elem>]
45
+ def auto_paging_each(&blk)
46
+ unless block_given?
47
+ raise ArgumentError.new("A block must be given to ##{__method__}")
48
+ end
49
+
50
+ page = self
51
+ loop do
52
+ page.data&.each(&blk)
53
+
54
+ break unless page.next_page?
55
+ page = page.next_page
56
+ end
57
+ end
58
+
59
+ # @api private
60
+ #
61
+ # @param client [Telnyx::Internal::Transport::BaseClient]
62
+ # @param req [Hash{Symbol=>Object}]
63
+ # @param headers [Hash{String=>String}]
64
+ # @param page_data [Hash{Symbol=>Object}]
65
+ def initialize(client:, req:, headers:, page_data:)
66
+ super
67
+
68
+ case page_data
69
+ in {data: Array => data}
70
+ @data = data.map { Telnyx::Internal::Type::Converter.coerce(@model, _1) }
71
+ else
72
+ end
73
+ case page_data
74
+ in {meta: Hash | nil => meta}
75
+ @meta = Telnyx::Internal::Type::Converter.coerce(Telnyx::Internal::CursorFlatPagination::Meta, meta)
76
+ else
77
+ end
78
+ end
79
+
80
+ # @api private
81
+ #
82
+ # @return [String]
83
+ def inspect
84
+ model = Telnyx::Internal::Type::Converter.inspect(@model, depth: 1)
85
+
86
+ "#<#{self.class}[#{model}]:0x#{object_id.to_s(16)}>"
87
+ end
88
+
89
+ class Meta < Telnyx::Internal::Type::BaseModel
90
+ # @!attribute cursor
91
+ #
92
+ # @return [String, nil]
93
+ optional :cursor, String
94
+
95
+ # @!attribute has_more
96
+ #
97
+ # @return [Boolean, nil]
98
+ optional :has_more, Telnyx::Internal::Type::Boolean
99
+
100
+ # @!method initialize(cursor: nil, has_more: nil)
101
+ # @param cursor [String]
102
+ # @param has_more [Boolean]
103
+ end
104
+ end
105
+ end
106
+ end
@@ -6,75 +6,28 @@ module Telnyx
6
6
  module Kvs
7
7
  # @see Telnyx::Resources::Storage::Kvs::Keys#list
8
8
  class KeyListResponse < Telnyx::Internal::Type::BaseModel
9
- # @!attribute data
9
+ # @!attribute key
10
10
  #
11
- # @return [Array<Telnyx::Models::Storage::Kvs::KeyListResponse::Data>, nil]
12
- optional :data,
13
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::Storage::Kvs::KeyListResponse::Data] }
11
+ # @return [String, nil]
12
+ optional :key, String
14
13
 
15
- # @!attribute meta
14
+ # @!attribute size_bytes
15
+ # Size of the stored value in bytes.
16
16
  #
17
- # @return [Telnyx::Models::Storage::Kvs::KeyListResponse::Meta, nil]
18
- optional :meta, -> { Telnyx::Models::Storage::Kvs::KeyListResponse::Meta }
17
+ # @return [Integer, nil]
18
+ optional :size_bytes, Integer
19
19
 
20
- # @!attribute record_type
20
+ # @!attribute updated_at
21
21
  #
22
- # @return [String, nil]
23
- optional :record_type, String
24
-
25
- # @!method initialize(data: nil, meta: nil, record_type: nil)
26
- # @param data [Array<Telnyx::Models::Storage::Kvs::KeyListResponse::Data>]
27
- # @param meta [Telnyx::Models::Storage::Kvs::KeyListResponse::Meta]
28
- # @param record_type [String]
29
-
30
- class Data < Telnyx::Internal::Type::BaseModel
31
- # @!attribute key
32
- #
33
- # @return [String, nil]
34
- optional :key, String
35
-
36
- # @!attribute size_bytes
37
- # Size of the stored value in bytes.
38
- #
39
- # @return [Integer, nil]
40
- optional :size_bytes, Integer
41
-
42
- # @!attribute updated_at
43
- #
44
- # @return [Time, nil]
45
- optional :updated_at, Time
22
+ # @return [Time, nil]
23
+ optional :updated_at, Time
46
24
 
47
- # @!method initialize(key: nil, size_bytes: nil, updated_at: nil)
48
- # @param key [String]
49
- #
50
- # @param size_bytes [Integer] Size of the stored value in bytes.
51
- #
52
- # @param updated_at [Time]
53
- end
54
-
55
- # @see Telnyx::Models::Storage::Kvs::KeyListResponse#meta
56
- class Meta < Telnyx::Internal::Type::BaseModel
57
- # @!attribute cursor
58
- # Opaque cursor for the next page; pass it back as the `cursor` query parameter.
59
- # Omitted when there are no further results.
60
- #
61
- # @return [String, nil]
62
- optional :cursor, String
63
-
64
- # @!attribute has_more
65
- # Whether more results are available on a following page.
66
- #
67
- # @return [Boolean, nil]
68
- optional :has_more, Telnyx::Internal::Type::Boolean
69
-
70
- # @!method initialize(cursor: nil, has_more: nil)
71
- # Some parameter documentations has been truncated, see
72
- # {Telnyx::Models::Storage::Kvs::KeyListResponse::Meta} for more details.
73
- #
74
- # @param cursor [String] Opaque cursor for the next page; pass it back as the `cursor` query parameter. O
75
- #
76
- # @param has_more [Boolean] Whether more results are available on a following page.
77
- end
25
+ # @!method initialize(key: nil, size_bytes: nil, updated_at: nil)
26
+ # @param key [String]
27
+ #
28
+ # @param size_bytes [Integer] Size of the stored value in bytes.
29
+ #
30
+ # @param updated_at [Time]
78
31
  end
79
32
  end
80
33
  end
@@ -78,6 +78,13 @@ module Telnyx
78
78
  # @return [Boolean, nil]
79
79
  optional :sip_compact_headers_enabled, Telnyx::Internal::Type::Boolean
80
80
 
81
+ # @!attribute sip_region
82
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
83
+ # region (US) will be used.
84
+ #
85
+ # @return [Symbol, Telnyx::Models::UacInbound::SipRegion, nil]
86
+ optional :sip_region, enum: -> { Telnyx::UacInbound::SipRegion }
87
+
81
88
  # @!attribute sip_subdomain
82
89
  # The Telnyx-generated SIP subdomain for this UAC connection.
83
90
  #
@@ -102,7 +109,7 @@ module Telnyx
102
109
  # @return [Integer, nil]
103
110
  optional :timeout_2xx_secs, Integer
104
111
 
105
- # @!method initialize(ani_number_format: nil, channel_limit: nil, codecs: nil, default_routing_method: nil, dnis_number_format: nil, generate_ringback_tone: nil, isup_headers_enabled: nil, prack_enabled: nil, shaken_stir_enabled: nil, simultaneous_ringing: nil, sip_compact_headers_enabled: nil, sip_subdomain: nil, sip_subdomain_receive_settings: nil, timeout_1xx_secs: nil, timeout_2xx_secs: nil)
112
+ # @!method initialize(ani_number_format: nil, channel_limit: nil, codecs: nil, default_routing_method: nil, dnis_number_format: nil, generate_ringback_tone: nil, isup_headers_enabled: nil, prack_enabled: nil, shaken_stir_enabled: nil, simultaneous_ringing: nil, sip_compact_headers_enabled: nil, sip_region: nil, sip_subdomain: nil, sip_subdomain_receive_settings: nil, timeout_1xx_secs: nil, timeout_2xx_secs: nil)
106
113
  # Some parameter documentations has been truncated, see
107
114
  # {Telnyx::Models::UacInbound} for more details.
108
115
  #
@@ -128,6 +135,8 @@ module Telnyx
128
135
  #
129
136
  # @param sip_compact_headers_enabled [Boolean] Defaults to true.
130
137
  #
138
+ # @param sip_region [Symbol, Telnyx::Models::UacInbound::SipRegion] Selects which `sip_region` to receive inbound calls from. If null, the default r
139
+ #
131
140
  # @param sip_subdomain [String] The Telnyx-generated SIP subdomain for this UAC connection.
132
141
  #
133
142
  # @param sip_subdomain_receive_settings [Symbol, Telnyx::Models::UacInbound::SipSubdomainReceiveSettings] Controls which SIP URI callers may reach this connection.
@@ -193,6 +202,21 @@ module Telnyx
193
202
  # @return [Array<Symbol>]
194
203
  end
195
204
 
205
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
206
+ # region (US) will be used.
207
+ #
208
+ # @see Telnyx::Models::UacInbound#sip_region
209
+ module SipRegion
210
+ extend Telnyx::Internal::Type::Enum
211
+
212
+ US = :US
213
+ EUROPE = :Europe
214
+ AUSTRALIA = :Australia
215
+
216
+ # @!method self.values
217
+ # @return [Array<Symbol>]
218
+ end
219
+
196
220
  # Controls which SIP URI callers may reach this connection.
197
221
  #
198
222
  # @see Telnyx::Models::UacInbound#sip_subdomain_receive_settings
@@ -78,6 +78,13 @@ module Telnyx
78
78
  # @return [Boolean, nil]
79
79
  optional :sip_compact_headers_enabled, Telnyx::Internal::Type::Boolean
80
80
 
81
+ # @!attribute sip_region
82
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
83
+ # region (US) will be used.
84
+ #
85
+ # @return [Symbol, Telnyx::Models::UacInboundRequest::SipRegion, nil]
86
+ optional :sip_region, enum: -> { Telnyx::UacInboundRequest::SipRegion }
87
+
81
88
  # @!attribute timeout_1xx_secs
82
89
  # Time(sec) before aborting if connection is not made.
83
90
  #
@@ -90,7 +97,7 @@ module Telnyx
90
97
  # @return [Integer, nil]
91
98
  optional :timeout_2xx_secs, Integer
92
99
 
93
- # @!method initialize(ani_number_format: nil, channel_limit: nil, codecs: nil, default_routing_method: nil, dnis_number_format: nil, generate_ringback_tone: nil, isup_headers_enabled: nil, prack_enabled: nil, shaken_stir_enabled: nil, simultaneous_ringing: nil, sip_compact_headers_enabled: nil, timeout_1xx_secs: nil, timeout_2xx_secs: nil)
100
+ # @!method initialize(ani_number_format: nil, channel_limit: nil, codecs: nil, default_routing_method: nil, dnis_number_format: nil, generate_ringback_tone: nil, isup_headers_enabled: nil, prack_enabled: nil, shaken_stir_enabled: nil, simultaneous_ringing: nil, sip_compact_headers_enabled: nil, sip_region: nil, timeout_1xx_secs: nil, timeout_2xx_secs: nil)
94
101
  # Some parameter documentations has been truncated, see
95
102
  # {Telnyx::Models::UacInboundRequest} for more details.
96
103
  #
@@ -120,6 +127,8 @@ module Telnyx
120
127
  #
121
128
  # @param sip_compact_headers_enabled [Boolean] Defaults to true.
122
129
  #
130
+ # @param sip_region [Symbol, Telnyx::Models::UacInboundRequest::SipRegion] Selects which `sip_region` to receive inbound calls from. If null, the default r
131
+ #
123
132
  # @param timeout_1xx_secs [Integer] Time(sec) before aborting if connection is not made.
124
133
  #
125
134
  # @param timeout_2xx_secs [Integer] Time(sec) before aborting if call is unanswered (min: 1, max: 600).
@@ -180,6 +189,21 @@ module Telnyx
180
189
  # @!method self.values
181
190
  # @return [Array<Symbol>]
182
191
  end
192
+
193
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
194
+ # region (US) will be used.
195
+ #
196
+ # @see Telnyx::Models::UacInboundRequest#sip_region
197
+ module SipRegion
198
+ extend Telnyx::Internal::Type::Enum
199
+
200
+ US = :US
201
+ EUROPE = :Europe
202
+ AUSTRALIA = :Australia
203
+
204
+ # @!method self.values
205
+ # @return [Array<Symbol>]
206
+ end
183
207
  end
184
208
  end
185
209
  end
@@ -33,7 +33,7 @@ module Telnyx
33
33
  @client.request(
34
34
  method: :get,
35
35
  path: ["storage/kvs/%1$s/keys/%2$s", id, key],
36
- headers: {"accept" => "*/*"},
36
+ headers: {"accept" => "application/octet-stream"},
37
37
  model: StringIO,
38
38
  options: options
39
39
  )
@@ -73,7 +73,7 @@ module Telnyx
73
73
  method: :put,
74
74
  path: ["storage/kvs/%1$s/keys/%2$s", id, key],
75
75
  query: query,
76
- headers: {"content-type" => "*/*"},
76
+ headers: {"content-type" => "application/octet-stream"},
77
77
  body: parsed[:body],
78
78
  model: NilClass,
79
79
  options: options
@@ -95,7 +95,7 @@ module Telnyx
95
95
  #
96
96
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
97
97
  #
98
- # @return [Telnyx::Models::Storage::Kvs::KeyListResponse]
98
+ # @return [Telnyx::Internal::CursorFlatPagination<Telnyx::Models::Storage::Kvs::KeyListResponse>]
99
99
  #
100
100
  # @see Telnyx::Models::Storage::Kvs::KeyListParams
101
101
  def list(id, params = {})
@@ -105,6 +105,7 @@ module Telnyx
105
105
  method: :get,
106
106
  path: ["storage/kvs/%1$s/keys", id],
107
107
  query: query,
108
+ page: Telnyx::Internal::CursorFlatPagination,
108
109
  model: Telnyx::Models::Storage::Kvs::KeyListResponse,
109
110
  options: options
110
111
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.152.0"
4
+ VERSION = "5.153.0"
5
5
  end
data/lib/telnyx.rb CHANGED
@@ -55,6 +55,7 @@ require_relative "telnyx/internal/transport/base_client"
55
55
  require_relative "telnyx/internal/transport/pooled_net_requester"
56
56
  require_relative "telnyx/client"
57
57
  require_relative "telnyx/internal/oauth2"
58
+ require_relative "telnyx/internal/cursor_flat_pagination"
58
59
  require_relative "telnyx/internal/default_flat_pagination"
59
60
  require_relative "telnyx/internal/default_flat_pagination_for_inexplicit_number_orders"
60
61
  require_relative "telnyx/internal/default_flat_pagination_top_level_array"
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Internal
5
+ class CursorFlatPagination
6
+ include Telnyx::Internal::Type::BasePage
7
+
8
+ Elem = type_member
9
+
10
+ sig { returns(T.nilable(T::Array[Elem])) }
11
+ attr_accessor :data
12
+
13
+ sig { returns(Meta) }
14
+ attr_accessor :meta
15
+
16
+ # @api private
17
+ sig { returns(String) }
18
+ def inspect
19
+ end
20
+
21
+ class Meta < Telnyx::Internal::Type::BaseModel
22
+ OrHash = T.type_alias { T.any(Meta, Telnyx::Internal::AnyHash) }
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :cursor
26
+
27
+ sig { params(cursor: String).void }
28
+ attr_writer :cursor
29
+
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :has_more
32
+
33
+ sig { params(has_more: T::Boolean).void }
34
+ attr_writer :has_more
35
+
36
+ sig do
37
+ params(cursor: String, has_more: T::Boolean).returns(T.attached_class)
38
+ end
39
+ def self.new(cursor: nil, has_more: nil)
40
+ end
41
+
42
+ sig { override.returns({ cursor: String, has_more: T::Boolean }) }
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -13,165 +13,45 @@ module Telnyx
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- T.nilable(
19
- T::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data]
20
- )
21
- )
22
- end
23
- attr_reader :data
16
+ sig { returns(T.nilable(String)) }
17
+ attr_reader :key
24
18
 
25
- sig do
26
- params(
27
- data:
28
- T::Array[
29
- Telnyx::Models::Storage::Kvs::KeyListResponse::Data::OrHash
30
- ]
31
- ).void
32
- end
33
- attr_writer :data
19
+ sig { params(key: String).void }
20
+ attr_writer :key
34
21
 
35
- sig do
36
- returns(
37
- T.nilable(Telnyx::Models::Storage::Kvs::KeyListResponse::Meta)
38
- )
39
- end
40
- attr_reader :meta
22
+ # Size of the stored value in bytes.
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :size_bytes
41
25
 
42
- sig do
43
- params(
44
- meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta::OrHash
45
- ).void
46
- end
47
- attr_writer :meta
26
+ sig { params(size_bytes: Integer).void }
27
+ attr_writer :size_bytes
48
28
 
49
- sig { returns(T.nilable(String)) }
50
- attr_reader :record_type
29
+ sig { returns(T.nilable(Time)) }
30
+ attr_reader :updated_at
51
31
 
52
- sig { params(record_type: String).void }
53
- attr_writer :record_type
32
+ sig { params(updated_at: Time).void }
33
+ attr_writer :updated_at
54
34
 
55
35
  sig do
56
- params(
57
- data:
58
- T::Array[
59
- Telnyx::Models::Storage::Kvs::KeyListResponse::Data::OrHash
60
- ],
61
- meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta::OrHash,
62
- record_type: String
63
- ).returns(T.attached_class)
36
+ params(key: String, size_bytes: Integer, updated_at: Time).returns(
37
+ T.attached_class
38
+ )
64
39
  end
65
- def self.new(data: nil, meta: nil, record_type: nil)
40
+ def self.new(
41
+ key: nil,
42
+ # Size of the stored value in bytes.
43
+ size_bytes: nil,
44
+ updated_at: nil
45
+ )
66
46
  end
67
47
 
68
48
  sig do
69
49
  override.returns(
70
- {
71
- data:
72
- T::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data],
73
- meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta,
74
- record_type: String
75
- }
50
+ { key: String, size_bytes: Integer, updated_at: Time }
76
51
  )
77
52
  end
78
53
  def to_hash
79
54
  end
80
-
81
- class Data < Telnyx::Internal::Type::BaseModel
82
- OrHash =
83
- T.type_alias do
84
- T.any(
85
- Telnyx::Models::Storage::Kvs::KeyListResponse::Data,
86
- Telnyx::Internal::AnyHash
87
- )
88
- end
89
-
90
- sig { returns(T.nilable(String)) }
91
- attr_reader :key
92
-
93
- sig { params(key: String).void }
94
- attr_writer :key
95
-
96
- # Size of the stored value in bytes.
97
- sig { returns(T.nilable(Integer)) }
98
- attr_reader :size_bytes
99
-
100
- sig { params(size_bytes: Integer).void }
101
- attr_writer :size_bytes
102
-
103
- sig { returns(T.nilable(Time)) }
104
- attr_reader :updated_at
105
-
106
- sig { params(updated_at: Time).void }
107
- attr_writer :updated_at
108
-
109
- sig do
110
- params(
111
- key: String,
112
- size_bytes: Integer,
113
- updated_at: Time
114
- ).returns(T.attached_class)
115
- end
116
- def self.new(
117
- key: nil,
118
- # Size of the stored value in bytes.
119
- size_bytes: nil,
120
- updated_at: nil
121
- )
122
- end
123
-
124
- sig do
125
- override.returns(
126
- { key: String, size_bytes: Integer, updated_at: Time }
127
- )
128
- end
129
- def to_hash
130
- end
131
- end
132
-
133
- class Meta < Telnyx::Internal::Type::BaseModel
134
- OrHash =
135
- T.type_alias do
136
- T.any(
137
- Telnyx::Models::Storage::Kvs::KeyListResponse::Meta,
138
- Telnyx::Internal::AnyHash
139
- )
140
- end
141
-
142
- # Opaque cursor for the next page; pass it back as the `cursor` query parameter.
143
- # Omitted when there are no further results.
144
- sig { returns(T.nilable(String)) }
145
- attr_reader :cursor
146
-
147
- sig { params(cursor: String).void }
148
- attr_writer :cursor
149
-
150
- # Whether more results are available on a following page.
151
- sig { returns(T.nilable(T::Boolean)) }
152
- attr_reader :has_more
153
-
154
- sig { params(has_more: T::Boolean).void }
155
- attr_writer :has_more
156
-
157
- sig do
158
- params(cursor: String, has_more: T::Boolean).returns(
159
- T.attached_class
160
- )
161
- end
162
- def self.new(
163
- # Opaque cursor for the next page; pass it back as the `cursor` query parameter.
164
- # Omitted when there are no further results.
165
- cursor: nil,
166
- # Whether more results are available on a following page.
167
- has_more: nil
168
- )
169
- end
170
-
171
- sig { override.returns({ cursor: String, has_more: T::Boolean }) }
172
- def to_hash
173
- end
174
- end
175
55
  end
176
56
  end
177
57
  end
@@ -122,6 +122,14 @@ module Telnyx
122
122
  sig { params(sip_compact_headers_enabled: T::Boolean).void }
123
123
  attr_writer :sip_compact_headers_enabled
124
124
 
125
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
126
+ # region (US) will be used.
127
+ sig { returns(T.nilable(Telnyx::UacInbound::SipRegion::TaggedSymbol)) }
128
+ attr_reader :sip_region
129
+
130
+ sig { params(sip_region: Telnyx::UacInbound::SipRegion::OrSymbol).void }
131
+ attr_writer :sip_region
132
+
125
133
  # The Telnyx-generated SIP subdomain for this UAC connection.
126
134
  sig { returns(T.nilable(String)) }
127
135
  attr_reader :sip_subdomain
@@ -176,6 +184,7 @@ module Telnyx
176
184
  simultaneous_ringing:
177
185
  Telnyx::UacInbound::SimultaneousRinging::OrSymbol,
178
186
  sip_compact_headers_enabled: T::Boolean,
187
+ sip_region: Telnyx::UacInbound::SipRegion::OrSymbol,
179
188
  sip_subdomain: String,
180
189
  sip_subdomain_receive_settings:
181
190
  Telnyx::UacInbound::SipSubdomainReceiveSettings::OrSymbol,
@@ -215,6 +224,9 @@ module Telnyx
215
224
  simultaneous_ringing: nil,
216
225
  # Defaults to true.
217
226
  sip_compact_headers_enabled: nil,
227
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
228
+ # region (US) will be used.
229
+ sip_region: nil,
218
230
  # The Telnyx-generated SIP subdomain for this UAC connection.
219
231
  sip_subdomain: nil,
220
232
  # Controls which SIP URI callers may reach this connection.
@@ -244,6 +256,7 @@ module Telnyx
244
256
  simultaneous_ringing:
245
257
  Telnyx::UacInbound::SimultaneousRinging::TaggedSymbol,
246
258
  sip_compact_headers_enabled: T::Boolean,
259
+ sip_region: Telnyx::UacInbound::SipRegion::TaggedSymbol,
247
260
  sip_subdomain: String,
248
261
  sip_subdomain_receive_settings:
249
262
  Telnyx::UacInbound::SipSubdomainReceiveSettings::TaggedSymbol,
@@ -374,6 +387,29 @@ module Telnyx
374
387
  end
375
388
  end
376
389
 
390
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
391
+ # region (US) will be used.
392
+ module SipRegion
393
+ extend Telnyx::Internal::Type::Enum
394
+
395
+ TaggedSymbol =
396
+ T.type_alias { T.all(Symbol, Telnyx::UacInbound::SipRegion) }
397
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
398
+
399
+ US = T.let(:US, Telnyx::UacInbound::SipRegion::TaggedSymbol)
400
+ EUROPE = T.let(:Europe, Telnyx::UacInbound::SipRegion::TaggedSymbol)
401
+ AUSTRALIA =
402
+ T.let(:Australia, Telnyx::UacInbound::SipRegion::TaggedSymbol)
403
+
404
+ sig do
405
+ override.returns(
406
+ T::Array[Telnyx::UacInbound::SipRegion::TaggedSymbol]
407
+ )
408
+ end
409
+ def self.values
410
+ end
411
+ end
412
+
377
413
  # Controls which SIP URI callers may reach this connection.
378
414
  module SipSubdomainReceiveSettings
379
415
  extend Telnyx::Internal::Type::Enum
@@ -128,6 +128,16 @@ module Telnyx
128
128
  sig { params(sip_compact_headers_enabled: T::Boolean).void }
129
129
  attr_writer :sip_compact_headers_enabled
130
130
 
131
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
132
+ # region (US) will be used.
133
+ sig { returns(T.nilable(Telnyx::UacInboundRequest::SipRegion::OrSymbol)) }
134
+ attr_reader :sip_region
135
+
136
+ sig do
137
+ params(sip_region: Telnyx::UacInboundRequest::SipRegion::OrSymbol).void
138
+ end
139
+ attr_writer :sip_region
140
+
131
141
  # Time(sec) before aborting if connection is not made.
132
142
  sig { returns(T.nilable(Integer)) }
133
143
  attr_reader :timeout_1xx_secs
@@ -162,6 +172,7 @@ module Telnyx
162
172
  simultaneous_ringing:
163
173
  Telnyx::UacInboundRequest::SimultaneousRinging::OrSymbol,
164
174
  sip_compact_headers_enabled: T::Boolean,
175
+ sip_region: Telnyx::UacInboundRequest::SipRegion::OrSymbol,
165
176
  timeout_1xx_secs: Integer,
166
177
  timeout_2xx_secs: Integer
167
178
  ).returns(T.attached_class)
@@ -198,6 +209,9 @@ module Telnyx
198
209
  simultaneous_ringing: nil,
199
210
  # Defaults to true.
200
211
  sip_compact_headers_enabled: nil,
212
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
213
+ # region (US) will be used.
214
+ sip_region: nil,
201
215
  # Time(sec) before aborting if connection is not made.
202
216
  timeout_1xx_secs: nil,
203
217
  # Time(sec) before aborting if call is unanswered (min: 1, max: 600).
@@ -223,6 +237,7 @@ module Telnyx
223
237
  simultaneous_ringing:
224
238
  Telnyx::UacInboundRequest::SimultaneousRinging::OrSymbol,
225
239
  sip_compact_headers_enabled: T::Boolean,
240
+ sip_region: Telnyx::UacInboundRequest::SipRegion::OrSymbol,
226
241
  timeout_1xx_secs: Integer,
227
242
  timeout_2xx_secs: Integer
228
243
  }
@@ -376,6 +391,30 @@ module Telnyx
376
391
  def self.values
377
392
  end
378
393
  end
394
+
395
+ # Selects which `sip_region` to receive inbound calls from. If null, the default
396
+ # region (US) will be used.
397
+ module SipRegion
398
+ extend Telnyx::Internal::Type::Enum
399
+
400
+ TaggedSymbol =
401
+ T.type_alias { T.all(Symbol, Telnyx::UacInboundRequest::SipRegion) }
402
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
403
+
404
+ US = T.let(:US, Telnyx::UacInboundRequest::SipRegion::TaggedSymbol)
405
+ EUROPE =
406
+ T.let(:Europe, Telnyx::UacInboundRequest::SipRegion::TaggedSymbol)
407
+ AUSTRALIA =
408
+ T.let(:Australia, Telnyx::UacInboundRequest::SipRegion::TaggedSymbol)
409
+
410
+ sig do
411
+ override.returns(
412
+ T::Array[Telnyx::UacInboundRequest::SipRegion::TaggedSymbol]
413
+ )
414
+ end
415
+ def self.values
416
+ end
417
+ end
379
418
  end
380
419
  end
381
420
  end
@@ -18,9 +18,10 @@ module Telnyx
18
18
  end
19
19
  def retrieve(
20
20
  # Key name. Allowed characters: `a-z A-Z 0-9 - _ / = .`; maximum 256 characters;
21
- # names starting with `_` are reserved for system use. May contain `/`; URL-encode
22
- # it so the whole string is treated as one key (for example `user/1` ->
23
- # `user%2F1`).
21
+ # names starting with `_` are reserved for system use. May contain `/`. When
22
+ # calling the HTTP API directly, URL-encode the key so the whole string is treated
23
+ # as one key (for example `user/1` -> `user%2F1`). SDK users should pass the key
24
+ # raw - SDKs URL-encode path parameters automatically.
24
25
  key,
25
26
  # KV namespace ID
26
27
  id:,
@@ -44,8 +45,9 @@ module Telnyx
44
45
  def update(
45
46
  # Path param: Key name. Allowed characters: `a-z A-Z 0-9 - _ / = .`; maximum 256
46
47
  # characters; names starting with `_` are reserved for system use. May contain
47
- # `/`; URL-encode it so the whole string is treated as one key (for example
48
- # `user/1` -> `user%2F1`).
48
+ # `/`. When calling the HTTP API directly, URL-encode the key so the whole string
49
+ # is treated as one key (for example `user/1` -> `user%2F1`). SDK users should
50
+ # pass the key raw - SDKs URL-encode path parameters automatically.
49
51
  key,
50
52
  # Path param: KV namespace ID
51
53
  id:,
@@ -68,7 +70,11 @@ module Telnyx
68
70
  limit: Integer,
69
71
  prefix: String,
70
72
  request_options: Telnyx::RequestOptions::OrHash
71
- ).returns(Telnyx::Models::Storage::Kvs::KeyListResponse)
73
+ ).returns(
74
+ Telnyx::Internal::CursorFlatPagination[
75
+ Telnyx::Models::Storage::Kvs::KeyListResponse
76
+ ]
77
+ )
72
78
  end
73
79
  def list(
74
80
  # KV namespace ID
@@ -94,9 +100,10 @@ module Telnyx
94
100
  end
95
101
  def delete(
96
102
  # Key name. Allowed characters: `a-z A-Z 0-9 - _ / = .`; maximum 256 characters;
97
- # names starting with `_` are reserved for system use. May contain `/`; URL-encode
98
- # it so the whole string is treated as one key (for example `user/1` ->
99
- # `user%2F1`).
103
+ # names starting with `_` are reserved for system use. May contain `/`. When
104
+ # calling the HTTP API directly, URL-encode the key so the whole string is treated
105
+ # as one key (for example `user/1` -> `user%2F1`). SDK users should pass the key
106
+ # raw - SDKs URL-encode path parameters automatically.
100
107
  key,
101
108
  # KV namespace ID
102
109
  id:,
@@ -0,0 +1,28 @@
1
+ module Telnyx
2
+ module Internal
3
+ class CursorFlatPagination[Elem]
4
+ include Telnyx::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: ::Array[Elem]?
7
+
8
+ attr_accessor meta: Meta
9
+
10
+ def inspect: -> String
11
+
12
+ type meta = { cursor: String, has_more: bool }
13
+ class Meta < Telnyx::Internal::Type::BaseModel
14
+ attr_reader cursor: String?
15
+
16
+ def cursor=: (String) -> String
17
+
18
+ attr_reader has_more: bool?
19
+
20
+ def has_more=: (bool) -> bool
21
+
22
+ def initialize: (?cursor: String, ?has_more: bool) -> void
23
+
24
+ def to_hash: -> { cursor: String, has_more: bool }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -3,84 +3,28 @@ module Telnyx
3
3
  module Storage
4
4
  module Kvs
5
5
  type key_list_response =
6
- {
7
- data: ::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data],
8
- meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta,
9
- record_type: String
10
- }
6
+ { key: String, size_bytes: Integer, updated_at: Time }
11
7
 
12
8
  class KeyListResponse < Telnyx::Internal::Type::BaseModel
13
- attr_reader data: ::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data]?
9
+ attr_reader key: String?
14
10
 
15
- def data=: (
16
- ::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data]
17
- ) -> ::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data]
11
+ def key=: (String) -> String
18
12
 
19
- attr_reader meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta?
13
+ attr_reader size_bytes: Integer?
20
14
 
21
- def meta=: (
22
- Telnyx::Models::Storage::Kvs::KeyListResponse::Meta
23
- ) -> Telnyx::Models::Storage::Kvs::KeyListResponse::Meta
15
+ def size_bytes=: (Integer) -> Integer
24
16
 
25
- attr_reader record_type: String?
17
+ attr_reader updated_at: Time?
26
18
 
27
- def record_type=: (String) -> String
19
+ def updated_at=: (Time) -> Time
28
20
 
29
21
  def initialize: (
30
- ?data: ::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data],
31
- ?meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta,
32
- ?record_type: String
22
+ ?key: String,
23
+ ?size_bytes: Integer,
24
+ ?updated_at: Time
33
25
  ) -> void
34
26
 
35
- def to_hash: -> {
36
- data: ::Array[Telnyx::Models::Storage::Kvs::KeyListResponse::Data],
37
- meta: Telnyx::Models::Storage::Kvs::KeyListResponse::Meta,
38
- record_type: String
39
- }
40
-
41
- type data = { key: String, size_bytes: Integer, updated_at: Time }
42
-
43
- class Data < Telnyx::Internal::Type::BaseModel
44
- attr_reader key: String?
45
-
46
- def key=: (String) -> String
47
-
48
- attr_reader size_bytes: Integer?
49
-
50
- def size_bytes=: (Integer) -> Integer
51
-
52
- attr_reader updated_at: Time?
53
-
54
- def updated_at=: (Time) -> Time
55
-
56
- def initialize: (
57
- ?key: String,
58
- ?size_bytes: Integer,
59
- ?updated_at: Time
60
- ) -> void
61
-
62
- def to_hash: -> {
63
- key: String,
64
- size_bytes: Integer,
65
- updated_at: Time
66
- }
67
- end
68
-
69
- type meta = { cursor: String, has_more: bool }
70
-
71
- class Meta < Telnyx::Internal::Type::BaseModel
72
- attr_reader cursor: String?
73
-
74
- def cursor=: (String) -> String
75
-
76
- attr_reader has_more: bool?
77
-
78
- def has_more=: (bool) -> bool
79
-
80
- def initialize: (?cursor: String, ?has_more: bool) -> void
81
-
82
- def to_hash: -> { cursor: String, has_more: bool }
83
- end
27
+ def to_hash: -> { key: String, size_bytes: Integer, updated_at: Time }
84
28
  end
85
29
  end
86
30
  end
@@ -13,6 +13,7 @@ module Telnyx
13
13
  shaken_stir_enabled: bool,
14
14
  simultaneous_ringing: Telnyx::Models::UacInbound::simultaneous_ringing,
15
15
  sip_compact_headers_enabled: bool,
16
+ sip_region: Telnyx::Models::UacInbound::sip_region,
16
17
  sip_subdomain: String,
17
18
  sip_subdomain_receive_settings: Telnyx::Models::UacInbound::sip_subdomain_receive_settings,
18
19
  :timeout_1xx_secs => Integer,
@@ -72,6 +73,12 @@ module Telnyx
72
73
 
73
74
  def sip_compact_headers_enabled=: (bool) -> bool
74
75
 
76
+ attr_reader sip_region: Telnyx::Models::UacInbound::sip_region?
77
+
78
+ def sip_region=: (
79
+ Telnyx::Models::UacInbound::sip_region
80
+ ) -> Telnyx::Models::UacInbound::sip_region
81
+
75
82
  attr_reader sip_subdomain: String?
76
83
 
77
84
  def sip_subdomain=: (String) -> String
@@ -102,6 +109,7 @@ module Telnyx
102
109
  ?shaken_stir_enabled: bool,
103
110
  ?simultaneous_ringing: Telnyx::Models::UacInbound::simultaneous_ringing,
104
111
  ?sip_compact_headers_enabled: bool,
112
+ ?sip_region: Telnyx::Models::UacInbound::sip_region,
105
113
  ?sip_subdomain: String,
106
114
  ?sip_subdomain_receive_settings: Telnyx::Models::UacInbound::sip_subdomain_receive_settings,
107
115
  ?timeout_1xx_secs: Integer,
@@ -120,6 +128,7 @@ module Telnyx
120
128
  shaken_stir_enabled: bool,
121
129
  simultaneous_ringing: Telnyx::Models::UacInbound::simultaneous_ringing,
122
130
  sip_compact_headers_enabled: bool,
131
+ sip_region: Telnyx::Models::UacInbound::sip_region,
123
132
  sip_subdomain: String,
124
133
  sip_subdomain_receive_settings: Telnyx::Models::UacInbound::sip_subdomain_receive_settings,
125
134
  :timeout_1xx_secs => Integer,
@@ -175,6 +184,18 @@ module Telnyx
175
184
  def self?.values: -> ::Array[Telnyx::Models::UacInbound::simultaneous_ringing]
176
185
  end
177
186
 
187
+ type sip_region = :US | :Europe | :Australia
188
+
189
+ module SipRegion
190
+ extend Telnyx::Internal::Type::Enum
191
+
192
+ US: :US
193
+ EUROPE: :Europe
194
+ AUSTRALIA: :Australia
195
+
196
+ def self?.values: -> ::Array[Telnyx::Models::UacInbound::sip_region]
197
+ end
198
+
178
199
  type sip_subdomain_receive_settings = :only_my_connections | :from_anyone
179
200
 
180
201
  module SipSubdomainReceiveSettings
@@ -13,6 +13,7 @@ module Telnyx
13
13
  shaken_stir_enabled: bool,
14
14
  simultaneous_ringing: Telnyx::Models::UacInboundRequest::simultaneous_ringing,
15
15
  sip_compact_headers_enabled: bool,
16
+ sip_region: Telnyx::Models::UacInboundRequest::sip_region,
16
17
  :timeout_1xx_secs => Integer,
17
18
  :timeout_2xx_secs => Integer
18
19
  }
@@ -70,6 +71,12 @@ module Telnyx
70
71
 
71
72
  def sip_compact_headers_enabled=: (bool) -> bool
72
73
 
74
+ attr_reader sip_region: Telnyx::Models::UacInboundRequest::sip_region?
75
+
76
+ def sip_region=: (
77
+ Telnyx::Models::UacInboundRequest::sip_region
78
+ ) -> Telnyx::Models::UacInboundRequest::sip_region
79
+
73
80
  attr_reader timeout_1xx_secs: Integer?
74
81
 
75
82
  def timeout_1xx_secs=: (Integer) -> Integer
@@ -90,6 +97,7 @@ module Telnyx
90
97
  ?shaken_stir_enabled: bool,
91
98
  ?simultaneous_ringing: Telnyx::Models::UacInboundRequest::simultaneous_ringing,
92
99
  ?sip_compact_headers_enabled: bool,
100
+ ?sip_region: Telnyx::Models::UacInboundRequest::sip_region,
93
101
  ?timeout_1xx_secs: Integer,
94
102
  ?timeout_2xx_secs: Integer
95
103
  ) -> void
@@ -106,6 +114,7 @@ module Telnyx
106
114
  shaken_stir_enabled: bool,
107
115
  simultaneous_ringing: Telnyx::Models::UacInboundRequest::simultaneous_ringing,
108
116
  sip_compact_headers_enabled: bool,
117
+ sip_region: Telnyx::Models::UacInboundRequest::sip_region,
109
118
  :timeout_1xx_secs => Integer,
110
119
  :timeout_2xx_secs => Integer
111
120
  }
@@ -158,6 +167,18 @@ module Telnyx
158
167
 
159
168
  def self?.values: -> ::Array[Telnyx::Models::UacInboundRequest::simultaneous_ringing]
160
169
  end
170
+
171
+ type sip_region = :US | :Europe | :Australia
172
+
173
+ module SipRegion
174
+ extend Telnyx::Internal::Type::Enum
175
+
176
+ US: :US
177
+ EUROPE: :Europe
178
+ AUSTRALIA: :Australia
179
+
180
+ def self?.values: -> ::Array[Telnyx::Models::UacInboundRequest::sip_region]
181
+ end
161
182
  end
162
183
  end
163
184
  end
@@ -23,7 +23,7 @@ module Telnyx
23
23
  ?limit: Integer,
24
24
  ?prefix: String,
25
25
  ?request_options: Telnyx::request_opts
26
- ) -> Telnyx::Models::Storage::Kvs::KeyListResponse
26
+ ) -> Telnyx::Internal::CursorFlatPagination[Telnyx::Models::Storage::Kvs::KeyListResponse]
27
27
 
28
28
  def delete: (
29
29
  String key,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telnyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.152.0
4
+ version: 5.153.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Telnyx
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-02 00:00:00.000000000 Z
11
+ date: 2026-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -68,6 +68,7 @@ files:
68
68
  - lib/telnyx/errors.rb
69
69
  - lib/telnyx/file_part.rb
70
70
  - lib/telnyx/internal.rb
71
+ - lib/telnyx/internal/cursor_flat_pagination.rb
71
72
  - lib/telnyx/internal/default_flat_pagination.rb
72
73
  - lib/telnyx/internal/default_flat_pagination_for_inexplicit_number_orders.rb
73
74
  - lib/telnyx/internal/default_flat_pagination_top_level_array.rb
@@ -2947,6 +2948,7 @@ files:
2947
2948
  - rbi/telnyx/errors.rbi
2948
2949
  - rbi/telnyx/file_part.rbi
2949
2950
  - rbi/telnyx/internal.rbi
2951
+ - rbi/telnyx/internal/cursor_flat_pagination.rbi
2950
2952
  - rbi/telnyx/internal/default_flat_pagination.rbi
2951
2953
  - rbi/telnyx/internal/default_flat_pagination_for_inexplicit_number_orders.rbi
2952
2954
  - rbi/telnyx/internal/default_flat_pagination_top_level_array.rbi
@@ -5820,6 +5822,7 @@ files:
5820
5822
  - sig/telnyx/errors.rbs
5821
5823
  - sig/telnyx/file_part.rbs
5822
5824
  - sig/telnyx/internal.rbs
5825
+ - sig/telnyx/internal/cursor_flat_pagination.rbs
5823
5826
  - sig/telnyx/internal/default_flat_pagination.rbs
5824
5827
  - sig/telnyx/internal/default_flat_pagination_for_inexplicit_number_orders.rbs
5825
5828
  - sig/telnyx/internal/default_flat_pagination_top_level_array.rbs