twilio-ruby 7.8.0 → 7.8.2

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +27 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +3 -3
  5. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +3 -3
  6. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +3 -3
  7. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +3 -3
  8. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +3 -3
  9. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +3 -3
  10. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +3 -3
  11. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +5 -2
  12. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +1 -1
  13. data/lib/twilio-ruby/rest/client.rb +5 -0
  14. data/lib/twilio-ruby/rest/content/v1/content.rb +38 -1
  15. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +17 -1
  16. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +217 -0
  17. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +217 -0
  18. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +43 -0
  19. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +232 -0
  20. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +213 -0
  21. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +623 -0
  22. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  23. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  24. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  25. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +140 -0
  26. data/lib/twilio-ruby/rest/messaging/v2.rb +6 -0
  27. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +96 -8
  28. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +339 -0
  29. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  30. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  31. data/lib/twilio-ruby/rest/oauth/v2/token.rb +186 -0
  32. data/lib/twilio-ruby/rest/oauth/v2.rb +40 -0
  33. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  34. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +312 -0
  35. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +340 -0
  36. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +467 -0
  37. data/lib/twilio-ruby/rest/verify/v2/service.rb +75 -0
  38. data/lib/twilio-ruby/rest/voice_base.rb +6 -1
  39. data/lib/twilio-ruby/twiml/voice_response.rb +20 -0
  40. data/lib/twilio-ruby/version.rb +1 -1
  41. data/twilio-ruby.gemspec +1 -1
  42. metadata +20 -4
@@ -0,0 +1,467 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Verify
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Verify < VerifyBase
19
+ class V2 < Version
20
+ class ServiceContext < InstanceContext
21
+
22
+ class NewFactorList < ListResource
23
+
24
+ class CreateNewPasskeysFactorRequest
25
+ # @param [friendly_name]: [String]
26
+ # @param [identity]: [String]
27
+ # @param [config]: [NewFactorList.CreateNewPasskeysFactorRequestConfig]
28
+ attr_accessor :friendly_name, :identity, :config
29
+ def initialize(payload)
30
+ @friendly_name = payload["friendly_name"]
31
+ @identity = payload["identity"]
32
+ @config = payload["config"]
33
+ end
34
+ def to_json(options = {})
35
+ {
36
+ "friendly_name": @friendly_name,
37
+ "identity": @identity,
38
+ "config": @config,
39
+ }.to_json(options)
40
+ end
41
+ end
42
+
43
+ class CreateNewPasskeysFactorRequestConfig
44
+ # @param [relying_party]: [NewFactorList.CreateNewPasskeysFactorRequestConfigRelyingParty]
45
+ # @param [authenticator_attachment]: [String]
46
+ # @param [discoverable_credentials]: [String]
47
+ # @param [user_verification]: [String]
48
+ attr_accessor :relying_party, :authenticator_attachment, :discoverable_credentials, :user_verification
49
+ def initialize(payload)
50
+ @relying_party = payload["relying_party"]
51
+ @authenticator_attachment = payload["authenticator_attachment"]
52
+ @discoverable_credentials = payload["discoverable_credentials"]
53
+ @user_verification = payload["user_verification"]
54
+ end
55
+ def to_json(options = {})
56
+ {
57
+ "relying_party": @relying_party,
58
+ "authenticator_attachment": @authenticator_attachment,
59
+ "discoverable_credentials": @discoverable_credentials,
60
+ "user_verification": @user_verification,
61
+ }.to_json(options)
62
+ end
63
+ end
64
+
65
+ class CreateNewPasskeysFactorRequestConfigRelyingParty
66
+ # @param [id]: [String]
67
+ # @param [name]: [String]
68
+ # @param [origins]: [Array<String>]
69
+ attr_accessor :id, :name, :origins
70
+ def initialize(payload)
71
+ @id = payload["id"]
72
+ @name = payload["name"]
73
+ @origins = payload["origins"]
74
+ end
75
+ def to_json(options = {})
76
+ {
77
+ "id": @id,
78
+ "name": @name,
79
+ "origins": @origins,
80
+ }.to_json(options)
81
+ end
82
+ end
83
+
84
+ class VerifyPasskeysFactorRequest
85
+ # @param [id]: [String] A [base64url](https://base64.guru/standards/base64url) encoded representation of `rawId`.
86
+ # @param [raw_id]: [String] The globally unique identifier for this `PublicKeyCredential`.
87
+ # @param [authenticator_attachment]: [String] A string that indicates the mechanism by which the WebAuthn implementation is attached to the authenticator at the time the associated `navigator.credentials.create()` or `navigator.credentials.get()` call completes.
88
+ # @param [type]: [String] The valid credential types supported by the API. The values of this enumeration are used for versioning the `AuthenticatorAssertion` and `AuthenticatorAttestation` structures according to the type of the authenticator.
89
+ # @param [response]: [NewFactorList.VerifyPasskeysFactorRequestResponse]
90
+ attr_accessor :id, :raw_id, :authenticator_attachment, :type, :response
91
+ def initialize(payload)
92
+ @id = payload["id"]
93
+ @raw_id = payload["raw_id"]
94
+ @authenticator_attachment = payload["authenticator_attachment"]
95
+ @type = payload["type"]
96
+ @response = payload["response"]
97
+ end
98
+ def to_json(options = {})
99
+ {
100
+ "id": @id,
101
+ "rawId": @raw_id,
102
+ "authenticatorAttachment": @authenticator_attachment,
103
+ "type": @type,
104
+ "response": @response,
105
+ }.to_json(options)
106
+ end
107
+ end
108
+
109
+ class VerifyPasskeysFactorRequestResponse
110
+ # @param [attestation_object]: [String] The authenticator data and an attestation statement for a new key pair generated by the authenticator.
111
+ # @param [client_data_json]: [String] This property contains the JSON-compatible serialization of the data passed from the browser to the authenticator in order to generate this credential.
112
+ # @param [transports]: [Array<String>] An array of strings providing hints as to the methods the client could use to communicate with the relevant authenticator of the public key credential to retrieve.
113
+ attr_accessor :attestation_object, :client_data_json, :transports
114
+ def initialize(payload)
115
+ @attestation_object = payload["attestation_object"]
116
+ @client_data_json = payload["client_data_json"]
117
+ @transports = payload["transports"]
118
+ end
119
+ def to_json(options = {})
120
+ {
121
+ "attestationObject": @attestation_object,
122
+ "clientDataJSON": @client_data_json,
123
+ "transports": @transports,
124
+ }.to_json(options)
125
+ end
126
+ end
127
+
128
+
129
+ class CreateNewPasskeysFactorRequest
130
+ # @param [friendly_name]: [String]
131
+ # @param [identity]: [String]
132
+ # @param [config]: [NewFactorList.CreateNewPasskeysFactorRequestConfig]
133
+ attr_accessor :friendly_name, :identity, :config
134
+ def initialize(payload)
135
+ @friendly_name = payload["friendly_name"]
136
+ @identity = payload["identity"]
137
+ @config = payload["config"]
138
+ end
139
+ def to_json(options = {})
140
+ {
141
+ "friendly_name": @friendly_name,
142
+ "identity": @identity,
143
+ "config": @config,
144
+ }.to_json(options)
145
+ end
146
+ end
147
+
148
+ class CreateNewPasskeysFactorRequestConfig
149
+ # @param [relying_party]: [NewFactorList.CreateNewPasskeysFactorRequestConfigRelyingParty]
150
+ # @param [authenticator_attachment]: [String]
151
+ # @param [discoverable_credentials]: [String]
152
+ # @param [user_verification]: [String]
153
+ attr_accessor :relying_party, :authenticator_attachment, :discoverable_credentials, :user_verification
154
+ def initialize(payload)
155
+ @relying_party = payload["relying_party"]
156
+ @authenticator_attachment = payload["authenticator_attachment"]
157
+ @discoverable_credentials = payload["discoverable_credentials"]
158
+ @user_verification = payload["user_verification"]
159
+ end
160
+ def to_json(options = {})
161
+ {
162
+ "relying_party": @relying_party,
163
+ "authenticator_attachment": @authenticator_attachment,
164
+ "discoverable_credentials": @discoverable_credentials,
165
+ "user_verification": @user_verification,
166
+ }.to_json(options)
167
+ end
168
+ end
169
+
170
+ class CreateNewPasskeysFactorRequestConfigRelyingParty
171
+ # @param [id]: [String]
172
+ # @param [name]: [String]
173
+ # @param [origins]: [Array<String>]
174
+ attr_accessor :id, :name, :origins
175
+ def initialize(payload)
176
+ @id = payload["id"]
177
+ @name = payload["name"]
178
+ @origins = payload["origins"]
179
+ end
180
+ def to_json(options = {})
181
+ {
182
+ "id": @id,
183
+ "name": @name,
184
+ "origins": @origins,
185
+ }.to_json(options)
186
+ end
187
+ end
188
+
189
+ class VerifyPasskeysFactorRequest
190
+ # @param [id]: [String] A [base64url](https://base64.guru/standards/base64url) encoded representation of `rawId`.
191
+ # @param [raw_id]: [String] The globally unique identifier for this `PublicKeyCredential`.
192
+ # @param [authenticator_attachment]: [String] A string that indicates the mechanism by which the WebAuthn implementation is attached to the authenticator at the time the associated `navigator.credentials.create()` or `navigator.credentials.get()` call completes.
193
+ # @param [type]: [String] The valid credential types supported by the API. The values of this enumeration are used for versioning the `AuthenticatorAssertion` and `AuthenticatorAttestation` structures according to the type of the authenticator.
194
+ # @param [response]: [NewFactorList.VerifyPasskeysFactorRequestResponse]
195
+ attr_accessor :id, :raw_id, :authenticator_attachment, :type, :response
196
+ def initialize(payload)
197
+ @id = payload["id"]
198
+ @raw_id = payload["raw_id"]
199
+ @authenticator_attachment = payload["authenticator_attachment"]
200
+ @type = payload["type"]
201
+ @response = payload["response"]
202
+ end
203
+ def to_json(options = {})
204
+ {
205
+ "id": @id,
206
+ "rawId": @raw_id,
207
+ "authenticatorAttachment": @authenticator_attachment,
208
+ "type": @type,
209
+ "response": @response,
210
+ }.to_json(options)
211
+ end
212
+ end
213
+
214
+ class VerifyPasskeysFactorRequestResponse
215
+ # @param [attestation_object]: [String] The authenticator data and an attestation statement for a new key pair generated by the authenticator.
216
+ # @param [client_data_json]: [String] This property contains the JSON-compatible serialization of the data passed from the browser to the authenticator in order to generate this credential.
217
+ # @param [transports]: [Array<String>] An array of strings providing hints as to the methods the client could use to communicate with the relevant authenticator of the public key credential to retrieve.
218
+ attr_accessor :attestation_object, :client_data_json, :transports
219
+ def initialize(payload)
220
+ @attestation_object = payload["attestation_object"]
221
+ @client_data_json = payload["client_data_json"]
222
+ @transports = payload["transports"]
223
+ end
224
+ def to_json(options = {})
225
+ {
226
+ "attestationObject": @attestation_object,
227
+ "clientDataJSON": @client_data_json,
228
+ "transports": @transports,
229
+ }.to_json(options)
230
+ end
231
+ end
232
+
233
+
234
+ ##
235
+ # Initialize the NewFactorList
236
+ # @param [Version] version Version that contains the resource
237
+ # @return [NewFactorList] NewFactorList
238
+ def initialize(version, service_sid: nil)
239
+ super(version)
240
+ # Path Solution
241
+ @solution = { service_sid: service_sid }
242
+ @uri = "/Services/#{@solution[:service_sid]}/Passkeys/VerifyFactor"
243
+
244
+ end
245
+ ##
246
+ # Create the NewFactorInstance
247
+ # @param [CreateNewPasskeysFactorRequest] create_new_passkeys_factor_request
248
+ # @return [NewFactorInstance] Created NewFactorInstance
249
+ def create(create_new_passkeys_factor_request: nil
250
+ )
251
+
252
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
253
+ headers['Content-Type'] = 'application/json'
254
+
255
+
256
+
257
+
258
+ payload = @version.create('POST', @uri, headers: headers, data: create_new_passkeys_factor_request.to_json)
259
+ NewFactorInstance.new(
260
+ @version,
261
+ payload,
262
+ service_sid: @solution[:service_sid],
263
+ )
264
+ end
265
+
266
+ ##
267
+ # Update the NewFactorInstance
268
+ # @param [VerifyPasskeysFactorRequest] verify_passkeys_factor_request
269
+ # @return [NewFactorInstance] Updated NewFactorInstance
270
+ def update(verify_passkeys_factor_request: nil
271
+ )
272
+
273
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
274
+ headers['Content-Type'] = 'application/json'
275
+
276
+
277
+
278
+
279
+ payload = @version.update('POST', @uri, headers: headers, data: verify_passkeys_factor_request.to_json)
280
+ NewFactorInstance.new(
281
+ @version,
282
+ payload,
283
+ service_sid: @solution[:service_sid],
284
+ )
285
+ end
286
+
287
+
288
+
289
+
290
+ # Provide a user friendly representation
291
+ def to_s
292
+ '#<Twilio.Verify.V2.NewFactorList>'
293
+ end
294
+ end
295
+
296
+ class NewFactorPage < Page
297
+ ##
298
+ # Initialize the NewFactorPage
299
+ # @param [Version] version Version that contains the resource
300
+ # @param [Response] response Response from the API
301
+ # @param [Hash] solution Path solution for the resource
302
+ # @return [NewFactorPage] NewFactorPage
303
+ def initialize(version, response, solution)
304
+ super(version, response)
305
+
306
+ # Path Solution
307
+ @solution = solution
308
+ end
309
+
310
+ ##
311
+ # Build an instance of NewFactorInstance
312
+ # @param [Hash] payload Payload response from the API
313
+ # @return [NewFactorInstance] NewFactorInstance
314
+ def get_instance(payload)
315
+ NewFactorInstance.new(@version, payload, service_sid: @solution[:service_sid])
316
+ end
317
+
318
+ ##
319
+ # Provide a user friendly representation
320
+ def to_s
321
+ '<Twilio.Verify.V2.NewFactorPage>'
322
+ end
323
+ end
324
+ class NewFactorInstance < InstanceResource
325
+ ##
326
+ # Initialize the NewFactorInstance
327
+ # @param [Version] version Version that contains the resource
328
+ # @param [Hash] payload payload that contains response from Twilio
329
+ # @param [String] account_sid The SID of the
330
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this NewFactor
331
+ # resource.
332
+ # @param [String] sid The SID of the Call resource to fetch.
333
+ # @return [NewFactorInstance] NewFactorInstance
334
+ def initialize(version, payload , service_sid: nil)
335
+ super(version)
336
+
337
+ # Marshaled Properties
338
+ @properties = {
339
+ 'sid' => payload['sid'],
340
+ 'account_sid' => payload['account_sid'],
341
+ 'service_sid' => payload['service_sid'],
342
+ 'entity_sid' => payload['entity_sid'],
343
+ 'identity' => payload['identity'],
344
+ 'binding' => payload['binding'],
345
+ 'options' => payload['options'],
346
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
347
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
348
+ 'friendly_name' => payload['friendly_name'],
349
+ 'status' => payload['status'],
350
+ 'factor_type' => payload['factor_type'],
351
+ 'config' => payload['config'],
352
+ 'metadata' => payload['metadata'],
353
+ 'url' => payload['url'],
354
+ }
355
+ end
356
+
357
+
358
+ ##
359
+ # @return [String] A 34 character string that uniquely identifies this Factor.
360
+ def sid
361
+ @properties['sid']
362
+ end
363
+
364
+ ##
365
+ # @return [String] The unique SID identifier of the Account.
366
+ def account_sid
367
+ @properties['account_sid']
368
+ end
369
+
370
+ ##
371
+ # @return [String] The unique SID identifier of the Service.
372
+ def service_sid
373
+ @properties['service_sid']
374
+ end
375
+
376
+ ##
377
+ # @return [String] The unique SID identifier of the Entity.
378
+ def entity_sid
379
+ @properties['entity_sid']
380
+ end
381
+
382
+ ##
383
+ # @return [String] Customer unique identity for the Entity owner of the Factor.
384
+ def identity
385
+ @properties['identity']
386
+ end
387
+
388
+ ##
389
+ # @return [Hash] Contains the `factor_type` specific secret and metadata. The Binding property is ONLY returned upon Factor creation.
390
+ def binding
391
+ @properties['binding']
392
+ end
393
+
394
+ ##
395
+ # @return [Hash]
396
+ def options
397
+ @properties['options']
398
+ end
399
+
400
+ ##
401
+ # @return [Time] The date that this Factor was created, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
402
+ def date_created
403
+ @properties['date_created']
404
+ end
405
+
406
+ ##
407
+ # @return [Time] The date that this Factor was updated, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
408
+ def date_updated
409
+ @properties['date_updated']
410
+ end
411
+
412
+ ##
413
+ # @return [String] The friendly name of this Factor. This can be any string up to 64 characters, meant for humans to distinguish between Factors.
414
+ def friendly_name
415
+ @properties['friendly_name']
416
+ end
417
+
418
+ ##
419
+ # @return [String] The Status of this Factor. One of `unverified` or `verified`.
420
+ def status
421
+ @properties['status']
422
+ end
423
+
424
+ ##
425
+ # @return [String] The Type of this Factor. Currently `push` and `totp` are supported.
426
+ def factor_type
427
+ @properties['factor_type']
428
+ end
429
+
430
+ ##
431
+ # @return [Hash] An object that contains configurations specific to a `factor_type`.
432
+ def config
433
+ @properties['config']
434
+ end
435
+
436
+ ##
437
+ # @return [Hash] Custom metadata associated with the factor.
438
+ def metadata
439
+ @properties['metadata']
440
+ end
441
+
442
+ ##
443
+ # @return [String] The URL of this resource.
444
+ def url
445
+ @properties['url']
446
+ end
447
+
448
+ ##
449
+ # Provide a user friendly representation
450
+ def to_s
451
+ "<Twilio.Verify.V2.NewFactorInstance>"
452
+ end
453
+
454
+ ##
455
+ # Provide a detailed, user friendly representation
456
+ def inspect
457
+ "<Twilio.Verify.V2.NewFactorInstance>"
458
+ end
459
+ end
460
+
461
+ end
462
+ end
463
+ end
464
+ end
465
+ end
466
+
467
+
@@ -242,10 +242,14 @@ module Twilio
242
242
 
243
243
  # Dependents
244
244
  @verification_checks = nil
245
+ @new_factors = nil
246
+ @new_factors = nil
247
+ @approve_challenge = nil
245
248
  @verifications = nil
246
249
  @access_tokens = nil
247
250
  @webhooks = nil
248
251
  @messaging_configurations = nil
252
+ @new_challenge = nil
249
253
  @entities = nil
250
254
  @rate_limits = nil
251
255
  end
@@ -393,6 +397,39 @@ module Twilio
393
397
  @verification_checks
394
398
  end
395
399
  ##
400
+ # Access the new_factors
401
+ # @return [NewFactorList]
402
+ # @return [NewFactorContext]
403
+ def new_factors
404
+ unless @new_factors
405
+ @new_factors = NewFactorList.new(
406
+ @version, )
407
+ end
408
+ @new_factors
409
+ end
410
+ ##
411
+ # Access the new_factors
412
+ # @return [NewFactorList]
413
+ # @return [NewFactorContext]
414
+ def new_factors
415
+ unless @new_factors
416
+ @new_factors = NewFactorList.new(
417
+ @version, )
418
+ end
419
+ @new_factors
420
+ end
421
+ ##
422
+ # Access the approve_challenge
423
+ # @return [ApproveChallengeList]
424
+ # @return [ApproveChallengeContext]
425
+ def approve_challenge
426
+ unless @approve_challenge
427
+ @approve_challenge = ApproveChallengeList.new(
428
+ @version, )
429
+ end
430
+ @approve_challenge
431
+ end
432
+ ##
396
433
  # Access the verifications
397
434
  # @return [VerificationList]
398
435
  # @return [VerificationContext] if sid was passed.
@@ -469,6 +506,16 @@ module Twilio
469
506
  @messaging_configurations
470
507
  end
471
508
  ##
509
+ # Access the new_challenge
510
+ # @return [NewChallengeList]
511
+ # @return [NewChallengeContext]
512
+ def new_challenge
513
+ NewChallengeContext.new(
514
+ @version,
515
+ @solution[:sid]
516
+ )
517
+ end
518
+ ##
472
519
  # Access the entities
473
520
  # @return [EntityList]
474
521
  # @return [EntityContext] if sid was passed.
@@ -841,6 +888,27 @@ module Twilio
841
888
  context.verification_checks
842
889
  end
843
890
 
891
+ ##
892
+ # Access the new_factors
893
+ # @return [new_factors] new_factors
894
+ def new_factors
895
+ context.new_factors
896
+ end
897
+
898
+ ##
899
+ # Access the new_factors
900
+ # @return [new_factors] new_factors
901
+ def new_factors
902
+ context.new_factors
903
+ end
904
+
905
+ ##
906
+ # Access the approve_challenge
907
+ # @return [approve_challenge] approve_challenge
908
+ def approve_challenge
909
+ context.approve_challenge
910
+ end
911
+
844
912
  ##
845
913
  # Access the verifications
846
914
  # @return [verifications] verifications
@@ -869,6 +937,13 @@ module Twilio
869
937
  context.messaging_configurations
870
938
  end
871
939
 
940
+ ##
941
+ # Access the new_challenge
942
+ # @return [new_challenge] new_challenge
943
+ def new_challenge
944
+ context.new_challenge
945
+ end
946
+
872
947
  ##
873
948
  # Access the entities
874
949
  # @return [entities] entities
@@ -21,12 +21,17 @@ module Twilio
21
21
  @base_url = "https://voice.twilio.com"
22
22
  @host = "voice.twilio.com"
23
23
  @port = 443
24
+ @v1 = nil
25
+ end
26
+
27
+ def v1
28
+ @v1 ||= Voice::V1.new self
24
29
  end
25
30
 
26
31
  ##
27
32
  # Provide a user friendly representation
28
33
  def to_s
29
- '<Twilio::REST::Voice>';
34
+ '<Twilio::REST::Voice::V1>';
30
35
  end
31
36
  end
32
37
  end
@@ -2049,6 +2049,26 @@ module Twilio
2049
2049
  yield(assistant) if block_given?
2050
2050
  append(assistant)
2051
2051
  end
2052
+
2053
+ ##
2054
+ # Create a new <AiSession> element
2055
+ # ai_connector:: The unique name or installed add-on sid that identifies the installed addon resource for the AI Connector
2056
+ # ai_session_configuration:: The unique name or id of the AiSession Configuration resource.
2057
+ # keyword_args:: additional attributes
2058
+ def ai_session(ai_connector: nil, ai_session_configuration: nil, **keyword_args)
2059
+ append(AiSession.new(ai_connector: ai_connector, ai_session_configuration: ai_session_configuration, **keyword_args))
2060
+ end
2061
+ end
2062
+
2063
+ ##
2064
+ # <AiSession> TwiML Noun
2065
+ class AiSession < TwiML
2066
+ def initialize(**keyword_args)
2067
+ super(**keyword_args)
2068
+ @name = 'AiSession'
2069
+
2070
+ yield(self) if block_given?
2071
+ end
2052
2072
  end
2053
2073
 
2054
2074
  ##
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '7.8.0'
2
+ VERSION = '7.8.2'
3
3
  end
data/twilio-ruby.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.extra_rdoc_files = ['README.md', 'LICENSE']
26
26
  spec.rdoc_options = ['--line-numbers', '--inline-source', '--title', 'twilio-ruby', '--main', 'README.md']
27
27
 
28
- spec.add_dependency('jwt', '>= 1.5', '< 3.0')
28
+ spec.add_dependency('jwt', '>= 1.5', '< 4.0')
29
29
  spec.add_dependency('nokogiri', '>= 1.6', '< 2.0')
30
30
  spec.add_dependency('faraday', '>= 0.9', '< 3.0')
31
31
  # Workaround for RBX <= 2.2.1, should be fixed in next version