twilio-ruby 3.11.5 → 5.71.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (673) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +15 -0
  4. data/.github/workflows/test-and-deploy.yml +129 -0
  5. data/.gitignore +12 -2
  6. data/.rubocop.yml +59 -0
  7. data/.rubocop_todo.yml +261 -0
  8. data/AUTHORS.md +21 -0
  9. data/CHANGES.md +3045 -0
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +161 -0
  12. data/Dockerfile +9 -0
  13. data/Gemfile +2 -2
  14. data/ISSUE_TEMPLATE.md +30 -0
  15. data/LICENSE +13 -11
  16. data/Makefile +26 -5
  17. data/PULL_REQUEST_TEMPLATE.md +31 -0
  18. data/README.md +171 -90
  19. data/Rakefile +8 -10
  20. data/UPGRADE.md +30 -0
  21. data/VERSIONS.md +35 -0
  22. data/examples/examples.rb +62 -49
  23. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  24. data/githooks/pre-commit +1 -0
  25. data/lib/rack/twilio_webhook_authentication.rb +72 -0
  26. data/lib/twilio-ruby/framework/request.rb +41 -0
  27. data/lib/twilio-ruby/framework/response.rb +18 -0
  28. data/lib/twilio-ruby/framework/rest/domain.rb +36 -0
  29. data/lib/twilio-ruby/framework/rest/error.rb +51 -0
  30. data/lib/twilio-ruby/framework/rest/helper.rb +11 -0
  31. data/lib/twilio-ruby/framework/rest/obsolete_client.rb +12 -0
  32. data/lib/twilio-ruby/framework/rest/page.rb +103 -0
  33. data/lib/twilio-ruby/framework/rest/resource.rb +23 -0
  34. data/lib/twilio-ruby/framework/rest/version.rb +153 -0
  35. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  36. data/lib/twilio-ruby/framework/twilio_response.rb +19 -0
  37. data/lib/twilio-ruby/framework/values.rb +9 -0
  38. data/lib/twilio-ruby/http/http_client.rb +79 -0
  39. data/lib/twilio-ruby/http.rb +5 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +285 -0
  41. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  42. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  43. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +339 -0
  46. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +339 -0
  47. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  49. data/lib/twilio-ruby/rest/accounts/v1.rb +49 -0
  50. data/lib/twilio-ruby/rest/accounts.rb +50 -9
  51. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +372 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +521 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +593 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +327 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +500 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +500 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +500 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +500 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +500 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +500 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +500 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +464 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +301 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +314 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +428 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +522 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +998 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +728 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +500 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +414 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +367 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +561 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +560 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +560 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +910 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +309 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +173 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +361 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +632 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +145 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +145 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +406 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +365 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +349 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +397 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +387 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +398 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +383 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +520 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +415 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +313 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +387 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +386 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +355 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +660 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +432 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +387 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +157 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +161 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +357 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +351 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +351 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +351 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +351 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +351 -0
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +351 -0
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +351 -0
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +351 -0
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +423 -0
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +495 -0
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +120 -0
  126. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +168 -0
  127. data/lib/twilio-ruby/rest/api/v2010/account.rb +953 -0
  128. data/lib/twilio-ruby/rest/api/v2010.rb +154 -0
  129. data/lib/twilio-ruby/rest/api.rb +247 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +399 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +418 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +469 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +456 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  141. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  142. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  143. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  144. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  145. data/lib/twilio-ruby/rest/autopilot/v1.rb +52 -0
  146. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  147. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
  148. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  149. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +243 -0
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
  152. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  153. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  154. data/lib/twilio-ruby/rest/chat/v1/credential.rb +413 -0
  155. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +402 -0
  156. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +451 -0
  157. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +448 -0
  158. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +522 -0
  159. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +374 -0
  160. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +246 -0
  161. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +447 -0
  162. data/lib/twilio-ruby/rest/chat/v1/service.rb +904 -0
  163. data/lib/twilio-ruby/rest/chat/v1.rb +62 -0
  164. data/lib/twilio-ruby/rest/chat/v2/credential.rb +411 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +377 -0
  166. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +397 -0
  167. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +538 -0
  168. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +544 -0
  169. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +478 -0
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -0
  171. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +376 -0
  172. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +392 -0
  173. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +430 -0
  174. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +498 -0
  175. data/lib/twilio-ruby/rest/chat/v2/service.rb +788 -0
  176. data/lib/twilio-ruby/rest/chat/v2.rb +60 -0
  177. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  178. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  179. data/lib/twilio-ruby/rest/chat.rb +79 -0
  180. data/lib/twilio-ruby/rest/client.rb +572 -214
  181. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +502 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +548 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  202. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/service.rb +457 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  208. data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
  209. data/lib/twilio-ruby/rest/conversations.rb +104 -0
  210. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  211. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +290 -0
  212. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  213. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  214. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  215. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  216. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  217. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  218. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  219. data/lib/twilio-ruby/rest/events.rb +72 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +490 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1.rb +99 -0
  229. data/lib/twilio-ruby/rest/flex_api.rb +80 -0
  230. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  231. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  232. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  234. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  235. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  236. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +314 -0
  237. data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
  238. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  239. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  240. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  241. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  242. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  243. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  244. data/lib/twilio-ruby/rest/insights/v1.rb +90 -0
  245. data/lib/twilio-ruby/rest/insights.rb +74 -0
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +374 -0
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +370 -0
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +408 -0
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +420 -0
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +495 -0
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +354 -0
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +240 -0
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +425 -0
  254. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +789 -0
  255. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +60 -0
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +374 -0
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +350 -0
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +370 -0
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +462 -0
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +490 -0
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +422 -0
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +562 -0
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +354 -0
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +362 -0
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +395 -0
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +474 -0
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +699 -0
  268. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +60 -0
  269. data/lib/twilio-ruby/rest/ip_messaging.rb +61 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +247 -0
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +46 -0
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +261 -0
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  274. data/lib/twilio-ruby/rest/lookups.rb +55 -0
  275. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  277. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  279. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  280. data/lib/twilio-ruby/rest/media.rb +58 -7
  281. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  282. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  284. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +342 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +348 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +343 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/service.rb +773 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  292. data/lib/twilio-ruby/rest/messaging/v1.rb +81 -0
  293. data/lib/twilio-ruby/rest/messaging.rb +73 -0
  294. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  295. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +332 -0
  296. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  297. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  298. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +405 -0
  299. data/lib/twilio-ruby/rest/monitor/v1/event.rb +400 -0
  300. data/lib/twilio-ruby/rest/monitor/v1.rb +60 -0
  301. data/lib/twilio-ruby/rest/monitor.rb +56 -0
  302. data/lib/twilio-ruby/rest/notify/v1/credential.rb +418 -0
  303. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +459 -0
  304. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +369 -0
  305. data/lib/twilio-ruby/rest/notify/v1/service.rb +632 -0
  306. data/lib/twilio-ruby/rest/notify/v1.rb +62 -0
  307. data/lib/twilio-ruby/rest/notify.rb +56 -0
  308. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  309. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  310. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  311. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  312. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
  313. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  314. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  315. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  316. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
  317. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  318. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  319. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  320. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  321. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +382 -0
  322. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +365 -0
  323. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +425 -0
  324. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +376 -0
  325. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +469 -0
  326. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +45 -0
  327. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +403 -0
  328. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +456 -0
  329. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -0
  330. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +62 -0
  331. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +305 -0
  332. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +319 -0
  333. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
  334. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +408 -0
  335. data/lib/twilio-ruby/rest/preview/marketplace.rb +60 -0
  336. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +385 -0
  337. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +406 -0
  338. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +418 -0
  339. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +385 -0
  340. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +405 -0
  341. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +415 -0
  342. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +385 -0
  343. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +405 -0
  344. data/lib/twilio-ruby/rest/preview/sync/service.rb +462 -0
  345. data/lib/twilio-ruby/rest/preview/sync.rb +44 -0
  346. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  347. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  348. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  349. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  350. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  351. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
  352. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  353. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  354. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  355. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +386 -0
  356. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +407 -0
  357. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +380 -0
  358. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +437 -0
  359. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  360. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
  361. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +428 -0
  362. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  363. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  364. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  365. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  366. data/lib/twilio-ruby/rest/preview/understand.rb +45 -0
  367. data/lib/twilio-ruby/rest/preview/wireless/command.rb +374 -0
  368. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +408 -0
  369. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -0
  370. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +533 -0
  371. data/lib/twilio-ruby/rest/preview/wireless.rb +76 -0
  372. data/lib/twilio-ruby/rest/preview.rb +193 -0
  373. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +282 -0
  374. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +127 -0
  375. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +275 -0
  376. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +127 -0
  377. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +282 -0
  378. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +204 -0
  379. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +143 -0
  380. data/lib/twilio-ruby/rest/pricing/v1.rb +49 -0
  381. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  382. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  383. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  384. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  385. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  386. data/lib/twilio-ruby/rest/pricing/v2.rb +72 -0
  387. data/lib/twilio-ruby/rest/pricing.rb +82 -0
  388. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +410 -0
  389. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +429 -0
  390. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +458 -0
  391. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +468 -0
  392. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +554 -0
  393. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +377 -0
  394. data/lib/twilio-ruby/rest/proxy/v1/service.rb +606 -0
  395. data/lib/twilio-ruby/rest/proxy/v1.rb +45 -0
  396. data/lib/twilio-ruby/rest/proxy.rb +47 -0
  397. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  398. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  399. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  400. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  401. data/lib/twilio-ruby/rest/routes.rb +62 -0
  402. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  403. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  404. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  405. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  406. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  407. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  408. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  409. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  410. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  411. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  412. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  413. data/lib/twilio-ruby/rest/serverless/v1/service.rb +503 -0
  414. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  415. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  416. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  417. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  418. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +366 -0
  419. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +401 -0
  420. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  421. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  422. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  423. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  424. data/lib/twilio-ruby/rest/studio/v1/flow.rb +365 -0
  425. data/lib/twilio-ruby/rest/studio/v1.rb +44 -0
  426. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  427. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  428. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  429. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  430. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  431. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  432. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  433. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  434. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  435. data/lib/twilio-ruby/rest/studio.rb +60 -0
  436. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  437. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
  438. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
  439. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  440. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  441. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  442. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  443. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  444. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
  445. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  446. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
  447. data/lib/twilio-ruby/rest/supersim/v1.rb +147 -0
  448. data/lib/twilio-ruby/rest/supersim.rb +106 -0
  449. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +382 -0
  450. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +430 -0
  451. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +501 -0
  452. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +381 -0
  453. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +452 -0
  454. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +506 -0
  455. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +379 -0
  456. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +451 -0
  457. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -0
  458. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +407 -0
  459. data/lib/twilio-ruby/rest/sync/v1/service.rb +577 -0
  460. data/lib/twilio-ruby/rest/sync/v1.rb +44 -0
  461. data/lib/twilio-ruby/rest/sync.rb +47 -0
  462. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +402 -0
  463. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +471 -0
  464. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +747 -0
  465. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +668 -0
  466. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +389 -0
  467. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +381 -0
  468. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +287 -0
  469. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +265 -0
  470. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +285 -0
  471. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +573 -0
  472. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +743 -0
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +399 -0
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +250 -0
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +277 -0
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +204 -0
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +245 -0
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +638 -0
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +387 -0
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -0
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +273 -0
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +517 -0
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +363 -0
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -0
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -0
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +740 -0
  487. data/lib/twilio-ruby/rest/taskrouter/v1.rb +44 -0
  488. data/lib/twilio-ruby/rest/taskrouter.rb +47 -0
  489. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +327 -0
  490. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +324 -0
  491. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +426 -0
  492. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +458 -0
  493. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  494. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +640 -0
  495. data/lib/twilio-ruby/rest/trunking/v1.rb +45 -0
  496. data/lib/twilio-ruby/rest/trunking.rb +47 -0
  497. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  498. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  499. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  500. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  501. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  502. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  503. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  504. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  505. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  506. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  507. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  508. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  509. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  510. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  511. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  512. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  513. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +269 -0
  514. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  515. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +551 -0
  516. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +472 -0
  517. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +309 -0
  518. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -0
  519. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  520. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  521. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  522. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +373 -0
  523. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +212 -0
  524. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
  525. data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
  526. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  527. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  528. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  529. data/lib/twilio-ruby/rest/verify/v2.rb +92 -0
  530. data/lib/twilio-ruby/rest/verify.rb +77 -0
  531. data/lib/twilio-ruby/rest/video/v1/composition.rb +517 -0
  532. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +657 -0
  533. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  534. data/lib/twilio-ruby/rest/video/v1/recording.rb +436 -0
  535. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  536. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +413 -0
  537. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +335 -0
  538. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  539. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  540. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +483 -0
  541. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  542. data/lib/twilio-ruby/rest/video/v1/room.rb +612 -0
  543. data/lib/twilio-ruby/rest/video/v1.rb +106 -0
  544. data/lib/twilio-ruby/rest/video.rb +86 -0
  545. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  546. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  547. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  548. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  549. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  550. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  551. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  552. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  553. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +129 -0
  554. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  555. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  556. data/lib/twilio-ruby/rest/voice/v1.rb +124 -0
  557. data/lib/twilio-ruby/rest/voice.rb +88 -0
  558. data/lib/twilio-ruby/rest/wireless/v1/command.rb +416 -0
  559. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +446 -0
  560. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +291 -0
  561. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +250 -0
  562. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +657 -0
  563. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  564. data/lib/twilio-ruby/rest/wireless/v1.rb +83 -0
  565. data/lib/twilio-ruby/rest/wireless.rb +71 -0
  566. data/lib/twilio-ruby/rest.rb +13 -0
  567. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  568. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  569. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  570. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  571. data/lib/twilio-ruby/twiml/voice_response.rb +1849 -0
  572. data/lib/twilio-ruby/util/configuration.rb +33 -0
  573. data/lib/twilio-ruby/util.rb +5 -1
  574. data/lib/twilio-ruby/version.rb +1 -1
  575. data/lib/twilio-ruby.rb +39 -50
  576. data/sonar-project.properties +13 -0
  577. data/twilio-ruby.gemspec +34 -26
  578. metadata +674 -141
  579. data/.travis.yml +0 -13
  580. data/CHANGES +0 -47
  581. data/docs/Makefile +0 -130
  582. data/docs/_themes/LICENSE +0 -45
  583. data/docs/_themes/README.rst +0 -25
  584. data/docs/_themes/flask_theme_support.py +0 -86
  585. data/docs/_themes/kr/layout.html +0 -32
  586. data/docs/_themes/kr/relations.html +0 -19
  587. data/docs/_themes/kr/static/flasky.css_t +0 -469
  588. data/docs/_themes/kr/static/small_flask.css +0 -70
  589. data/docs/_themes/kr/theme.conf +0 -7
  590. data/docs/_themes/kr_small/layout.html +0 -22
  591. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  592. data/docs/_themes/kr_small/theme.conf +0 -10
  593. data/docs/changelog.rst +0 -1
  594. data/docs/conf.py +0 -266
  595. data/docs/faq.rst +0 -42
  596. data/docs/getting-started.rst +0 -91
  597. data/docs/index.rst +0 -109
  598. data/docs/make.bat +0 -170
  599. data/docs/src/pip-delete-this-directory.txt +0 -5
  600. data/docs/usage/accounts.rst +0 -89
  601. data/docs/usage/applications.rst +0 -108
  602. data/docs/usage/basics.rst +0 -102
  603. data/docs/usage/caller-ids.rst +0 -45
  604. data/docs/usage/conferences.rst +0 -108
  605. data/docs/usage/errors.rst +0 -29
  606. data/docs/usage/messages.rst +0 -109
  607. data/docs/usage/notifications.rst +0 -70
  608. data/docs/usage/phone-calls.rst +0 -166
  609. data/docs/usage/phone-numbers.rst +0 -174
  610. data/docs/usage/queues.rst +0 -112
  611. data/docs/usage/recordings.rst +0 -96
  612. data/docs/usage/sip.rst +0 -103
  613. data/docs/usage/token-generation.rst +0 -81
  614. data/docs/usage/transcriptions.rst +0 -31
  615. data/docs/usage/twiml.rst +0 -69
  616. data/docs/usage/validation.rst +0 -71
  617. data/lib/twilio-ruby/rest/applications.rb +0 -6
  618. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  619. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  620. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  621. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  622. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  623. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  624. data/lib/twilio-ruby/rest/calls.rb +0 -28
  625. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  626. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  627. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  628. data/lib/twilio-ruby/rest/errors.rb +0 -14
  629. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  630. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  631. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  632. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  633. data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
  634. data/lib/twilio-ruby/rest/list_resource.rb +0 -110
  635. data/lib/twilio-ruby/rest/messages.rb +0 -17
  636. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  637. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  638. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  639. data/lib/twilio-ruby/rest/queues.rb +0 -12
  640. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  641. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  642. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  643. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  644. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  645. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  646. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  647. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  648. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  649. data/lib/twilio-ruby/rest/sip.rb +0 -12
  650. data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
  651. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  652. data/lib/twilio-ruby/rest/sms.rb +0 -11
  653. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  654. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  655. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  656. data/lib/twilio-ruby/rest/usage.rb +0 -10
  657. data/lib/twilio-ruby/rest/utils.rb +0 -25
  658. data/lib/twilio-ruby/twiml/response.rb +0 -15
  659. data/lib/twilio-ruby/util/capability.rb +0 -61
  660. data/lib/twilio-ruby/util/request_validator.rb +0 -22
  661. data/spec/rest/account_spec.rb +0 -58
  662. data/spec/rest/call_spec.rb +0 -18
  663. data/spec/rest/client_spec.rb +0 -100
  664. data/spec/rest/conference_spec.rb +0 -9
  665. data/spec/rest/instance_resource_spec.rb +0 -15
  666. data/spec/rest/message_spec.rb +0 -12
  667. data/spec/rest/numbers_spec.rb +0 -46
  668. data/spec/rest/queue_spec.rb +0 -9
  669. data/spec/rest/recording_spec.rb +0 -9
  670. data/spec/spec_helper.rb +0 -6
  671. data/spec/util/capability_spec.rb +0 -137
  672. data/spec/util/request_validator_spec.rb +0 -65
  673. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,998 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Api < Domain
12
+ class V2010 < Version
13
+ class AccountContext < InstanceContext
14
+ class CallList < ListResource
15
+ ##
16
+ # Initialize the CallList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] account_sid The SID of the
19
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
20
+ # resource.
21
+ # @return [CallList] CallList
22
+ def initialize(version, account_sid: nil)
23
+ super(version)
24
+
25
+ # Path Solution
26
+ @solution = {account_sid: account_sid}
27
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"
28
+
29
+ # Components
30
+ @feedback_summaries = nil
31
+ end
32
+
33
+ ##
34
+ # Create the CallInstance
35
+ # @param [String] to The phone number, SIP address, or client identifier to call.
36
+ # @param [String] from The phone number or client identifier to use as the caller
37
+ # id. If using a phone number, it must be a Twilio number or a Verified {outgoing
38
+ # caller id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your
39
+ # account. If the `to` parameter is a phone number, `From` must also be a phone
40
+ # number.
41
+ # @param [String] method The HTTP method we should use when calling the `url`
42
+ # parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an
43
+ # `application_sid` parameter is present, this parameter is ignored.
44
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
45
+ # an error occurs when requesting or executing the TwiML at `url`. If an
46
+ # `application_sid` parameter is present, this parameter is ignored.
47
+ # @param [String] fallback_method The HTTP method that we should use to request
48
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
49
+ # `application_sid` parameter is present, this parameter is ignored.
50
+ # @param [String] status_callback The URL we should call using the
51
+ # `status_callback_method` to send status information to your application. If no
52
+ # `status_callback_event` is specified, we will send the `completed` status. If an
53
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
54
+ # contain a valid hostname (underscores are not permitted).
55
+ # @param [Array[String]] status_callback_event The call progress events that we
56
+ # will send to the `status_callback` URL. Can be: `initiated`, `ringing`,
57
+ # `answered`, and `completed`. If no event is specified, we send the `completed`
58
+ # status. If you want to receive multiple events, specify each one in a separate
59
+ # `status_callback_event` parameter. See the code sample for {monitoring call
60
+ # progress}[https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json].
61
+ # If an `application_sid` is present, this parameter is ignored.
62
+ # @param [String] status_callback_method The HTTP method we should use when
63
+ # calling the `status_callback` URL. Can be: `GET` or `POST` and the default is
64
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
65
+ # @param [String] send_digits A string of keys to dial after connecting to the
66
+ # number, maximum of 32 digits. Valid digits in the string include: any digit
67
+ # (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example,
68
+ # if you connected to a company phone number and wanted to pause for one second,
69
+ # and then dial extension 1234 followed by the pound key, the value of this
70
+ # parameter would be `ww1234#`. Remember to URL-encode this string, since the
71
+ # '`#`' character has special meaning in a URL. If both `SendDigits` and
72
+ # `MachineDetection` parameters are provided, then `MachineDetection` will be
73
+ # ignored.
74
+ # @param [String] timeout The integer number of seconds that we should allow the
75
+ # phone to ring before assuming there is no answer. The default is `60` seconds
76
+ # and the maximum is `600` seconds. For some call flows, we will add a 5-second
77
+ # buffer to the timeout value you provide. For this reason, a timeout value of 10
78
+ # seconds could result in an actual timeout closer to 15 seconds. You can set this
79
+ # to a short time, such as `15` seconds, to hang up before reaching an answering
80
+ # machine or voicemail.
81
+ # @param [Boolean] record Whether to record the call. Can be `true` to record the
82
+ # phone call, or `false` to not. The default is `false`. The `recording_url` is
83
+ # sent to the `status_callback` URL.
84
+ # @param [String] recording_channels The number of channels in the final
85
+ # recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both
86
+ # legs of the call in a single channel of the recording file. `dual` records each
87
+ # leg to a separate channel of the recording file. The first channel of a
88
+ # dual-channel recording contains the parent call and the second channel contains
89
+ # the child call.
90
+ # @param [String] recording_status_callback The URL that we call when the
91
+ # recording is available to be accessed.
92
+ # @param [String] recording_status_callback_method The HTTP method we should use
93
+ # when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and
94
+ # the default is `POST`.
95
+ # @param [String] sip_auth_username The username used to authenticate the caller
96
+ # making a SIP call.
97
+ # @param [String] sip_auth_password The password required to authenticate the user
98
+ # account specified in `sip_auth_username`.
99
+ # @param [String] machine_detection Whether to detect if a human, answering
100
+ # machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`.
101
+ # Use `Enable` if you would like us to return `AnsweredBy` as soon as the called
102
+ # party is identified. Use `DetectMessageEnd`, if you would like to leave a
103
+ # message on an answering machine. If `send_digits` is provided, this parameter is
104
+ # ignored. For more information, see {Answering Machine
105
+ # Detection}[https://www.twilio.com/docs/voice/answering-machine-detection].
106
+ # @param [String] machine_detection_timeout The number of seconds that we should
107
+ # attempt to detect an answering machine before timing out and sending a voice
108
+ # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
109
+ # @param [Array[String]] recording_status_callback_event The recording status
110
+ # events that will trigger calls to the URL specified in
111
+ # `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`.
112
+ # Defaults to `completed`. Separate multiple values with a space.
113
+ # @param [String] trim Whether to trim any leading and trailing silence from the
114
+ # recording. Can be: `trim-silence` or `do-not-trim` and the default is
115
+ # `trim-silence`.
116
+ # @param [String] caller_id The phone number, SIP address, or Client identifier
117
+ # that made this call. Phone numbers are in {E.164
118
+ # format}[https://wwnw.twilio.com/docs/glossary/what-e164] (e.g., +16175551212).
119
+ # SIP addresses are formatted as `name@company.com`.
120
+ # @param [String] machine_detection_speech_threshold The number of milliseconds
121
+ # that is used as the measuring stick for the length of the speech activity, where
122
+ # durations lower than this value will be interpreted as a human and longer than
123
+ # this value as a machine. Possible Values: 1000-6000. Default: 2400.
124
+ # @param [String] machine_detection_speech_end_threshold The number of
125
+ # milliseconds of silence after speech activity at which point the speech activity
126
+ # is considered complete. Possible Values: 500-5000. Default: 1200.
127
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of
128
+ # initial silence after which an `unknown` AnsweredBy result will be returned.
129
+ # Possible Values: 2000-10000. Default: 5000.
130
+ # @param [String] async_amd Select whether to perform answering machine detection
131
+ # in the background. Default, blocks the execution of the call until Answering
132
+ # Machine Detection is completed. Can be: `true` or `false`.
133
+ # @param [String] async_amd_status_callback The URL that we should call using the
134
+ # `async_amd_status_callback_method` to notify customer application whether the
135
+ # call was answered by human, machine or fax.
136
+ # @param [String] async_amd_status_callback_method The HTTP method we should use
137
+ # when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and
138
+ # the default is `POST`.
139
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
140
+ # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
141
+ # it will otherwise be ignored. (Beta)
142
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify
143
+ # the purpose of the call that is presented on the called party's phone. (Branded
144
+ # Calls Beta)
145
+ # @param [String] call_token A token string needed to invoke a forwarded call. A
146
+ # call_token is generated when an incoming call is received on a Twilio number.
147
+ # Pass an incoming call's call_token value to a forwarded call via the call_token
148
+ # parameter when creating a new call. A forwarded call should bear the same
149
+ # CallerID of the original incoming call.
150
+ # @param [String] recording_track The audio track to record for the call. Can be:
151
+ # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
152
+ # audio that is received by Twilio. `outbound` records the audio that is generated
153
+ # from Twilio. `both` records the audio that is received and generated by Twilio.
154
+ # @param [String] time_limit The maximum duration of the call in seconds.
155
+ # Constraints depend on account and configuration.
156
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
157
+ # call. We will call this URL using the `method` when the call connects. For more
158
+ # information, see the {Url
159
+ # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
160
+ # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
161
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
162
+ # fetching Twiml from url parameter. If both `twiml` and `url` are provided then
163
+ # `twiml` parameter will be ignored. Max 4000 characters.
164
+ # @param [String] application_sid The SID of the Application resource that will
165
+ # handle the call, if the call will be handled by an application.
166
+ # @return [CallInstance] Created CallInstance
167
+ def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, call_token: :unset, recording_track: :unset, time_limit: :unset, url: :unset, twiml: :unset, application_sid: :unset)
168
+ data = Twilio::Values.of({
169
+ 'To' => to,
170
+ 'From' => from,
171
+ 'Url' => url,
172
+ 'Twiml' => twiml,
173
+ 'ApplicationSid' => application_sid,
174
+ 'Method' => method,
175
+ 'FallbackUrl' => fallback_url,
176
+ 'FallbackMethod' => fallback_method,
177
+ 'StatusCallback' => status_callback,
178
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
179
+ 'StatusCallbackMethod' => status_callback_method,
180
+ 'SendDigits' => send_digits,
181
+ 'Timeout' => timeout,
182
+ 'Record' => record,
183
+ 'RecordingChannels' => recording_channels,
184
+ 'RecordingStatusCallback' => recording_status_callback,
185
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
186
+ 'SipAuthUsername' => sip_auth_username,
187
+ 'SipAuthPassword' => sip_auth_password,
188
+ 'MachineDetection' => machine_detection,
189
+ 'MachineDetectionTimeout' => machine_detection_timeout,
190
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
191
+ 'Trim' => trim,
192
+ 'CallerId' => caller_id,
193
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
194
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
195
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
196
+ 'AsyncAmd' => async_amd,
197
+ 'AsyncAmdStatusCallback' => async_amd_status_callback,
198
+ 'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
199
+ 'Byoc' => byoc,
200
+ 'CallReason' => call_reason,
201
+ 'CallToken' => call_token,
202
+ 'RecordingTrack' => recording_track,
203
+ 'TimeLimit' => time_limit,
204
+ })
205
+
206
+ payload = @version.create('POST', @uri, data: data)
207
+
208
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
209
+ end
210
+
211
+ ##
212
+ # Lists CallInstance records from the API as a list.
213
+ # Unlike stream(), this operation is eager and will load `limit` records into
214
+ # memory before returning.
215
+ # @param [String] to Only show calls made to this phone number, SIP address,
216
+ # Client identifier or SIM SID.
217
+ # @param [String] from Only include calls from this phone number, SIP address,
218
+ # Client identifier or SIM SID.
219
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
220
+ # SID.
221
+ # @param [call.Status] status The status of the calls to include. Can be:
222
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
223
+ # or `no-answer`.
224
+ # @param [Time] start_time_before Only include calls that started on this date
225
+ # @param [Time] start_time Only include calls that started on this date
226
+ # @param [Time] start_time_after Only include calls that started on this date
227
+ # @param [Time] end_time_before Only include calls that ended on this date
228
+ # @param [Time] end_time Only include calls that ended on this date
229
+ # @param [Time] end_time_after Only include calls that ended on this date
230
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
231
+ # guarantees to never return more than limit. Default is no limit
232
+ # @param [Integer] page_size Number of records to fetch per request, when
233
+ # not set will use the default value of 50 records. If no page_size is defined
234
+ # but a limit is defined, stream() will attempt to read the limit with the most
235
+ # efficient page size, i.e. min(limit, 1000)
236
+ # @return [Array] Array of up to limit results
237
+ def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
238
+ self.stream(
239
+ to: to,
240
+ from: from,
241
+ parent_call_sid: parent_call_sid,
242
+ status: status,
243
+ start_time_before: start_time_before,
244
+ start_time: start_time,
245
+ start_time_after: start_time_after,
246
+ end_time_before: end_time_before,
247
+ end_time: end_time,
248
+ end_time_after: end_time_after,
249
+ limit: limit,
250
+ page_size: page_size
251
+ ).entries
252
+ end
253
+
254
+ ##
255
+ # Streams CallInstance records from the API as an Enumerable.
256
+ # This operation lazily loads records as efficiently as possible until the limit
257
+ # is reached.
258
+ # @param [String] to Only show calls made to this phone number, SIP address,
259
+ # Client identifier or SIM SID.
260
+ # @param [String] from Only include calls from this phone number, SIP address,
261
+ # Client identifier or SIM SID.
262
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
263
+ # SID.
264
+ # @param [call.Status] status The status of the calls to include. Can be:
265
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
266
+ # or `no-answer`.
267
+ # @param [Time] start_time_before Only include calls that started on this date
268
+ # @param [Time] start_time Only include calls that started on this date
269
+ # @param [Time] start_time_after Only include calls that started on this date
270
+ # @param [Time] end_time_before Only include calls that ended on this date
271
+ # @param [Time] end_time Only include calls that ended on this date
272
+ # @param [Time] end_time_after Only include calls that ended on this date
273
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
274
+ # guarantees to never return more than limit. Default is no limit.
275
+ # @param [Integer] page_size Number of records to fetch per request, when
276
+ # not set will use the default value of 50 records. If no page_size is defined
277
+ # but a limit is defined, stream() will attempt to read the limit with the most
278
+ # efficient page size, i.e. min(limit, 1000)
279
+ # @return [Enumerable] Enumerable that will yield up to limit results
280
+ def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
281
+ limits = @version.read_limits(limit, page_size)
282
+
283
+ page = self.page(
284
+ to: to,
285
+ from: from,
286
+ parent_call_sid: parent_call_sid,
287
+ status: status,
288
+ start_time_before: start_time_before,
289
+ start_time: start_time,
290
+ start_time_after: start_time_after,
291
+ end_time_before: end_time_before,
292
+ end_time: end_time,
293
+ end_time_after: end_time_after,
294
+ page_size: limits[:page_size],
295
+ )
296
+
297
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
298
+ end
299
+
300
+ ##
301
+ # When passed a block, yields CallInstance records from the API.
302
+ # This operation lazily loads records as efficiently as possible until the limit
303
+ # is reached.
304
+ def each
305
+ limits = @version.read_limits
306
+
307
+ page = self.page(page_size: limits[:page_size], )
308
+
309
+ @version.stream(page,
310
+ limit: limits[:limit],
311
+ page_limit: limits[:page_limit]).each {|x| yield x}
312
+ end
313
+
314
+ ##
315
+ # Retrieve a single page of CallInstance records from the API.
316
+ # Request is executed immediately.
317
+ # @param [String] to Only show calls made to this phone number, SIP address,
318
+ # Client identifier or SIM SID.
319
+ # @param [String] from Only include calls from this phone number, SIP address,
320
+ # Client identifier or SIM SID.
321
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
322
+ # SID.
323
+ # @param [call.Status] status The status of the calls to include. Can be:
324
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
325
+ # or `no-answer`.
326
+ # @param [Time] start_time_before Only include calls that started on this date
327
+ # @param [Time] start_time Only include calls that started on this date
328
+ # @param [Time] start_time_after Only include calls that started on this date
329
+ # @param [Time] end_time_before Only include calls that ended on this date
330
+ # @param [Time] end_time Only include calls that ended on this date
331
+ # @param [Time] end_time_after Only include calls that ended on this date
332
+ # @param [String] page_token PageToken provided by the API
333
+ # @param [Integer] page_number Page Number, this value is simply for client state
334
+ # @param [Integer] page_size Number of records to return, defaults to 50
335
+ # @return [Page] Page of CallInstance
336
+ def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
337
+ params = Twilio::Values.of({
338
+ 'To' => to,
339
+ 'From' => from,
340
+ 'ParentCallSid' => parent_call_sid,
341
+ 'Status' => status,
342
+ 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
343
+ 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
344
+ 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
345
+ 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
346
+ 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
347
+ 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
348
+ 'PageToken' => page_token,
349
+ 'Page' => page_number,
350
+ 'PageSize' => page_size,
351
+ })
352
+
353
+ response = @version.page('GET', @uri, params: params)
354
+
355
+ CallPage.new(@version, response, @solution)
356
+ end
357
+
358
+ ##
359
+ # Retrieve a single page of CallInstance records from the API.
360
+ # Request is executed immediately.
361
+ # @param [String] target_url API-generated URL for the requested results page
362
+ # @return [Page] Page of CallInstance
363
+ def get_page(target_url)
364
+ response = @version.domain.request(
365
+ 'GET',
366
+ target_url
367
+ )
368
+ CallPage.new(@version, response, @solution)
369
+ end
370
+
371
+ ##
372
+ # Access the feedback_summaries
373
+ # @param [String] sid A 34 character string that uniquely identifies this
374
+ # resource.
375
+ # @return [FeedbackSummaryList]
376
+ # @return [FeedbackSummaryContext] if sid was passed.
377
+ def feedback_summaries(sid=:unset)
378
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
379
+
380
+ if sid != :unset
381
+ return FeedbackSummaryContext.new(@version, @solution[:account_sid], sid, )
382
+ end
383
+
384
+ @feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid], )
385
+ end
386
+
387
+ ##
388
+ # Provide a user friendly representation
389
+ def to_s
390
+ '#<Twilio.Api.V2010.CallList>'
391
+ end
392
+ end
393
+
394
+ class CallPage < Page
395
+ ##
396
+ # Initialize the CallPage
397
+ # @param [Version] version Version that contains the resource
398
+ # @param [Response] response Response from the API
399
+ # @param [Hash] solution Path solution for the resource
400
+ # @return [CallPage] CallPage
401
+ def initialize(version, response, solution)
402
+ super(version, response)
403
+
404
+ # Path Solution
405
+ @solution = solution
406
+ end
407
+
408
+ ##
409
+ # Build an instance of CallInstance
410
+ # @param [Hash] payload Payload response from the API
411
+ # @return [CallInstance] CallInstance
412
+ def get_instance(payload)
413
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
414
+ end
415
+
416
+ ##
417
+ # Provide a user friendly representation
418
+ def to_s
419
+ '<Twilio.Api.V2010.CallPage>'
420
+ end
421
+ end
422
+
423
+ class CallContext < InstanceContext
424
+ ##
425
+ # Initialize the CallContext
426
+ # @param [Version] version Version that contains the resource
427
+ # @param [String] account_sid The SID of the
428
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created the Call
429
+ # resource(s) to fetch.
430
+ # @param [String] sid The SID of the Call resource to fetch.
431
+ # @return [CallContext] CallContext
432
+ def initialize(version, account_sid, sid)
433
+ super(version)
434
+
435
+ # Path Solution
436
+ @solution = {account_sid: account_sid, sid: sid, }
437
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
438
+
439
+ # Dependents
440
+ @recordings = nil
441
+ @notifications = nil
442
+ @feedback = nil
443
+ @events = nil
444
+ @payments = nil
445
+ @siprec = nil
446
+ @streams = nil
447
+ end
448
+
449
+ ##
450
+ # Delete the CallInstance
451
+ # @return [Boolean] true if delete succeeds, false otherwise
452
+ def delete
453
+ @version.delete('DELETE', @uri)
454
+ end
455
+
456
+ ##
457
+ # Fetch the CallInstance
458
+ # @return [CallInstance] Fetched CallInstance
459
+ def fetch
460
+ payload = @version.fetch('GET', @uri)
461
+
462
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
463
+ end
464
+
465
+ ##
466
+ # Update the CallInstance
467
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
468
+ # call. We will call this URL using the `method` when the call connects. For more
469
+ # information, see the {Url
470
+ # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
471
+ # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
472
+ # @param [String] method The HTTP method we should use when calling the `url`. Can
473
+ # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
474
+ # is present, this parameter is ignored.
475
+ # @param [call.UpdateStatus] status The new status of the resource. Can be:
476
+ # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
477
+ # that are queued or ringing; however, it will not affect calls already in
478
+ # progress. Specifying `completed` will attempt to hang up a call even if it's
479
+ # already in progress.
480
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
481
+ # an error occurs when requesting or executing the TwiML at `url`. If an
482
+ # `application_sid` parameter is present, this parameter is ignored.
483
+ # @param [String] fallback_method The HTTP method that we should use to request
484
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
485
+ # `application_sid` parameter is present, this parameter is ignored.
486
+ # @param [String] status_callback The URL we should call using the
487
+ # `status_callback_method` to send status information to your application. If no
488
+ # `status_callback_event` is specified, we will send the `completed` status. If an
489
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
490
+ # contain a valid hostname (underscores are not permitted).
491
+ # @param [String] status_callback_method The HTTP method we should use when
492
+ # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
493
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
494
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
495
+ # fetching Twiml from url. Twiml and url parameters are mutually exclusive
496
+ # @param [String] time_limit The maximum duration of the call in seconds.
497
+ # Constraints depend on account and configuration.
498
+ # @return [CallInstance] Updated CallInstance
499
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset, time_limit: :unset)
500
+ data = Twilio::Values.of({
501
+ 'Url' => url,
502
+ 'Method' => method,
503
+ 'Status' => status,
504
+ 'FallbackUrl' => fallback_url,
505
+ 'FallbackMethod' => fallback_method,
506
+ 'StatusCallback' => status_callback,
507
+ 'StatusCallbackMethod' => status_callback_method,
508
+ 'Twiml' => twiml,
509
+ 'TimeLimit' => time_limit,
510
+ })
511
+
512
+ payload = @version.update('POST', @uri, data: data)
513
+
514
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
515
+ end
516
+
517
+ ##
518
+ # Access the recordings
519
+ # @return [RecordingList]
520
+ # @return [RecordingContext] if sid was passed.
521
+ def recordings(sid=:unset)
522
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
523
+
524
+ if sid != :unset
525
+ return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
526
+ end
527
+
528
+ unless @recordings
529
+ @recordings = RecordingList.new(
530
+ @version,
531
+ account_sid: @solution[:account_sid],
532
+ call_sid: @solution[:sid],
533
+ )
534
+ end
535
+
536
+ @recordings
537
+ end
538
+
539
+ ##
540
+ # Access the notifications
541
+ # @return [NotificationList]
542
+ # @return [NotificationContext] if sid was passed.
543
+ def notifications(sid=:unset)
544
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
545
+
546
+ if sid != :unset
547
+ return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
548
+ end
549
+
550
+ unless @notifications
551
+ @notifications = NotificationList.new(
552
+ @version,
553
+ account_sid: @solution[:account_sid],
554
+ call_sid: @solution[:sid],
555
+ )
556
+ end
557
+
558
+ @notifications
559
+ end
560
+
561
+ ##
562
+ # Access the feedback
563
+ # @return [FeedbackList]
564
+ # @return [FeedbackContext]
565
+ def feedback
566
+ FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid], )
567
+ end
568
+
569
+ ##
570
+ # Access the events
571
+ # @return [EventList]
572
+ # @return [EventContext]
573
+ def events
574
+ unless @events
575
+ @events = EventList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
576
+ end
577
+
578
+ @events
579
+ end
580
+
581
+ ##
582
+ # Access the payments
583
+ # @return [PaymentList]
584
+ # @return [PaymentContext] if sid was passed.
585
+ def payments(sid=:unset)
586
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
587
+
588
+ if sid != :unset
589
+ return PaymentContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
590
+ end
591
+
592
+ unless @payments
593
+ @payments = PaymentList.new(
594
+ @version,
595
+ account_sid: @solution[:account_sid],
596
+ call_sid: @solution[:sid],
597
+ )
598
+ end
599
+
600
+ @payments
601
+ end
602
+
603
+ ##
604
+ # Access the siprec
605
+ # @return [SiprecList]
606
+ # @return [SiprecContext] if sid was passed.
607
+ def siprec(sid=:unset)
608
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
609
+
610
+ if sid != :unset
611
+ return SiprecContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
612
+ end
613
+
614
+ unless @siprec
615
+ @siprec = SiprecList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
616
+ end
617
+
618
+ @siprec
619
+ end
620
+
621
+ ##
622
+ # Access the streams
623
+ # @return [StreamList]
624
+ # @return [StreamContext] if sid was passed.
625
+ def streams(sid=:unset)
626
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
627
+
628
+ if sid != :unset
629
+ return StreamContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
630
+ end
631
+
632
+ unless @streams
633
+ @streams = StreamList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
634
+ end
635
+
636
+ @streams
637
+ end
638
+
639
+ ##
640
+ # Provide a user friendly representation
641
+ def to_s
642
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
643
+ "#<Twilio.Api.V2010.CallContext #{context}>"
644
+ end
645
+
646
+ ##
647
+ # Provide a detailed, user friendly representation
648
+ def inspect
649
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
650
+ "#<Twilio.Api.V2010.CallContext #{context}>"
651
+ end
652
+ end
653
+
654
+ class CallInstance < InstanceResource
655
+ ##
656
+ # Initialize the CallInstance
657
+ # @param [Version] version Version that contains the resource
658
+ # @param [Hash] payload payload that contains response from Twilio
659
+ # @param [String] account_sid The SID of the
660
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
661
+ # resource.
662
+ # @param [String] sid The SID of the Call resource to fetch.
663
+ # @return [CallInstance] CallInstance
664
+ def initialize(version, payload, account_sid: nil, sid: nil)
665
+ super(version)
666
+
667
+ # Marshaled Properties
668
+ @properties = {
669
+ 'sid' => payload['sid'],
670
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
671
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
672
+ 'parent_call_sid' => payload['parent_call_sid'],
673
+ 'account_sid' => payload['account_sid'],
674
+ 'to' => payload['to'],
675
+ 'to_formatted' => payload['to_formatted'],
676
+ 'from' => payload['from'],
677
+ 'from_formatted' => payload['from_formatted'],
678
+ 'phone_number_sid' => payload['phone_number_sid'],
679
+ 'status' => payload['status'],
680
+ 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
681
+ 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
682
+ 'duration' => payload['duration'],
683
+ 'price' => payload['price'],
684
+ 'price_unit' => payload['price_unit'],
685
+ 'direction' => payload['direction'],
686
+ 'answered_by' => payload['answered_by'],
687
+ 'api_version' => payload['api_version'],
688
+ 'forwarded_from' => payload['forwarded_from'],
689
+ 'group_sid' => payload['group_sid'],
690
+ 'caller_name' => payload['caller_name'],
691
+ 'queue_time' => payload['queue_time'],
692
+ 'trunk_sid' => payload['trunk_sid'],
693
+ 'uri' => payload['uri'],
694
+ 'subresource_uris' => payload['subresource_uris'],
695
+ }
696
+
697
+ # Context
698
+ @instance_context = nil
699
+ @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
700
+ end
701
+
702
+ ##
703
+ # Generate an instance context for the instance, the context is capable of
704
+ # performing various actions. All instance actions are proxied to the context
705
+ # @return [CallContext] CallContext for this CallInstance
706
+ def context
707
+ unless @instance_context
708
+ @instance_context = CallContext.new(@version, @params['account_sid'], @params['sid'], )
709
+ end
710
+ @instance_context
711
+ end
712
+
713
+ ##
714
+ # @return [String] The unique string that identifies this resource
715
+ def sid
716
+ @properties['sid']
717
+ end
718
+
719
+ ##
720
+ # @return [Time] The RFC 2822 date and time in GMT that this resource was created
721
+ def date_created
722
+ @properties['date_created']
723
+ end
724
+
725
+ ##
726
+ # @return [Time] The RFC 2822 date and time in GMT that this resource was last updated
727
+ def date_updated
728
+ @properties['date_updated']
729
+ end
730
+
731
+ ##
732
+ # @return [String] The SID that identifies the call that created this leg.
733
+ def parent_call_sid
734
+ @properties['parent_call_sid']
735
+ end
736
+
737
+ ##
738
+ # @return [String] The SID of the Account that created this resource
739
+ def account_sid
740
+ @properties['account_sid']
741
+ end
742
+
743
+ ##
744
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
745
+ def to
746
+ @properties['to']
747
+ end
748
+
749
+ ##
750
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Formatted for display.
751
+ def to_formatted
752
+ @properties['to_formatted']
753
+ end
754
+
755
+ ##
756
+ # @return [String] The phone number, SIP address or Client identifier that made this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
757
+ def from
758
+ @properties['from']
759
+ end
760
+
761
+ ##
762
+ # @return [String] The calling phone number, SIP address, or Client identifier formatted for display.
763
+ def from_formatted
764
+ @properties['from_formatted']
765
+ end
766
+
767
+ ##
768
+ # @return [String] If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed.
769
+ def phone_number_sid
770
+ @properties['phone_number_sid']
771
+ end
772
+
773
+ ##
774
+ # @return [call.Status] The status of this call.
775
+ def status
776
+ @properties['status']
777
+ end
778
+
779
+ ##
780
+ # @return [Time] The start time of the call. Null if the call has not yet been dialed.
781
+ def start_time
782
+ @properties['start_time']
783
+ end
784
+
785
+ ##
786
+ # @return [Time] The end time of the call. Null if the call did not complete successfully.
787
+ def end_time
788
+ @properties['end_time']
789
+ end
790
+
791
+ ##
792
+ # @return [String] The length of the call in seconds.
793
+ def duration
794
+ @properties['duration']
795
+ end
796
+
797
+ ##
798
+ # @return [String] The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available.
799
+ def price
800
+ @properties['price']
801
+ end
802
+
803
+ ##
804
+ # @return [String] The currency in which `Price` is measured.
805
+ def price_unit
806
+ @properties['price_unit']
807
+ end
808
+
809
+ ##
810
+ # @return [String] A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.
811
+ def direction
812
+ @properties['direction']
813
+ end
814
+
815
+ ##
816
+ # @return [String] Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.
817
+ def answered_by
818
+ @properties['answered_by']
819
+ end
820
+
821
+ ##
822
+ # @return [String] The API Version used to create the call
823
+ def api_version
824
+ @properties['api_version']
825
+ end
826
+
827
+ ##
828
+ # @return [String] The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.
829
+ def forwarded_from
830
+ @properties['forwarded_from']
831
+ end
832
+
833
+ ##
834
+ # @return [String] The Group SID associated with this call. If no Group is associated with the call, the field is empty.
835
+ def group_sid
836
+ @properties['group_sid']
837
+ end
838
+
839
+ ##
840
+ # @return [String] The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.
841
+ def caller_name
842
+ @properties['caller_name']
843
+ end
844
+
845
+ ##
846
+ # @return [String] The wait time in milliseconds before the call is placed.
847
+ def queue_time
848
+ @properties['queue_time']
849
+ end
850
+
851
+ ##
852
+ # @return [String] The (optional) unique identifier of the trunk resource that was used for this call.
853
+ def trunk_sid
854
+ @properties['trunk_sid']
855
+ end
856
+
857
+ ##
858
+ # @return [String] The URI of this resource, relative to `https://api.twilio.com`
859
+ def uri
860
+ @properties['uri']
861
+ end
862
+
863
+ ##
864
+ # @return [String] A list of related subresources identified by their relative URIs
865
+ def subresource_uris
866
+ @properties['subresource_uris']
867
+ end
868
+
869
+ ##
870
+ # Delete the CallInstance
871
+ # @return [Boolean] true if delete succeeds, false otherwise
872
+ def delete
873
+ context.delete
874
+ end
875
+
876
+ ##
877
+ # Fetch the CallInstance
878
+ # @return [CallInstance] Fetched CallInstance
879
+ def fetch
880
+ context.fetch
881
+ end
882
+
883
+ ##
884
+ # Update the CallInstance
885
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
886
+ # call. We will call this URL using the `method` when the call connects. For more
887
+ # information, see the {Url
888
+ # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
889
+ # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
890
+ # @param [String] method The HTTP method we should use when calling the `url`. Can
891
+ # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
892
+ # is present, this parameter is ignored.
893
+ # @param [call.UpdateStatus] status The new status of the resource. Can be:
894
+ # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
895
+ # that are queued or ringing; however, it will not affect calls already in
896
+ # progress. Specifying `completed` will attempt to hang up a call even if it's
897
+ # already in progress.
898
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
899
+ # an error occurs when requesting or executing the TwiML at `url`. If an
900
+ # `application_sid` parameter is present, this parameter is ignored.
901
+ # @param [String] fallback_method The HTTP method that we should use to request
902
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
903
+ # `application_sid` parameter is present, this parameter is ignored.
904
+ # @param [String] status_callback The URL we should call using the
905
+ # `status_callback_method` to send status information to your application. If no
906
+ # `status_callback_event` is specified, we will send the `completed` status. If an
907
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
908
+ # contain a valid hostname (underscores are not permitted).
909
+ # @param [String] status_callback_method The HTTP method we should use when
910
+ # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
911
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
912
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
913
+ # fetching Twiml from url. Twiml and url parameters are mutually exclusive
914
+ # @param [String] time_limit The maximum duration of the call in seconds.
915
+ # Constraints depend on account and configuration.
916
+ # @return [CallInstance] Updated CallInstance
917
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset, time_limit: :unset)
918
+ context.update(
919
+ url: url,
920
+ method: method,
921
+ status: status,
922
+ fallback_url: fallback_url,
923
+ fallback_method: fallback_method,
924
+ status_callback: status_callback,
925
+ status_callback_method: status_callback_method,
926
+ twiml: twiml,
927
+ time_limit: time_limit,
928
+ )
929
+ end
930
+
931
+ ##
932
+ # Access the recordings
933
+ # @return [recordings] recordings
934
+ def recordings
935
+ context.recordings
936
+ end
937
+
938
+ ##
939
+ # Access the notifications
940
+ # @return [notifications] notifications
941
+ def notifications
942
+ context.notifications
943
+ end
944
+
945
+ ##
946
+ # Access the feedback
947
+ # @return [feedback] feedback
948
+ def feedback
949
+ context.feedback
950
+ end
951
+
952
+ ##
953
+ # Access the events
954
+ # @return [events] events
955
+ def events
956
+ context.events
957
+ end
958
+
959
+ ##
960
+ # Access the payments
961
+ # @return [payments] payments
962
+ def payments
963
+ context.payments
964
+ end
965
+
966
+ ##
967
+ # Access the siprec
968
+ # @return [siprec] siprec
969
+ def siprec
970
+ context.siprec
971
+ end
972
+
973
+ ##
974
+ # Access the streams
975
+ # @return [streams] streams
976
+ def streams
977
+ context.streams
978
+ end
979
+
980
+ ##
981
+ # Provide a user friendly representation
982
+ def to_s
983
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
984
+ "<Twilio.Api.V2010.CallInstance #{values}>"
985
+ end
986
+
987
+ ##
988
+ # Provide a detailed, user friendly representation
989
+ def inspect
990
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
991
+ "<Twilio.Api.V2010.CallInstance #{values}>"
992
+ end
993
+ end
994
+ end
995
+ end
996
+ end
997
+ end
998
+ end