twilio-ruby 5.72.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +14 -4
  4. data/.gitignore +3 -0
  5. data/CHANGES.md +281 -1
  6. data/CONTRIBUTING.md +10 -8
  7. data/LICENSE +1 -1
  8. data/Makefile +3 -0
  9. data/README.md +133 -40
  10. data/UPGRADE.md +10 -0
  11. data/advanced-examples/custom-http-client.md +170 -0
  12. data/cluster_spec.rb +77 -0
  13. data/lib/twilio-ruby/base/client_base.rb +124 -0
  14. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  15. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  16. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  17. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  18. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  19. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  20. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  21. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  22. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  23. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +555 -514
  26. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -586
  27. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +433 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +963 -991
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +653 -717
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +498 -493
  51. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +399 -418
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +846 -903
  58. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  59. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  60. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +618 -625
  62. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  63. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  64. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  65. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  66. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  67. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +427 -390
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  69. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +369 -385
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +514 -513
  72. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  73. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +400 -373
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +650 -645
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +400 -374
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  88. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  89. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  101. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  102. data/lib/twilio-ruby/rest/api/v2010/account.rb +982 -943
  103. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  104. data/lib/twilio-ruby/rest/api.rb +25 -34
  105. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +429 -411
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  115. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  116. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  117. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +519 -500
  118. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  119. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +674 -640
  120. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  121. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  122. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  123. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  124. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  125. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +246 -235
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  129. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  130. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  131. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  132. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  133. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  134. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +535 -515
  137. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  138. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  139. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +466 -440
  140. data/lib/twilio-ruby/rest/chat/v1/service.rb +862 -894
  141. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  142. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  143. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  144. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  145. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +607 -605
  149. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  150. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  151. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  152. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +510 -491
  153. data/lib/twilio-ruby/rest/chat/v2/service.rb +765 -778
  154. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  155. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  156. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  157. data/lib/twilio-ruby/rest/chat.rb +4 -48
  158. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  159. data/lib/twilio-ruby/rest/client.rb +328 -570
  160. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  161. data/lib/twilio-ruby/rest/content/v1/content.rb +364 -0
  162. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  163. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +266 -0
  164. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  165. data/lib/twilio-ruby/rest/content.rb +15 -0
  166. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +474 -444
  168. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  169. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  170. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +530 -495
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  173. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +606 -552
  175. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  176. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  177. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  178. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  179. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  180. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  181. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  182. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  183. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +537 -535
  184. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  185. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  186. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +618 -588
  187. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  188. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  189. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  190. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +485 -474
  191. data/lib/twilio-ruby/rest/conversations/v1/service.rb +477 -447
  192. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  193. data/lib/twilio-ruby/rest/conversations/v1/user.rb +473 -441
  194. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  195. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  196. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  197. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  198. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  199. data/lib/twilio-ruby/rest/events/v1/schema.rb +229 -218
  200. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  201. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  202. data/lib/twilio-ruby/rest/events/v1/sink.rb +439 -408
  203. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  204. data/lib/twilio-ruby/rest/events/v1/subscription.rb +420 -387
  205. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  206. data/lib/twilio-ruby/rest/events.rb +5 -34
  207. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +451 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  210. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  211. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +331 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +231 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +445 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +360 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +445 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +364 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  223. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +400 -398
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +249 -225
  226. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  227. data/lib/twilio-ruby/rest/flex_api/v1.rb +195 -92
  228. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  229. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  230. data/lib/twilio-ruby/rest/flex_api.rb +24 -31
  231. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  232. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  233. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  234. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  235. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  236. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  237. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  238. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  239. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  240. data/lib/twilio-ruby/rest/insights/v1/call.rb +260 -236
  241. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +496 -426
  242. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  243. data/lib/twilio-ruby/rest/insights/v1/conference.rb +506 -502
  244. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  245. data/lib/twilio-ruby/rest/insights/v1/room.rb +494 -489
  246. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  247. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  248. data/lib/twilio-ruby/rest/insights.rb +6 -34
  249. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  250. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +511 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +383 -0
  253. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +250 -0
  254. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +540 -0
  255. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  256. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  257. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +535 -488
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +466 -418
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +862 -779
  267. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +607 -555
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +510 -467
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +765 -689
  280. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  281. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  282. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  284. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  285. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +342 -253
  286. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  287. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  288. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  289. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  290. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  291. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  292. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  293. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  294. data/lib/twilio-ruby/rest/media.rb +4 -34
  295. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  298. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +488 -443
  299. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  300. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  301. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  302. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  304. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  305. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  307. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  308. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  309. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +507 -426
  310. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  311. data/lib/twilio-ruby/rest/messaging/v1/service.rb +741 -763
  312. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -90
  314. data/lib/twilio-ruby/rest/messaging.rb +28 -35
  315. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  316. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +359 -0
  317. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +352 -0
  318. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  319. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -295
  320. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +375 -0
  321. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +368 -0
  322. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +412 -322
  323. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -53
  324. data/lib/twilio-ruby/rest/microvisor.rb +4 -34
  325. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  326. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  327. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  328. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  329. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  330. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  331. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  332. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  333. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  334. data/lib/twilio-ruby/rest/notify/v1/service.rb +628 -622
  335. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  336. data/lib/twilio-ruby/rest/notify.rb +3 -34
  337. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  339. data/lib/twilio-ruby/rest/numbers/v1.rb +49 -0
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  341. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  342. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  343. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  344. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
  345. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  349. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  350. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  351. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  352. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  353. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  354. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +171 -0
  355. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +185 -0
  356. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +262 -0
  357. data/lib/twilio-ruby/rest/oauth/v1/token.rb +179 -0
  358. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +213 -0
  359. data/lib/twilio-ruby/rest/oauth/v1.rb +64 -0
  360. data/lib/twilio-ruby/rest/oauth.rb +33 -0
  361. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  362. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  363. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  364. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  365. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  366. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +495 -459
  367. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  368. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  369. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +449 -446
  370. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  371. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  372. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  373. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
  374. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  375. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +430 -398
  376. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  377. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  378. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +443 -399
  379. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  380. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  381. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +420 -398
  382. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  383. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  384. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +420 -398
  385. data/lib/twilio-ruby/rest/preview/sync/service.rb +496 -452
  386. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  387. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  388. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  389. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  390. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  391. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +429 -400
  392. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  393. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  394. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  395. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  396. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  397. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  398. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  399. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +519 -488
  400. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +654 -619
  401. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  402. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  403. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  404. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  405. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  406. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  407. data/lib/twilio-ruby/rest/preview.rb +11 -102
  408. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  409. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  410. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  411. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  412. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  413. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  414. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  415. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  416. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  417. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  418. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  419. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  420. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  421. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  422. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  423. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  424. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  425. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  426. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  427. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  428. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +422 -455
  429. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +523 -547
  430. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  431. data/lib/twilio-ruby/rest/proxy/v1/service.rb +560 -596
  432. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  433. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  434. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  435. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  436. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  437. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  438. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  439. data/lib/twilio-ruby/rest/routes.rb +4 -34
  440. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  441. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  442. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +413 -380
  443. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  444. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  445. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  446. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  447. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  448. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +457 -447
  449. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  450. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  451. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +413 -380
  452. data/lib/twilio-ruby/rest/serverless/v1/service.rb +524 -493
  453. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  454. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  455. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  456. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  457. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  458. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  459. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +423 -394
  460. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  461. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  462. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  463. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +471 -449
  464. data/lib/twilio-ruby/rest/studio/v1/flow.rb +381 -355
  465. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  466. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  467. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  468. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  469. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +464 -442
  470. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  471. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  472. data/lib/twilio-ruby/rest/studio/v2/flow.rb +520 -472
  473. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  474. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  475. data/lib/twilio-ruby/rest/studio.rb +3 -41
  476. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  477. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -362
  478. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  479. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -406
  480. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  481. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  482. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +381 -351
  483. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +259 -0
  484. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  485. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  486. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +464 -453
  487. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  488. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  489. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -140
  490. data/lib/twilio-ruby/rest/supersim.rb +16 -34
  491. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  492. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  493. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +457 -423
  494. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  495. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  496. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +471 -445
  497. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  498. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  499. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +471 -444
  500. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  501. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +420 -400
  502. data/lib/twilio-ruby/rest/sync/v1/service.rb +576 -567
  503. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  504. data/lib/twilio-ruby/rest/sync.rb +2 -34
  505. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -736
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +616 -661
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  515. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -566
  516. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  517. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  518. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  519. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  520. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  521. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  522. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +632 -631
  523. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  524. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  525. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  526. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +722 -730
  531. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  532. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  533. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  534. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  535. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  536. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  537. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  538. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  539. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +624 -630
  540. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  541. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  542. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  544. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  545. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  546. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +529 -513
  547. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  548. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  549. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  550. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  551. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  552. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  553. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  554. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  555. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +529 -513
  556. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  557. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  558. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  559. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  560. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  561. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -262
  562. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -198
  563. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +500 -539
  564. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -461
  565. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -289
  566. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +423 -422
  567. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  568. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  569. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +421 -384
  570. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -366
  571. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  572. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -420
  573. data/lib/twilio-ruby/rest/verify/v2/service.rb +767 -780
  574. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -198
  575. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  576. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  577. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  578. data/lib/twilio-ruby/rest/verify.rb +7 -34
  579. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  581. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  582. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  583. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  584. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  585. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  586. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  587. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  588. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  589. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  590. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  591. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  592. data/lib/twilio-ruby/rest/video/v1/room.rb +611 -602
  593. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  594. data/lib/twilio-ruby/rest/video.rb +7 -34
  595. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  596. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  597. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  598. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  599. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +392 -352
  600. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  601. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  602. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +382 -397
  603. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  604. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  605. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  606. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  607. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  608. data/lib/twilio-ruby/rest/voice.rb +7 -34
  609. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  610. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  611. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  612. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  613. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  614. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +640 -647
  615. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  616. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  617. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  618. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  619. data/lib/twilio-ruby/rest.rb +1 -0
  620. data/lib/twilio-ruby/twiml/voice_response.rb +132 -33
  621. data/lib/twilio-ruby/version.rb +1 -1
  622. data/sonar-project.properties +1 -1
  623. data/twilio-ruby.gemspec +1 -1
  624. metadata +118 -38
  625. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  626. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  627. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  628. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  629. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  630. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  631. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  632. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  633. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  634. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  635. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  636. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  637. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  638. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -314
  639. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  640. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +0 -559
  641. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  642. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  643. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  644. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  645. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  646. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
  647. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  648. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  649. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  650. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  651. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  652. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  653. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  654. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,554 +1,530 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Proxy
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Proxy < Domain
12
- class V1 < Version
13
- class ServiceContext < InstanceContext
14
- ##
15
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
- class SessionList < ListResource
17
- ##
18
- # Initialize the SessionList
19
- # @param [Version] version Version that contains the resource
20
- # @param [String] service_sid The SID of the
21
- # {Service}[https://www.twilio.com/docs/proxy/api/service] the session is
22
- # associated with.
23
- # @return [SessionList] SessionList
24
- def initialize(version, service_sid: nil)
25
- super(version)
26
-
27
- # Path Solution
28
- @solution = {service_sid: service_sid}
29
- @uri = "/Services/#{@solution[:service_sid]}/Sessions"
30
- end
31
-
32
- ##
33
- # Lists SessionInstance records from the API as a list.
34
- # Unlike stream(), this operation is eager and will load `limit` records into
35
- # memory before returning.
36
- # @param [Integer] limit Upper limit for the number of records to return. stream()
37
- # guarantees to never return more than limit. Default is no limit
38
- # @param [Integer] page_size Number of records to fetch per request, when
39
- # not set will use the default value of 50 records. If no page_size is defined
40
- # but a limit is defined, stream() will attempt to read the limit with the most
41
- # efficient page size, i.e. min(limit, 1000)
42
- # @return [Array] Array of up to limit results
43
- def list(limit: nil, page_size: nil)
44
- self.stream(limit: limit, page_size: page_size).entries
45
- end
46
-
47
- ##
48
- # Streams SessionInstance records from the API as an Enumerable.
49
- # This operation lazily loads records as efficiently as possible until the limit
50
- # is reached.
51
- # @param [Integer] limit Upper limit for the number of records to return. stream()
52
- # guarantees to never return more than limit. Default is no limit.
53
- # @param [Integer] page_size Number of records to fetch per request, when
54
- # not set will use the default value of 50 records. If no page_size is defined
55
- # but a limit is defined, stream() will attempt to read the limit with the most
56
- # efficient page size, i.e. min(limit, 1000)
57
- # @return [Enumerable] Enumerable that will yield up to limit results
58
- def stream(limit: nil, page_size: nil)
59
- limits = @version.read_limits(limit, page_size)
60
-
61
- page = self.page(page_size: limits[:page_size], )
62
-
63
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
64
- end
65
-
66
- ##
67
- # When passed a block, yields SessionInstance records from the API.
68
- # This operation lazily loads records as efficiently as possible until the limit
69
- # is reached.
70
- def each
71
- limits = @version.read_limits
72
-
73
- page = self.page(page_size: limits[:page_size], )
74
-
75
- @version.stream(page,
76
- limit: limits[:limit],
77
- page_limit: limits[:page_limit]).each {|x| yield x}
78
- end
79
-
80
- ##
81
- # Retrieve a single page of SessionInstance records from the API.
82
- # Request is executed immediately.
83
- # @param [String] page_token PageToken provided by the API
84
- # @param [Integer] page_number Page Number, this value is simply for client state
85
- # @param [Integer] page_size Number of records to return, defaults to 50
86
- # @return [Page] Page of SessionInstance
87
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
88
- params = Twilio::Values.of({
89
- 'PageToken' => page_token,
90
- 'Page' => page_number,
91
- 'PageSize' => page_size,
92
- })
93
-
94
- response = @version.page('GET', @uri, params: params)
95
-
96
- SessionPage.new(@version, response, @solution)
97
- end
98
-
99
- ##
100
- # Retrieve a single page of SessionInstance records from the API.
101
- # Request is executed immediately.
102
- # @param [String] target_url API-generated URL for the requested results page
103
- # @return [Page] Page of SessionInstance
104
- def get_page(target_url)
105
- response = @version.domain.request(
106
- 'GET',
107
- target_url
108
- )
109
- SessionPage.new(@version, response, @solution)
110
- end
111
-
112
- ##
113
- # Create the SessionInstance
114
- # @param [String] unique_name An application-defined string that uniquely
115
- # identifies the resource. This value must be 191 characters or fewer in length
116
- # and be unique. **This value should not have PII.**
117
- # @param [Time] date_expiry The {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601]
118
- # date when the Session should expire. If this is value is present, it overrides
119
- # the `ttl` value.
120
- # @param [String] ttl The time, in seconds, when the session will expire. The time
121
- # is measured from the last Session create or the Session's last Interaction.
122
- # @param [session.Mode] mode The Mode of the Session. Can be: `message-only`,
123
- # `voice-only`, or `voice-and-message` and the default value is
124
- # `voice-and-message`.
125
- # @param [session.Status] status The initial status of the Session. Can be:
126
- # `open`, `in-progress`, `closed`, `failed`, or `unknown`. The default is `open`
127
- # on create.
128
- # @param [Array[Hash]] participants The Participant objects to include in the new
129
- # session.
130
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
131
- # the ProxyAllowParticipantConflict account flag, setting to true enables
132
- # per-request opt-in to allowing Proxy to reject a Session create (with
133
- # Participants) request that could cause the same Identifier/ProxyIdentifier pair
134
- # to be active in multiple Sessions. Depending on the context, this could be a 409
135
- # error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not
136
- # provided, requests will be allowed to succeed and a Debugger notification
137
- # (80802) will be emitted. Having multiple, active Participants with the same
138
- # Identifier/ProxyIdentifier pair causes calls and messages from affected
139
- # Participants to be routed incorrectly. Please note, the default behavior for
140
- # accounts without the ProxyAllowParticipantConflict flag is to reject the request
141
- # as described. This will eventually be the default for all accounts.
142
- # @return [SessionInstance] Created SessionInstance
143
- def create(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset, fail_on_participant_conflict: :unset)
144
- data = Twilio::Values.of({
145
- 'UniqueName' => unique_name,
146
- 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
147
- 'Ttl' => ttl,
148
- 'Mode' => mode,
149
- 'Status' => status,
150
- 'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
151
- 'FailOnParticipantConflict' => fail_on_participant_conflict,
152
- })
153
-
154
- payload = @version.create('POST', @uri, data: data)
155
-
156
- SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
157
- end
158
-
159
- ##
160
- # Provide a user friendly representation
161
- def to_s
162
- '#<Twilio.Proxy.V1.SessionList>'
163
- end
164
- end
165
-
166
- ##
167
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
168
- class SessionPage < Page
169
- ##
170
- # Initialize the SessionPage
171
- # @param [Version] version Version that contains the resource
172
- # @param [Response] response Response from the API
173
- # @param [Hash] solution Path solution for the resource
174
- # @return [SessionPage] SessionPage
175
- def initialize(version, response, solution)
176
- super(version, response)
177
-
178
- # Path Solution
179
- @solution = solution
180
- end
181
-
182
- ##
183
- # Build an instance of SessionInstance
184
- # @param [Hash] payload Payload response from the API
185
- # @return [SessionInstance] SessionInstance
186
- def get_instance(payload)
187
- SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
188
- end
189
-
190
- ##
191
- # Provide a user friendly representation
192
- def to_s
193
- '<Twilio.Proxy.V1.SessionPage>'
194
- end
195
- end
196
-
197
- ##
198
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
199
- class SessionContext < InstanceContext
200
- ##
201
- # Initialize the SessionContext
202
- # @param [Version] version Version that contains the resource
203
- # @param [String] service_sid The SID of the parent
204
- # {Service}[https://www.twilio.com/docs/proxy/api/service] of the resource to
205
- # fetch.
206
- # @param [String] sid The Twilio-provided string that uniquely identifies the
207
- # Session resource to fetch.
208
- # @return [SessionContext] SessionContext
209
- def initialize(version, service_sid, sid)
210
- super(version)
211
-
212
- # Path Solution
213
- @solution = {service_sid: service_sid, sid: sid, }
214
- @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:sid]}"
215
-
216
- # Dependents
217
- @interactions = nil
218
- @participants = nil
219
- end
220
-
221
- ##
222
- # Fetch the SessionInstance
223
- # @return [SessionInstance] Fetched SessionInstance
224
- def fetch
225
- payload = @version.fetch('GET', @uri)
226
-
227
- SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
228
- end
229
-
230
- ##
231
- # Delete the SessionInstance
232
- # @return [Boolean] true if delete succeeds, false otherwise
233
- def delete
234
- @version.delete('DELETE', @uri)
235
- end
236
-
237
- ##
238
- # Update the SessionInstance
239
- # @param [Time] date_expiry The {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601]
240
- # date when the Session should expire. If this is value is present, it overrides
241
- # the `ttl` value.
242
- # @param [String] ttl The time, in seconds, when the session will expire. The time
243
- # is measured from the last Session create or the Session's last Interaction.
244
- # @param [session.Status] status The new status of the resource. Can be:
245
- # `in-progress` to re-open a session or `closed` to close a session.
246
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
247
- # the ProxyAllowParticipantConflict account flag, setting to true enables
248
- # per-request opt-in to allowing Proxy to return a 400 error (Twilio error code
249
- # 80604) when a request to set a Session to in-progress would cause Participants
250
- # with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
251
- # If not provided, requests will be allowed to succeed, and a Debugger
252
- # notification (80801) will be emitted. Having multiple, active Participants with
253
- # the same Identifier/ProxyIdentifier pair causes calls and messages from affected
254
- # Participants to be routed incorrectly. Please note, the default behavior for
255
- # accounts without the ProxyAllowParticipantConflict flag is to reject the request
256
- # as described. This will eventually be the default for all accounts.
257
- # @return [SessionInstance] Updated SessionInstance
258
- def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
259
- data = Twilio::Values.of({
260
- 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
261
- 'Ttl' => ttl,
262
- 'Status' => status,
263
- 'FailOnParticipantConflict' => fail_on_participant_conflict,
264
- })
265
-
266
- payload = @version.update('POST', @uri, data: data)
267
-
268
- SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
269
- end
270
-
271
- ##
272
- # Access the interactions
273
- # @return [InteractionList]
274
- # @return [InteractionContext] if sid was passed.
275
- def interactions(sid=:unset)
276
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
277
-
278
- if sid != :unset
279
- return InteractionContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
280
- end
281
-
282
- unless @interactions
283
- @interactions = InteractionList.new(
284
- @version,
285
- service_sid: @solution[:service_sid],
286
- session_sid: @solution[:sid],
287
- )
288
- end
289
-
290
- @interactions
291
- end
292
-
293
- ##
294
- # Access the participants
295
- # @return [ParticipantList]
296
- # @return [ParticipantContext] if sid was passed.
297
- def participants(sid=:unset)
298
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
299
-
300
- if sid != :unset
301
- return ParticipantContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
302
- end
303
-
304
- unless @participants
305
- @participants = ParticipantList.new(
306
- @version,
307
- service_sid: @solution[:service_sid],
308
- session_sid: @solution[:sid],
309
- )
310
- end
311
-
312
- @participants
313
- end
314
-
315
- ##
316
- # Provide a user friendly representation
317
- def to_s
318
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
319
- "#<Twilio.Proxy.V1.SessionContext #{context}>"
320
- end
321
-
322
- ##
323
- # Provide a detailed, user friendly representation
324
- def inspect
325
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
326
- "#<Twilio.Proxy.V1.SessionContext #{context}>"
327
- end
328
- end
329
-
330
- ##
331
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
332
- class SessionInstance < InstanceResource
333
- ##
334
- # Initialize the SessionInstance
335
- # @param [Version] version Version that contains the resource
336
- # @param [Hash] payload payload that contains response from Twilio
337
- # @param [String] service_sid The SID of the
338
- # {Service}[https://www.twilio.com/docs/proxy/api/service] the session is
339
- # associated with.
340
- # @param [String] sid The Twilio-provided string that uniquely identifies the
341
- # Session resource to fetch.
342
- # @return [SessionInstance] SessionInstance
343
- def initialize(version, payload, service_sid: nil, sid: nil)
344
- super(version)
345
-
346
- # Marshaled Properties
347
- @properties = {
348
- 'sid' => payload['sid'],
349
- 'service_sid' => payload['service_sid'],
350
- 'account_sid' => payload['account_sid'],
351
- 'date_started' => Twilio.deserialize_iso8601_datetime(payload['date_started']),
352
- 'date_ended' => Twilio.deserialize_iso8601_datetime(payload['date_ended']),
353
- 'date_last_interaction' => Twilio.deserialize_iso8601_datetime(payload['date_last_interaction']),
354
- 'date_expiry' => Twilio.deserialize_iso8601_datetime(payload['date_expiry']),
355
- 'unique_name' => payload['unique_name'],
356
- 'status' => payload['status'],
357
- 'closed_reason' => payload['closed_reason'],
358
- 'ttl' => payload['ttl'].to_i,
359
- 'mode' => payload['mode'],
360
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
361
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
362
- 'url' => payload['url'],
363
- 'links' => payload['links'],
364
- }
365
-
366
- # Context
367
- @instance_context = nil
368
- @params = {'service_sid' => service_sid, 'sid' => sid || @properties['sid'], }
369
- end
370
-
371
- ##
372
- # Generate an instance context for the instance, the context is capable of
373
- # performing various actions. All instance actions are proxied to the context
374
- # @return [SessionContext] SessionContext for this SessionInstance
375
- def context
376
- unless @instance_context
377
- @instance_context = SessionContext.new(@version, @params['service_sid'], @params['sid'], )
378
- end
379
- @instance_context
380
- end
381
-
382
- ##
383
- # @return [String] The unique string that identifies the resource
384
- def sid
385
- @properties['sid']
386
- end
387
-
388
- ##
389
- # @return [String] The SID of the resource's parent Service
390
- def service_sid
391
- @properties['service_sid']
392
- end
393
-
394
- ##
395
- # @return [String] The SID of the Account that created the resource
396
- def account_sid
397
- @properties['account_sid']
398
- end
399
-
400
- ##
401
- # @return [Time] The ISO 8601 date when the Session started
402
- def date_started
403
- @properties['date_started']
404
- end
405
-
406
- ##
407
- # @return [Time] The ISO 8601 date when the Session ended
408
- def date_ended
409
- @properties['date_ended']
410
- end
411
-
412
- ##
413
- # @return [Time] The ISO 8601 date when the Session last had an interaction
414
- def date_last_interaction
415
- @properties['date_last_interaction']
416
- end
417
-
418
- ##
419
- # @return [Time] The ISO 8601 date when the Session should expire
420
- def date_expiry
421
- @properties['date_expiry']
422
- end
423
-
424
- ##
425
- # @return [String] An application-defined string that uniquely identifies the resource
426
- def unique_name
427
- @properties['unique_name']
428
- end
429
-
430
- ##
431
- # @return [session.Status] The status of the Session
432
- def status
433
- @properties['status']
434
- end
435
-
436
- ##
437
- # @return [String] The reason the Session ended
438
- def closed_reason
439
- @properties['closed_reason']
440
- end
441
-
442
- ##
443
- # @return [String] When the session will expire
444
- def ttl
445
- @properties['ttl']
446
- end
447
-
448
- ##
449
- # @return [session.Mode] The Mode of the Session
450
- def mode
451
- @properties['mode']
452
- end
453
-
454
- ##
455
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
456
- def date_created
457
- @properties['date_created']
458
- end
459
-
460
- ##
461
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
462
- def date_updated
463
- @properties['date_updated']
464
- end
465
-
466
- ##
467
- # @return [String] The absolute URL of the Session resource
468
- def url
469
- @properties['url']
470
- end
471
-
472
- ##
473
- # @return [String] The URLs of resources related to the Session
474
- def links
475
- @properties['links']
476
- end
477
-
478
- ##
479
- # Fetch the SessionInstance
480
- # @return [SessionInstance] Fetched SessionInstance
481
- def fetch
482
- context.fetch
483
- end
484
-
485
- ##
486
- # Delete the SessionInstance
487
- # @return [Boolean] true if delete succeeds, false otherwise
488
- def delete
489
- context.delete
490
- end
491
-
492
- ##
493
- # Update the SessionInstance
494
- # @param [Time] date_expiry The {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601]
495
- # date when the Session should expire. If this is value is present, it overrides
496
- # the `ttl` value.
497
- # @param [String] ttl The time, in seconds, when the session will expire. The time
498
- # is measured from the last Session create or the Session's last Interaction.
499
- # @param [session.Status] status The new status of the resource. Can be:
500
- # `in-progress` to re-open a session or `closed` to close a session.
501
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
502
- # the ProxyAllowParticipantConflict account flag, setting to true enables
503
- # per-request opt-in to allowing Proxy to return a 400 error (Twilio error code
504
- # 80604) when a request to set a Session to in-progress would cause Participants
505
- # with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
506
- # If not provided, requests will be allowed to succeed, and a Debugger
507
- # notification (80801) will be emitted. Having multiple, active Participants with
508
- # the same Identifier/ProxyIdentifier pair causes calls and messages from affected
509
- # Participants to be routed incorrectly. Please note, the default behavior for
510
- # accounts without the ProxyAllowParticipantConflict flag is to reject the request
511
- # as described. This will eventually be the default for all accounts.
512
- # @return [SessionInstance] Updated SessionInstance
513
- def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
514
- context.update(
515
- date_expiry: date_expiry,
516
- ttl: ttl,
517
- status: status,
518
- fail_on_participant_conflict: fail_on_participant_conflict,
519
- )
520
- end
521
-
522
- ##
523
- # Access the interactions
524
- # @return [interactions] interactions
525
- def interactions
526
- context.interactions
527
- end
528
-
529
- ##
530
- # Access the participants
531
- # @return [participants] participants
532
- def participants
533
- context.participants
534
- end
535
14
 
536
- ##
537
- # Provide a user friendly representation
538
- def to_s
539
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
540
- "<Twilio.Proxy.V1.SessionInstance #{values}>"
541
- end
542
15
 
543
- ##
544
- # Provide a detailed, user friendly representation
545
- def inspect
546
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
547
- "<Twilio.Proxy.V1.SessionInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Proxy < ProxyBase
19
+ class V1 < Version
20
+ class ServiceContext < InstanceContext
21
+
22
+ class SessionList < ListResource
23
+ ##
24
+ # Initialize the SessionList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [SessionList] SessionList
27
+ def initialize(version, service_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { service_sid: service_sid }
31
+ @uri = "/Services/#{@solution[:service_sid]}/Sessions"
32
+
33
+ end
34
+ ##
35
+ # Create the SessionInstance
36
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. **This value should not have PII.**
37
+ # @param [Time] date_expiry The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.
38
+ # @param [String] ttl The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.
39
+ # @param [Mode] mode
40
+ # @param [Status] status
41
+ # @param [Array[Hash]] participants The Participant objects to include in the new session.
42
+ # @return [SessionInstance] Created SessionInstance
43
+ def create(
44
+ unique_name: :unset,
45
+ date_expiry: :unset,
46
+ ttl: :unset,
47
+ mode: :unset,
48
+ status: :unset,
49
+ participants: :unset
50
+ )
51
+
52
+ data = Twilio::Values.of({
53
+ 'UniqueName' => unique_name,
54
+ 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
55
+ 'Ttl' => ttl,
56
+ 'Mode' => mode,
57
+ 'Status' => status,
58
+ 'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
59
+ })
60
+
61
+ payload = @version.create('POST', @uri, data: data)
62
+ SessionInstance.new(
63
+ @version,
64
+ payload,
65
+ service_sid: @solution[:service_sid],
66
+ )
67
+ end
68
+
69
+
70
+ ##
71
+ # Lists SessionInstance records from the API as a list.
72
+ # Unlike stream(), this operation is eager and will load `limit` records into
73
+ # memory before returning.
74
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
75
+ # guarantees to never return more than limit. Default is no limit
76
+ # @param [Integer] page_size Number of records to fetch per request, when
77
+ # not set will use the default value of 50 records. If no page_size is defined
78
+ # but a limit is defined, stream() will attempt to read the limit with the most
79
+ # efficient page size, i.e. min(limit, 1000)
80
+ # @return [Array] Array of up to limit results
81
+ def list(limit: nil, page_size: nil)
82
+ self.stream(
83
+ limit: limit,
84
+ page_size: page_size
85
+ ).entries
86
+ end
87
+
88
+ ##
89
+ # Streams Instance records from the API as an Enumerable.
90
+ # This operation lazily loads records as efficiently as possible until the limit
91
+ # is reached.
92
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
93
+ # guarantees to never return more than limit. Default is no limit
94
+ # @param [Integer] page_size Number of records to fetch per request, when
95
+ # not set will use the default value of 50 records. If no page_size is defined
96
+ # but a limit is defined, stream() will attempt to read the limit with the most
97
+ # efficient page size, i.e. min(limit, 1000)
98
+ # @return [Enumerable] Enumerable that will yield up to limit results
99
+ def stream(limit: nil, page_size: nil)
100
+ limits = @version.read_limits(limit, page_size)
101
+
102
+ page = self.page(
103
+ page_size: limits[:page_size], )
104
+
105
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
106
+ end
107
+
108
+ ##
109
+ # When passed a block, yields SessionInstance records from the API.
110
+ # This operation lazily loads records as efficiently as possible until the limit
111
+ # is reached.
112
+ def each
113
+ limits = @version.read_limits
114
+
115
+ page = self.page(page_size: limits[:page_size], )
116
+
117
+ @version.stream(page,
118
+ limit: limits[:limit],
119
+ page_limit: limits[:page_limit]).each {|x| yield x}
120
+ end
121
+
122
+ ##
123
+ # Retrieve a single page of SessionInstance records from the API.
124
+ # Request is executed immediately.
125
+ # @param [String] page_token PageToken provided by the API
126
+ # @param [Integer] page_number Page Number, this value is simply for client state
127
+ # @param [Integer] page_size Number of records to return, defaults to 50
128
+ # @return [Page] Page of SessionInstance
129
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
130
+ params = Twilio::Values.of({
131
+
132
+ 'PageToken' => page_token,
133
+ 'Page' => page_number,
134
+ 'PageSize' => page_size,
135
+ })
136
+
137
+ response = @version.page('GET', @uri, params: params)
138
+
139
+ SessionPage.new(@version, response, @solution)
140
+ end
141
+
142
+ ##
143
+ # Retrieve a single page of SessionInstance records from the API.
144
+ # Request is executed immediately.
145
+ # @param [String] target_url API-generated URL for the requested results page
146
+ # @return [Page] Page of SessionInstance
147
+ def get_page(target_url)
148
+ response = @version.domain.request(
149
+ 'GET',
150
+ target_url
151
+ )
152
+ SessionPage.new(@version, response, @solution)
153
+ end
154
+
155
+
156
+
157
+ # Provide a user friendly representation
158
+ def to_s
159
+ '#<Twilio.Proxy.V1.SessionList>'
160
+ end
161
+ end
162
+
163
+
164
+ ##
165
+ #PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
166
+ class SessionContext < InstanceContext
167
+ ##
168
+ # Initialize the SessionContext
169
+ # @param [Version] version Version that contains the resource
170
+ # @param [String] service_sid The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.
171
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Session resource to update.
172
+ # @return [SessionContext] SessionContext
173
+ def initialize(version, service_sid, sid)
174
+ super(version)
175
+
176
+ # Path Solution
177
+ @solution = { service_sid: service_sid, sid: sid, }
178
+ @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:sid]}"
179
+
180
+ # Dependents
181
+ @interactions = nil
182
+ @participants = nil
183
+ end
184
+ ##
185
+ # Delete the SessionInstance
186
+ # @return [Boolean] True if delete succeeds, false otherwise
187
+ def delete
188
+
189
+ @version.delete('DELETE', @uri)
190
+ end
191
+
192
+ ##
193
+ # Fetch the SessionInstance
194
+ # @return [SessionInstance] Fetched SessionInstance
195
+ def fetch
196
+
197
+ payload = @version.fetch('GET', @uri)
198
+ SessionInstance.new(
199
+ @version,
200
+ payload,
201
+ service_sid: @solution[:service_sid],
202
+ sid: @solution[:sid],
203
+ )
204
+ end
205
+
206
+ ##
207
+ # Update the SessionInstance
208
+ # @param [Time] date_expiry The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.
209
+ # @param [String] ttl The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.
210
+ # @param [Status] status
211
+ # @return [SessionInstance] Updated SessionInstance
212
+ def update(
213
+ date_expiry: :unset,
214
+ ttl: :unset,
215
+ status: :unset
216
+ )
217
+
218
+ data = Twilio::Values.of({
219
+ 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
220
+ 'Ttl' => ttl,
221
+ 'Status' => status,
222
+ })
223
+
224
+ payload = @version.update('POST', @uri, data: data)
225
+ SessionInstance.new(
226
+ @version,
227
+ payload,
228
+ service_sid: @solution[:service_sid],
229
+ sid: @solution[:sid],
230
+ )
231
+ end
232
+
233
+ ##
234
+ # Access the interactions
235
+ # @return [InteractionList]
236
+ # @return [InteractionContext] if sid was passed.
237
+ def interactions(sid=:unset)
238
+
239
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
240
+
241
+ if sid != :unset
242
+ return InteractionContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
243
+ end
244
+
245
+ unless @interactions
246
+ @interactions = InteractionList.new(
247
+ @version, service_sid: @solution[:service_sid], session_sid: @solution[:sid], )
248
+ end
249
+
250
+ @interactions
251
+ end
252
+ ##
253
+ # Access the participants
254
+ # @return [ParticipantList]
255
+ # @return [ParticipantContext] if sid was passed.
256
+ def participants(sid=:unset)
257
+
258
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
259
+
260
+ if sid != :unset
261
+ return ParticipantContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
262
+ end
263
+
264
+ unless @participants
265
+ @participants = ParticipantList.new(
266
+ @version, service_sid: @solution[:service_sid], session_sid: @solution[:sid], )
267
+ end
268
+
269
+ @participants
270
+ end
271
+
272
+ ##
273
+ # Provide a user friendly representation
274
+ def to_s
275
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
276
+ "#<Twilio.Proxy.V1.SessionContext #{context}>"
277
+ end
278
+
279
+ ##
280
+ # Provide a detailed, user friendly representation
281
+ def inspect
282
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
283
+ "#<Twilio.Proxy.V1.SessionContext #{context}>"
284
+ end
285
+ end
286
+
287
+ class SessionPage < Page
288
+ ##
289
+ # Initialize the SessionPage
290
+ # @param [Version] version Version that contains the resource
291
+ # @param [Response] response Response from the API
292
+ # @param [Hash] solution Path solution for the resource
293
+ # @return [SessionPage] SessionPage
294
+ def initialize(version, response, solution)
295
+ super(version, response)
296
+
297
+ # Path Solution
298
+ @solution = solution
299
+ end
300
+
301
+ ##
302
+ # Build an instance of SessionInstance
303
+ # @param [Hash] payload Payload response from the API
304
+ # @return [SessionInstance] SessionInstance
305
+ def get_instance(payload)
306
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid])
307
+ end
308
+
309
+ ##
310
+ # Provide a user friendly representation
311
+ def to_s
312
+ '<Twilio.Proxy.V1.SessionPage>'
313
+ end
314
+ end
315
+ class SessionInstance < InstanceResource
316
+ ##
317
+ # Initialize the SessionInstance
318
+ # @param [Version] version Version that contains the resource
319
+ # @param [Hash] payload payload that contains response from Twilio
320
+ # @param [String] account_sid The SID of the
321
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Session
322
+ # resource.
323
+ # @param [String] sid The SID of the Call resource to fetch.
324
+ # @return [SessionInstance] SessionInstance
325
+ def initialize(version, payload , service_sid: nil, sid: nil)
326
+ super(version)
327
+
328
+ # Marshaled Properties
329
+ @properties = {
330
+ 'sid' => payload['sid'],
331
+ 'service_sid' => payload['service_sid'],
332
+ 'account_sid' => payload['account_sid'],
333
+ 'date_started' => Twilio.deserialize_iso8601_datetime(payload['date_started']),
334
+ 'date_ended' => Twilio.deserialize_iso8601_datetime(payload['date_ended']),
335
+ 'date_last_interaction' => Twilio.deserialize_iso8601_datetime(payload['date_last_interaction']),
336
+ 'date_expiry' => Twilio.deserialize_iso8601_datetime(payload['date_expiry']),
337
+ 'unique_name' => payload['unique_name'],
338
+ 'status' => payload['status'],
339
+ 'closed_reason' => payload['closed_reason'],
340
+ 'ttl' => payload['ttl'] == nil ? payload['ttl'] : payload['ttl'].to_i,
341
+ 'mode' => payload['mode'],
342
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
343
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
344
+ 'url' => payload['url'],
345
+ 'links' => payload['links'],
346
+ }
347
+
348
+ # Context
349
+ @instance_context = nil
350
+ @params = { 'service_sid' => service_sid || @properties['service_sid'] ,'sid' => sid || @properties['sid'] , }
351
+ end
352
+
353
+ ##
354
+ # Generate an instance context for the instance, the context is capable of
355
+ # performing various actions. All instance actions are proxied to the context
356
+ # @return [SessionContext] CallContext for this CallInstance
357
+ def context
358
+ unless @instance_context
359
+ @instance_context = SessionContext.new(@version , @params['service_sid'], @params['sid'])
360
+ end
361
+ @instance_context
362
+ end
363
+
364
+ ##
365
+ # @return [String] The unique string that we created to identify the Session resource.
366
+ def sid
367
+ @properties['sid']
368
+ end
369
+
370
+ ##
371
+ # @return [String] The SID of the [Service](https://www.twilio.com/docs/proxy/api/service) the session is associated with.
372
+ def service_sid
373
+ @properties['service_sid']
374
+ end
375
+
376
+ ##
377
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Session resource.
378
+ def account_sid
379
+ @properties['account_sid']
380
+ end
381
+
382
+ ##
383
+ # @return [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session started.
384
+ def date_started
385
+ @properties['date_started']
386
+ end
387
+
388
+ ##
389
+ # @return [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session ended.
390
+ def date_ended
391
+ @properties['date_ended']
392
+ end
393
+
394
+ ##
395
+ # @return [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session last had an interaction.
396
+ def date_last_interaction
397
+ @properties['date_last_interaction']
398
+ end
399
+
400
+ ##
401
+ # @return [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.
402
+ def date_expiry
403
+ @properties['date_expiry']
404
+ end
405
+
406
+ ##
407
+ # @return [String] An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. Supports UTF-8 characters. **This value should not have PII.**
408
+ def unique_name
409
+ @properties['unique_name']
410
+ end
411
+
412
+ ##
413
+ # @return [Status]
414
+ def status
415
+ @properties['status']
416
+ end
417
+
418
+ ##
419
+ # @return [String] The reason the Session ended.
420
+ def closed_reason
421
+ @properties['closed_reason']
422
+ end
423
+
424
+ ##
425
+ # @return [String] The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.
426
+ def ttl
427
+ @properties['ttl']
428
+ end
429
+
430
+ ##
431
+ # @return [Mode]
432
+ def mode
433
+ @properties['mode']
434
+ end
435
+
436
+ ##
437
+ # @return [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.
438
+ def date_created
439
+ @properties['date_created']
440
+ end
441
+
442
+ ##
443
+ # @return [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.
444
+ def date_updated
445
+ @properties['date_updated']
446
+ end
447
+
448
+ ##
449
+ # @return [String] The absolute URL of the Session resource.
450
+ def url
451
+ @properties['url']
452
+ end
453
+
454
+ ##
455
+ # @return [Hash] The URLs of resources related to the Session.
456
+ def links
457
+ @properties['links']
458
+ end
459
+
460
+ ##
461
+ # Delete the SessionInstance
462
+ # @return [Boolean] True if delete succeeds, false otherwise
463
+ def delete
464
+
465
+ context.delete
466
+ end
467
+
468
+ ##
469
+ # Fetch the SessionInstance
470
+ # @return [SessionInstance] Fetched SessionInstance
471
+ def fetch
472
+
473
+ context.fetch
474
+ end
475
+
476
+ ##
477
+ # Update the SessionInstance
478
+ # @param [Time] date_expiry The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the `ttl` value.
479
+ # @param [String] ttl The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session's last Interaction.
480
+ # @param [Status] status
481
+ # @return [SessionInstance] Updated SessionInstance
482
+ def update(
483
+ date_expiry: :unset,
484
+ ttl: :unset,
485
+ status: :unset
486
+ )
487
+
488
+ context.update(
489
+ date_expiry: date_expiry,
490
+ ttl: ttl,
491
+ status: status,
492
+ )
493
+ end
494
+
495
+ ##
496
+ # Access the interactions
497
+ # @return [interactions] interactions
498
+ def interactions
499
+ context.interactions
500
+ end
501
+
502
+ ##
503
+ # Access the participants
504
+ # @return [participants] participants
505
+ def participants
506
+ context.participants
507
+ end
508
+
509
+ ##
510
+ # Provide a user friendly representation
511
+ def to_s
512
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
513
+ "<Twilio.Proxy.V1.SessionInstance #{values}>"
514
+ end
515
+
516
+ ##
517
+ # Provide a detailed, user friendly representation
518
+ def inspect
519
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
520
+ "<Twilio.Proxy.V1.SessionInstance #{values}>"
521
+ end
522
+ end
523
+
524
+ end
548
525
  end
549
- end
550
526
  end
551
- end
552
527
  end
553
- end
554
- end
528
+ end
529
+
530
+