twilio-ruby 7.10.7 → 7.11.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +43 -67
  3. data/.gitignore +0 -1
  4. data/CHANGES.md +267 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +154 -0
  7. data/README.md +3 -3
  8. data/Rakefile +1 -1
  9. data/lib/rack/twilio_webhook_authentication.rb +45 -2
  10. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +25 -65
  11. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +0 -59
  12. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +0 -59
  13. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +0 -59
  14. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +0 -59
  15. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +0 -59
  16. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +48 -71
  17. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +0 -59
  18. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +0 -59
  19. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +0 -59
  20. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +0 -59
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +0 -59
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +0 -59
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +0 -59
  24. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -2
  26. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +0 -59
  27. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +6 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +0 -59
  29. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +0 -59
  30. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +0 -59
  31. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +0 -59
  32. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +0 -59
  33. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +0 -59
  34. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +0 -59
  35. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +0 -59
  36. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +0 -59
  37. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +0 -59
  38. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +0 -59
  39. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -59
  40. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -59
  41. data/lib/twilio-ruby/rest/chat/v3/channel.rb +0 -59
  42. data/lib/twilio-ruby/rest/client.rb +0 -5
  43. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +11 -60
  44. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +0 -59
  45. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +0 -59
  46. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +0 -59
  47. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -10
  48. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +0 -59
  49. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +0 -59
  50. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +0 -59
  51. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +0 -59
  52. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +10 -10
  53. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +0 -59
  54. data/lib/twilio-ruby/rest/conversations/v2/action.rb +2 -61
  55. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +43 -21
  56. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +584 -21
  57. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +28 -28
  58. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +10 -69
  59. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +58 -58
  60. data/lib/twilio-ruby/rest/conversations/v2.rb +55 -49
  61. data/lib/twilio-ruby/rest/events/v1/schema.rb +0 -59
  62. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +0 -59
  63. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +0 -59
  64. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +12 -14
  65. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +0 -59
  66. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +12 -14
  67. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +12 -14
  68. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +12 -14
  69. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +2 -4
  70. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +12 -14
  71. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +12 -14
  72. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +0 -59
  73. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +0 -59
  74. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +0 -59
  75. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +0 -59
  76. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +0 -59
  77. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +0 -59
  78. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +2 -4
  79. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +2 -4
  80. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +0 -59
  81. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +2 -4
  82. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +2 -4
  83. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +0 -59
  84. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +2 -4
  85. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +0 -59
  86. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +0 -59
  87. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +0 -59
  88. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +0 -59
  89. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +0 -59
  90. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +0 -59
  91. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +2 -61
  92. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +15 -61
  93. data/lib/twilio-ruby/rest/iam/v1/token.rb +0 -59
  94. data/lib/twilio-ruby/rest/iam_base.rb +6 -1
  95. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +0 -59
  96. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +7 -59
  97. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +7 -0
  98. data/lib/twilio-ruby/rest/insights/v1/call.rb +0 -59
  99. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  100. data/lib/twilio-ruby/rest/insights/v1/setting.rb +0 -59
  101. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +2 -261
  102. data/lib/twilio-ruby/rest/insights/v2/inbound_report.rb +258 -0
  103. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +18 -299
  104. data/lib/twilio-ruby/rest/insights/v2/outbound_report.rb +258 -0
  105. data/lib/twilio-ruby/rest/insights/v2/report.rb +27 -184
  106. data/lib/twilio-ruby/rest/insights/v2.rb +14 -4
  107. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +1 -60
  108. data/lib/twilio-ruby/rest/insights/v3/query.rb +1 -60
  109. data/lib/twilio-ruby/rest/insights/v3/query_job.rb +654 -0
  110. data/lib/twilio-ruby/rest/insights/v3/result.rb +195 -0
  111. data/lib/twilio-ruby/rest/insights/v3.rb +17 -1
  112. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +0 -59
  113. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +0 -59
  114. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +0 -59
  115. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +0 -59
  116. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +0 -59
  117. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +8 -8
  118. data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +443 -0
  119. data/lib/twilio-ruby/rest/intelligence/v3.rb +6 -0
  120. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +0 -59
  121. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +28 -0
  122. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +38 -0
  123. data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +0 -59
  124. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +8 -176
  125. data/lib/twilio-ruby/rest/knowledge/v2.rb +1 -2
  126. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +0 -59
  127. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +0 -59
  128. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +0 -59
  129. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +0 -59
  130. data/lib/twilio-ruby/rest/lookups/v2/query.rb +0 -59
  131. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +0 -59
  132. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +0 -59
  133. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +0 -59
  134. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +0 -59
  135. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +0 -59
  136. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +9 -177
  137. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +15 -9
  138. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +6 -12
  139. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +1 -81
  140. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +11 -191
  141. data/lib/twilio-ruby/rest/memory/v1/import.rb +28 -5
  142. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +1 -60
  143. data/lib/twilio-ruby/rest/memory/v1/observation.rb +72 -22
  144. data/lib/twilio-ruby/rest/memory/v1/operation.rb +1 -60
  145. data/lib/twilio-ruby/rest/memory/v1/profile.rb +2 -2
  146. data/lib/twilio-ruby/rest/memory/v1/recall.rb +1 -60
  147. data/lib/twilio-ruby/rest/memory/v1/revision.rb +3 -5
  148. data/lib/twilio-ruby/rest/memory/v1/store.rb +1 -1
  149. data/lib/twilio-ruby/rest/memory/v1/trait.rb +1 -1
  150. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +56 -6
  151. data/lib/twilio-ruby/rest/memory/v1.rb +3 -46
  152. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -59
  153. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +0 -18
  154. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +0 -59
  155. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +0 -59
  156. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +0 -59
  157. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +0 -59
  158. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +0 -59
  159. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +0 -59
  160. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +0 -59
  161. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +0 -59
  162. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +0 -59
  163. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +2 -4
  164. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +0 -59
  165. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +0 -59
  166. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +23 -4
  167. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +0 -59
  168. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +0 -59
  169. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +4 -63
  170. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -59
  171. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +0 -59
  172. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -59
  173. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +0 -59
  174. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +0 -59
  175. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +0 -59
  176. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +0 -59
  177. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +0 -59
  178. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +0 -59
  179. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +0 -59
  180. data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +172 -0
  181. data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +179 -0
  182. data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +186 -0
  183. data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +165 -0
  184. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +0 -59
  185. data/lib/twilio-ruby/rest/numbers/v1.rb +24 -0
  186. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +0 -59
  187. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +0 -59
  188. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +0 -59
  189. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +0 -59
  190. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +0 -59
  191. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +0 -59
  192. data/lib/twilio-ruby/rest/oauth/v1/token.rb +0 -59
  193. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +14 -61
  194. data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +200 -0
  195. data/lib/twilio-ruby/rest/oauth/v2/token.rb +10 -63
  196. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -59
  197. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +0 -59
  198. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +0 -59
  199. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +0 -78
  200. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +0 -59
  201. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +0 -59
  202. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +0 -59
  203. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +0 -59
  204. data/lib/twilio-ruby/rest/pricing/v2/number.rb +0 -59
  205. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +0 -59
  206. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +0 -59
  207. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +0 -59
  208. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +0 -59
  209. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +0 -59
  210. data/lib/twilio-ruby/rest/routes/v3/phone_number.rb +406 -0
  211. data/lib/twilio-ruby/rest/routes/v3.rb +50 -0
  212. data/lib/twilio-ruby/rest/routes_base.rb +6 -1
  213. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +0 -59
  214. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +0 -59
  215. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +0 -59
  216. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +0 -59
  217. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +0 -59
  218. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +0 -59
  219. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -59
  220. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -59
  221. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +0 -59
  222. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +0 -59
  223. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -59
  224. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +0 -59
  225. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +0 -59
  226. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +0 -59
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +0 -59
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +0 -59
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +0 -59
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +0 -59
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +0 -59
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +0 -59
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +0 -59
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +0 -59
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +0 -59
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +0 -59
  237. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +0 -59
  238. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +0 -59
  239. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +271 -0
  240. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration_embedded_session.rb +174 -0
  241. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +262 -0
  242. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration_embedded_session.rb +174 -0
  243. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +0 -59
  244. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +0 -59
  245. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +0 -59
  246. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles_provisional_copy.rb +386 -0
  247. data/lib/twilio-ruby/rest/trusthub/v1/trust_products_provisional_copy.rb +386 -0
  248. data/lib/twilio-ruby/rest/trusthub/v1.rb +74 -0
  249. data/lib/twilio-ruby/rest/verify/v2/form.rb +0 -59
  250. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +0 -59
  251. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +0 -59
  252. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +0 -59
  253. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +0 -59
  254. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -59
  255. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +3 -62
  256. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +0 -59
  257. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +0 -59
  258. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -61
  259. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +0 -59
  260. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +0 -59
  261. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +0 -59
  262. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +0 -59
  263. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +0 -59
  264. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +0 -59
  265. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +0 -59
  266. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +0 -59
  267. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +0 -59
  268. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +0 -59
  269. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +0 -59
  270. data/lib/twilio-ruby/rest/voice/v2/account_default_configuration.rb +497 -0
  271. data/lib/twilio-ruby/rest/voice/v2/configuration/default.rb +297 -0
  272. data/lib/twilio-ruby/rest/voice/v2/configuration.rb +353 -0
  273. data/lib/twilio-ruby/rest/voice/v2/recording.rb +557 -0
  274. data/lib/twilio-ruby/rest/voice/v2/transcription.rb +532 -0
  275. data/lib/twilio-ruby/rest/voice/v2/type.rb +459 -0
  276. data/lib/twilio-ruby/rest/voice/v2.rb +141 -0
  277. data/lib/twilio-ruby/rest/voice/v3/transcription.rb +259 -50
  278. data/lib/twilio-ruby/rest/voice_base.rb +5 -0
  279. data/lib/twilio-ruby/twiml/voice_response.rb +6 -68
  280. data/lib/twilio-ruby/version.rb +1 -1
  281. data/twilio-ruby.gemspec +1 -1
  282. metadata +36 -22
  283. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +0 -558
  284. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +0 -558
  285. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +0 -431
  286. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +0 -296
  287. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +0 -927
  288. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +0 -325
  289. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +0 -349
  290. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +0 -871
  291. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +0 -364
  292. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +0 -360
  293. data/lib/twilio-ruby/rest/assistants/v1/session.rb +0 -501
  294. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +0 -847
  295. data/lib/twilio-ruby/rest/assistants/v1.rb +0 -104
  296. data/lib/twilio-ruby/rest/assistants.rb +0 -6
  297. data/lib/twilio-ruby/rest/assistants_base.rb +0 -38
  298. data/lib/twilio-ruby/rest/memory/v1/event.rb +0 -320
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94c0dcbac0d30aded66290e1af4f4916f3b476448fa529bc90b1921d514a3993
4
- data.tar.gz: 44119ab61253eb5a927420db836726d0b294431acdc4d6b56ec94f6a0eaaa545
3
+ metadata.gz: e4972b2e50e8c249c2d1363eda7d1ef843f042ff384c69bc6d1750074d770a9b
4
+ data.tar.gz: c8a9a2fecaecd06a3b52dcbc56ff98b53e27b88447feeed5fc3fe8cde2677e67
5
5
  SHA512:
6
- metadata.gz: 5d620607d6d1289f1f69fe5ea66bc830d9dab6dcdc1039751650fbc05f47f71fd740f731d67d5a66fe20b3c9f9e483931b747d68bbb805ba07cf2dec401f88c5
7
- data.tar.gz: 2f306acace082920c9c00ed1093f7a76caccaa5620d0adcc30e4290e733301c9a0423b8315d916cb21185b67ec208e8009d6dd494214e2cba1d8a220483e18ef
6
+ metadata.gz: a8de116b65103df280495f5a3f0a796053124899bcbc92a0bfe2a73045ccbcd803cf79c2cbe5276173cfa094ba7793d90e17ba950d3236c601a6b89e28846edf
7
+ data.tar.gz: 8aec018fb3f7037a632125a49c9f744422d39cb0c3beddc6aeb2f4abb19b63c569c4dd890abbc43c6d247fa77c530ff79ca48159fbc5cac59c6044527781aac1
@@ -3,36 +3,46 @@ on:
3
3
  push:
4
4
  branches: [ '*' ]
5
5
  tags: [ '*' ]
6
- pull_request:
7
- branches: [ main ]
8
- schedule:
9
- # Run automatically at 8AM PST Monday-Friday
10
- - cron: '0 15 * * 1-5'
6
+ pull_request:
7
+ branches: [ main ]
8
+ schedule:
9
+ # Run automatically at 8AM PST Monday-Friday
10
+ - cron: '0 15 * * 1-5'
11
11
  workflow_dispatch:
12
12
 
13
+ env:
14
+ ARTIFACTORY_URL: ${{ vars.ARTIFACTORY_URL }}
15
+
13
16
  jobs:
17
+ lockfile-hygiene:
18
+ name: Lockfile Hygiene
19
+ runs-on: ubuntu-x64
20
+ steps:
21
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
22
+ - uses: twilio/sdk-actions/gems-lockfile-hygiene@558bba0b6fe12195370f5269dfe53db5db3bb9a6 # v1
23
+
14
24
  test:
15
25
  name: Test
16
- runs-on: ubuntu-latest
26
+ needs: [ lockfile-hygiene ]
27
+ runs-on: ubuntu-x64
17
28
  timeout-minutes: 20
18
29
  strategy:
19
30
  matrix:
20
- ruby: [ '2.6', '2.7', '3.0', '3.1', '3.2', 'jruby-9.3', 'jruby-9.4' ]
31
+ ruby: [ '3.0', '3.1', '3.2', '3.3', '3.4', 'jruby-9.4']
21
32
  steps:
22
33
  - name: Checkout twilio-ruby
23
- uses: actions/checkout@v3
34
+ uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
24
35
  with:
25
36
  fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
26
37
 
27
38
  - name: Set up Ruby
28
- uses: ruby/setup-ruby@v1
39
+ uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b
29
40
  with:
30
41
  ruby-version: ${{ matrix.ruby }}
31
- bundler-cache: true
32
42
 
33
43
  # Excludes incompatible versions of ruby
34
44
  - name: Set up linter
35
- run: bundle add rubocop --version "~> 1.24.1" --group "development" --skip-install
45
+ run: bundle update rubocop
36
46
  if: ${{ matrix.ruby != '2.4' }}
37
47
 
38
48
  - run: bundle install --with development
@@ -69,80 +79,46 @@ jobs:
69
79
  run: |
70
80
  sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.json
71
81
 
72
- - name: SonarCloud Scan
73
- if: ${{ (github.event_name == 'pull_request' || github.ref_type == 'branch') && matrix.ruby == '3.0' && !github.event.pull_request.head.repo.fork }}
74
- uses: SonarSource/sonarcloud-github-action@master
75
- env:
76
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
77
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
78
82
 
79
83
  deploy:
80
- name: Deploy
84
+ name: deploy
81
85
  if: success() && github.ref_type == 'tag'
86
+ runs-on: ubuntu-x64
87
+ environment: production
82
88
  needs: [ test ]
83
- runs-on: ubuntu-latest
89
+ permissions:
90
+ contents: write
91
+ id-token: write
84
92
  steps:
85
93
  - name: Checkout twilio-ruby
86
- uses: actions/checkout@v3
94
+ uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
87
95
  with:
88
96
  fetch-depth: 0
89
97
 
90
- - name: Set up Ruby
91
- uses: ruby/setup-ruby@v1
98
+ - name: Artifactory OIDC Auth
99
+ uses: twilio/sdk-actions/artifactory-oidc@0375437914d535a5fb178bdbfdb5d51bdde2616e
92
100
  with:
93
- ruby-version: 3.2
94
- bundler-cache: true
101
+ registry-path: virtual-gems-thirdparty
102
+ ecosystem: ruby
95
103
 
96
- - run: bundle install
97
-
98
- - name: Login to Docker Hub
99
- uses: docker/login-action@v2
104
+ - name: Set up Ruby
105
+ uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b
100
106
  with:
101
- username: ${{ secrets.DOCKER_USERNAME }}
102
- password: ${{ secrets.DOCKER_AUTH_TOKEN }}
107
+ ruby-version: 3.3
108
+ bundler-cache: true
103
109
 
104
- # The expression strips off the shortest match from the front of the string to yield just the tag name as the output
105
110
  - name: Get tagged version
106
111
  run: echo "GITHUB_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
107
112
 
108
113
  - name: Create GitHub Release
109
- uses: sendgrid/dx-automator/actions/release@main
114
+ uses: sendgrid/dx-automator/actions/release@08b601b726671445abc798ed59881766ec8fefc6
110
115
  env:
111
116
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
112
117
 
113
- - name: Build and Push image
114
- run: make docker-build && make docker-push
115
- - name: Publish to Rubygems
116
- env:
117
- GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
118
+ - name: Configure RubyGems trusted publishing
119
+ uses: rubygems/configure-rubygems-credentials@dc5a8d8553e6ee01fc26761a49e99e733d17954a # v2.1.0
120
+
121
+ - name: Build and publish gem
118
122
  run: |
119
- mkdir -p $HOME/.gem
120
- touch $HOME/.gem/credentials
121
- chmod 0600 $HOME/.gem/credentials
122
- printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
123
- gem update --system
124
- gem build *.gemspec
125
- gem push *.gem
126
-
127
- - name: Submit metric to Datadog
128
- uses: sendgrid/dx-automator/actions/datadog-release-metric@main
129
- env:
130
- DD_API_KEY: ${{ secrets.DATADOG_API_KEY }}
131
-
132
- notify-on-failure:
133
- name: Slack notify on failure
134
- if: failure() && github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag')
135
- needs: [ test, deploy ]
136
- runs-on: ubuntu-latest
137
- steps:
138
- - uses: rtCamp/action-slack-notify@v2
139
- env:
140
- SLACK_COLOR: failure
141
- SLACK_ICON_EMOJI: ':github:'
142
- SLACK_MESSAGE: ${{ format('Test *{0}*, Deploy *{1}*, {2}/{3}/actions/runs/{4}', needs.test.result, needs.deploy.result, github.server_url, github.repository, github.run_id) }}
143
- SLACK_TITLE: Action Failure - ${{ github.repository }}
144
- SLACK_USERNAME: GitHub Actions
145
- SLACK_MSG_AUTHOR: twilio-dx
146
- SLACK_FOOTER: Posted automatically using GitHub Actions
147
- SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
148
- MSG_MINIMAL: true
123
+ gem build *.gemspec
124
+ gem push *.gem
data/.gitignore CHANGED
@@ -5,7 +5,6 @@
5
5
  !.dockerignore
6
6
  pkg/*
7
7
  doc/*
8
- Gemfile.lock
9
8
  *.gem
10
9
  bin
11
10
  docs/_build
data/CHANGES.md CHANGED
@@ -1,5 +1,272 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
+ [2026-09-09] Version 7.11.2
4
+ ---------------------------
5
+ **Library - Chore**
6
+ - [PR #804](https://github.com/twilio/twilio-ruby/pull/804): Update RubyGems publishing steps in workflow. Thanks to [@manisha1997](https://github.com/manisha1997)!
7
+ - [PR #803](https://github.com/twilio/twilio-ruby/pull/803): Update Rakefile. Thanks to [@manisha1997](https://github.com/manisha1997)!
8
+ - [PR #799](https://github.com/twilio/twilio-ruby/pull/799): release gems. Thanks to [@manisha1997](https://github.com/manisha1997)!
9
+ - [PR #798](https://github.com/twilio/twilio-ruby/pull/798): Remove docker push. Thanks to [@manisha1997](https://github.com/manisha1997)!
10
+ - [PR #797](https://github.com/twilio/twilio-ruby/pull/797): version upgrade. Thanks to [@manisha1997](https://github.com/manisha1997)!
11
+ - [PR #796](https://github.com/twilio/twilio-ruby/pull/796): change permission. Thanks to [@manisha1997](https://github.com/manisha1997)!
12
+
13
+ **Audiences**
14
+ - ## 2026-09-01
15
+ - Backticked brace- and angle-bracket-bearing tokens in descriptions for MDX safety.
16
+ - Updated a prose reference to the renamed `FetchCohortSnapshot` operation.
17
+ - ## 2026-08-26
18
+ - **Removed 5 path(s)**:
19
+ - `/preview/Audiences` (AdminListAudiences)
20
+ - `/preview/Audiences/{audienceId}` (AdminGetAudience)
21
+ - `/preview/Snapshots` (AdminListSnapshots)
22
+ - `/preview/Snapshots/{snapshotId}` (AdminGetSnapshot)
23
+ - `/preview/Operations/{operationId}` (AdminGetOperation)
24
+ - ## 2026-08-25
25
+ - Minor updates (formatting, metadata)
26
+ - ## 2026-08-24
27
+ - **Added 1 new path(s)**:
28
+ - `/preview/Snapshots/{cohortSnapshotId}/Operations` (AdminListSnapshotOperations)
29
+ - **Removed 1 path(s)**:
30
+ - `/preview/Snapshots/{snapshotId}/Operations` (ListAdminSnapshotOperations)
31
+ - ## 2026-08-20
32
+ - Renamed all 13 operations so the operationId keyword leads (`AdminGetCohort` -> `FetchAdminCohort`) to meet standard.
33
+ - Set `info` `libraryVisibility` to `hidden` to exclude this admin spec from generation.
34
+ - Added the standard `pageSize`/`pageToken` query parameters to `ListAdminSnapshotOperations`, the only list operation missing them.
35
+ - ## 2026-08-19
36
+ - **Added 5 new path(s)**:
37
+ - `/preview/Cohorts` (AdminListCohorts)
38
+ - `/preview/Cohorts/{cohortId}` (AdminGetCohort)
39
+ - `/preview/CohortSnapshots` (AdminListCohortSnapshots)
40
+ - `/preview/CohortSnapshots/{cohortSnapshotId}` (AdminGetCohortSnapshot)
41
+ - `/preview/CohortOperations/{cohortOperationId}` (AdminGetCohortOperation)
42
+ - ## 2026-09-01
43
+ - Renamed 3 `Get*` operations to `Fetch*` to match the operationId standard: `FetchCohort`, `FetchCohortSnapshot`, `FetchCohortOperation`. The transpiler skips operations whose operationId does not start with a standard keyword, which had been dropping all three from generated output.
44
+ - Set `libraryVisibility` to `private` (was `hidden`) so the spec is eligible for the private docs pipeline.
45
+ - Backticked brace- and angle-bracket-bearing tokens in descriptions for MDX safety.
46
+ - ## 2026-08-28
47
+ - **Removed 6 path(s)**:
48
+ - `/preview/Audiences` (ListAudiences, CreateAudience)
49
+ - `/preview/Audiences/{audienceId}` (FetchAudience, UpdateAudience, DeleteAudience)
50
+ - `/preview/Snapshots` (ListSnapshots, CreateSnapshot)
51
+ - `/preview/Snapshots/{snapshotId}` (FetchSnapshot, DeleteSnapshot)
52
+ - `/preview/Snapshots/{snapshotId}/Profiles` (ListSnapshotProfiles)
53
+ - `/preview/Operations/{operationId}` (FetchOperation)
54
+ - ## 2026-08-20
55
+ - Renamed 6 `Get*` operations to `Fetch*` to match the operationId standard.
56
+ - Hid the deprecated Audiences/Snapshots paths and `/preview/Operations/{operationId}`.
57
+ - Backticked 11 brace-bearing tokens in descriptions for MDX safety.
58
+
59
+ **Conversations**
60
+ - Add PATCH support for partial updates to Configuration
61
+ - Add `VIDEO` to the Conversations v2 Communication channel enum.
62
+
63
+ **Data-ingress**
64
+ - # API Changes
65
+ - ## 2026-09-01
66
+ - Minor updates (formatting, metadata)
67
+ - ## 2026-08-12
68
+ - Minor updates (formatting, metadata)
69
+ - ## 2026-08-12
70
+ - Initial release with 13 paths and 13 operations
71
+
72
+ **Destinations**
73
+ - ## 2026-09-08
74
+ - Added `prod-ie1` to `supportedRealms` and `iamOperationEnabledRealms` for all endpoints
75
+ - ## 2026-09-01
76
+ - Removed the unused `admin-api` placeholder from `supportedRealms` on the public endpoints;
77
+ - One Admin routes now live in `admin_openapi.yaml`.
78
+ - **Added 6 new path(s)** (admin_openapi.yaml):
79
+ - `/v1/ControlPlane/Destinations` (AdminListDestinations)
80
+ - `/v1/ControlPlane/Destinations/{destinationId}` (AdminGetDestination)
81
+ - `/v1/ControlPlane/Subscriptions` (AdminListSubscriptions)
82
+ - `/v1/ControlPlane/Subscriptions/{subscriptionId}` (AdminGetSubscription)
83
+ - `/v1/ControlPlane/Subscriptions/{subscriptionId}/EventTypes` (AdminListSubscribedEvents)
84
+ - `/v1/ControlPlane/Subscriptions/{subscriptionId}/EventTypes/{eventType}` (AdminGetSubscribedEvent)
85
+ - ## 2026-08-26
86
+ - Minor updates (formatting, metadata)
87
+ - ## 2026-08-26
88
+ - Minor updates (formatting, metadata)
89
+ - ## 2026-08-25
90
+ - **Content updates**:
91
+ - Updated description for `CreateDestination`
92
+ - ## 2026-08-12
93
+ - Minor updates (formatting, metadata)
94
+
95
+ **Email**
96
+ - # API Changes
97
+ - ## 2026-09-02
98
+ - **Added 1 new path(s)**:
99
+ - `/v1/Sends/Cohorts` (sendCohort)
100
+ - ## 2026-08-28
101
+ - **Content updates**:
102
+ - Updated summary for `sendTransactional`
103
+ - Added parameter(s) to `sendTransactional`: X-Twilio-Version
104
+ - Updated schema description for `SuppressionsGroup`
105
+ - Added properties to `SuppressionsGroup`: type
106
+ - Removed properties from `SuppressionsGroup`: mode
107
+ - Updated schema description for `SuppressionsGlobal`
108
+ - Added properties to `SuppressionsGlobal`: type
109
+ - Removed properties from `SuppressionsGlobal`: mode
110
+ - Updated schema description for `Suppressions`
111
+ - Updated schema description for `LongRunningOperationResponse`
112
+ - ## 2026-08-27
113
+ - **Content updates**:
114
+ - Updated description for `SendEmail`
115
+ - Added parameter(s) to `SendEmail`: Content-Encoding, Idempotency-Key
116
+ - Updated schema description for `Envelope`
117
+ - Updated schema description for `SuppressionsGroup`
118
+ - Updated schema description for `SuppressionsGlobal`
119
+
120
+ **Iam**
121
+ - Removed redirect_urls from the GET /v1/Account/AuthorizedApps/{consentSid} response
122
+ - Added company_name, homepage_url, tos_url, and redirect_urls to the GET /v1/Account/AuthorizedApps/{consentSid} response
123
+ - Added GET /v1/Account/AuthorizedApps/{consentSid} - fetch authorized app details, including allowed permissions, by consent identifier SID
124
+ - added container-scoped entitlements endpoint (GET /v2/Container/{containerId}/Entitlements)
125
+
126
+ **Instrumentation**
127
+ - # API Changes
128
+ - ## 2026-09-04
129
+ - **Content updates**:
130
+ - Added `IdempotencyKeyHeader` to Create/Patch/Delete `AutoInstrumentationRule`; corrected the shared header's description
131
+ - Added `operationId`/`createdAt` to `LongRunningOperationResponse`; corrected example `status` from `RUNNING` to `PENDING`
132
+ - Renamed `Signal.timestamp` → `occurredAt`, `HourlyStats.hourTimestamp` → `hourAt`; uppercased `Signal.type` and `ListSignals`' `signalType` enums to SCREAMING_SNAKE_CASE
133
+ - Renamed `UserBehaviors` request/response fields to camelCase; added the `summaryDelivery` webhook callback
134
+ - Reshaped `PaginationMeta` (added required `key`, corrected `pageSize` bounds) and all 6 list operations (`ListEventSources`, `ListEventSourceDatasets`, `ListEventSchemas`, `ListAutoInstrumentationRules`, `ListSignals`, `ListSignalStats`) to the `meta` envelope; added `ListSignalStats`' `500` response
135
+ - Narrowed the domain's default `supportedRealms` to `dev-us1` only; `POST /v1/UserBehaviors` (`AnalyzeUserBehaviors`) keeps its own `dev-us1`/`stage-us1` override (prod withheld pending stage validation) — every other operation is now dev-only
136
+ - ## 2026-08-31
137
+ - **Content updates**:
138
+ - Fixed stale `tdi_` TTID prefix throughout (path params, examples, transaction URLs) to `events_`; unified dataset/schema ID formats (`tdi_dat_`/`tdi_dataset_` → `events_dataset_`, `tdi_schema_` → `events_evsch_`); fixed rule-version examples to match the real `version: integer` field
139
+ - Fixed `operationId` to use the domain-agnostic `proc_job_` TTID prefix; corrected the `OperationId` parameter's length constraint (`max=34` → `max=35`) and added a `pattern`
140
+ - Fixed two length constraints hardcoded for the old `tdi_` prefix length: `IngestEventBatch`'s `sourceId` path parameter (`maxLength` 37 → 40); removed the stale, redundant `Twilio-Write-Key` header parameter
141
+ - Added the missing `AutoInstrumentationRuleId` regex `pattern`
142
+ - Fixed `info.title` ("Twilio Data Ingress - Instrumentation API" → "Events Domain - Instrumentation API")
143
+ - **Added 1 new API path**:
144
+ - `/v1/UserBehaviors` (AnalyzeUserBehaviors)
145
+ - ## 2026-07-28
146
+ - **Initial release** — 21 paths, 37 operations across three API surfaces:
147
+ - **Control Plane** (`/v1/ControlPlane/…`):
148
+ - `/v1/ControlPlane/EventSources` (CreateEventSource, ListEventSources)
149
+ - `/v1/ControlPlane/EventSources/{sourceId}` (FetchEventSource, PatchEventSource, DeleteEventSource)
150
+ - `/v1/ControlPlane/EventSources/{sourceId}/WriteKeys` (CreateWriteKey, ListWriteKeys)
151
+ - `/v1/ControlPlane/EventSources/{sourceId}/WriteKeys/{writeKey}` (DeleteWriteKey)
152
+ - `/v1/ControlPlane/EventSources/{sourceId}/Datasets` (CreateEventSourceDataset, ListEventSourceDatasets)
153
+ - `/v1/ControlPlane/EventSources/{sourceId}/Datasets/{datasetId}` (FetchEventSourceDataset, PatchEventSourceDataset, DeleteEventSourceDataset)
154
+ - `/v1/ControlPlane/EventSources/{sourceId}/EventSchemas` (CreateEventSchema, ListEventSchemas)
155
+ - `/v1/ControlPlane/EventSources/{sourceId}/EventSchemas/{schemaId}` (FetchEventSchema, PatchEventSchema, DeleteEventSchema)
156
+ - `/v1/ControlPlane/EventSources/{sourceId}/AutoInstrumentationRules` (CreateAutoInstrumentationRule, ListAutoInstrumentationRules)
157
+ - `/v1/ControlPlane/EventSources/{sourceId}/AutoInstrumentationRules/{autoInstrumentationRuleId}` (FetchAutoInstrumentationRule, PatchAutoInstrumentationRule, DeleteAutoInstrumentationRule)
158
+ - `/v1/ControlPlane/EventSources/{sourceId}/AutoInstrumentationRules/{autoInstrumentationRuleId}/Versions` (ListAutoInstrumentationRuleVersions)
159
+ - `/v1/ControlPlane/EventSources/{sourceId}/AutoInstrumentationRules/{autoInstrumentationRuleId}/Versions/{version}` (FetchAutoInstrumentationRuleVersion)
160
+ - `/v1/ControlPlane/Datasets` (ListDatasets)
161
+ - `/v1/ControlPlane/Datasets/{datasetId}` (FetchDataset)
162
+ - `/v1/ControlPlane/Operations/{operationId}` (FetchControlPlaneOperationStatus)
163
+ - `/v1/ControlPlane/Datasets` (ListDatasets)
164
+ - `/v1/ControlPlane/Datasets/{datasetId}` (FetchDataset)
165
+ - **Event Ingestion** (`/v1/EventSources/…`):
166
+ - `/v1/EventSources/{sourceId}/Batch` (IngestEventBatch)
167
+ - `/v1/EventSources/{sourceId}/AutoInstrumentationRules/{autoInstrumentationRuleId}/Preview` (TriggerAutoInstrumentationPreview)
168
+ - `/v1/EventSources/{sourceId}/AutoInstrumentationRules/{autoInstrumentationRuleId}/Preview/{operationId}` (GetAutoInstrumentationPreviewResult)
169
+ - **Signal API** (`/v1/EventSources/…`):
170
+ - `/v1/EventSources/{sourceId}/Signals` (IngestSignals, ListSignals)
171
+ - `/v1/EventSources/{sourceId}/Signals/{signalKey}` (GetSignalBySignalKey)
172
+ - `/v1/EventSources/{sourceId}/SignalStats` (ListSignalStats)
173
+
174
+ **Memory**
175
+ - ## 2026-08-18
176
+ - **Breaking change**:
177
+ - Removed the deprecated `CSV` and `DATASET` values from the `DataMappingType` enum.
178
+ - `INGRESS`, `DATASET_CLOUDAPP`, and `DATASET_WAREHOUSE` are the only valid values now.
179
+ - Removed the `DataMappingFromCSV` and `DataMappingFromDataSet` schemas and their
180
+ - `oneOf`/discriminator entries on `DataMappingFromTypes`, along with the corresponding
181
+ - `CSV`/`DATASET` discriminator mapping keys.
182
+ - Any caller still sending `type: CSV` or `type: DATASET` on `AdminListDataMappings`
183
+ - (filtering by those values) will get a 400.
184
+ - ## 2026-08-27
185
+ - **Added 2 new path(s)** for Trait Extraction Strategies:
186
+ - `/v1/ControlPlane/TraitExtractionStrategies` (ListTraitExtractionStrategies, CreateTraitExtractionStrategy)
187
+ - `/v1/ControlPlane/TraitExtractionStrategies/{traitStrategyId}` (FetchTraitExtractionStrategy, UpdateTraitExtractionStrategy, DeleteTraitExtractionStrategy)
188
+ - ## 2026-08-18
189
+ - **Breaking change**:
190
+ - Removed the deprecated `CSV` and `DATASET` values from the `DataMappingType` enum.
191
+ - `INGRESS`, `DATASET_CLOUDAPP`, and `DATASET_WAREHOUSE` are the only valid values now.
192
+ - Removed the `DataMappingFromCSV` and `DataMappingFromDataSet` schemas and their
193
+ - `oneOf`/discriminator entries on `DataMappingFromTypes`, along with the corresponding
194
+ - `CSV`/`DATASET` discriminator mapping keys.
195
+ - Any caller still sending `type: CSV` or `type: DATASET` on `CreateDataMapping` or
196
+ - `UpdateDataMapping` (or filtering `ListDataMappings`/`ListDataMappingSuggestions` by
197
+ - those values) will get a 400.
198
+
199
+ **Messaging**
200
+ - Add SenderIdentity, SenderType, and SenderRegion filter query parameters to list numbers and senders endpoint (beta)
201
+ - Add capabilities field to the numbers and senders response (beta)
202
+ - Remove the WhatsApp Senders v1 endpoints (`/v1/Channels/WhatsApp/Senders`) from RestProxy; the sender was routed to the sunsetting `messaging-whatsapp-k8s-orch` downstream. Use the Senders v2 API (`/v2/Channels/Senders`) instead.
203
+
204
+ **Verify**
205
+ - Add `Templates` optional parameter on Verification creation (a stringified JSON array of `sid`/`substitutions` entries). When provided, `Templates` takes precedence over `TemplateSid`.
206
+
207
+ **Voice**
208
+ - ## 2026-09-03
209
+ - Added `links.conversation` to Transcription resources as the absolute Conversations API URL for the
210
+ - transcript's `conversationId`. It is present once the transcript has been stored; the `links` object
211
+ - is omitted otherwise.
212
+ - ## 2026-09-01
213
+ - Removed `mediaUrl` from `CreateRequestWithMediaUrl`'s required fields so a request with neither `sourceId` nor `mediaUrl` reaches the downstream service, which rejects it with the specific error code 17500 instead of a generic gateway 400
214
+ - Set `additionalProperties: false` on both `CreateRequestWithSourceId` and `CreateRequestWithMediaUrl` so the two `oneOf` variants stay mutually exclusive: `sourceId` is undeclared on the media-URL variant and `mediaUrl` is undeclared on the source-ID variant, keeping every request shape resolvable to exactly one variant
215
+ - ## 2026-08-05
216
+ - Added GET /v3/Transcriptions to list and filter transcriptions (status, sourceId, languageCode, createdAfter/createdBefore) with pageSize/pageToken pagination. createdAfter is inclusive and createdBefore exclusive. Returns 422 (error code 17535) when a sourceId's historical item count exceeds the service scan cap
217
+
218
+ **Webhooks**
219
+ - # API Changes
220
+ - ## 2026-08-24
221
+ - **Changed**: Created Webhooks Config API ( https://docs.google.com/document/d/1zkAJD8a8MgoxWifdYDl_d465Az3W6CcD9fuCC2xlSXE/edit?tab=t.0#heading=h.u9e0ry6oe89j ), that includes 7 new resource(s)**: SharedKeys, AuthProfiles, Settings, Rules, Operations, Tests, EdgeZones in /v1/Webhooks referencing webhooks-config downstream.
222
+
223
+
224
+ [2026-08-13] Version 7.11.1
225
+ ---------------------------
226
+ - chore: change permission
227
+
228
+ [2026-08-13] Version 7.11.0
229
+ ---------------------------
230
+ **Destinations**
231
+ - ## 2026-08-12
232
+ - **Content updates**:
233
+ - Added properties to `DestinationType`: releaseStatus
234
+ - Removed properties from `DestinationType`: maturity
235
+
236
+ **Memory**
237
+ - No path changes (updated metadata only)
238
+ - `DataMappingType` gains `INGRESS`, `DATASET_CLOUDAPP`, and `DATASET_WAREHOUSE`.
239
+ - `CSV` and `DATASET` remain valid and unchanged; they are deprecated aliases and
240
+ - will be removed in a follow-up change.
241
+ - `DataMappingFromTypes` gains three `oneOf` members and three discriminator keys:
242
+ - `DataMappingFromIngress` (renames `DataMappingFromCSV`),
243
+ - `DataMappingFromCloudAppDataSet` and `DataMappingFromWarehouseDataSet`
244
+ - (both split from `DataMappingFromDataSet`, distinguishing a cloud-app-backed
245
+ - TDI dataset from a warehouse-backed one).
246
+ - Additive and backwards compatible: existing `CSV` and `DATASET` payloads are
247
+ - unaffected.
248
+
249
+ **Library - Chore**
250
+ - [PR #149](https://github.com/twilio/twilio-oai/pull/149): Update test-and-deploy.yml. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
251
+ - [PR #141](https://github.com/twilio/twilio-oai/pull/141): oas3-valid-schema-example check validation. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
252
+
253
+ **Library - Fix**
254
+ - [PR #147](https://github.com/twilio/twilio-oai/pull/147): remove Events API from memory V1 specs. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
255
+ - [PR #142](https://github.com/twilio/twilio-oai/pull/142): pin spectral-rulesets to 1.22.2 to fix Node 18 compatibility. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
256
+
257
+ **Twiml**
258
+ - Remove `<Assistant>` noun from `<Connect>` verb as part of the AI Assistants deprecation **(breaking change)**
259
+ - Add `passports` attribute to `<Dial>` verb for SHAKEN/STIR passport passthrough
260
+
261
+ **Accounts**
262
+ - Add `SuppressEmailNotification` parameter to the Secondary Auth Token and Auth Token promotion endpoints. Set it to `true` to suppress the email notification sent to account owners and administrators. Defaults to `false`, preserving existing behavior.
263
+ - Add SMS Pumping Protection GET and POST API
264
+
265
+ **Ai**
266
+ - Removing ai workbench apis
267
+
268
+ **Api**
269
+ - Add missing `uri` property to the `twiml_session` resource
3
270
 
4
271
  [2026-05-07] Version 7.10.7
5
272
  ---------------------------
data/Gemfile CHANGED
@@ -4,5 +4,7 @@ gemspec
4
4
 
5
5
  gem "base64"
6
6
  gem "benchmark"
7
+ gem "nokogiri", ">= 1.6", "< 1.17.0"
7
8
  gem "ostruct"
8
9
  gem "rexml"
10
+ gem "rubocop", "= 1.71.2", require: false
data/Gemfile.lock ADDED
@@ -0,0 +1,154 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ twilio-ruby (7.11.2)
5
+ faraday (>= 2.0, < 3.0)
6
+ jwt (>= 1.5, < 4.0)
7
+ nokogiri (>= 1.6, < 2.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ ast (2.4.3)
13
+ base64 (0.3.0)
14
+ benchmark (0.5.0)
15
+ diff-lcs (1.6.2)
16
+ equivalent-xml (0.6.0)
17
+ nokogiri (>= 1.4.3)
18
+ fakeweb (1.3.0)
19
+ faraday (2.14.3)
20
+ faraday-net_http (>= 2.0, < 3.5)
21
+ json
22
+ logger
23
+ faraday-net_http (3.4.4)
24
+ net-http (~> 0.5)
25
+ json (2.21.2)
26
+ json (2.21.2-java)
27
+ jwt (3.2.0)
28
+ base64
29
+ language_server-protocol (3.17.0.6)
30
+ logger (1.4.4)
31
+ mini_portile2 (2.8.9)
32
+ net-http (0.9.1)
33
+ uri (>= 0.11.1)
34
+ nokogiri (1.16.8)
35
+ mini_portile2 (~> 2.8.2)
36
+ racc (~> 1.4)
37
+ nokogiri (1.16.8-java)
38
+ racc (~> 1.4)
39
+ ostruct (0.6.3)
40
+ parallel (1.28.0)
41
+ parser (3.3.12.0)
42
+ ast (~> 2.4.1)
43
+ racc
44
+ prism (1.9.0)
45
+ racc (1.8.1)
46
+ racc (1.8.1-java)
47
+ rack (2.2.23)
48
+ rainbow (3.1.1)
49
+ rake (13.4.2)
50
+ regexp_parser (2.12.0)
51
+ rexml (3.4.4)
52
+ rspec (3.13.2)
53
+ rspec-core (~> 3.13.0)
54
+ rspec-expectations (~> 3.13.0)
55
+ rspec-mocks (~> 3.13.0)
56
+ rspec-core (3.13.6)
57
+ rspec-support (~> 3.13.0)
58
+ rspec-expectations (3.13.5)
59
+ diff-lcs (>= 1.2.0, < 2.0)
60
+ rspec-support (~> 3.13.0)
61
+ rspec-mocks (3.13.8)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.13.0)
64
+ rspec-support (3.13.7)
65
+ rubocop (1.71.2)
66
+ json (~> 2.3)
67
+ language_server-protocol (>= 3.17.0)
68
+ parallel (~> 1.10)
69
+ parser (>= 3.3.0.2)
70
+ rainbow (>= 2.2.2, < 4.0)
71
+ regexp_parser (>= 2.9.3, < 3.0)
72
+ rubocop-ast (>= 1.38.0, < 2.0)
73
+ ruby-progressbar (~> 1.7)
74
+ unicode-display_width (>= 2.4.0, < 4.0)
75
+ rubocop-ast (1.50.0)
76
+ parser (>= 3.3.7.2)
77
+ prism (~> 1.7)
78
+ ruby-progressbar (1.13.0)
79
+ simplecov (1.0.3)
80
+ unicode-display_width (3.2.0)
81
+ unicode-emoji (~> 4.1)
82
+ unicode-emoji (4.2.0)
83
+ uri (1.1.1)
84
+ yard (0.9.45)
85
+
86
+ PLATFORMS
87
+ arm64-darwin-25
88
+ java
89
+ ruby
90
+
91
+ DEPENDENCIES
92
+ base64
93
+ benchmark
94
+ bundler (>= 1.5, < 5.0)
95
+ equivalent-xml (~> 0.6)
96
+ fakeweb (~> 1.3)
97
+ logger (~> 1.4.2)
98
+ nokogiri (>= 1.6, < 1.17.0)
99
+ ostruct
100
+ rack (~> 2.0)
101
+ rake (~> 13.0)
102
+ rexml
103
+ rspec (~> 3.0)
104
+ rubocop (= 1.71.2)
105
+ simplecov
106
+ twilio-ruby!
107
+ yard (~> 0.9.9)
108
+
109
+ CHECKSUMS
110
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
111
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
112
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
113
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
114
+ equivalent-xml (0.6.0) sha256=8919761efa848ad0846369ff8be1f646b17e5061698c4867b09829000cc3f487
115
+ fakeweb (1.3.0) sha256=1ec996be13020a00b3464560c09180b424477c698f59f82edf2b99b16cfa09a8
116
+ faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278
117
+ faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
118
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
119
+ json (2.21.2-java) sha256=f01521cd90639cc26b63040fb00d2b949f18f41ecaab5c82b02fb31d0b8b736c
120
+ jwt (3.2.0) sha256=5419b1fe37b1da0982bd07051f573a8b8789ab724c2aa7e785e4784a3ed217d7
121
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
122
+ logger (1.4.4) sha256=bffde43956d13e45839797ebc2a26088816309ecaf7398d7188e0914989ca21d
123
+ mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
124
+ net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996
125
+ nokogiri (1.16.8) sha256=dece4bf9a663b2d6b6e874716297ad414c95be694656972d54049bd088f752a1
126
+ nokogiri (1.16.8-java) sha256=8652028e72a38f2221c810550d03c91682b414e06f6271149139a9042cf727e6
127
+ ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
128
+ parallel (1.28.0) sha256=33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970
129
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
130
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
131
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
132
+ racc (1.8.1-java) sha256=54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98
133
+ rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c
134
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
135
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
136
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
137
+ rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
138
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
139
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
140
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
141
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
142
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
143
+ rubocop (1.71.2) sha256=9a7b7501aac661a338ed7ff2a5eba78e581759e1f0d3c82362b2ca217ed3f97f
144
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
145
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
146
+ simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
147
+ twilio-ruby (7.11.2)
148
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
149
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
150
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
151
+ yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
152
+
153
+ BUNDLED WITH
154
+ 2.5.23
data/README.md CHANGED
@@ -39,13 +39,13 @@ This library supports the following Ruby implementations:
39
39
  To install using [Bundler][bundler] grab the latest stable version:
40
40
 
41
41
  ```ruby
42
- gem 'twilio-ruby', '~> 7.10.7'
42
+ gem 'twilio-ruby', '~> 7.11.2'
43
43
  ```
44
44
 
45
45
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
46
46
 
47
47
  ```bash
48
- gem install twilio-ruby -v 7.10.7
48
+ gem install twilio-ruby -v 7.11.2
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -299,7 +299,7 @@ capability.add_scope(incoming_scope)
299
299
  There is a slightly more detailed document in the [Capability][capability] section of the wiki.
300
300
 
301
301
  ## OAuth Feature for Twilio APIs
302
- We are introducing Client Credentials Flow-based OAuth 2.0 authentication. This feature is currently in beta and its implementation is subject to change.
302
+ We are introducing Client Credentials Flow-based OAuth 2.0 authentication.
303
303
 
304
304
  API examples [here](https://github.com/twilio/twilio-ruby/blob/main/examples/public_oauth.rb)
305
305
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'bundler'
2
2
  Bundler.setup
3
- Bundler::GemHelper.install_tasks
3
+ Bundler::GemHelper.install_tasks(tag_prefix: '')
4
4
 
5
5
  require 'rspec/core/rake_task'
6
6
  desc 'Run all specs'