twilio-ruby 4.6.1 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (834) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.github/workflows/test-and-deploy.yml +139 -0
  5. data/.gitignore +14 -1
  6. data/.rubocop.yml +59 -0
  7. data/.rubocop_todo.yml +261 -0
  8. data/AUTHORS.md +46 -32
  9. data/CHANGES.md +3355 -22
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +163 -0
  12. data/Dockerfile +9 -0
  13. data/Gemfile +1 -8
  14. data/ISSUE_TEMPLATE.md +30 -0
  15. data/{LICENSE.md → LICENSE} +12 -12
  16. data/Makefile +28 -6
  17. data/PULL_REQUEST_TEMPLATE.md +31 -0
  18. data/README.md +233 -143
  19. data/UPGRADE.md +40 -0
  20. data/VERSIONS.md +35 -0
  21. data/advanced-examples/custom-http-client.md +170 -0
  22. data/cluster_spec.rb +77 -0
  23. data/examples/examples.rb +47 -58
  24. data/examples/{print-call-log.rb → print_call_log.rb} +6 -6
  25. data/githooks/pre-commit +1 -0
  26. data/lib/rack/twilio_webhook_authentication.rb +32 -7
  27. data/lib/twilio-ruby/base/client_base.rb +121 -0
  28. data/lib/twilio-ruby/framework/request.rb +41 -0
  29. data/lib/twilio-ruby/framework/response.rb +18 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +36 -0
  31. data/lib/twilio-ruby/framework/rest/error.rb +39 -0
  32. data/lib/twilio-ruby/framework/rest/helper.rb +11 -0
  33. data/lib/twilio-ruby/framework/rest/obsolete_client.rb +12 -0
  34. data/lib/twilio-ruby/framework/rest/page.rb +103 -0
  35. data/lib/twilio-ruby/framework/rest/resource.rb +23 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +153 -0
  37. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  38. data/lib/twilio-ruby/framework/values.rb +9 -0
  39. data/lib/twilio-ruby/http/http_client.rb +79 -0
  40. data/lib/twilio-ruby/http.rb +5 -0
  41. data/lib/twilio-ruby/jwt/access_token.rb +226 -0
  42. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  43. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  44. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  45. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +206 -0
  46. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +378 -0
  47. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +378 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +129 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +169 -0
  50. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +222 -0
  51. data/lib/twilio-ruby/rest/accounts/v1.rb +58 -0
  52. data/lib/twilio-ruby/rest/accounts.rb +20 -10
  53. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +377 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +558 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +622 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +320 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +394 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +394 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +394 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +394 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +394 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +394 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +394 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +432 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +143 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +209 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +264 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +328 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +411 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +324 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +505 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +872 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +872 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +959 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +663 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +462 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +496 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +433 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +337 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +411 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +543 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +543 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +543 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +848 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +342 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +174 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +351 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +622 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +164 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +164 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +407 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +375 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +351 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +433 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +365 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +381 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +514 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +424 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +342 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +394 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +412 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +346 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +346 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +346 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +126 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +356 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +664 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +423 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +412 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +148 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +178 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +371 -0
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +326 -0
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +326 -0
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +326 -0
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +326 -0
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +326 -0
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +326 -0
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +326 -0
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +326 -0
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +388 -0
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +496 -0
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +128 -0
  131. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +179 -0
  132. data/lib/twilio-ruby/rest/api/v2010/account.rb +989 -0
  133. data/lib/twilio-ruby/rest/api/v2010.rb +132 -0
  134. data/lib/twilio-ruby/rest/api.rb +238 -0
  135. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +241 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +217 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +389 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +435 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +409 -0
  141. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +473 -0
  142. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +241 -0
  143. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +373 -0
  144. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +436 -0
  145. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +253 -0
  146. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +226 -0
  147. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +525 -0
  148. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +433 -0
  149. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +683 -0
  150. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +207 -0
  151. data/lib/twilio-ruby/rest/autopilot/v1.rb +55 -0
  152. data/lib/twilio-ruby/rest/autopilot.rb +22 -0
  153. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +306 -0
  155. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +305 -0
  156. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +278 -0
  157. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +254 -0
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +253 -0
  159. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  160. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  161. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/chat/v1/credential.rb +429 -0
  163. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +385 -0
  164. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +433 -0
  165. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +449 -0
  166. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +541 -0
  167. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +403 -0
  168. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +251 -0
  169. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +472 -0
  170. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -0
  171. data/lib/twilio-ruby/rest/chat/v1.rb +64 -0
  172. data/lib/twilio-ruby/rest/chat/v2/credential.rb +429 -0
  173. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +378 -0
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +385 -0
  175. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +497 -0
  176. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +524 -0
  177. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +451 -0
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +613 -0
  179. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +403 -0
  180. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +375 -0
  181. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +417 -0
  182. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +516 -0
  183. data/lib/twilio-ruby/rest/chat/v2/service.rb +774 -0
  184. data/lib/twilio-ruby/rest/chat/v2.rb +64 -0
  185. data/lib/twilio-ruby/rest/chat/v3/channel.rb +297 -0
  186. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  187. data/lib/twilio-ruby/rest/chat.rb +35 -0
  188. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  189. data/lib/twilio-ruby/rest/client.rb +340 -164
  190. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  191. data/lib/twilio-ruby/rest/content/v1/content.rb +363 -0
  192. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +251 -0
  193. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +265 -0
  194. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  195. data/lib/twilio-ruby/rest/content.rb +15 -0
  196. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +482 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +281 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +287 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +345 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +544 -0
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +505 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +432 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +630 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +435 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/role.rb +394 -0
  208. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +371 -0
  209. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +334 -0
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +280 -0
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +314 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +356 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +557 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +518 -0
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +445 -0
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +639 -0
  217. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +317 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +403 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +457 -0
  220. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +491 -0
  221. data/lib/twilio-ruby/rest/conversations/v1/service.rb +486 -0
  222. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +452 -0
  223. data/lib/twilio-ruby/rest/conversations/v1/user.rb +482 -0
  224. data/lib/twilio-ruby/rest/conversations/v1.rb +136 -0
  225. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  226. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  227. data/lib/twilio-ruby/rest/events/v1/event_type.rb +312 -0
  228. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +299 -0
  229. data/lib/twilio-ruby/rest/events/v1/schema.rb +235 -0
  230. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +129 -0
  231. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +136 -0
  232. data/lib/twilio-ruby/rest/events/v1/sink.rb +444 -0
  233. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +372 -0
  234. data/lib/twilio-ruby/rest/events/v1/subscription.rb +426 -0
  235. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  236. data/lib/twilio-ruby/rest/events.rb +43 -0
  237. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +448 -0
  239. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +375 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +518 -0
  241. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +573 -0
  242. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +327 -0
  243. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +228 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +442 -0
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +358 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +443 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +361 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +339 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +406 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +267 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +187 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +388 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1.rb +208 -0
  259. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  260. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  261. data/lib/twilio-ruby/rest/flex_api.rb +73 -0
  262. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  263. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +275 -0
  264. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  265. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  266. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  267. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +319 -0
  268. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  269. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +276 -0
  270. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +268 -0
  271. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -0
  272. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +493 -0
  273. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +488 -0
  274. data/lib/twilio-ruby/rest/insights/v1/conference.rb +505 -0
  275. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +385 -0
  276. data/lib/twilio-ruby/rest/insights/v1/room.rb +500 -0
  277. data/lib/twilio-ruby/rest/insights/v1/setting.rb +254 -0
  278. data/lib/twilio-ruby/rest/insights/v1.rb +91 -0
  279. data/lib/twilio-ruby/rest/insights.rb +46 -0
  280. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  281. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +510 -0
  282. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  283. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +388 -0
  284. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +248 -0
  285. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +520 -0
  286. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  287. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  288. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  289. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +429 -0
  290. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +385 -0
  291. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +433 -0
  292. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +449 -0
  293. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +541 -0
  294. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +403 -0
  295. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +251 -0
  296. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +472 -0
  297. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -0
  298. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +64 -0
  299. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +429 -0
  300. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +378 -0
  301. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +385 -0
  302. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +497 -0
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +524 -0
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +451 -0
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +613 -0
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +403 -0
  307. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +375 -0
  308. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +408 -0
  309. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +516 -0
  310. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +774 -0
  311. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +64 -0
  312. data/lib/twilio-ruby/rest/ip_messaging.rb +23 -0
  313. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  314. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +251 -0
  315. data/lib/twilio-ruby/rest/lookups/v1.rb +49 -0
  316. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +370 -0
  317. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  318. data/lib/twilio-ruby/rest/lookups.rb +16 -0
  319. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  320. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +420 -0
  321. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +404 -0
  322. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +252 -0
  323. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +432 -0
  324. data/lib/twilio-ruby/rest/media/v1.rb +79 -0
  325. data/lib/twilio-ruby/rest/media.rb +28 -7
  326. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  327. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  328. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +365 -0
  329. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +497 -0
  330. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  331. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  332. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  333. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  334. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +161 -0
  335. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  337. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +358 -0
  338. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +329 -0
  339. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +365 -0
  340. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +365 -0
  341. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +513 -0
  342. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +135 -0
  343. data/lib/twilio-ruby/rest/messaging/v1/service.rb +777 -0
  344. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +777 -0
  345. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +123 -0
  346. data/lib/twilio-ruby/rest/messaging/v1.rb +194 -0
  347. data/lib/twilio-ruby/rest/messaging.rb +74 -0
  348. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +358 -0
  350. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +351 -0
  351. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  352. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +349 -0
  353. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -0
  354. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -0
  355. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +427 -0
  356. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  357. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  358. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  359. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +408 -0
  360. data/lib/twilio-ruby/rest/monitor/v1/event.rb +391 -0
  361. data/lib/twilio-ruby/rest/monitor/v1.rb +64 -0
  362. data/lib/twilio-ruby/rest/monitor.rb +25 -0
  363. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  364. data/lib/twilio-ruby/rest/notify/v1/credential.rb +431 -0
  365. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +444 -0
  366. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +320 -0
  367. data/lib/twilio-ruby/rest/notify/v1/service.rb +636 -0
  368. data/lib/twilio-ruby/rest/notify/v1.rb +64 -0
  369. data/lib/twilio-ruby/rest/notify.rb +25 -0
  370. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  371. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  372. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +229 -0
  373. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_fetch.rb +245 -0
  374. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +263 -0
  375. data/lib/twilio-ruby/rest/numbers/v1.rb +94 -0
  376. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +343 -0
  377. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +403 -0
  378. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +249 -0
  379. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +502 -0
  380. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +285 -0
  381. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +335 -0
  382. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +344 -0
  383. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +201 -0
  384. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +608 -0
  385. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +398 -0
  386. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +297 -0
  387. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +329 -0
  388. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +419 -0
  389. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +297 -0
  390. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +185 -0
  391. data/lib/twilio-ruby/rest/numbers/v2.rb +85 -0
  392. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  393. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  394. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +417 -0
  395. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +401 -0
  396. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +456 -0
  397. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +414 -0
  398. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +504 -0
  399. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +49 -0
  400. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +377 -0
  401. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +456 -0
  402. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +620 -0
  403. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +64 -0
  404. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +308 -0
  405. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +335 -0
  406. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +349 -0
  407. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +439 -0
  408. data/lib/twilio-ruby/rest/preview/marketplace.rb +64 -0
  409. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +389 -0
  410. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +449 -0
  411. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +445 -0
  412. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +389 -0
  413. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +426 -0
  414. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +448 -0
  415. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +389 -0
  416. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +426 -0
  417. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -0
  418. data/lib/twilio-ruby/rest/preview/sync.rb +49 -0
  419. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +241 -0
  420. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +241 -0
  421. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +217 -0
  422. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +389 -0
  423. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +435 -0
  424. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +409 -0
  425. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +463 -0
  426. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +241 -0
  427. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
  428. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +436 -0
  429. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +253 -0
  430. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +226 -0
  431. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +525 -0
  432. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +663 -0
  433. data/lib/twilio-ruby/rest/preview/understand.rb +49 -0
  434. data/lib/twilio-ruby/rest/preview/wireless/command.rb +397 -0
  435. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +458 -0
  436. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +260 -0
  437. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +584 -0
  438. data/lib/twilio-ruby/rest/preview/wireless.rb +79 -0
  439. data/lib/twilio-ruby/rest/preview.rb +102 -0
  440. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  441. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +304 -0
  442. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +115 -0
  443. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +297 -0
  444. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +115 -0
  445. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +304 -0
  446. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +227 -0
  447. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +129 -0
  448. data/lib/twilio-ruby/rest/pricing/v1.rb +52 -0
  449. data/lib/twilio-ruby/rest/pricing/v2/country.rb +299 -0
  450. data/lib/twilio-ruby/rest/pricing/v2/number.rb +240 -0
  451. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +304 -0
  452. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +245 -0
  453. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +129 -0
  454. data/lib/twilio-ruby/rest/pricing/v2.rb +70 -0
  455. data/lib/twilio-ruby/rest/pricing.rb +43 -2
  456. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  457. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +426 -0
  458. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +419 -0
  459. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +439 -0
  460. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +434 -0
  461. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +529 -0
  462. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +406 -0
  463. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -0
  464. data/lib/twilio-ruby/rest/proxy/v1.rb +49 -0
  465. data/lib/twilio-ruby/rest/proxy.rb +15 -0
  466. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  467. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +268 -0
  468. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +268 -0
  469. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +268 -0
  470. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  471. data/lib/twilio-ruby/rest/routes.rb +32 -0
  472. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  473. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +326 -0
  474. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +419 -0
  475. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  476. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +414 -0
  477. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +347 -0
  478. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +372 -0
  479. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +414 -0
  480. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +463 -0
  481. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +230 -0
  482. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +353 -0
  483. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +419 -0
  484. data/lib/twilio-ruby/rest/serverless/v1/service.rb +533 -0
  485. data/lib/twilio-ruby/rest/serverless/v1.rb +49 -0
  486. data/lib/twilio-ruby/rest/serverless.rb +15 -0
  487. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  488. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +217 -0
  489. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +228 -0
  490. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +372 -0
  491. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +429 -0
  492. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +217 -0
  493. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  494. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  495. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -0
  496. data/lib/twilio-ruby/rest/studio/v1/flow.rb +390 -0
  497. data/lib/twilio-ruby/rest/studio/v1.rb +49 -0
  498. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +217 -0
  499. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  500. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  501. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -0
  502. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +348 -0
  503. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  504. data/lib/twilio-ruby/rest/studio/v2/flow.rb +529 -0
  505. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +139 -0
  506. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  507. data/lib/twilio-ruby/rest/studio.rb +22 -0
  508. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  509. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +403 -0
  510. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +482 -0
  511. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +408 -0
  512. data/lib/twilio-ruby/rest/supersim/v1/network.rb +312 -0
  513. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +344 -0
  514. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +390 -0
  515. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +256 -0
  516. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +249 -0
  517. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +207 -0
  518. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +470 -0
  519. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +368 -0
  520. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +313 -0
  521. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  522. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  523. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +387 -0
  525. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +463 -0
  526. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +477 -0
  527. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +387 -0
  528. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +477 -0
  529. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +480 -0
  530. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +387 -0
  531. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +477 -0
  532. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +146 -0
  533. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +426 -0
  534. data/lib/twilio-ruby/rest/sync/v1/service.rb +585 -0
  535. data/lib/twilio-ruby/rest/sync/v1.rb +49 -0
  536. data/lib/twilio-ruby/rest/sync.rb +15 -0
  537. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  538. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +412 -0
  539. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +449 -0
  540. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +716 -0
  541. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +630 -0
  542. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +416 -0
  543. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +371 -0
  544. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +291 -0
  545. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +259 -0
  546. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +266 -0
  547. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +581 -0
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +698 -0
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +400 -0
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +246 -0
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +293 -0
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +226 -0
  553. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +262 -0
  554. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +630 -0
  555. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +371 -0
  556. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +256 -0
  557. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +259 -0
  558. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +530 -0
  559. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +360 -0
  560. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +259 -0
  561. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +248 -0
  562. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +730 -0
  563. data/lib/twilio-ruby/rest/taskrouter/v1.rb +49 -0
  564. data/lib/twilio-ruby/rest/taskrouter.rb +15 -0
  565. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  566. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +349 -0
  567. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +349 -0
  568. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +447 -0
  569. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +482 -0
  570. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +231 -0
  571. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +633 -0
  572. data/lib/twilio-ruby/rest/trunking/v1.rb +49 -0
  573. data/lib/twilio-ruby/rest/trunking.rb +15 -0
  574. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  575. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +232 -0
  576. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +211 -0
  577. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +364 -0
  578. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +342 -0
  579. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +340 -0
  580. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +535 -0
  581. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +393 -0
  582. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +292 -0
  583. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +285 -0
  584. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +407 -0
  585. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +292 -0
  586. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +364 -0
  587. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +342 -0
  588. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +340 -0
  589. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +535 -0
  590. data/lib/twilio-ruby/rest/trusthub/v1.rb +160 -0
  591. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  592. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  593. data/lib/twilio-ruby/rest/verify/v2/form.rb +203 -0
  594. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +231 -0
  595. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +279 -0
  596. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +198 -0
  597. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +508 -0
  598. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +458 -0
  599. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +269 -0
  600. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -0
  601. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +386 -0
  602. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +412 -0
  603. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +427 -0
  604. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +387 -0
  605. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +225 -0
  606. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +454 -0
  607. data/lib/twilio-ruby/rest/verify/v2/service.rb +792 -0
  608. data/lib/twilio-ruby/rest/verify/v2/template.rb +229 -0
  609. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +382 -0
  610. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +247 -0
  611. data/lib/twilio-ruby/rest/verify/v2.rb +106 -0
  612. data/lib/twilio-ruby/rest/verify.rb +58 -0
  613. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  614. data/lib/twilio-ruby/rest/video/v1/composition.rb +487 -0
  615. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +535 -0
  616. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +289 -0
  617. data/lib/twilio-ruby/rest/video/v1/recording.rb +436 -0
  618. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +289 -0
  619. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  620. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +331 -0
  621. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  622. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +338 -0
  623. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +498 -0
  624. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  625. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +423 -0
  626. data/lib/twilio-ruby/rest/video/v1/room.rb +616 -0
  627. data/lib/twilio-ruby/rest/video/v1.rb +106 -0
  628. data/lib/twilio-ruby/rest/video.rb +59 -0
  629. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  630. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +168 -0
  631. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +511 -0
  632. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +447 -0
  633. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +401 -0
  634. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +142 -0
  635. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +202 -0
  636. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +382 -0
  637. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +224 -0
  638. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +130 -0
  639. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +387 -0
  640. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +370 -0
  641. data/lib/twilio-ruby/rest/voice/v1.rb +137 -0
  642. data/lib/twilio-ruby/rest/voice.rb +61 -0
  643. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  644. data/lib/twilio-ruby/rest/wireless/v1/command.rb +418 -0
  645. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +473 -0
  646. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +305 -0
  647. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +246 -0
  648. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +644 -0
  649. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +234 -0
  650. data/lib/twilio-ruby/rest/wireless/v1.rb +85 -0
  651. data/lib/twilio-ruby/rest/wireless.rb +42 -0
  652. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  653. data/lib/twilio-ruby/rest.rb +14 -0
  654. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  655. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  656. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  657. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  658. data/lib/twilio-ruby/twiml/voice_response.rb +1952 -0
  659. data/lib/twilio-ruby/util/configuration.rb +27 -1
  660. data/lib/twilio-ruby/util.rb +5 -1
  661. data/lib/twilio-ruby/version.rb +1 -1
  662. data/lib/twilio-ruby.rb +18 -95
  663. data/sonar-project.properties +13 -0
  664. data/twilio-ruby.gemspec +22 -15
  665. metadata +807 -248
  666. data/.travis.yml +0 -31
  667. data/conf/cacert.pem +0 -3376
  668. data/docs/Makefile +0 -130
  669. data/docs/_themes/LICENSE +0 -45
  670. data/docs/_themes/README.rst +0 -25
  671. data/docs/_themes/flask_theme_support.py +0 -86
  672. data/docs/_themes/kr/layout.html +0 -32
  673. data/docs/_themes/kr/relations.html +0 -19
  674. data/docs/_themes/kr/static/flasky.css_t +0 -469
  675. data/docs/_themes/kr/static/small_flask.css +0 -70
  676. data/docs/_themes/kr/theme.conf +0 -7
  677. data/docs/_themes/kr_small/layout.html +0 -22
  678. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  679. data/docs/_themes/kr_small/theme.conf +0 -10
  680. data/docs/changelog.rst +0 -1
  681. data/docs/conf.py +0 -266
  682. data/docs/faq.rst +0 -42
  683. data/docs/getting-started.rst +0 -117
  684. data/docs/index.rst +0 -135
  685. data/docs/make.bat +0 -170
  686. data/docs/src/pip-delete-this-directory.txt +0 -5
  687. data/docs/usage/accounts.rst +0 -89
  688. data/docs/usage/addresses.rst +0 -101
  689. data/docs/usage/applications.rst +0 -108
  690. data/docs/usage/basics.rst +0 -115
  691. data/docs/usage/caller-ids.rst +0 -47
  692. data/docs/usage/conferences.rst +0 -108
  693. data/docs/usage/errors.rst +0 -29
  694. data/docs/usage/lookups.rst +0 -62
  695. data/docs/usage/messages.rst +0 -137
  696. data/docs/usage/notifications.rst +0 -72
  697. data/docs/usage/phone-calls.rst +0 -185
  698. data/docs/usage/phone-numbers.rst +0 -189
  699. data/docs/usage/pricing.rst +0 -169
  700. data/docs/usage/queues.rst +0 -112
  701. data/docs/usage/recordings.rst +0 -98
  702. data/docs/usage/sip.rst +0 -104
  703. data/docs/usage/taskrouter-tokens.rst +0 -98
  704. data/docs/usage/taskrouter.rst +0 -440
  705. data/docs/usage/token-generation.rst +0 -115
  706. data/docs/usage/transcriptions.rst +0 -32
  707. data/docs/usage/twiml.rst +0 -69
  708. data/docs/usage/validation.rst +0 -107
  709. data/examples/taskrouter.examples.rb +0 -86
  710. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  711. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  712. data/lib/twilio-ruby/rest/applications.rb +0 -6
  713. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  714. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  715. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  716. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  717. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  718. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  719. data/lib/twilio-ruby/rest/base_client.rb +0 -130
  720. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  721. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  722. data/lib/twilio-ruby/rest/calls.rb +0 -33
  723. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  724. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  725. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  726. data/lib/twilio-ruby/rest/errors.rb +0 -14
  727. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  728. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  729. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  730. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  731. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  732. data/lib/twilio-ruby/rest/keys.rb +0 -6
  733. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  734. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  735. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  736. data/lib/twilio-ruby/rest/messages.rb +0 -22
  737. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  738. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  739. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  740. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  741. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  742. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  743. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  744. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  745. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  746. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  747. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  748. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  749. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  750. data/lib/twilio-ruby/rest/queues.rb +0 -12
  751. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  752. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  753. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  754. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  755. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  756. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  757. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  758. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  759. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  760. data/lib/twilio-ruby/rest/sip.rb +0 -10
  761. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  762. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  763. data/lib/twilio-ruby/rest/sms.rb +0 -11
  764. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  765. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  766. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  767. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  768. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  769. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  770. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  771. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  772. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  773. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  774. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  775. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  776. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  777. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  778. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  779. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  780. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  781. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  782. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  783. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  784. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  785. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  786. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  787. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  788. data/lib/twilio-ruby/rest/usage.rb +0 -10
  789. data/lib/twilio-ruby/rest/utils.rb +0 -49
  790. data/lib/twilio-ruby/task_router/capability.rb +0 -224
  791. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -129
  792. data/lib/twilio-ruby/task_router.rb +0 -0
  793. data/lib/twilio-ruby/twiml/response.rb +0 -16
  794. data/lib/twilio-ruby/util/capability.rb +0 -64
  795. data/lib/twilio-ruby/util/client_config.rb +0 -29
  796. data/lib/twilio-ruby/util/request_validator.rb +0 -37
  797. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -110
  798. data/spec/rest/account_spec.rb +0 -89
  799. data/spec/rest/address_spec.rb +0 -11
  800. data/spec/rest/call_feedback_spec.rb +0 -12
  801. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  802. data/spec/rest/call_spec.rb +0 -22
  803. data/spec/rest/client_spec.rb +0 -277
  804. data/spec/rest/conference_spec.rb +0 -11
  805. data/spec/rest/instance_resource_spec.rb +0 -15
  806. data/spec/rest/key_spec.rb +0 -11
  807. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  808. data/spec/rest/message_spec.rb +0 -12
  809. data/spec/rest/monitor_client_spec.rb +0 -17
  810. data/spec/rest/numbers_spec.rb +0 -58
  811. data/spec/rest/pricing_client_spec.rb +0 -45
  812. data/spec/rest/queue_spec.rb +0 -11
  813. data/spec/rest/recording_spec.rb +0 -11
  814. data/spec/rest/sms/message_spec.rb +0 -37
  815. data/spec/rest/sms/messages_spec.rb +0 -31
  816. data/spec/rest/task_router/reservation_spec.rb +0 -14
  817. data/spec/rest/task_router/statistics_spec.rb +0 -37
  818. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  819. data/spec/rest/token_spec.rb +0 -7
  820. data/spec/rest/trunking/trunk_spec.rb +0 -36
  821. data/spec/rest/utils_spec.rb +0 -45
  822. data/spec/spec_helper.rb +0 -15
  823. data/spec/support/fakeweb.rb +0 -2
  824. data/spec/task_router_deprecated_spec.rb +0 -130
  825. data/spec/task_router_spec.rb +0 -110
  826. data/spec/task_router_taskqueue_spec.rb +0 -111
  827. data/spec/task_router_worker_spec.rb +0 -129
  828. data/spec/task_router_workspace_spec.rb +0 -110
  829. data/spec/twilio_spec.rb +0 -15
  830. data/spec/util/capability_spec.rb +0 -186
  831. data/spec/util/client_config_spec.rb +0 -21
  832. data/spec/util/configuration_spec.rb +0 -15
  833. data/spec/util/request_validator_spec.rb +0 -113
  834. data/spec/util/url_encode_spec.rb +0 -12
@@ -1,107 +0,0 @@
1
- .. module:: twilio.util
2
-
3
- ===========================
4
- Validate Incoming Requests
5
- ===========================
6
-
7
- Twilio requires that your TwiML-serving web server be open to the public. This
8
- is necessary so that Twilio can retrieve TwiML from urls and POST data back to
9
- your server.
10
-
11
- However, there may be people out there trying to spoof the Twilio service.
12
- Luckily, there's an easy way to validate that incoming requests are from Twilio
13
- and Twilio alone.
14
-
15
- An in-depth guide to our security features can be `found in our online
16
- documentation <http://www.twilio.com/docs/security>`_.
17
-
18
- Before you can validate requests, you'll need four pieces of information:
19
-
20
- * your Twilio Auth Token (found in your `Dashboard
21
- <https://www.twilio.com/user/account>`_)
22
- * the POST data for the request
23
- * the requested URL
24
- * the X-Twilio-Signature header value
25
-
26
- Obtaining the last three pieces of information depends on the framework you are
27
- using to process requests. The below example assumes that you have the POST
28
- data as a dictionary and the url and X-Twilio-Signature as strings.
29
-
30
- The below example will print out a confirmation message if the request is
31
- actually from Twilio.
32
-
33
- .. code-block:: ruby
34
-
35
- require 'twilio-ruby'
36
-
37
- auth_token = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
38
-
39
- @validator = Twilio::Util::RequestValidator.new auth_token
40
-
41
- # the callback URL you provided to Twilio
42
- url = "http://www.example.com/my/callback/url.xml"
43
-
44
- # the POST variables attached to the request (eg "From", "To")
45
- post_vars = {}
46
-
47
- # X-Twilio-Signature header value
48
- signature = "HpS7PBa1Agvt4OtO+wZp75IuQa0=" # will look something like that
49
-
50
- if @validator.validate(url, post_vars, signature)
51
- puts "Confirmed to have come from Twilio."
52
- else
53
- puts "NOT VALID. It might have been spoofed!"
54
- end
55
-
56
- Trailing Slashes
57
- ==================
58
-
59
- If your URL uses an "index" page, such as index.php or index.html to handle
60
- the request, such as: https://mycompany.com/twilio where the real page
61
- is served from https://mycompany.com/twilio/index.php, then Apache or
62
- PHP may rewrite that URL a little bit so it's got a trailing slash, such as
63
- https://mycompany.com/twilio/ for example.
64
-
65
- Using the code above, or similar code in another language, you could
66
- end up with an incorrect hash because Twilio built the hash using
67
- https://mycompany.com/twilio and you may have built the hash using
68
- https://mycompany.com/twilio/. More information can be found in our
69
- documentation on validating requests.
70
-
71
- Rack Middleware
72
- ===============
73
-
74
- If you are serving up your site using a Rack based framework, such as Sinatra or
75
- Rails, you can use the Rack middleware that is included in the gem to protect
76
- from spoofing attempts.
77
-
78
- To use the middleware, you need to set it up with your Twilio Auth Token and a
79
- set of paths to watch. For example, here is how you would use the middleware in
80
- a Sinatra application:
81
-
82
- .. code-block:: ruby
83
-
84
- require 'sinatra'
85
- require 'twilio-ruby'
86
-
87
- auth_token = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
88
-
89
- use Rack::TwilioWebhookAuthentication, auth_token, /\/messages/
90
-
91
- post '/messages' do
92
- # response with TwiML
93
- end
94
-
95
- Now, any POST request to /messages in your application that doesn't validate as
96
- a Twilio request, will automatically respond with a 403 status code and your
97
- action will not be hit.
98
-
99
- If you use subaccounts and need to validate with different auth tokens, you can pass a block to the middleware instead of an auth token. The block will be passed the Account Sid making the call.
100
-
101
- .. code-block:: ruby
102
-
103
- use Rack::TwilioWebhookAuthentication, nil, /\/messages/ do |account_sid|
104
- # lookup auth_token from account_sid
105
- end
106
-
107
- Ensure you pass `nil` for the auth_token when passing a block, otherwise the block will not be called.
@@ -1,86 +0,0 @@
1
- require 'rubygems'
2
- require 'twilio-ruby'
3
-
4
- # taskrouter examples version 1
5
- account_sid = 'YourAccountSid'
6
- auth_token = 'YourAuthToken'
7
- workspace_sid = 'YourWorkspaceSid'
8
-
9
- # set up a client
10
- client = Twilio::REST::TaskRouterClient.new account_sid, auth_token, workspace_sid
11
- puts client.workspace.sid + ' with ' + client.workspace.friendly_name
12
-
13
- client.workspace.update(friendly_name: 'MyWorkspace2')
14
-
15
- # fetch the list of workers and their status
16
- client.workspace.workers.list.each do |worker|
17
- puts worker.friendly_name + ' is available ' + worker.available.to_s
18
- end
19
-
20
- # fetch the list of workers and their status
21
- client.workspace.workers.list(activity_name: 'Offline').each do |worker|
22
- puts worker.friendly_name + ' is available ' + worker.available.to_s
23
- end
24
-
25
- # create a task
26
- workflow_sid = 'YourWorkflowSid'
27
- task = client.workspace.tasks.create(attributes: '{"foo":"bar"}', workflow_sid: workflow_sid)
28
-
29
- # list all the tasks created
30
- client.workspace.tasks.list.each do |task|
31
- attributes = JSON.parse(task.attributes)
32
- puts attributes['foo'] + ' with age ' + task.age.to_s
33
- task.reservations.list.each do |reservation|
34
- puts reservation.sid
35
- end
36
- end
37
-
38
- # fetching a list of tasks that are pending
39
- client.workspace.tasks.list(assignment_status: 'pending').each do |task|
40
- puts 'pending task ' + task.sid
41
- end
42
-
43
- # delete all tasks
44
- client.workspace.tasks.list.each do |task|
45
- puts 'deleting task ' + task.sid
46
- task.delete
47
- end
48
-
49
- # get all the statistics for a workspace
50
- workspace_stats = client.workspace.statistics(minutes: '240')
51
- cumulative = workspace_stats.cumulative
52
- puts 'Avg Task Acceptance Time: ' + cumulative['avg_task_acceptance_time'].to_s \
53
- + ' with ' + cumulative['tasks_created'].to_s + ' tasks created'
54
-
55
- # get events for a workspace
56
- events = client.workspace.events.list(minutes: '15')
57
- events.each do |event|
58
- puts event.event_type + ' at ' + event.event_date
59
- end
60
-
61
- # build a workflow
62
- support_queue_sid = 'YourSupportQueueSid'
63
- marketing_queue_sid = 'YourMarketingQueueSid'
64
- default_queue_sid = 'YourDefaultQueue'
65
-
66
- support_targets = [Twilio::TaskRouter::WorkflowRuleTarget.new support_queue_sid]
67
- support_rule = Twilio::TaskRouter::WorkflowRule.new 'type == "support"', support_targets
68
-
69
- marketing_targets = [Twilio::TaskRouter::WorkflowRuleTarget.new marketing_queue_sid]
70
- marketing_rule = Twilio::TaskRouter::WorkflowRule.new 'type == "marketing"', marketing_targets
71
-
72
- rules = [support_rule, marketing_rule]
73
- default_target = Twilio::TaskRouter::WorkflowRuleTarget.new default_queue_sid
74
-
75
- config = Twilio::TaskRouter::WorkflowConfiguration.new rules, default_target
76
- puts config.to_json
77
-
78
- workflowCreated = client.workspace.workflows.create(configuration: config.to_json, friendly_name: 'MyWorkflow2', assignment_callback_url: 'http://example.com')
79
- workflowFetched = client.workspace.workflows.get(workflowCreated.sid)
80
-
81
- config_string = workflowFetched.configuration
82
- config_obj = Twilio::TaskRouter::WorkflowConfiguration.parse_json(config_string)
83
-
84
- puts config_string
85
- puts config_obj.rules[0].expression
86
- puts config_obj.default_target.queue
@@ -1,6 +0,0 @@
1
- module Twilio
2
- module REST
3
- class DependentPhoneNumbers < ListResource; end
4
- class DependentPhoneNumber < InstanceResource; end
5
- end
6
- end
@@ -1,12 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Addresses < ListResource; end
4
-
5
- class Address < InstanceResource
6
- def initialize(path, client, params={})
7
- super path, client, params
8
- resource :dependent_phone_numbers
9
- end
10
- end
11
- end
12
- end
@@ -1,6 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Applications < ListResource; end
4
- class Application < InstanceResource; end
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- module Twilio
2
- module REST
3
- class AuthorizedConnectApps < ListResource; end
4
- class AuthorizedConnectApp < InstanceResource; end
5
- end
6
- end
@@ -1,10 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Country < InstanceResource
4
- def initialize(path, client, params={})
5
- super path, client, params
6
- resource :local, :toll_free, :mobile
7
- end
8
- end
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Local < ListResource
4
- def initialize(path, client)
5
- @path, @client = path, client
6
- @instance_class = Twilio::REST::AvailablePhoneNumber
7
- @list_key, @instance_id_key = 'available_phone_numbers', 'sid'
8
- end
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Mobile < ListResource
4
- def initialize(path, client)
5
- @path, @client = path, client
6
- @instance_class = Twilio::REST::AvailablePhoneNumber
7
- @list_key, @instance_id_key = 'available_phone_numbers', 'sid'
8
- end
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- module Twilio
2
- module REST
3
- class TollFree < ListResource
4
- def initialize(path, client)
5
- @path, @client = path, client
6
- @instance_class = Twilio::REST::AvailablePhoneNumber
7
- @list_key, @instance_id_key = 'available_phone_numbers', 'sid'
8
- end
9
- end
10
- end
11
- end
@@ -1,13 +0,0 @@
1
- module Twilio
2
- module REST
3
- class AvailablePhoneNumbers < ListResource
4
- def initialize(path, client)
5
- @path, @client = path, client
6
- @instance_class = Twilio::REST::Country
7
- @list_key, @instance_id_key = 'countries', 'country_code'
8
- end
9
- end
10
-
11
- class AvailablePhoneNumber < InstanceResource; end
12
- end
13
- end
@@ -1,130 +0,0 @@
1
- module Twilio
2
- module REST
3
- class BaseClient
4
- include Twilio::Util
5
- include Twilio::REST::Utils
6
-
7
- HTTP_HEADERS = {
8
- 'Accept' => 'application/json',
9
- 'Accept-Charset' => 'utf-8',
10
- 'User-Agent' => "twilio-ruby/#{Twilio::VERSION}" \
11
- " (#{RUBY_ENGINE}/#{RUBY_PLATFORM}" \
12
- " #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL})"
13
- }
14
-
15
- ##
16
- # Override the default host for a REST Client (api.twilio.com)
17
- def self.host(host=nil)
18
- return @host unless host
19
- @host = host
20
- end
21
-
22
- attr_reader :account_sid, :last_request, :last_response
23
-
24
- def initialize(*args)
25
- options = args.last.is_a?(Hash) ? args.pop : {}
26
- options[:host] ||= self.class.host
27
- @config = Twilio::Util::ClientConfig.new options
28
-
29
- @account_sid = args[0] || Twilio.account_sid
30
- @auth_token = args[1] || Twilio.auth_token
31
- if @account_sid.nil? || @auth_token.nil?
32
- raise ArgumentError, 'Account SID and auth token are required'
33
- end
34
-
35
- set_up_connection
36
- set_up_subresources
37
- end
38
-
39
- ##
40
- # Define #get, #put, #post and #delete helper methods for sending HTTP
41
- # requests to Twilio. You shouldn't need to use these methods directly,
42
- # but they can be useful for debugging. Each method returns a hash
43
- # obtained from parsing the JSON object in the response body.
44
- [:get, :put, :post, :delete].each do |method|
45
- method_class = Net::HTTP.const_get method.to_s.capitalize
46
- define_method method do |path, *args|
47
- params = twilify(args[0])
48
- params = {} if params.empty?
49
- # build the full path unless already given
50
- path = build_full_path(path, params, method) unless args[1]
51
- request = method_class.new(path, HTTP_HEADERS)
52
- request.basic_auth(@account_sid, @auth_token)
53
- request.form_data = params if [:post, :put].include?(method)
54
- connect_and_send(request)
55
- end
56
- end
57
-
58
- protected
59
-
60
- ##
61
- # Builds up full request path
62
- # Needs implementation in child classes
63
- def build_full_path(path, params, method)
64
- raise NotImplementedError
65
- end
66
-
67
- ##
68
- # Set up and cache a Net::HTTP object to use when making requests. This is
69
- # a private method documented for completeness.
70
- def set_up_connection # :doc:
71
- connection_class = Net::HTTP::Proxy @config.proxy_addr,
72
- @config.proxy_port, @config.proxy_user, @config.proxy_pass
73
- @connection = connection_class.new @config.host, @config.port
74
- set_up_ssl
75
- @connection.open_timeout = @config.timeout
76
- @connection.read_timeout = @config.timeout
77
- end
78
-
79
- ##
80
- # Set up the ssl properties of the <tt>@connection</tt> Net::HTTP object.
81
- # This is a private method documented for completeness.
82
- def set_up_ssl # :doc:
83
- @connection.use_ssl = @config.use_ssl
84
- if @config.ssl_verify_peer
85
- @connection.verify_mode = OpenSSL::SSL::VERIFY_PEER
86
- @connection.ca_file = @config.ssl_ca_file
87
- else
88
- @connection.verify_mode = OpenSSL::SSL::VERIFY_NONE
89
- end
90
- end
91
-
92
- ##
93
- # Set up sub resources attributes.
94
- def set_up_subresources # :doc:
95
- # To be overridden
96
- end
97
-
98
- ##
99
- # Send an HTTP request using the cached <tt>@connection</tt> object and
100
- # return the JSON response body parsed into a hash. Also save the raw
101
- # Net::HTTP::Request and Net::HTTP::Response objects as
102
- # <tt>@last_request</tt> and <tt>@last_response</tt> to allow for
103
- # inspection later.
104
- def connect_and_send(request) # :doc:
105
- @last_request = request
106
- retries_left = @config.retry_limit
107
- begin
108
- response = @connection.request request
109
- @last_response = response
110
- if response.kind_of? Net::HTTPServerError
111
- raise Twilio::REST::ServerError
112
- end
113
- rescue
114
- raise if request.class == Net::HTTP::Post
115
- if retries_left > 0 then retries_left -= 1; retry else raise end
116
- end
117
- if response.body and !response.body.empty?
118
- object = MultiJson.load response.body
119
- elsif response.kind_of? Net::HTTPBadRequest
120
- object = { message: 'Bad request', code: 400 }
121
- end
122
-
123
- if response.kind_of? Net::HTTPClientError
124
- raise Twilio::REST::RequestError.new object['message'], object['code']
125
- end
126
- object
127
- end
128
- end
129
- end
130
- end
@@ -1,28 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Feedback < ListResource;
4
-
5
- ##
6
- # Get this feedback object.
7
- #
8
- # Overridden because GETS to /Feedback
9
- # returns an instance, not a list.
10
- def get(params={}, full_path=false)
11
- raise "Can't fetch feedback without a REST Client" unless @client
12
- response = @client.get @path, params, full_path
13
- path = full_path ? @path.split('.')[0] : @path
14
- @instance_class.new path, @client, response
15
- end
16
-
17
- ##
18
- # Creates a new Feedback object.
19
- def create(params={})
20
- raise "Can't create feedback without a REST Client" unless @client
21
- response = @client.post @path, params
22
- @instance_class.new @path, @client, response
23
- end
24
- end
25
-
26
- class FeedbackInstance < InstanceResource; end
27
- end
28
- end
@@ -1,13 +0,0 @@
1
- module Twilio
2
- module REST
3
- class FeedbackSummary < ListResource
4
- def initialize(path, client)
5
- @path, @client = path, client
6
- @instance_class = Twilio::REST::FeedbackSummaryInstance
7
- @list_key, @instance_id_key = 'feedback_summary', 'sid'
8
- end
9
- end
10
-
11
- class FeedbackSummaryInstance < InstanceResource; end
12
- end
13
- end
@@ -1,33 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Calls < ListResource
4
- def initialize(path, client)
5
- super
6
- resource :feedback_summary
7
- end
8
-
9
- def make(from, to, url)
10
- create from: from, to: to, url: url
11
- end
12
- end
13
-
14
- class Call < InstanceResource
15
- def initialize(path, client, params={})
16
- super path, client, params
17
- resource :recordings, :notifications, :feedback
18
- end
19
-
20
- def redirect_to(url)
21
- update url: url
22
- end
23
-
24
- def cancel
25
- update status: 'canceled'
26
- end
27
-
28
- def hangup
29
- update status: 'completed'
30
- end
31
- end
32
- end
33
- end
@@ -1,23 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Participants < ListResource
4
- def initialize(path, client)
5
- super
6
- # hard-code the json key since participants don't have sids
7
- @instance_id_key = 'call_sid'
8
- end
9
- end
10
-
11
- class Participant < InstanceResource
12
- def mute
13
- update muted: 'true'
14
- end
15
-
16
- def unmute
17
- update muted: 'false'
18
- end
19
-
20
- alias :kick :delete
21
- end
22
- end
23
- end
@@ -1,12 +0,0 @@
1
- module Twilio
2
- module REST
3
- class Conferences < ListResource; end
4
-
5
- class Conference < InstanceResource
6
- def initialize(path, client, params={})
7
- super path, client, params
8
- resource :participants
9
- end
10
- end
11
- end
12
- end
@@ -1,6 +0,0 @@
1
- module Twilio
2
- module REST
3
- class ConnectApps < ListResource; end
4
- class ConnectApp < InstanceResource; end
5
- end
6
- end
@@ -1,14 +0,0 @@
1
- module Twilio
2
- module REST
3
- class ServerError < StandardError; end
4
-
5
- class RequestError < StandardError
6
- attr_reader :code
7
-
8
- def initialize(message, code=nil);
9
- super message
10
- @code = code
11
- end
12
- end
13
- end
14
- end
@@ -1,13 +0,0 @@
1
- module Twilio
2
- module REST
3
- module NumberType
4
- class Local < ListResource
5
- def initialize(path, client)
6
- @path, @client = path, client
7
- @instance_class = Twilio::REST::IncomingPhoneNumber
8
- @list_key, @instance_id_key = 'incoming_phone_numbers', 'sid'
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- module Twilio
2
- module REST
3
- module NumberType
4
- class Mobile < ListResource
5
- def initialize(path, client)
6
- @path, @client = path, client
7
- @instance_class = Twilio::REST::IncomingPhoneNumber
8
- @list_key, @instance_id_key = 'incoming_phone_numbers', 'sid'
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- module Twilio
2
- module REST
3
- module NumberType
4
- class TollFree < ListResource
5
- def initialize(path, client)
6
- @path, @client = path, client
7
- @instance_class = Twilio::REST::IncomingPhoneNumber
8
- @list_key, @instance_id_key = 'incoming_phone_numbers', 'sid'
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,17 +0,0 @@
1
- module Twilio
2
- module REST
3
- class IncomingPhoneNumbers < ListResource
4
- def initialize(path, client)
5
- super
6
- @submodule = :NumberType
7
- resource :mobile, :local, :toll_free
8
- end
9
-
10
- def buy(phone_number)
11
- create phone_number: phone_number
12
- end
13
- end
14
-
15
- class IncomingPhoneNumber < InstanceResource; end
16
- end
17
- end