twilio-ruby 7.11.3 → 7.13.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +277 -0
  3. data/Gemfile.lock +2 -2
  4. data/README.md +2 -2
  5. data/examples/WebhookSignatureValidation.md +61 -0
  6. data/lib/rack/twilio_webhook_authentication.rb +30 -5
  7. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +7 -0
  8. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  9. data/lib/twilio-ruby/rest/client.rb +5 -0
  10. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +108 -1
  11. data/lib/twilio-ruby/rest/content/v1/content.rb +10 -4
  12. data/lib/twilio-ruby/rest/conversations/v2/action.rb +9 -2
  13. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +4 -1
  14. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +21 -0
  15. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +226 -7
  16. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +1 -1
  17. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +1 -1
  18. data/lib/twilio-ruby/rest/insights/v3/custom_field_mapping.rb +512 -17
  19. data/lib/twilio-ruby/rest/insights/v3/{capacity.rb → custom_field_mappings_capacity.rb} +26 -26
  20. data/lib/twilio-ruby/rest/insights/v3.rb +17 -7
  21. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +22 -1
  22. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +5 -5
  23. data/lib/twilio-ruby/rest/memory/v1/import.rb +21 -7
  24. data/lib/twilio-ruby/rest/memory/v1/observation.rb +9 -9
  25. data/lib/twilio-ruby/rest/memory/v1/revision.rb +1 -1
  26. data/lib/twilio-ruby/rest/memory/v1/store.rb +7 -0
  27. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +30 -2
  28. data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +30 -6
  29. data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +30 -6
  30. data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +45 -6
  31. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -6
  32. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +40 -0
  33. data/lib/twilio-ruby/rest/routes/v3/iso_country_code.rb +402 -0
  34. data/lib/twilio-ruby/rest/routes/v3.rb +43 -0
  35. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +5 -5
  36. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +4 -4
  37. data/lib/twilio-ruby/rest/trusthub/v1.rb +2 -2
  38. data/lib/twilio-ruby/rest/webhooks/v1/auth_profile.rb +825 -0
  39. data/lib/twilio-ruby/rest/webhooks/v1/edge_zone.rb +320 -0
  40. data/lib/twilio-ruby/rest/webhooks/v1/operation.rb +513 -0
  41. data/lib/twilio-ruby/rest/webhooks/v1/rule.rb +818 -0
  42. data/lib/twilio-ruby/rest/webhooks/v1/setting.rb +1028 -0
  43. data/lib/twilio-ruby/rest/webhooks/v1/shared_key.rb +722 -0
  44. data/lib/twilio-ruby/rest/webhooks/v1/test.rb +228 -0
  45. data/lib/twilio-ruby/rest/webhooks/v1.rb +126 -0
  46. data/lib/twilio-ruby/rest/webhooks.rb +6 -0
  47. data/lib/twilio-ruby/rest/webhooks_base.rb +38 -0
  48. data/lib/twilio-ruby/security/request_validator.rb +54 -8
  49. data/lib/twilio-ruby/twiml/voice_response.rb +20 -5
  50. data/lib/twilio-ruby/version.rb +1 -1
  51. metadata +15 -5
  52. data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +0 -165
  53. data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +0 -200
@@ -87,7 +87,7 @@ module Twilio
87
87
  end
88
88
 
89
89
  class CreateConversationWithConfigRequest
90
- # @param [configuration_id]: [String] The ID of an existing configuration.
90
+ # @param [configuration_id]: [String] The ID of an existing configuration. Omit it to define the configuration inline in `configuration`.
91
91
  # @param [name]: [String] The name of the conversation.
92
92
  # @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
93
93
  # @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
@@ -112,21 +112,87 @@ module Twilio
112
112
  end
113
113
 
114
114
  class CreateConversationWithConfigRequestConfiguration
115
+ # @param [conversation_grouping_type]: [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
116
+ # @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
117
+ # @param [channel_settings]: [Hash<String, CreateConversationWithConfigRequestConfigurationChannelSettingsValue>] Status timeouts by channel type. Capture rules can only be set on a Configuration.
118
+ # @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for this Conversation. Without `configurationId`, defaults to false; with it, defaults to the Configuration's value.
115
119
  # @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
120
+ # @param [trait_extraction_strategy_ids]: [Array<String>] A list of Trait Extraction Strategy IDs.
121
+ # @param [observation_extraction_strategy_ids]: [Array<String>] A list of Observation Extraction Strategy IDs.
122
+ # @param [status_callbacks]: [Array<ConversationList.CreateConversationWithConfigRequestConfigurationStatusCallbacks>] The webhook configurations for this Conversation. Overrides the Configuration's own.
116
123
  # @param [workflows]: [Array<ConversationList.ConversationWorkflow>] The Workflows to associate with this Conversation. Overrides the Configuration's own.
117
- attr_accessor :intelligence_configuration_ids, :workflows
124
+ attr_accessor :conversation_grouping_type, :memory_store_id, :channel_settings, :memory_extraction_enabled, :intelligence_configuration_ids, :trait_extraction_strategy_ids, :observation_extraction_strategy_ids, :status_callbacks, :workflows
118
125
  def initialize(payload)
126
+ @conversation_grouping_type = payload["conversation_grouping_type"]
127
+ @memory_store_id = payload["memory_store_id"]
128
+ @channel_settings = payload["channel_settings"]
129
+ @memory_extraction_enabled = payload["memory_extraction_enabled"]
119
130
  @intelligence_configuration_ids = payload["intelligence_configuration_ids"]
131
+ @trait_extraction_strategy_ids = payload["trait_extraction_strategy_ids"]
132
+ @observation_extraction_strategy_ids = payload["observation_extraction_strategy_ids"]
133
+ @status_callbacks = payload["status_callbacks"]
120
134
  @workflows = payload["workflows"]
121
135
  end
122
136
  def to_json(options = {})
123
137
  {
138
+ "conversationGroupingType": @conversation_grouping_type,
139
+ "memoryStoreId": @memory_store_id,
140
+ "channelSettings": @channel_settings,
141
+ "memoryExtractionEnabled": @memory_extraction_enabled,
124
142
  "intelligenceConfigurationIds": @intelligence_configuration_ids,
143
+ "traitExtractionStrategyIds": @trait_extraction_strategy_ids,
144
+ "observationExtractionStrategyIds": @observation_extraction_strategy_ids,
145
+ "statusCallbacks": @status_callbacks,
125
146
  "workflows": @workflows,
126
147
  }.to_json(options)
127
148
  end
128
149
  end
129
150
 
151
+ class CreateConversationWithConfigRequestConfigurationChannelSettingsValue
152
+ # @param [status_timeouts]: [CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts]
153
+ attr_accessor :status_timeouts
154
+ def initialize(payload)
155
+ @status_timeouts = payload["status_timeouts"]
156
+ end
157
+ def to_json(options = {})
158
+ {
159
+ "statusTimeouts": @status_timeouts,
160
+ }.to_json(options)
161
+ end
162
+ end
163
+
164
+ class CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts
165
+ # @param [inactive]: [Integer] Inactivity timeout in minutes.
166
+ # @param [closed]: [Integer] Close timeout in minutes.
167
+ attr_accessor :inactive, :closed
168
+ def initialize(payload)
169
+ @inactive = payload["inactive"]
170
+ @closed = payload["closed"]
171
+ end
172
+ def to_json(options = {})
173
+ {
174
+ "inactive": @inactive,
175
+ "closed": @closed,
176
+ }.to_json(options)
177
+ end
178
+ end
179
+
180
+ class CreateConversationWithConfigRequestConfigurationStatusCallbacks
181
+ # @param [url]: [String] Destination URL for webhooks.
182
+ # @param [method]: [String] HTTP method used to invoke the webhook URL.
183
+ attr_accessor :url, :method
184
+ def initialize(payload)
185
+ @url = payload["url"]
186
+ @method = payload["method"]
187
+ end
188
+ def to_json(options = {})
189
+ {
190
+ "url": @url,
191
+ "method": @method,
192
+ }.to_json(options)
193
+ end
194
+ end
195
+
130
196
  class CreateConversationWithConfigRequestParticipants
131
197
  # @param [name]: [String] Display name for the Participant.
132
198
  # @param [type]: [String] Type of Participant in the Conversation.
@@ -291,7 +357,7 @@ module Twilio
291
357
  end
292
358
 
293
359
  class CreateConversationWithConfigRequest
294
- # @param [configuration_id]: [String] The ID of an existing configuration.
360
+ # @param [configuration_id]: [String] The ID of an existing configuration. Omit it to define the configuration inline in `configuration`.
295
361
  # @param [name]: [String] The name of the conversation.
296
362
  # @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
297
363
  # @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
@@ -316,21 +382,87 @@ module Twilio
316
382
  end
317
383
 
318
384
  class CreateConversationWithConfigRequestConfiguration
385
+ # @param [conversation_grouping_type]: [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
386
+ # @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
387
+ # @param [channel_settings]: [Hash<String, CreateConversationWithConfigRequestConfigurationChannelSettingsValue>] Status timeouts by channel type. Capture rules can only be set on a Configuration.
388
+ # @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for this Conversation. Without `configurationId`, defaults to false; with it, defaults to the Configuration's value.
319
389
  # @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
390
+ # @param [trait_extraction_strategy_ids]: [Array<String>] A list of Trait Extraction Strategy IDs.
391
+ # @param [observation_extraction_strategy_ids]: [Array<String>] A list of Observation Extraction Strategy IDs.
392
+ # @param [status_callbacks]: [Array<ConversationList.CreateConversationWithConfigRequestConfigurationStatusCallbacks>] The webhook configurations for this Conversation. Overrides the Configuration's own.
320
393
  # @param [workflows]: [Array<ConversationList.ConversationWorkflow>] The Workflows to associate with this Conversation. Overrides the Configuration's own.
321
- attr_accessor :intelligence_configuration_ids, :workflows
394
+ attr_accessor :conversation_grouping_type, :memory_store_id, :channel_settings, :memory_extraction_enabled, :intelligence_configuration_ids, :trait_extraction_strategy_ids, :observation_extraction_strategy_ids, :status_callbacks, :workflows
322
395
  def initialize(payload)
396
+ @conversation_grouping_type = payload["conversation_grouping_type"]
397
+ @memory_store_id = payload["memory_store_id"]
398
+ @channel_settings = payload["channel_settings"]
399
+ @memory_extraction_enabled = payload["memory_extraction_enabled"]
323
400
  @intelligence_configuration_ids = payload["intelligence_configuration_ids"]
401
+ @trait_extraction_strategy_ids = payload["trait_extraction_strategy_ids"]
402
+ @observation_extraction_strategy_ids = payload["observation_extraction_strategy_ids"]
403
+ @status_callbacks = payload["status_callbacks"]
324
404
  @workflows = payload["workflows"]
325
405
  end
326
406
  def to_json(options = {})
327
407
  {
408
+ "conversationGroupingType": @conversation_grouping_type,
409
+ "memoryStoreId": @memory_store_id,
410
+ "channelSettings": @channel_settings,
411
+ "memoryExtractionEnabled": @memory_extraction_enabled,
328
412
  "intelligenceConfigurationIds": @intelligence_configuration_ids,
413
+ "traitExtractionStrategyIds": @trait_extraction_strategy_ids,
414
+ "observationExtractionStrategyIds": @observation_extraction_strategy_ids,
415
+ "statusCallbacks": @status_callbacks,
329
416
  "workflows": @workflows,
330
417
  }.to_json(options)
331
418
  end
332
419
  end
333
420
 
421
+ class CreateConversationWithConfigRequestConfigurationChannelSettingsValue
422
+ # @param [status_timeouts]: [CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts]
423
+ attr_accessor :status_timeouts
424
+ def initialize(payload)
425
+ @status_timeouts = payload["status_timeouts"]
426
+ end
427
+ def to_json(options = {})
428
+ {
429
+ "statusTimeouts": @status_timeouts,
430
+ }.to_json(options)
431
+ end
432
+ end
433
+
434
+ class CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts
435
+ # @param [inactive]: [Integer] Inactivity timeout in minutes.
436
+ # @param [closed]: [Integer] Close timeout in minutes.
437
+ attr_accessor :inactive, :closed
438
+ def initialize(payload)
439
+ @inactive = payload["inactive"]
440
+ @closed = payload["closed"]
441
+ end
442
+ def to_json(options = {})
443
+ {
444
+ "inactive": @inactive,
445
+ "closed": @closed,
446
+ }.to_json(options)
447
+ end
448
+ end
449
+
450
+ class CreateConversationWithConfigRequestConfigurationStatusCallbacks
451
+ # @param [url]: [String] Destination URL for webhooks.
452
+ # @param [method]: [String] HTTP method used to invoke the webhook URL.
453
+ attr_accessor :url, :method
454
+ def initialize(payload)
455
+ @url = payload["url"]
456
+ @method = payload["method"]
457
+ end
458
+ def to_json(options = {})
459
+ {
460
+ "url": @url,
461
+ "method": @method,
462
+ }.to_json(options)
463
+ end
464
+ end
465
+
334
466
  class CreateConversationWithConfigRequestParticipants
335
467
  # @param [name]: [String] Display name for the Participant.
336
468
  # @param [type]: [String] Type of Participant in the Conversation.
@@ -495,7 +627,7 @@ module Twilio
495
627
  end
496
628
 
497
629
  class CreateConversationWithConfigRequest
498
- # @param [configuration_id]: [String] The ID of an existing configuration.
630
+ # @param [configuration_id]: [String] The ID of an existing configuration. Omit it to define the configuration inline in `configuration`.
499
631
  # @param [name]: [String] The name of the conversation.
500
632
  # @param [configuration]: [ConversationList.CreateConversationWithConfigRequestConfiguration]
501
633
  # @param [participants]: [Array<ConversationList.CreateConversationWithConfigRequestParticipants>] Optional list of Participants to create with the Conversation.
@@ -520,21 +652,87 @@ module Twilio
520
652
  end
521
653
 
522
654
  class CreateConversationWithConfigRequestConfiguration
655
+ # @param [conversation_grouping_type]: [String] Type of Conversation grouping strategy: - `GROUP_BY_PROFILE`: Groups Communications by resolved Profile from the Memory Store. A Profile is looked up or created for `CUSTOMER` Participant types. All Communications from the same Profile are in the same Conversation, regardless of address or channel. - `GROUP_BY_PARTICIPANT_ADDRESSES`: Groups Communications by Participant addresses across all channels. A customer using +18005550100 will be in the same Conversation whether they contact by SMS, WhatsApp, or RCS. - `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE`: Groups Communications by both Participant addresses AND channel. A customer using +18005550100 by SMS will be in a different Conversation than the same customer by Voice.
656
+ # @param [memory_store_id]: [String] The memory store ID that Conversation Orchestrator uses for profile resolution.
657
+ # @param [channel_settings]: [Hash<String, CreateConversationWithConfigRequestConfigurationChannelSettingsValue>] Status timeouts by channel type. Capture rules can only be set on a Configuration.
658
+ # @param [memory_extraction_enabled]: [Boolean] Whether memory extraction is enabled for this Conversation. Without `configurationId`, defaults to false; with it, defaults to the Configuration's value.
523
659
  # @param [intelligence_configuration_ids]: [Array<String>] A list of Conversational Intelligence configuration IDs.
660
+ # @param [trait_extraction_strategy_ids]: [Array<String>] A list of Trait Extraction Strategy IDs.
661
+ # @param [observation_extraction_strategy_ids]: [Array<String>] A list of Observation Extraction Strategy IDs.
662
+ # @param [status_callbacks]: [Array<ConversationList.CreateConversationWithConfigRequestConfigurationStatusCallbacks>] The webhook configurations for this Conversation. Overrides the Configuration's own.
524
663
  # @param [workflows]: [Array<ConversationList.ConversationWorkflow>] The Workflows to associate with this Conversation. Overrides the Configuration's own.
525
- attr_accessor :intelligence_configuration_ids, :workflows
664
+ attr_accessor :conversation_grouping_type, :memory_store_id, :channel_settings, :memory_extraction_enabled, :intelligence_configuration_ids, :trait_extraction_strategy_ids, :observation_extraction_strategy_ids, :status_callbacks, :workflows
526
665
  def initialize(payload)
666
+ @conversation_grouping_type = payload["conversation_grouping_type"]
667
+ @memory_store_id = payload["memory_store_id"]
668
+ @channel_settings = payload["channel_settings"]
669
+ @memory_extraction_enabled = payload["memory_extraction_enabled"]
527
670
  @intelligence_configuration_ids = payload["intelligence_configuration_ids"]
671
+ @trait_extraction_strategy_ids = payload["trait_extraction_strategy_ids"]
672
+ @observation_extraction_strategy_ids = payload["observation_extraction_strategy_ids"]
673
+ @status_callbacks = payload["status_callbacks"]
528
674
  @workflows = payload["workflows"]
529
675
  end
530
676
  def to_json(options = {})
531
677
  {
678
+ "conversationGroupingType": @conversation_grouping_type,
679
+ "memoryStoreId": @memory_store_id,
680
+ "channelSettings": @channel_settings,
681
+ "memoryExtractionEnabled": @memory_extraction_enabled,
532
682
  "intelligenceConfigurationIds": @intelligence_configuration_ids,
683
+ "traitExtractionStrategyIds": @trait_extraction_strategy_ids,
684
+ "observationExtractionStrategyIds": @observation_extraction_strategy_ids,
685
+ "statusCallbacks": @status_callbacks,
533
686
  "workflows": @workflows,
534
687
  }.to_json(options)
535
688
  end
536
689
  end
537
690
 
691
+ class CreateConversationWithConfigRequestConfigurationChannelSettingsValue
692
+ # @param [status_timeouts]: [CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts]
693
+ attr_accessor :status_timeouts
694
+ def initialize(payload)
695
+ @status_timeouts = payload["status_timeouts"]
696
+ end
697
+ def to_json(options = {})
698
+ {
699
+ "statusTimeouts": @status_timeouts,
700
+ }.to_json(options)
701
+ end
702
+ end
703
+
704
+ class CreateConversationWithConfigRequestConfigurationChannelSettingsValueStatusTimeouts
705
+ # @param [inactive]: [Integer] Inactivity timeout in minutes.
706
+ # @param [closed]: [Integer] Close timeout in minutes.
707
+ attr_accessor :inactive, :closed
708
+ def initialize(payload)
709
+ @inactive = payload["inactive"]
710
+ @closed = payload["closed"]
711
+ end
712
+ def to_json(options = {})
713
+ {
714
+ "inactive": @inactive,
715
+ "closed": @closed,
716
+ }.to_json(options)
717
+ end
718
+ end
719
+
720
+ class CreateConversationWithConfigRequestConfigurationStatusCallbacks
721
+ # @param [url]: [String] Destination URL for webhooks.
722
+ # @param [method]: [String] HTTP method used to invoke the webhook URL.
723
+ attr_accessor :url, :method
724
+ def initialize(payload)
725
+ @url = payload["url"]
726
+ @method = payload["method"]
727
+ end
728
+ def to_json(options = {})
729
+ {
730
+ "url": @url,
731
+ "method": @method,
732
+ }.to_json(options)
733
+ end
734
+ end
735
+
538
736
  class CreateConversationWithConfigRequestParticipants
539
737
  # @param [name]: [String] Display name for the Participant.
540
738
  # @param [type]: [String] Type of Participant in the Conversation.
@@ -1229,7 +1427,10 @@ module Twilio
1229
1427
  'channel_settings' => payload['channel_settings'],
1230
1428
  'status_callbacks' => payload['status_callbacks'],
1231
1429
  'intelligence_configuration_ids' => payload['intelligence_configuration_ids'],
1430
+ 'trait_extraction_strategy_ids' => payload['trait_extraction_strategy_ids'],
1431
+ 'observation_extraction_strategy_ids' => payload['observation_extraction_strategy_ids'],
1232
1432
  'memory_extraction_enabled' => payload['memory_extraction_enabled'],
1433
+ 'redaction_configuration_id' => payload['redaction_configuration_id'],
1233
1434
  'conversations_v1_bridge' => payload['conversations_v1_bridge'],
1234
1435
  'version' => payload['version'],
1235
1436
  }
@@ -1263,7 +1464,7 @@ module Twilio
1263
1464
  end
1264
1465
 
1265
1466
  ##
1266
- # @return [String] Configuration ID.
1467
+ # @return [String] Configuration ID. Null when the Conversation was created with an inline configuration.
1267
1468
  def configuration_id
1268
1469
  @properties['configuration_id']
1269
1470
  end
@@ -1370,12 +1571,30 @@ module Twilio
1370
1571
  @properties['intelligence_configuration_ids']
1371
1572
  end
1372
1573
 
1574
+ ##
1575
+ # @return [Array<String>] A list of Trait Extraction Strategy IDs.
1576
+ def trait_extraction_strategy_ids
1577
+ @properties['trait_extraction_strategy_ids']
1578
+ end
1579
+
1580
+ ##
1581
+ # @return [Array<String>] A list of Observation Extraction Strategy IDs.
1582
+ def observation_extraction_strategy_ids
1583
+ @properties['observation_extraction_strategy_ids']
1584
+ end
1585
+
1373
1586
  ##
1374
1587
  # @return [Boolean] Whether memory extraction is enabled for conversations under this configuration. Defaults to false.
1375
1588
  def memory_extraction_enabled
1376
1589
  @properties['memory_extraction_enabled']
1377
1590
  end
1378
1591
 
1592
+ ##
1593
+ # @return [String] The ID of the redaction configuration applied to communications in this configuration's conversations.
1594
+ def redaction_configuration_id
1595
+ @properties['redaction_configuration_id']
1596
+ end
1597
+
1379
1598
  ##
1380
1599
  # @return [ConversationsV2ConversationsV1Bridge]
1381
1600
  def conversations_v1_bridge
@@ -369,7 +369,7 @@ module Twilio
369
369
  end
370
370
 
371
371
  ##
372
- # @return [Array<String>] Tags applied to calls by Voice Insights analysis indicating a condition that could result in subjective degradation of the call quality.
372
+ # @return [Array<String>] [Tags](https://www.twilio.com/docs/voice/voice-insights/api/call/details-call-tags) that Voice Insights analysis applies to calls. They indicate a condition that may influence the subjective experience of call audio quality.
373
373
  def tags
374
374
  @properties['tags']
375
375
  end
@@ -681,7 +681,7 @@ module Twilio
681
681
  end
682
682
 
683
683
  ##
684
- # @return [Array<String>] Tags applied to calls by Voice Insights analysis indicating a condition that could result in subjective degradation of the call quality.
684
+ # @return [Array<String>] [Tags](https://www.twilio.com/docs/voice/voice-insights/api/call/details-call-tags) that Voice Insights analysis applies to calls. They indicate a condition that may influence the subjective experience of call audio quality.
685
685
  def tags
686
686
  @properties['tags']
687
687
  end