telnyx 4.2.0 → 4.3.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/internal/util.rb +5 -5
  5. data/lib/telnyx/models/ai/assistant_import_params.rb +1 -0
  6. data/lib/telnyx/models/ai/import_metadata.rb +1 -0
  7. data/lib/telnyx/models/messaging_tollfree/verification/tf_verification_request.rb +114 -1
  8. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_egress.rb +99 -1
  9. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_status.rb +99 -1
  10. data/lib/telnyx/models/network_coverage_list_response.rb +1 -2
  11. data/lib/telnyx/models/outbound_voice_profile.rb +47 -1
  12. data/lib/telnyx/models/outbound_voice_profile_create_params.rb +47 -1
  13. data/lib/telnyx/models/outbound_voice_profile_list_params.rb +5 -5
  14. data/lib/telnyx/models/outbound_voice_profile_update_params.rb +47 -1
  15. data/lib/telnyx/models/requirement_group.rb +2 -0
  16. data/lib/telnyx/models/requirement_group_list_params.rb +1 -0
  17. data/lib/telnyx/resources/messaging_tollfree/verification/requests.rb +46 -2
  18. data/lib/telnyx/resources/outbound_voice_profiles.rb +7 -3
  19. data/lib/telnyx/resources/sim_cards/actions.rb +6 -6
  20. data/lib/telnyx/version.rb +1 -1
  21. data/rbi/telnyx/models/ai/assistant_import_params.rbi +5 -0
  22. data/rbi/telnyx/models/ai/import_metadata.rbi +5 -0
  23. data/rbi/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbi +165 -0
  24. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbi +164 -0
  25. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_status.rbi +164 -0
  26. data/rbi/telnyx/models/network_coverage_list_response.rbi +4 -8
  27. data/rbi/telnyx/models/outbound_voice_profile.rbi +81 -0
  28. data/rbi/telnyx/models/outbound_voice_profile_create_params.rbi +88 -0
  29. data/rbi/telnyx/models/outbound_voice_profile_list_params.rbi +6 -6
  30. data/rbi/telnyx/models/outbound_voice_profile_update_params.rbi +88 -0
  31. data/rbi/telnyx/models/requirement_group.rbi +7 -0
  32. data/rbi/telnyx/models/requirement_group_list_params.rbi +5 -0
  33. data/rbi/telnyx/resources/messaging_tollfree/verification/requests.rbi +84 -0
  34. data/rbi/telnyx/resources/outbound_voice_profiles.rbi +12 -2
  35. data/rbi/telnyx/resources/sim_cards/actions.rbi +6 -6
  36. data/sig/telnyx/models/ai/assistant_import_params.rbs +2 -1
  37. data/sig/telnyx/models/ai/import_metadata.rbs +2 -1
  38. data/sig/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbs +76 -0
  39. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbs +98 -0
  40. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_status.rbs +98 -0
  41. data/sig/telnyx/models/outbound_voice_profile.rbs +38 -0
  42. data/sig/telnyx/models/outbound_voice_profile_create_params.rbs +38 -0
  43. data/sig/telnyx/models/outbound_voice_profile_update_params.rbs +38 -0
  44. data/sig/telnyx/models/requirement_group.rbs +6 -2
  45. data/sig/telnyx/models/requirement_group_list_params.rbs +3 -1
  46. data/sig/telnyx/resources/messaging_tollfree/verification/requests.rbs +22 -0
  47. data/sig/telnyx/resources/outbound_voice_profiles.rbs +2 -0
  48. metadata +2 -2
@@ -94,12 +94,90 @@ module Telnyx
94
94
  sig { returns(String) }
95
95
  attr_accessor :verification_request_id
96
96
 
97
+ sig { returns(T.nilable(T::Boolean)) }
98
+ attr_reader :age_gated_content
99
+
100
+ sig { params(age_gated_content: T::Boolean).void }
101
+ attr_writer :age_gated_content
102
+
97
103
  sig { returns(T.nilable(String)) }
98
104
  attr_reader :business_addr2
99
105
 
100
106
  sig { params(business_addr2: String).void }
101
107
  attr_writer :business_addr2
102
108
 
109
+ sig { returns(T.nilable(String)) }
110
+ attr_reader :business_registration_country
111
+
112
+ sig { params(business_registration_country: String).void }
113
+ attr_writer :business_registration_country
114
+
115
+ sig { returns(T.nilable(String)) }
116
+ attr_reader :business_registration_number
117
+
118
+ sig { params(business_registration_number: String).void }
119
+ attr_writer :business_registration_number
120
+
121
+ sig { returns(T.nilable(String)) }
122
+ attr_reader :business_registration_type
123
+
124
+ sig { params(business_registration_type: String).void }
125
+ attr_writer :business_registration_type
126
+
127
+ sig { returns(T.nilable(String)) }
128
+ attr_reader :doing_business_as
129
+
130
+ sig { params(doing_business_as: String).void }
131
+ attr_writer :doing_business_as
132
+
133
+ # Business entity classification
134
+ sig do
135
+ returns(
136
+ T.nilable(
137
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
138
+ )
139
+ )
140
+ end
141
+ attr_reader :entity_type
142
+
143
+ sig do
144
+ params(
145
+ entity_type:
146
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::OrSymbol
147
+ ).void
148
+ end
149
+ attr_writer :entity_type
150
+
151
+ sig { returns(T.nilable(String)) }
152
+ attr_reader :help_message_response
153
+
154
+ sig { params(help_message_response: String).void }
155
+ attr_writer :help_message_response
156
+
157
+ sig { returns(T.nilable(String)) }
158
+ attr_reader :opt_in_confirmation_response
159
+
160
+ sig { params(opt_in_confirmation_response: String).void }
161
+ attr_writer :opt_in_confirmation_response
162
+
163
+ sig { returns(T.nilable(String)) }
164
+ attr_reader :opt_in_keywords
165
+
166
+ sig { params(opt_in_keywords: String).void }
167
+ attr_writer :opt_in_keywords
168
+
169
+ sig { returns(T.nilable(String)) }
170
+ attr_reader :privacy_policy_url
171
+
172
+ sig { params(privacy_policy_url: String).void }
173
+ attr_writer :privacy_policy_url
174
+
175
+ sig { returns(T.nilable(String)) }
176
+ attr_reader :terms_and_condition_url
177
+
178
+ sig { params(terms_and_condition_url: String).void }
179
+ attr_writer :terms_and_condition_url
180
+
103
181
  # Tollfree verification status
104
182
  sig do
105
183
  returns(
@@ -154,7 +232,19 @@ module Telnyx
154
232
  Telnyx::MessagingTollfree::Verification::UseCaseCategories::OrSymbol,
155
233
  use_case_summary: String,
156
234
  verification_request_id: String,
235
+ age_gated_content: T::Boolean,
157
236
  business_addr2: String,
237
+ business_registration_country: String,
238
+ business_registration_number: String,
239
+ business_registration_type: String,
240
+ doing_business_as: String,
241
+ entity_type:
242
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::OrSymbol,
243
+ help_message_response: String,
244
+ opt_in_confirmation_response: String,
245
+ opt_in_keywords: String,
246
+ privacy_policy_url: String,
247
+ terms_and_condition_url: String,
158
248
  verification_status:
159
249
  Telnyx::MessagingTollfree::Verification::TfVerificationStatus::OrSymbol,
160
250
  webhook_url: String
@@ -184,7 +274,19 @@ module Telnyx
184
274
  use_case:,
185
275
  use_case_summary:,
186
276
  verification_request_id:,
277
+ age_gated_content: nil,
187
278
  business_addr2: nil,
279
+ business_registration_country: nil,
280
+ business_registration_number: nil,
281
+ business_registration_type: nil,
282
+ doing_business_as: nil,
283
+ # Business entity classification
284
+ entity_type: nil,
285
+ help_message_response: nil,
286
+ opt_in_confirmation_response: nil,
287
+ opt_in_keywords: nil,
288
+ privacy_policy_url: nil,
289
+ terms_and_condition_url: nil,
188
290
  # Tollfree verification status
189
291
  verification_status: nil,
190
292
  webhook_url: nil
@@ -221,7 +323,19 @@ module Telnyx
221
323
  Telnyx::MessagingTollfree::Verification::UseCaseCategories::TaggedSymbol,
222
324
  use_case_summary: String,
223
325
  verification_request_id: String,
326
+ age_gated_content: T::Boolean,
224
327
  business_addr2: String,
328
+ business_registration_country: String,
329
+ business_registration_number: String,
330
+ business_registration_type: String,
331
+ doing_business_as: String,
332
+ entity_type:
333
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol,
334
+ help_message_response: String,
335
+ opt_in_confirmation_response: String,
336
+ opt_in_keywords: String,
337
+ privacy_policy_url: String,
338
+ terms_and_condition_url: String,
225
339
  verification_status:
226
340
  Telnyx::MessagingTollfree::Verification::TfVerificationStatus::TaggedSymbol,
227
341
  webhook_url: String
@@ -230,6 +344,56 @@ module Telnyx
230
344
  end
231
345
  def to_hash
232
346
  end
347
+
348
+ # Business entity classification
349
+ module EntityType
350
+ extend Telnyx::Internal::Type::Enum
351
+
352
+ TaggedSymbol =
353
+ T.type_alias do
354
+ T.all(
355
+ Symbol,
356
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType
357
+ )
358
+ end
359
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
360
+
361
+ SOLE_PROPRIETOR =
362
+ T.let(
363
+ :SOLE_PROPRIETOR,
364
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
365
+ )
366
+ PRIVATE_PROFIT =
367
+ T.let(
368
+ :PRIVATE_PROFIT,
369
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
370
+ )
371
+ PUBLIC_PROFIT =
372
+ T.let(
373
+ :PUBLIC_PROFIT,
374
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
375
+ )
376
+ NON_PROFIT =
377
+ T.let(
378
+ :NON_PROFIT,
379
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
380
+ )
381
+ GOVERNMENT =
382
+ T.let(
383
+ :GOVERNMENT,
384
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
385
+ )
386
+
387
+ sig do
388
+ override.returns(
389
+ T::Array[
390
+ Telnyx::MessagingTollfree::Verification::VerificationRequestEgress::EntityType::TaggedSymbol
391
+ ]
392
+ )
393
+ end
394
+ def self.values
395
+ end
396
+ end
233
397
  end
234
398
  end
235
399
  end
@@ -99,24 +99,102 @@ module Telnyx
99
99
  end
100
100
  attr_accessor :verification_status
101
101
 
102
+ sig { returns(T.nilable(T::Boolean)) }
103
+ attr_reader :age_gated_content
104
+
105
+ sig { params(age_gated_content: T::Boolean).void }
106
+ attr_writer :age_gated_content
107
+
102
108
  sig { returns(T.nilable(String)) }
103
109
  attr_reader :business_addr2
104
110
 
105
111
  sig { params(business_addr2: String).void }
106
112
  attr_writer :business_addr2
107
113
 
114
+ sig { returns(T.nilable(String)) }
115
+ attr_reader :business_registration_country
116
+
117
+ sig { params(business_registration_country: String).void }
118
+ attr_writer :business_registration_country
119
+
120
+ sig { returns(T.nilable(String)) }
121
+ attr_reader :business_registration_number
122
+
123
+ sig { params(business_registration_number: String).void }
124
+ attr_writer :business_registration_number
125
+
126
+ sig { returns(T.nilable(String)) }
127
+ attr_reader :business_registration_type
128
+
129
+ sig { params(business_registration_type: String).void }
130
+ attr_writer :business_registration_type
131
+
108
132
  sig { returns(T.nilable(Time)) }
109
133
  attr_reader :created_at
110
134
 
111
135
  sig { params(created_at: Time).void }
112
136
  attr_writer :created_at
113
137
 
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :doing_business_as
140
+
141
+ sig { params(doing_business_as: String).void }
142
+ attr_writer :doing_business_as
143
+
144
+ # Business entity classification
145
+ sig do
146
+ returns(
147
+ T.nilable(
148
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
149
+ )
150
+ )
151
+ end
152
+ attr_reader :entity_type
153
+
154
+ sig do
155
+ params(
156
+ entity_type:
157
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::OrSymbol
158
+ ).void
159
+ end
160
+ attr_writer :entity_type
161
+
162
+ sig { returns(T.nilable(String)) }
163
+ attr_reader :help_message_response
164
+
165
+ sig { params(help_message_response: String).void }
166
+ attr_writer :help_message_response
167
+
168
+ sig { returns(T.nilable(String)) }
169
+ attr_reader :opt_in_confirmation_response
170
+
171
+ sig { params(opt_in_confirmation_response: String).void }
172
+ attr_writer :opt_in_confirmation_response
173
+
174
+ sig { returns(T.nilable(String)) }
175
+ attr_reader :opt_in_keywords
176
+
177
+ sig { params(opt_in_keywords: String).void }
178
+ attr_writer :opt_in_keywords
179
+
180
+ sig { returns(T.nilable(String)) }
181
+ attr_reader :privacy_policy_url
182
+
183
+ sig { params(privacy_policy_url: String).void }
184
+ attr_writer :privacy_policy_url
185
+
114
186
  sig { returns(T.nilable(String)) }
115
187
  attr_reader :reason
116
188
 
117
189
  sig { params(reason: String).void }
118
190
  attr_writer :reason
119
191
 
192
+ sig { returns(T.nilable(String)) }
193
+ attr_reader :terms_and_condition_url
194
+
195
+ sig { params(terms_and_condition_url: String).void }
196
+ attr_writer :terms_and_condition_url
197
+
120
198
  sig { returns(T.nilable(Time)) }
121
199
  attr_reader :updated_at
122
200
 
@@ -160,9 +238,21 @@ module Telnyx
160
238
  use_case_summary: String,
161
239
  verification_status:
162
240
  Telnyx::MessagingTollfree::Verification::TfVerificationStatus::OrSymbol,
241
+ age_gated_content: T::Boolean,
163
242
  business_addr2: String,
243
+ business_registration_country: String,
244
+ business_registration_number: String,
245
+ business_registration_type: String,
164
246
  created_at: Time,
247
+ doing_business_as: String,
248
+ entity_type:
249
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::OrSymbol,
250
+ help_message_response: String,
251
+ opt_in_confirmation_response: String,
252
+ opt_in_keywords: String,
253
+ privacy_policy_url: String,
165
254
  reason: String,
255
+ terms_and_condition_url: String,
166
256
  updated_at: Time,
167
257
  webhook_url: String
168
258
  ).returns(T.attached_class)
@@ -192,9 +282,21 @@ module Telnyx
192
282
  use_case_summary:,
193
283
  # Tollfree verification status
194
284
  verification_status:,
285
+ age_gated_content: nil,
195
286
  business_addr2: nil,
287
+ business_registration_country: nil,
288
+ business_registration_number: nil,
289
+ business_registration_type: nil,
196
290
  created_at: nil,
291
+ doing_business_as: nil,
292
+ # Business entity classification
293
+ entity_type: nil,
294
+ help_message_response: nil,
295
+ opt_in_confirmation_response: nil,
296
+ opt_in_keywords: nil,
297
+ privacy_policy_url: nil,
197
298
  reason: nil,
299
+ terms_and_condition_url: nil,
198
300
  updated_at: nil,
199
301
  webhook_url: nil
200
302
  )
@@ -231,9 +333,21 @@ module Telnyx
231
333
  use_case_summary: String,
232
334
  verification_status:
233
335
  Telnyx::MessagingTollfree::Verification::TfVerificationStatus::TaggedSymbol,
336
+ age_gated_content: T::Boolean,
234
337
  business_addr2: String,
338
+ business_registration_country: String,
339
+ business_registration_number: String,
340
+ business_registration_type: String,
235
341
  created_at: Time,
342
+ doing_business_as: String,
343
+ entity_type:
344
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol,
345
+ help_message_response: String,
346
+ opt_in_confirmation_response: String,
347
+ opt_in_keywords: String,
348
+ privacy_policy_url: String,
236
349
  reason: String,
350
+ terms_and_condition_url: String,
237
351
  updated_at: Time,
238
352
  webhook_url: String
239
353
  }
@@ -241,6 +355,56 @@ module Telnyx
241
355
  end
242
356
  def to_hash
243
357
  end
358
+
359
+ # Business entity classification
360
+ module EntityType
361
+ extend Telnyx::Internal::Type::Enum
362
+
363
+ TaggedSymbol =
364
+ T.type_alias do
365
+ T.all(
366
+ Symbol,
367
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType
368
+ )
369
+ end
370
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
371
+
372
+ SOLE_PROPRIETOR =
373
+ T.let(
374
+ :SOLE_PROPRIETOR,
375
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
376
+ )
377
+ PRIVATE_PROFIT =
378
+ T.let(
379
+ :PRIVATE_PROFIT,
380
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
381
+ )
382
+ PUBLIC_PROFIT =
383
+ T.let(
384
+ :PUBLIC_PROFIT,
385
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
386
+ )
387
+ NON_PROFIT =
388
+ T.let(
389
+ :NON_PROFIT,
390
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
391
+ )
392
+ GOVERNMENT =
393
+ T.let(
394
+ :GOVERNMENT,
395
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
396
+ )
397
+
398
+ sig do
399
+ override.returns(
400
+ T::Array[
401
+ Telnyx::MessagingTollfree::Verification::VerificationRequestStatus::EntityType::TaggedSymbol
402
+ ]
403
+ )
404
+ end
405
+ def self.values
406
+ end
407
+ end
244
408
  end
245
409
  end
246
410
  end
@@ -64,16 +64,13 @@ module Telnyx
64
64
 
65
65
  # List of interface types supported in this region.
66
66
  sig do
67
- returns(
68
- T.nilable(T::Array[Telnyx::Models::AvailableService::TaggedSymbol])
69
- )
67
+ returns(T.nilable(T::Array[Telnyx::AvailableService::TaggedSymbol]))
70
68
  end
71
69
  attr_reader :available_services
72
70
 
73
71
  sig do
74
72
  params(
75
- available_services:
76
- T::Array[Telnyx::Models::AvailableService::OrSymbol]
73
+ available_services: T::Array[Telnyx::AvailableService::OrSymbol]
77
74
  ).void
78
75
  end
79
76
  attr_writer :available_services
@@ -104,8 +101,7 @@ module Telnyx
104
101
 
105
102
  sig do
106
103
  params(
107
- available_services:
108
- T::Array[Telnyx::Models::AvailableService::OrSymbol],
104
+ available_services: T::Array[Telnyx::AvailableService::OrSymbol],
109
105
  location:
110
106
  Telnyx::Models::NetworkCoverageListResponse::Data::Location::OrHash,
111
107
  record_type: String
@@ -124,7 +120,7 @@ module Telnyx
124
120
  override.returns(
125
121
  {
126
122
  available_services:
127
- T::Array[Telnyx::Models::AvailableService::TaggedSymbol],
123
+ T::Array[Telnyx::AvailableService::TaggedSymbol],
128
124
  location:
129
125
  Telnyx::Models::NetworkCoverageListResponse::Data::Location,
130
126
  record_type: String
@@ -30,6 +30,18 @@ module Telnyx
30
30
  sig { params(call_recording: Telnyx::OutboundCallRecording::OrHash).void }
31
31
  attr_writer :call_recording
32
32
 
33
+ # (BETA) Specifies the time window and call limits for calls made using this
34
+ # outbound voice profile. Note that all times are UTC in 24-hour clock time.
35
+ sig { returns(T.nilable(Telnyx::OutboundVoiceProfile::CallingWindow)) }
36
+ attr_reader :calling_window
37
+
38
+ sig do
39
+ params(
40
+ calling_window: Telnyx::OutboundVoiceProfile::CallingWindow::OrHash
41
+ ).void
42
+ end
43
+ attr_writer :calling_window
44
+
33
45
  # Must be no more than your global concurrent call limit. Null means no limit.
34
46
  sig { returns(T.nilable(Integer)) }
35
47
  attr_accessor :concurrent_call_limit
@@ -137,6 +149,7 @@ module Telnyx
137
149
  id: String,
138
150
  billing_group_id: T.nilable(String),
139
151
  call_recording: Telnyx::OutboundCallRecording::OrHash,
152
+ calling_window: Telnyx::OutboundVoiceProfile::CallingWindow::OrHash,
140
153
  concurrent_call_limit: T.nilable(Integer),
141
154
  connections_count: Integer,
142
155
  created_at: String,
@@ -162,6 +175,9 @@ module Telnyx
162
175
  # null (for no group assigned).
163
176
  billing_group_id: nil,
164
177
  call_recording: nil,
178
+ # (BETA) Specifies the time window and call limits for calls made using this
179
+ # outbound voice profile. Note that all times are UTC in 24-hour clock time.
180
+ calling_window: nil,
165
181
  # Must be no more than your global concurrent call limit. Null means no limit.
166
182
  concurrent_call_limit: nil,
167
183
  # Amount of connections associated with this outbound voice profile.
@@ -204,6 +220,7 @@ module Telnyx
204
220
  id: String,
205
221
  billing_group_id: T.nilable(String),
206
222
  call_recording: Telnyx::OutboundCallRecording,
223
+ calling_window: Telnyx::OutboundVoiceProfile::CallingWindow,
207
224
  concurrent_call_limit: T.nilable(Integer),
208
225
  connections_count: Integer,
209
226
  created_at: String,
@@ -223,6 +240,70 @@ module Telnyx
223
240
  end
224
241
  def to_hash
225
242
  end
243
+
244
+ class CallingWindow < Telnyx::Internal::Type::BaseModel
245
+ OrHash =
246
+ T.type_alias do
247
+ T.any(
248
+ Telnyx::OutboundVoiceProfile::CallingWindow,
249
+ Telnyx::Internal::AnyHash
250
+ )
251
+ end
252
+
253
+ # (BETA) The maximum number of calls that can be initiated to a single called
254
+ # party (CLD) within the calling window. A null value means no limit.
255
+ sig { returns(T.nilable(Integer)) }
256
+ attr_reader :calls_per_cld
257
+
258
+ sig { params(calls_per_cld: Integer).void }
259
+ attr_writer :calls_per_cld
260
+
261
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
262
+ # longer allowed to start.
263
+ sig { returns(T.nilable(String)) }
264
+ attr_reader :end_time
265
+
266
+ sig { params(end_time: String).void }
267
+ attr_writer :end_time
268
+
269
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
270
+ # allowed to start.
271
+ sig { returns(T.nilable(String)) }
272
+ attr_reader :start_time
273
+
274
+ sig { params(start_time: String).void }
275
+ attr_writer :start_time
276
+
277
+ # (BETA) Specifies the time window and call limits for calls made using this
278
+ # outbound voice profile. Note that all times are UTC in 24-hour clock time.
279
+ sig do
280
+ params(
281
+ calls_per_cld: Integer,
282
+ end_time: String,
283
+ start_time: String
284
+ ).returns(T.attached_class)
285
+ end
286
+ def self.new(
287
+ # (BETA) The maximum number of calls that can be initiated to a single called
288
+ # party (CLD) within the calling window. A null value means no limit.
289
+ calls_per_cld: nil,
290
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
291
+ # longer allowed to start.
292
+ end_time: nil,
293
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
294
+ # allowed to start.
295
+ start_time: nil
296
+ )
297
+ end
298
+
299
+ sig do
300
+ override.returns(
301
+ { calls_per_cld: Integer, end_time: String, start_time: String }
302
+ )
303
+ end
304
+ def to_hash
305
+ end
306
+ end
226
307
  end
227
308
  end
228
309
  end
@@ -29,6 +29,23 @@ module Telnyx
29
29
  sig { params(call_recording: Telnyx::OutboundCallRecording::OrHash).void }
30
30
  attr_writer :call_recording
31
31
 
32
+ # (BETA) Specifies the time window and call limits for calls made using this
33
+ # outbound voice profile. Note that all times are UTC in 24-hour clock time.
34
+ sig do
35
+ returns(
36
+ T.nilable(Telnyx::OutboundVoiceProfileCreateParams::CallingWindow)
37
+ )
38
+ end
39
+ attr_reader :calling_window
40
+
41
+ sig do
42
+ params(
43
+ calling_window:
44
+ Telnyx::OutboundVoiceProfileCreateParams::CallingWindow::OrHash
45
+ ).void
46
+ end
47
+ attr_writer :calling_window
48
+
32
49
  # Must be no more than your global concurrent call limit. Null means no limit.
33
50
  sig { returns(T.nilable(Integer)) }
34
51
  attr_accessor :concurrent_call_limit
@@ -107,6 +124,8 @@ module Telnyx
107
124
  name: String,
108
125
  billing_group_id: T.nilable(String),
109
126
  call_recording: Telnyx::OutboundCallRecording::OrHash,
127
+ calling_window:
128
+ Telnyx::OutboundVoiceProfileCreateParams::CallingWindow::OrHash,
110
129
  concurrent_call_limit: T.nilable(Integer),
111
130
  daily_spend_limit: String,
112
131
  daily_spend_limit_enabled: T::Boolean,
@@ -127,6 +146,9 @@ module Telnyx
127
146
  # null (for no group assigned).
128
147
  billing_group_id: nil,
129
148
  call_recording: nil,
149
+ # (BETA) Specifies the time window and call limits for calls made using this
150
+ # outbound voice profile. Note that all times are UTC in 24-hour clock time.
151
+ calling_window: nil,
130
152
  # Must be no more than your global concurrent call limit. Null means no limit.
131
153
  concurrent_call_limit: nil,
132
154
  # The maximum amount of usage charges, in USD, you want Telnyx to allow on this
@@ -161,6 +183,8 @@ module Telnyx
161
183
  name: String,
162
184
  billing_group_id: T.nilable(String),
163
185
  call_recording: Telnyx::OutboundCallRecording,
186
+ calling_window:
187
+ Telnyx::OutboundVoiceProfileCreateParams::CallingWindow,
164
188
  concurrent_call_limit: T.nilable(Integer),
165
189
  daily_spend_limit: String,
166
190
  daily_spend_limit_enabled: T::Boolean,
@@ -177,6 +201,70 @@ module Telnyx
177
201
  end
178
202
  def to_hash
179
203
  end
204
+
205
+ class CallingWindow < Telnyx::Internal::Type::BaseModel
206
+ OrHash =
207
+ T.type_alias do
208
+ T.any(
209
+ Telnyx::OutboundVoiceProfileCreateParams::CallingWindow,
210
+ Telnyx::Internal::AnyHash
211
+ )
212
+ end
213
+
214
+ # (BETA) The maximum number of calls that can be initiated to a single called
215
+ # party (CLD) within the calling window. A null value means no limit.
216
+ sig { returns(T.nilable(Integer)) }
217
+ attr_reader :calls_per_cld
218
+
219
+ sig { params(calls_per_cld: Integer).void }
220
+ attr_writer :calls_per_cld
221
+
222
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
223
+ # longer allowed to start.
224
+ sig { returns(T.nilable(Time)) }
225
+ attr_reader :end_time
226
+
227
+ sig { params(end_time: Time).void }
228
+ attr_writer :end_time
229
+
230
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
231
+ # allowed to start.
232
+ sig { returns(T.nilable(Time)) }
233
+ attr_reader :start_time
234
+
235
+ sig { params(start_time: Time).void }
236
+ attr_writer :start_time
237
+
238
+ # (BETA) Specifies the time window and call limits for calls made using this
239
+ # outbound voice profile. Note that all times are UTC in 24-hour clock time.
240
+ sig do
241
+ params(
242
+ calls_per_cld: Integer,
243
+ end_time: Time,
244
+ start_time: Time
245
+ ).returns(T.attached_class)
246
+ end
247
+ def self.new(
248
+ # (BETA) The maximum number of calls that can be initiated to a single called
249
+ # party (CLD) within the calling window. A null value means no limit.
250
+ calls_per_cld: nil,
251
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
252
+ # longer allowed to start.
253
+ end_time: nil,
254
+ # (BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
255
+ # allowed to start.
256
+ start_time: nil
257
+ )
258
+ end
259
+
260
+ sig do
261
+ override.returns(
262
+ { calls_per_cld: Integer, end_time: Time, start_time: Time }
263
+ )
264
+ end
265
+ def to_hash
266
+ end
267
+ end
180
268
  end
181
269
  end
182
270
  end