twilio-ruby 5.46.0 → 7.10.1

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 (1217) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/pr-lint.yml +21 -0
  5. data/.github/workflows/test-and-deploy.yml +147 -0
  6. data/.gitignore +9 -1
  7. data/.rubocop.yml +2 -1
  8. data/.rubocop_todo.yml +91 -28
  9. data/CHANGES.md +2333 -0
  10. data/CONTRIBUTING.md +11 -9
  11. data/Dockerfile +2 -1
  12. data/Gemfile +6 -0
  13. data/LICENSE +1 -1
  14. data/Makefile +18 -11
  15. data/PULL_REQUEST_TEMPLATE.md +1 -1
  16. data/README.md +158 -38
  17. data/UPGRADE.md +21 -0
  18. data/advanced-examples/custom-http-client.md +170 -0
  19. data/cluster/cluster_oauth_spec.rb +19 -0
  20. data/cluster/cluster_orgs_spec.rb +40 -0
  21. data/cluster/cluster_spec.rb +75 -0
  22. data/examples/examples.rb +1 -1
  23. data/examples/public_oauth.rb +13 -0
  24. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  25. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  26. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  27. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  28. data/lib/twilio-ruby/base/client_base.rb +131 -0
  29. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  30. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  31. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  32. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  33. data/lib/twilio-ruby/framework/request.rb +8 -1
  34. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  35. data/lib/twilio-ruby/framework/rest/domain.rb +35 -0
  36. data/lib/twilio-ruby/framework/rest/error.rb +66 -0
  37. data/lib/twilio-ruby/framework/rest/page.rb +104 -0
  38. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  39. data/lib/twilio-ruby/framework/rest/resource.rb +39 -0
  40. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  41. data/lib/twilio-ruby/framework/rest/version.rb +240 -0
  42. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  43. data/lib/twilio-ruby/http/http_client.rb +42 -9
  44. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  45. data/lib/twilio-ruby/http.rb +5 -0
  46. data/lib/twilio-ruby/jwt/access_token.rb +13 -59
  47. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  48. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  50. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  51. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  52. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  53. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  54. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  55. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  56. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  57. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  58. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  60. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -514
  61. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  62. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1669 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1669 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +269 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +420 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -931
  82. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -713
  83. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  84. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  85. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  86. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  87. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  88. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -547
  89. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -546
  90. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -546
  91. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -896
  92. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  93. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  94. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  95. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -612
  96. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  97. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  98. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  99. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  100. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  101. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  102. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  104. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  105. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  106. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -486
  107. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  108. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  118. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  119. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  120. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  121. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  122. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  123. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  124. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  131. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  132. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  133. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  134. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  135. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  136. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  137. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  138. data/lib/twilio-ruby/rest/api/v2010.rb +126 -147
  139. data/lib/twilio-ruby/rest/api.rb +26 -35
  140. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  147. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  148. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  149. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  150. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  151. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  152. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  153. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  154. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  155. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  156. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -287
  157. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -271
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -242
  159. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -243
  160. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -224
  161. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -53
  162. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  163. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  164. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  165. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  166. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  167. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  168. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  169. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  170. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  171. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  172. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  173. data/lib/twilio-ruby/rest/chat/v1.rb +57 -53
  174. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  175. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  176. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  177. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  179. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  180. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  181. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  182. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  183. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -413
  184. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  185. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  186. data/lib/twilio-ruby/rest/chat/v2.rb +57 -51
  187. data/lib/twilio-ruby/rest/chat/v3/channel.rb +452 -0
  188. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  189. data/lib/twilio-ruby/rest/chat.rb +10 -38
  190. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  191. data/lib/twilio-ruby/rest/client.rb +338 -540
  192. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  193. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +349 -0
  194. data/lib/twilio-ruby/rest/content/v1/content.rb +1921 -0
  195. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  196. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  197. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  198. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  199. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  200. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  201. data/lib/twilio-ruby/rest/content.rb +15 -0
  202. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +808 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  205. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  206. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  207. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -488
  208. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  209. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  210. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -545
  211. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  213. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +405 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  215. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  216. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -296
  217. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +470 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -271
  219. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  220. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -526
  221. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  222. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  223. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -581
  224. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  225. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +410 -0
  226. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  227. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +697 -0
  228. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -430
  229. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -424
  230. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +690 -0
  231. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -406
  232. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -107
  233. data/lib/twilio-ruby/rest/conversations.rb +24 -34
  234. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  235. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -281
  236. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +461 -283
  237. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  238. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  239. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  240. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -371
  241. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +621 -192
  242. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -380
  243. data/lib/twilio-ruby/rest/events/v1.rb +87 -83
  244. data/lib/twilio-ruby/rest/events.rb +5 -34
  245. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +697 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  248. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -440
  249. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -549
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +379 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +571 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +644 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +537 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  270. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  271. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  272. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  273. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  274. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  275. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  276. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -73
  277. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  278. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +266 -0
  279. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  280. data/lib/twilio-ruby/rest/flex_api.rb +33 -31
  281. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  282. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +463 -0
  283. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  284. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  285. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  286. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  287. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  288. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  289. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  290. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  291. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  292. data/lib/twilio-ruby/rest/iam.rb +6 -0
  293. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  294. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +516 -0
  295. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  296. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  297. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  298. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -228
  299. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +726 -0
  300. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +672 -0
  301. data/lib/twilio-ruby/rest/insights/v1/conference.rb +693 -0
  302. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  303. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -477
  304. data/lib/twilio-ruby/rest/insights/v1/setting.rb +445 -0
  305. data/lib/twilio-ruby/rest/insights/v1.rb +84 -51
  306. data/lib/twilio-ruby/rest/insights.rb +24 -32
  307. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  316. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  317. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  318. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  319. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  320. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  321. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  322. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  323. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  327. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  328. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  329. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  330. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  331. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  332. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  333. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -51
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  340. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  341. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  342. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  343. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  344. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  345. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  346. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -51
  347. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  348. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  349. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  350. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  351. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  352. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  353. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  354. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  355. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  356. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -38
  357. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  358. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  359. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +578 -0
  360. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  361. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  362. data/lib/twilio-ruby/rest/lookups/v2.rb +135 -0
  363. data/lib/twilio-ruby/rest/lookups.rb +2 -34
  364. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  368. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  369. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  370. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  371. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  372. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  373. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  374. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  375. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  376. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +575 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +768 -0
  379. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +477 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  383. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +271 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  386. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  387. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  388. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  389. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  390. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  391. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  392. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  393. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +944 -0
  394. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +236 -0
  395. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -645
  396. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1527 -0
  397. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +217 -0
  398. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -43
  399. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  400. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  401. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  402. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  403. data/lib/twilio-ruby/rest/messaging.rb +48 -27
  404. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  405. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  406. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  407. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -51
  408. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  409. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  410. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  411. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  412. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  413. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  414. data/lib/twilio-ruby/rest/notify/v1.rb +57 -53
  415. data/lib/twilio-ruby/rest/notify.rb +3 -34
  416. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  421. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  422. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  423. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  424. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  425. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  426. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  427. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  429. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  430. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  431. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  432. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  433. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +412 -0
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +303 -0
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -505
  439. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  440. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  441. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  442. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -364
  443. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  444. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  445. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  446. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  447. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  448. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  449. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  450. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  451. data/lib/twilio-ruby/rest/oauth/v1/token.rb +301 -0
  452. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  453. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  454. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  455. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  456. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  457. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  458. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  459. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  460. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  461. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -53
  462. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  463. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  464. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  465. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  466. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -51
  467. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  468. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  469. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  470. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  471. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -66
  472. data/lib/twilio-ruby/rest/preview.rb +10 -145
  473. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  474. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  475. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  476. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  477. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  478. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  479. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  480. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  481. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  482. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  483. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  484. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  485. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  486. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  487. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  488. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  490. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  491. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  492. data/lib/twilio-ruby/rest/pricing/v2/country.rb +467 -0
  493. data/lib/twilio-ruby/rest/pricing/v2/number.rb +389 -0
  494. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  495. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  496. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  497. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -28
  498. data/lib/twilio-ruby/rest/pricing.rb +22 -38
  499. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  500. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  501. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  502. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  503. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -453
  504. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -547
  505. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  506. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -37
  507. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  508. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +452 -0
  510. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +452 -0
  511. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +452 -0
  512. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  513. data/lib/twilio-ruby/rest/routes.rb +32 -0
  514. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  515. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  516. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  517. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  518. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -374
  519. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  520. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  521. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  522. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  523. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  524. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  525. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  526. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -486
  527. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -36
  528. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  529. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  530. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  531. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  532. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  533. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  534. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  538. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  539. data/lib/twilio-ruby/rest/studio/v1.rb +42 -36
  540. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -208
  541. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -205
  542. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -369
  543. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -450
  544. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -328
  545. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  546. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -480
  547. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -114
  548. data/lib/twilio-ruby/rest/studio/v2.rb +48 -43
  549. data/lib/twilio-ruby/rest/studio.rb +3 -41
  550. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  551. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +621 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -411
  553. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +634 -0
  554. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  555. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  556. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  557. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +349 -0
  558. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +338 -0
  559. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +296 -0
  560. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -388
  561. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +586 -0
  562. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +408 -328
  563. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -103
  564. data/lib/twilio-ruby/rest/supersim.rb +40 -40
  565. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  566. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -379
  567. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -442
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -497
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -378
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -459
  571. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -504
  572. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -376
  573. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -458
  574. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -138
  575. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -414
  576. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -575
  577. data/lib/twilio-ruby/rest/sync/v1.rb +42 -36
  578. data/lib/twilio-ruby/rest/sync.rb +2 -34
  579. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -388
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -732
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -637
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -366
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -566
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -728
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -619
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -374
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  601. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  602. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -354
  603. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  604. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  605. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -715
  606. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -36
  607. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  608. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  610. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  611. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  612. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  613. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  614. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -614
  615. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -37
  616. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  617. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  618. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  619. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  620. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  621. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +602 -0
  622. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +581 -0
  623. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +547 -0
  624. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +833 -0
  625. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +669 -0
  626. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +460 -0
  627. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +453 -0
  628. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +683 -0
  629. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +460 -0
  630. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +602 -0
  631. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +581 -0
  632. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +547 -0
  633. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +833 -0
  634. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  635. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  636. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  637. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  638. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +433 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +454 -108
  640. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +302 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +770 -449
  643. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  644. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +418 -0
  645. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -394
  646. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  647. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  648. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  649. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  650. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  651. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  652. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -349
  653. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +321 -181
  654. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -401
  655. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -693
  656. data/lib/twilio-ruby/rest/verify/v2/template.rb +320 -0
  657. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +566 -0
  658. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +410 -0
  659. data/lib/twilio-ruby/rest/verify/v2.rb +99 -53
  660. data/lib/twilio-ruby/rest/verify.rb +33 -31
  661. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  662. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -494
  663. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -655
  664. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  665. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -405
  666. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  667. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  669. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  670. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  671. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  672. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  673. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  674. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  675. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -542
  676. data/lib/twilio-ruby/rest/video/v1.rb +99 -95
  677. data/lib/twilio-ruby/rest/video.rb +7 -34
  678. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  679. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +302 -0
  680. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  681. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  682. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  683. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  684. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  685. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  686. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  687. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  688. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  689. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  690. data/lib/twilio-ruby/rest/voice/v1.rb +130 -92
  691. data/lib/twilio-ruby/rest/voice.rb +12 -31
  692. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  693. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  694. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  695. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  696. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  697. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -657
  698. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  699. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -73
  700. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  701. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  702. data/lib/twilio-ruby/rest.rb +14 -0
  703. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  704. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  705. data/lib/twilio-ruby/twiml/voice_response.rb +1287 -143
  706. data/lib/twilio-ruby/version.rb +1 -1
  707. data/lib/twilio-ruby.rb +6 -16
  708. data/sonar-project.properties +13 -0
  709. data/twilio-ruby.gemspec +5 -5
  710. metadata +334 -942
  711. data/.travis.yml +0 -45
  712. data/conf/cacert.pem +0 -3376
  713. data/lib/twilio-ruby/framework/domain.rb +0 -36
  714. data/lib/twilio-ruby/framework/error.rb +0 -51
  715. data/lib/twilio-ruby/framework/page.rb +0 -103
  716. data/lib/twilio-ruby/framework/resource.rb +0 -23
  717. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  718. data/lib/twilio-ruby/framework/version.rb +0 -153
  719. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  720. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  721. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  722. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  723. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  724. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  725. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  726. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  727. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  728. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  729. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  730. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  731. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  732. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  733. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  734. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  735. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  736. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  737. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  738. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  739. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  740. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  741. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  742. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  743. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  744. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  745. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  746. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  747. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  748. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  749. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -51
  750. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  751. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -314
  752. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  753. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  754. data/lib/twilio-ruby/rest/fax.rb +0 -47
  755. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -307
  756. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  757. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  758. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  759. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  760. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  761. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  762. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  763. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  764. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  765. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  766. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  767. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  768. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -44
  769. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -410
  771. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  772. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  773. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  774. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  775. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  776. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  777. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  778. data/lib/twilio-ruby/rest/preview/sync.rb +0 -43
  779. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  780. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  781. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  782. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  783. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  784. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  786. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  787. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  788. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  789. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  790. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  791. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  792. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  793. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  794. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  795. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  796. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  797. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  798. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  799. data/lib/twilio-ruby/rest/preview/understand.rb +0 -44
  800. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  801. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -205
  802. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
  803. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -406
  804. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  805. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  806. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  807. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -483
  808. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -150
  809. data/spec/framework/request_spec.rb +0 -36
  810. data/spec/framework/serialize_spec.rb +0 -80
  811. data/spec/framework/version_spec.rb +0 -219
  812. data/spec/holodeck/holodeck.rb +0 -66
  813. data/spec/holodeck/hologram.rb +0 -4
  814. data/spec/http/http_client_spec.rb +0 -122
  815. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  816. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  817. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  818. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  819. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  820. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  821. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  822. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  823. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  824. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  825. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  826. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  827. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  828. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  829. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  830. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  831. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  832. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  833. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  834. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  835. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  836. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  837. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  838. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  839. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  840. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  841. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  842. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  843. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  844. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  845. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  846. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  847. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  848. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  849. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  850. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  851. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  852. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  853. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  854. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  855. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  856. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  857. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  858. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  859. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  860. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  861. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  862. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  863. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  864. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  865. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  866. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  867. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  868. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  869. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  870. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  871. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  872. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  873. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  874. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  875. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  876. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  877. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  878. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  879. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  880. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  881. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  882. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  883. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  884. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  885. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  886. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  887. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  888. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  889. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  890. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  891. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  892. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  893. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  894. data/spec/integration/api/v2010/account_spec.rb +0 -327
  895. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  896. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  897. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  898. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  899. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  900. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  901. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  902. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  903. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  904. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  905. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  906. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  907. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  908. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  909. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  910. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  911. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  912. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  913. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  914. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  915. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  916. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  917. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  918. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  919. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  920. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  921. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  922. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  923. data/spec/integration/chat/v1/service_spec.rb +0 -295
  924. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  925. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  926. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  927. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  928. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  929. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  930. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  931. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  932. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  933. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  934. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  935. data/spec/integration/chat/v2/service_spec.rb +0 -350
  936. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  937. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  938. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  939. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  940. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  941. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  942. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  943. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  944. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  945. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  946. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  947. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  948. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  949. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  950. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  951. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  952. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  953. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  954. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  955. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  956. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  957. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  958. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  959. data/spec/integration/events/v1/schema_spec.rb +0 -46
  960. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  961. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  962. data/spec/integration/events/v1/sink_spec.rb +0 -231
  963. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  964. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  965. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  966. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  967. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  968. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  969. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  970. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  971. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  972. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  973. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  974. data/spec/integration/insights/v1/call_spec.rb +0 -46
  975. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  976. data/spec/integration/insights/v1/room_spec.rb +0 -164
  977. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  978. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  979. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  980. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  981. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  982. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  983. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  984. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  985. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  986. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  987. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  988. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  989. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  990. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  991. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  992. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  993. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  994. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  995. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  996. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  997. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  998. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  999. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  1000. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  1001. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  1002. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  1003. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  1004. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  1005. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  1006. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  1007. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  1008. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  1009. data/spec/integration/notify/v1/service_spec.rb +0 -289
  1010. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  1011. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  1012. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  1013. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  1014. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  1015. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  1016. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  1017. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  1018. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  1019. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  1020. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  1021. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  1022. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  1023. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  1024. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  1025. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  1026. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  1027. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  1028. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  1029. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  1030. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  1031. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  1032. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  1033. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  1034. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  1035. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  1036. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  1037. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  1038. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  1039. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  1040. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  1041. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  1042. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  1043. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  1044. data/spec/integration/preview/sync/service_spec.rb +0 -241
  1045. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  1046. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  1047. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  1048. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  1049. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  1050. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  1051. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  1052. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  1053. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  1054. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  1055. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  1056. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  1057. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  1058. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  1059. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  1060. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  1061. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  1062. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  1063. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  1064. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  1065. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  1066. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  1067. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  1068. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  1069. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  1070. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  1071. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  1072. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  1073. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  1074. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  1075. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  1076. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  1077. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  1078. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  1079. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  1080. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  1081. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  1082. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  1083. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  1084. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  1085. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  1086. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  1087. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  1088. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  1089. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  1090. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  1091. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  1092. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  1093. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  1094. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  1095. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  1096. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  1097. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  1098. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  1099. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  1100. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  1101. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  1102. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  1103. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  1104. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  1105. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  1106. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  1107. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  1108. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  1109. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  1110. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  1111. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  1112. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  1113. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  1114. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  1115. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  1116. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  1117. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  1118. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  1119. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  1120. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  1121. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  1122. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  1123. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  1124. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  1125. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  1126. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  1127. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  1128. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  1129. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  1130. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  1131. data/spec/integration/sync/v1/service_spec.rb +0 -261
  1132. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  1133. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  1134. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  1135. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  1136. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  1137. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  1138. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  1139. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  1140. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  1141. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  1142. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  1143. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  1144. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  1145. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  1146. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  1147. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  1148. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  1149. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  1150. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  1151. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  1152. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  1153. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  1154. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  1155. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  1156. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  1157. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  1158. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  1159. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  1160. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  1161. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  1162. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  1163. data/spec/integration/verify/v2/form_spec.rb +0 -47
  1164. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  1165. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  1166. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  1167. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  1168. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  1169. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  1170. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  1171. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  1172. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  1173. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  1174. data/spec/integration/verify/v2/service_spec.rb +0 -279
  1175. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  1176. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  1177. data/spec/integration/video/v1/composition_spec.rb +0 -347
  1178. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  1179. data/spec/integration/video/v1/recording_spec.rb +0 -176
  1180. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  1181. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  1182. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  1183. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  1184. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  1185. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  1186. data/spec/integration/video/v1/room_spec.rb +0 -301
  1187. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  1188. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  1189. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  1190. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  1191. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  1192. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  1193. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  1194. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  1195. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  1196. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  1197. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  1198. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  1199. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  1200. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  1201. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  1202. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  1203. data/spec/jwt/access_token_spec.rb +0 -159
  1204. data/spec/jwt/client_capability_spec.rb +0 -104
  1205. data/spec/jwt/task_router_spec.rb +0 -172
  1206. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1207. data/spec/rest/client_spec.rb +0 -255
  1208. data/spec/security/request_validator_spec.rb +0 -125
  1209. data/spec/spec_helper.rb +0 -38
  1210. data/spec/support/fakeweb.rb +0 -2
  1211. data/spec/twilio_spec.rb +0 -17
  1212. data/spec/twiml/messaging_response_spec.rb +0 -235
  1213. data/spec/twiml/voice_response_spec.rb +0 -847
  1214. data/spec/util/configuration_spec.rb +0 -33
  1215. data/spec/util/url_encode_spec.rb +0 -12
  1216. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1217. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
data/CONTRIBUTING.md CHANGED
@@ -21,8 +21,8 @@ it can be.
21
21
  ## <a name="question"></a> Got an API/Product Question or Problem?
22
22
 
23
23
  If you have questions about how to use `twilio-ruby`, please see our
24
- [docs][docs-link], and if you don't find the answer there, please contact
25
- [help@twilio.com](mailto:help@twilio.com) with any issues you have.
24
+ [docs](./README.md), and if you don't find the answer there, please contact
25
+ [Twilio Support](https://www.twilio.com/help/contact) with any issues you have.
26
26
 
27
27
  ## <a name="issue"></a> Found an Issue?
28
28
 
@@ -37,6 +37,14 @@ This code was generated by
37
37
  / /
38
38
  """
39
39
  ```
40
+ or
41
+ ```
42
+ * This code was generated by
43
+ * ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
44
+ * | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
45
+ * | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
46
+ *
47
+ ```
40
48
  then it is a generated file and the change will need to be made by us, but
41
49
  submitting an issue will help us track it and keep you up-to-date. If the file
42
50
  isn't generated, you can help us out even more by submitting a Pull Request with
@@ -68,10 +76,6 @@ you're working on.
68
76
  For large fixes, please build and test the documentation before submitting the
69
77
  PR to be sure you haven't accidentally introduced layout or formatting issues.
70
78
 
71
- If you want to help improve the docs at
72
- [https://www.twilio.com/docs/libraries/ruby][docs-link], please contact
73
- [help@twilio.com](mailto:help@twilio.com).
74
-
75
79
  ## <a name="submit"></a> Submission Guidelines
76
80
 
77
81
  ### Submitting an Issue
@@ -155,7 +159,5 @@ you are working:
155
159
  * All features or bug fixes **must be tested** by one or more tests.
156
160
  * All classes and methods **must be documented**.
157
161
 
158
-
159
- [docs-link]: https://www.twilio.com/docs/libraries/ruby
160
162
  [issue-link]: https://github.com/twilio/twilio-ruby/issues/new
161
- [github]: https://github.com/twilio/twilio-ruby
163
+ [github]: https://github.com/twilio/twilio-ruby
data/Dockerfile CHANGED
@@ -3,7 +3,8 @@ FROM ruby:2.4
3
3
  RUN mkdir /twilio
4
4
  WORKDIR /twilio
5
5
 
6
- COPY . .
6
+ COPY Rakefile Gemfile LICENSE README.md twilio-ruby.gemspec ./
7
+ COPY lib ./lib
7
8
 
8
9
  RUN bundle install
9
10
  RUN bundle exec rake install
data/Gemfile CHANGED
@@ -1,2 +1,8 @@
1
1
  source 'https://rubygems.org'
2
+ gem 'simplecov', require: false, group: :test
2
3
  gemspec
4
+
5
+ gem "base64"
6
+ gem "benchmark"
7
+ gem "ostruct"
8
+ gem "rexml"
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (C) 2021, Twilio, Inc. <help@twilio.com>
3
+ Copyright (C) 2023, Twilio, Inc. <https://www.twilio.com/help/contact>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
data/Makefile CHANGED
@@ -1,33 +1,40 @@
1
- .PHONY: githooks install test lint docs docker-build docker-push
1
+ .PHONY: githooks install test test-docker lint docs docker-build docker-push
2
2
 
3
3
  githooks:
4
4
  ln -sf ../../githooks/pre-commit .git/hooks/pre-commit
5
5
 
6
- install: githooks
6
+ install:
7
7
  bundle install --with development; bundle exec rake install
8
8
 
9
- test: lint
9
+ test:
10
10
  bundle exec rake spec
11
11
 
12
- lint:
13
- rubocop --cache true --parallel
12
+ test-docker:
13
+ docker build -t twilio/twilio-ruby .
14
+ docker run twilio/twilio-ruby bundle exec rake spec
14
15
 
15
16
  docs:
16
- yard doc --output-dir ./doc
17
+ bundle exec yard doc --output-dir ./doc
17
18
 
18
19
  authors:
19
20
  echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
20
21
  git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
21
22
 
22
23
  API_DEFINITIONS_SHA=$(shell git log --oneline | grep Regenerated | head -n1 | cut -d ' ' -f 5)
24
+ CURRENT_TAG=$(shell expr "${GITHUB_TAG}" : ".*-rc.*" >/dev/null && echo "rc" || echo "latest")
23
25
  docker-build:
24
26
  docker build -t twilio/twilio-ruby .
25
- docker tag twilio/twilio-ruby twilio/twilio-ruby:${TRAVIS_TAG}
27
+ docker tag twilio/twilio-ruby twilio/twilio-ruby:${GITHUB_TAG}
26
28
  docker tag twilio/twilio-ruby twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
27
- docker tag twilio/twilio-ruby twilio/twilio-ruby:latest
29
+ docker tag twilio/twilio-ruby twilio/twilio-ruby:${CURRENT_TAG}
28
30
 
29
31
  docker-push:
30
- echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin
31
- docker push twilio/twilio-ruby:${TRAVIS_TAG}
32
+ docker push twilio/twilio-ruby:${GITHUB_TAG}
32
33
  docker push twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
33
- docker push twilio/twilio-ruby:latest
34
+ docker push twilio/twilio-ruby:${CURRENT_TAG}
35
+
36
+ cluster-test:
37
+ bundle exec rspec ./cluster
38
+
39
+ prettier:
40
+ bundle exec rubocop -A -d --cache true --parallel
@@ -3,7 +3,7 @@ We appreciate the effort for this pull request but before that please make sure
3
3
 
4
4
  Please format the PR title appropriately based on the type of change:
5
5
  <type>[!]: <description>
6
- Where <type> is one of: docs, chore, feat, fix, test.
6
+ Where <type> is one of: docs, chore, feat, fix, test, misc.
7
7
  Add a '!' after the type for breaking changes (e.g. feat!: new breaking feature).
8
8
 
9
9
  **All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.**
data/README.md CHANGED
@@ -1,16 +1,14 @@
1
1
  # twilio-ruby
2
2
 
3
- [![Build Status](https://img.shields.io/travis/twilio/twilio-ruby.svg)][travis]
3
+ [![Tests](https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml/badge.svg)][github-actions]
4
4
  [![Gem Version](https://img.shields.io/gem/v/twilio-ruby.svg)](https://rubygems.org/gems/twilio-ruby)
5
5
  [![Learn with TwilioQuest](https://img.shields.io/static/v1?label=TwilioQuest&message=Learn%20to%20contribute%21&color=F22F46&labelColor=1f243c&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAASFBMVEUAAAAZGRkcHBwjIyMoKCgAAABgYGBoaGiAgICMjIyzs7PJycnMzMzNzc3UoBfd3d3m5ubqrhfrMEDu7u739/f4vSb/3AD///9tbdyEAAAABXRSTlMAAAAAAMJrBrEAAAKoSURBVHgB7ZrRcuI6EESdyxXGYoNFvMD//+l2bSszRgyUYpFAsXOeiJGmj4NkuWx1Qeh+Ekl9DgEXOBwOx+Px5xyQhDykfgq4wG63MxxaR4ddIkg6Ul3g84vCIcjPBA5gmUMeXESrlukuoK33+33uID8TWeLAdOWsKpJYzwVMB7bOzYSGOciyUlXSn0/ABXTosJ1M1SbypZ4O4MbZuIDMU02PMbauhhHMHXbmebmALIiEbbbbbUrpF1gwE9kFfRNAJaP+FQEXCCTGyJ4ngDrjOFo3jEL5JdqjF/pueR4cCeCGgAtwmuRS6gDwaRiGvu+DMFwSBLTE3+jF8JyuV1okPZ+AC4hDFhCHyHQjdjPHUKFDlHSJkHQXMB3KpSwXNGJPcwwTdZiXlRN0gSp0zpWxNtM0beYE0nRH6QIbO7rawwXaBYz0j78gxjokDuv12gVeUuBD0MDi0OQCLvDaAho4juP1Q/jkAncXqIcCfd+7gAu4QLMACCLxpRsSuQh0igu0C9Svhi7weAGZg50L3IE3cai4IfkNZAC8dfdhsUD3CgKBVC9JE5ABAFzg4QL/taYPAAWrHdYcgfLaIgAXWJ7OV38n1LEF8tt2TH29E+QAoDoO5Ve/LtCQDmKM9kPbvCEBApK+IXzbcSJ0cIGF6e8gpcRhUDogWZ8JnaWjPXc/fNnBBUKRngiHgTUSivSzDRDgHZQOLvBQgf8rRt+VdBUUhwkU6VpJ+xcOwQUqZr+mR0kvBUgv6cB4+37hQAkXqE8PwGisGhJtN4xAHMzrsgvI7rccXqSvKh6jltGlrOHA3Xk1At3LC4QiPdX9/0ndHpGVvTjR4bZA1ypAKgVcwE5vx74ulwIugDt8e/X7JgfkucBMIAr26ndnB4UCLnDOqvteQsHlgX9N4A+c4cW3DXSPbwAAAABJRU5ErkJggg==)](https://twil.io/learn-open-source)
6
6
 
7
- **The default branch name for this repository has been changed to `main` as of 07/27/2020.**
8
-
9
7
  ## Documentation
10
8
 
11
9
  The documentation for the Twilio API can be found [here][apidocs].
12
10
 
13
- The Ruby library documentation can be found [here][libdocs] and individual releases [here][refdocs].
11
+ The individual releases [here][refdocs].
14
12
 
15
13
  ## Versions
16
14
 
@@ -24,8 +22,15 @@ This library supports the following Ruby implementations:
24
22
  * Ruby 2.5
25
23
  * Ruby 2.6
26
24
  * Ruby 2.7
25
+ * Ruby 3.0
26
+ * Ruby 3.1
27
+ * Ruby 3.2
28
+
29
+ * JRuby 9.2
30
+ * JRuby 9.3
31
+ * JRuby 9.4
27
32
 
28
- ### Migrating from 4.x
33
+ ### Migrating from 5.x
29
34
 
30
35
  [Upgrade Guide][upgrade]
31
36
 
@@ -34,13 +39,13 @@ This library supports the following Ruby implementations:
34
39
  To install using [Bundler][bundler] grab the latest stable version:
35
40
 
36
41
  ```ruby
37
- gem 'twilio-ruby', '~> 5.46.0'
42
+ gem 'twilio-ruby', '~> 7.10.1'
38
43
  ```
39
44
 
40
45
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
41
46
 
42
47
  ```bash
43
- gem install twilio-ruby -v 5.46.0
48
+ gem install twilio-ruby -v 7.10.1
44
49
  ```
45
50
 
46
51
  To build and install the development branch yourself from the latest source:
@@ -51,21 +56,65 @@ cd twilio-ruby
51
56
  make install
52
57
  ```
53
58
 
54
- ## Getting Started
59
+ > **Info**
60
+ > If the command line gives you an error message that says Permission Denied, try running the above commands with sudo.
61
+ >
62
+ > For example: `sudo gem install twilio-ruby`
63
+
64
+ ### Test your installation
65
+
66
+ To make sure the installation was successful, try sending yourself an SMS message, like this:
67
+
68
+ ```rb
69
+ require "twilio-ruby"
70
+
71
+ # Your Account SID and Auth Token from console.twilio.com
72
+ account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
73
+ auth_token = "your_auth_token"
74
+
75
+ @client = Twilio::REST::Client.new account_sid, auth_token
76
+ message = @client.messages.create(
77
+ body: "Hello from Ruby",
78
+ to: "+12345678901", # Text this number
79
+ from: "+15005550006", # From a valid Twilio number
80
+ )
81
+
82
+ puts message.sid
83
+ ```
84
+
85
+ > **Warning**
86
+ > It's okay to hardcode your credentials when testing locally, but you should use environment variables to keep them secret before committing any code or deploying to production. Check out [How to Set Environment Variables](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html) for more information.
55
87
 
56
- ### Setup Work
88
+ ## Usage
89
+
90
+ ### Authenticate the Client
57
91
 
58
92
  ```ruby
59
93
  require 'twilio-ruby'
60
94
 
61
- # put your own credentials here
95
+ # Your Account SID and Auth Token from console.twilio.com
62
96
  account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
63
97
  auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
64
98
 
65
- # set up a client to talk to the Twilio REST API
99
+ # Initialize the Twilio Client with your credentials
66
100
  @client = Twilio::REST::Client.new account_sid, auth_token
67
101
  ```
68
102
 
103
+ ### Use An API Key
104
+
105
+ ```ruby
106
+ require 'twilio-ruby'
107
+
108
+ # Your Account SID from console.twilio.com
109
+ account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
110
+ # API Key from twilio.com/console/project/api-keys
111
+ api_key_sid = 'zzzzzzzzzzzzzzzzzzzzzz'
112
+ api_key_secret = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
113
+
114
+ # set up a client to talk to the Twilio REST API using an API Key
115
+ @client = Twilio::REST::Client.new api_key_sid, api_key_secret, account_sid
116
+ ```
117
+
69
118
  ### Specify a Region and/or Edge
70
119
 
71
120
  To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/docs/global-infrastructure), specify the target Region and/or Edge for the client:
@@ -81,22 +130,6 @@ To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/doc
81
130
  @client.edge = 'sydney'
82
131
  ```
83
132
 
84
- ### Enable Debug logging
85
-
86
- In order to enable debug logging, pass in a 'logger' instance to the client with the level set to at least 'DEBUG'
87
-
88
- ```ruby
89
- @client = Twilio::REST::Client.new account_sid, auth_token
90
- myLogger = Logger.new(STDOUT)
91
- myLogger.level = Logger::DEBUG
92
- @client.logger = myLogger
93
-
94
- @client = Twilio::REST::Client.new account_sid, auth_token
95
- myLogger = Logger.new('my_log.log')
96
- myLogger.level = Logger::DEBUG
97
- @client.logger = myLogger
98
- ```
99
-
100
133
  This will result in the `hostname` transforming from `api.twilio.com` to `api.sydney.au1.twilio.com`.
101
134
 
102
135
  ### Make a Call
@@ -133,19 +166,59 @@ message_sid = 'SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
133
166
  @client.messages(message_sid).fetch
134
167
  ```
135
168
 
136
- ### Customizing your HTTP Client
169
+ ### Iterate through records
137
170
 
138
- `twilio-ruby` uses [Faraday][faraday] to make HTTP requests. You can tell `Twilio::REST::Client` to use any of the Faraday adapters like so:
171
+ The library automatically handles paging for you. Collections, such as `calls` and `messages`, have `list` and stream methods that page under the hood. With both `list` and `stream`, you can specify the number of records you want to receive (`limit`) and the maximum size you want each page fetch to be (`page_size`). The library will then handle the task for you.
139
172
 
140
- ```ruby
141
- @client.http_client.adapter = :typhoeus
173
+ `list` eagerly fetches all records and returns them as a list, whereas `stream` returns an enumerator and lazily retrieves pages of records as you iterate over the collection. You can also page manually using the `page` method.
174
+
175
+ For more information about these methods, view the [auto-generated library docs](https://www.twilio.com/docs/libraries/reference/twilio-ruby).
176
+
177
+ ```rb
178
+ require 'twilio-ruby'
179
+
180
+ account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
181
+ auth_token = 'your_auth_token'
182
+
183
+ @client = Twilio::REST::Client.new(account_sid, auth_token)
184
+
185
+ @client.calls.list
186
+ .each do |call|
187
+ puts call.direction
188
+ end
142
189
  ```
143
190
 
144
- To use a custom HTTP client with this helper library, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/ruby/custom-http-clients).
191
+ ### Enable Debug logging
145
192
 
146
- ### Handling Errors
193
+ In order to enable debug logging, pass in a 'logger' instance to the client with the level set to at least 'DEBUG'
147
194
 
148
195
  ```ruby
196
+ @client = Twilio::REST::Client.new account_sid, auth_token
197
+ myLogger = Logger.new(STDOUT)
198
+ myLogger.level = Logger::DEBUG
199
+ @client.logger = myLogger
200
+
201
+ @client = Twilio::REST::Client.new account_sid, auth_token
202
+ myLogger = Logger.new('my_log.log')
203
+ myLogger.level = Logger::DEBUG
204
+ @client.logger = myLogger
205
+ ```
206
+
207
+ ### Handle Exceptions {#exceptions}
208
+
209
+ If the Twilio API returns a 400 or a 500 level HTTP response, the `twilio-ruby`
210
+ library will throw a `Twilio::REST::RestError`. 400-level errors are normal
211
+ during API operation (`“Invalid number”`, `“Cannot deliver SMS to that number”`,
212
+ for example) and should be handled appropriately.
213
+
214
+ ```rb
215
+ require 'twilio-ruby'
216
+
217
+ account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
218
+ auth_token = 'your_auth_token'
219
+
220
+ @client = Twilio::REST::Client.new account_sid, auth_token
221
+
149
222
  begin
150
223
  messages = @client.messages.list(limit: 20)
151
224
  rescue Twilio::REST::RestError => e
@@ -153,9 +226,51 @@ rescue Twilio::REST::RestError => e
153
226
  end
154
227
  ```
155
228
 
156
- For more descriptive exception types, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/ruby/usage-guide#error-handling).
229
+ ### Debug API requests
230
+
231
+ To assist with debugging, the library allows you to access the underlying request and response objects. This capability is built into the default HTTP client that ships with the library.
232
+
233
+ For example, you can retrieve the status code of the last response like so:
234
+
235
+ ```ruby
236
+ require 'rubygems' # Not necessary with ruby 1.9 but included for completeness
237
+ require 'twilio-ruby'
238
+
239
+ # Your Account SID and Auth Token from console.twilio.com
240
+ account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
241
+ auth_token = 'your_auth_token'
242
+
243
+ @client = Twilio::REST::Client.new(account_sid, auth_token)
244
+
245
+ @message = @client.messages.create(
246
+ to: '+14158675309',
247
+ from: '+14258675310',
248
+ body: 'Ahoy!'
249
+ )
250
+
251
+ # Retrieve the status code of the last response from the HTTP client
252
+ puts @client.http_client.last_response.status_code
253
+ ```
254
+
255
+ ### Customize your HTTP Client
157
256
 
158
- ### Getting Started With Client Capability Tokens
257
+ `twilio-ruby` uses [Faraday][faraday] to make HTTP requests. You can tell `Twilio::REST::Client` to use any of the Faraday adapters like so:
258
+
259
+ ```ruby
260
+ @client.http_client.adapter = :typhoeus
261
+ ```
262
+
263
+ To use a custom HTTP client with this helper library, please see the [advanced example of how to do so](./advanced-examples/custom-http-client.md).
264
+
265
+ To apply customizations such as middleware, you can use the `configure_connection` method like so:
266
+
267
+ ```ruby
268
+ @client.http_client.configure_connection do |faraday|
269
+ faraday.use SomeMiddleware
270
+ end
271
+ ```
272
+
273
+ ### Get started With Client Capability Tokens
159
274
 
160
275
  If you just need to generate a Capability Token for use with Twilio Client, you can do this:
161
276
 
@@ -183,7 +298,12 @@ capability.add_scope(incoming_scope)
183
298
 
184
299
  There is a slightly more detailed document in the [Capability][capability] section of the wiki.
185
300
 
186
- ### Generating TwiML
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.
303
+
304
+ API examples [here](https://github.com/twilio/twilio-ruby/blob/main/examples/public_oauth.rb)
305
+
306
+ ### Generate TwiML
187
307
 
188
308
  To control phone calls, your application needs to output [TwiML][twiml].
189
309
 
@@ -227,14 +347,14 @@ If you've instead found a bug in the library or would like new features added, g
227
347
 
228
348
  [apidocs]: https://www.twilio.com/docs/api
229
349
  [twiml]: https://www.twilio.com/docs/api/twiml
230
- [libdocs]: https://www.twilio.com/docs/libraries/ruby
350
+ [libdocs]: https://www.twilio.com/docs/libraries/reference/twilio-ruby/
231
351
  [refdocs]: https://twilio.github.io/twilio-ruby
232
352
  [capability]: https://github.com/twilio/twilio-ruby/wiki/JWT-Tokens
233
353
  [wiki]: https://github.com/twilio/twilio-ruby/wiki
234
354
  [bundler]: https://bundler.io
235
355
  [rubygems]: https://rubygems.org
236
356
  [gem]: https://rubygems.org/gems/twilio
237
- [travis]: https://travis-ci.org/twilio/twilio-ruby
357
+ [github-actions]: https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml
238
358
  [upgrade]: https://github.com/twilio/twilio-ruby/wiki/Ruby-Version-5.x-Upgrade-Guide
239
359
  [issues]: https://github.com/twilio/twilio-ruby/issues
240
360
  [faraday]: https://github.com/lostisland/faraday
data/UPGRADE.md CHANGED
@@ -3,6 +3,27 @@
3
3
  _After `5.0.0` all `MINOR` and `MAJOR` version bumps will have upgrade notes
4
4
  posted here._
5
5
 
6
+ [2024-01-19] 6.x.x to 7.x.x
7
+ -----------------------------
8
+ ### Overview
9
+
10
+ ##### Twilio Ruby Helper Library’s major version 7.0.0 is now available. We ensured that you can upgrade to Ruby helper Library 7.0.0 version without any breaking changes of existing apis
11
+
12
+ Behind the scenes Ruby Helper is now auto-generated via OpenAPI with this release. This enables us to rapidly add new features and enhance consistency across versions and languages.
13
+ We're pleased to inform you that version 7.0.0 adds support for the application/json content type in the request body.
14
+
15
+ To learn more about the Ruby Helper Library, check out [our docs](https://www.twilio.com/docs/libraries/ruby).
16
+
17
+ [2023-05-03] 5.x.x to 6.x.x
18
+ -----------------------------
19
+ ### Overview
20
+
21
+ ##### Twilio Ruby Helper Library’s major version 6.0.0 is now available. We ensured that you can upgrade to Ruby helper Library 6.0.0 version without any breaking changes
22
+
23
+ Behind the scenes Ruby Helper is now auto-generated via OpenAPI with this release. This enables us to rapidly add new features and enhance consistency across versions and languages.
24
+
25
+ To learn more about the Ruby Helper Library, check out [our docs](https://www.twilio.com/docs/libraries/ruby).
26
+
6
27
  [2017-09-29] 5.x.x to 5.3.x
7
28
  ---------------------------
8
29
 
@@ -0,0 +1,170 @@
1
+ # Custom HTTP Clients for the Twilio Ruby Helper Library
2
+
3
+ If you are working with the Twilio Ruby Helper Library, and you need to be able to modify the HTTP requests that the library makes to the Twilio servers, you’re in the right place. The most common need to alter the HTTP request is to connect and authenticate with an enterprise’s proxy server. We’ll provide sample code that you can drop right into your app to handle this use case.
4
+
5
+ Connect and authenticate with a proxy server
6
+ To connect and provide credentials to a proxy server that may be between your app and Twilio, you need a way to modify the HTTP requests that the Twilio helper library makes on your behalf to invoke the Twilio REST API.
7
+
8
+ The Twilio Ruby helper library uses the [Faraday](https://rubygems.org/gems/faraday) gem under the hood to make the HTTP requests. The following example shows a typical request, without a custom `http_client`:
9
+
10
+ ```rb
11
+ @client = Twilio::REST::Client.new(account_sid, auth_token)
12
+
13
+ message = @client.messages
14
+ .create(
15
+ to: "+15558675310",
16
+ body: "Hey there!",
17
+ from: "+15017122661",
18
+ )
19
+ ```
20
+
21
+ Out of the box, the helper library is creating a default `Twilio::Http::Client` for you, using the Twilio credentials you provide. However, you can create your own `Twilio::Http::Client`, and pass it to any Twilio REST API resource action you want.
22
+
23
+ Here’s an example of sending an SMS message with a custom client:
24
+
25
+ ```rb
26
+ # Download the helper library from https://www.twilio.com/docs/ruby/install
27
+ require "rubygems"
28
+ require "twilio-ruby"
29
+ require "dotenv/load"
30
+
31
+ # Custom HTTP Client
32
+ require_relative "MyRequestClass"
33
+
34
+ # Your Account Sid and Auth Token from twilio.com/console
35
+ account_sid = ENV["ACCOUNT_SID"]
36
+ auth_token = ENV["AUTH_TOKEN"]
37
+ proxy_address = ENV["PROXY_ADDRESS"]
38
+ proxy_protocol = ENV["PROXY_PROTOCOL"]
39
+ proxy_port = ENV["PROXY_PORT"]
40
+
41
+ my_request_client = MyRequestClass.new(proxy_protocol, proxy_address, proxy_port)
42
+
43
+ @client = Twilio::REST::Client.new(account_sid, auth_token,
44
+ nil, nil, my_request_client)
45
+
46
+ message = @client.messages
47
+ .create(
48
+ to: "+593978613041",
49
+ body: "RB This is the ship that made the Kesssssel Run in fourteen parsecs?",
50
+ from: "+13212855389",
51
+ )
52
+
53
+ puts "Message SID: #{message.sid}"
54
+ ```
55
+
56
+ ## Create your custom TwilioRestClient
57
+
58
+ When you take a closer look at the constructor for `Twilio::Http::Client`, you see that this class provides it to the Twilio helper library to make the necessary HTTP requests.
59
+
60
+ ## Call Twilio through the proxy server
61
+
62
+ Now that we understand how all the components fit together, we can create our own `http_client` that can connect through a proxy server. To make this reusable, here’s a class that you can use to create this `http_client` whenever you need one.
63
+
64
+ ```rb
65
+ class MyRequestClass
66
+ attr_accessor :adapter
67
+ attr_reader :timeout, :last_response, :last_request
68
+
69
+ def initialize(proxy_prot = nil, proxy_addr = nil, proxy_port = nil, timeout: nil)
70
+ @proxy_prot = proxy_prot
71
+ @proxy_addr = proxy_addr
72
+ @proxy_port = proxy_port
73
+ @timeout = timeout
74
+ @adapter = Faraday.default_adapter
75
+ end
76
+
77
+ def _request(request)
78
+ @connection = Faraday.new(url: request.host + ":" + request.port.to_s, ssl: { verify: true }) do |f|
79
+ f.options.params_encoder = Faraday::FlatParamsEncoder
80
+ f.request :url_encoded
81
+ f.adapter @adapter
82
+ f.headers = request.headers
83
+ f.basic_auth(request.auth[0], request.auth[1])
84
+ if @proxy_addr
85
+ f.proxy = "#{@proxy_prot}://#{@proxy_addr}:#{@proxy_port}"
86
+ end
87
+ f.options.open_timeout = request.timeout || @timeout
88
+ f.options.timeout = request.timeout || @timeout
89
+ end
90
+
91
+ @last_request = request
92
+ @last_response = nil
93
+ response = @connection.send(request.method.downcase.to_sym,
94
+ request.url,
95
+ request.method == "GET" ? request.params : request.data)
96
+
97
+ if response.body && !response.body.empty?
98
+ object = response.body
99
+ elsif response.status == 400
100
+ object = { message: "Bad request", code: 400 }.to_json
101
+ end
102
+
103
+ twilio_response = Twilio::Response.new(response.status, object, headers: response.headers)
104
+ @last_response = twilio_response
105
+
106
+ twilio_response
107
+ end
108
+
109
+ def request(host, port, method, url, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
110
+ request = Twilio::Request.new(host, port, method, url, params, data, headers, auth, timeout)
111
+ _request(request)
112
+ end
113
+ end
114
+ ```
115
+
116
+ In this example, we are using some environment variables loaded at the program startup to retrieve various configuration settings:
117
+
118
+ - Your Twilio Account Sid and Auth Token ([found here, in the Twilio console](https://console.twilio.com))
119
+ - A proxy address in the form of `http://127.0.0.1:8888`
120
+
121
+ These settings are located in a file like `.env` like so:
122
+
123
+ ```env
124
+ ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
125
+ AUTH_TOKEN= your_auth_token
126
+
127
+ HTTPS_PROXY=https://127.0.0.1:8888
128
+ HTTP_PROXY=http://127.0.0.1:8888
129
+ ```
130
+
131
+ Here’s the full console program that sends a text message and shows how it all can work together. It loads the `.env` file.
132
+
133
+ ```rb
134
+ # Download the helper library from https://www.twilio.com/docs/ruby/install
135
+ require "rubygems"
136
+ require "twilio-ruby"
137
+ require "dotenv/load"
138
+
139
+ # Custom HTTP Client
140
+ require_relative "MyRequestClass"
141
+
142
+ # Your Account Sid and Auth Token from twilio.com/console
143
+ account_sid = ENV["ACCOUNT_SID"]
144
+ auth_token = ENV["AUTH_TOKEN"]
145
+ proxy_address = ENV["PROXY_ADDRESS"]
146
+ proxy_protocol = ENV["PROXY_PROTOCOL"]
147
+ proxy_port = ENV["PROXY_PORT"]
148
+
149
+ my_request_client = MyRequestClass.new(proxy_protocol, proxy_address, proxy_port)
150
+
151
+ @client = Twilio::REST::Client.new(account_sid, auth_token,
152
+ nil, nil, my_request_client)
153
+
154
+ message = @client.messages
155
+ .create(
156
+ to: "+593978613041",
157
+ body: "RB This is the ship that made the Kesssssel Run in fourteen parsecs?",
158
+ from: "+13212855389",
159
+ )
160
+
161
+ puts "Message SID: #{message.sid}"
162
+ ```
163
+
164
+ ## What else can this technique be used for?
165
+
166
+ Now that you know how to inject your own `http_client` into the Twilio API request pipeline, you could use this technique to add custom HTTP headers and authorization to the requests (perhaps as required by an upstream proxy server).
167
+
168
+ You could also implement your own `http_client` to mock the Twilio API responses so your unit and integration tests can run quickly without the need to make a connection to Twilio. In fact, there’s already an example online showing [how to do exactly that with Node.js and Prism](https://www.twilio.com/docs/openapi/mock-api-generation-with-twilio-openapi-spec).
169
+
170
+ We can’t wait to see what you build!
@@ -0,0 +1,19 @@
1
+ require 'rspec/matchers'
2
+ require 'twilio-ruby'
3
+ require './lib/twilio-ruby/credential/client_credential_provider'
4
+
5
+ describe 'Cluster Test' do
6
+ before(:each) do
7
+ @account_sid = ENV['TWILIO_ACCOUNT_SID']
8
+ @client_secret = ENV['TWILIO_CLIENT_SECRET']
9
+ @client_id = ENV['TWILIO_CLIENT_ID']
10
+ @message_sid = ENV['TWILIO_MESSAGE_SID']
11
+ @credential = Twilio::REST::ClientCredentialProvider.new(@client_id, @client_secret)
12
+ @client = Twilio::REST::Client.new(@account_sid).credential_provider(@credential)
13
+ end
14
+
15
+ it 'can fetch a message' do
16
+ response = @client.messages(@message_sid).fetch
17
+ expect(response).to_not be_nil
18
+ end
19
+ end