twilio-ruby 7.4.4 → 7.10.4

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 (590) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/workflows/test-and-deploy.yml +4 -3
  4. data/.gitignore +1 -0
  5. data/CHANGES.md +529 -0
  6. data/Dockerfile +3 -2
  7. data/README.md +2 -2
  8. data/cluster/cluster_oauth_spec.rb +4 -4
  9. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  10. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  11. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  12. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  13. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  14. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  15. data/lib/twilio-ruby/http/client_token_manager.rb +5 -2
  16. data/lib/twilio-ruby/http/org_token_manager.rb +5 -2
  17. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +135 -0
  18. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +95 -1
  19. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +94 -0
  20. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +248 -1
  21. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +248 -1
  22. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  23. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  24. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +154 -4
  25. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +155 -0
  26. data/lib/twilio-ruby/rest/accounts/v1.rb +6 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +86 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +313 -4
  29. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +337 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +160 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +125 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +125 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +125 -4
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +125 -4
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +125 -4
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +125 -4
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +125 -4
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +160 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +88 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +86 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +169 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +245 -1
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +272 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +784 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +784 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +237 -2
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +99 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +170 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +416 -20
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +446 -7
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +224 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +216 -2
  53. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +234 -1
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +162 -1
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +214 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +192 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +192 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +192 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +395 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +213 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +96 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +187 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +336 -7
  64. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +95 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +95 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +168 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +217 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +198 -1
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +251 -1
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +139 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +182 -1
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +181 -1
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +181 -1
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +199 -2
  75. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +212 -1
  76. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +213 -1
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +251 -1
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +245 -1
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +214 -1
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +214 -1
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +214 -1
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +214 -1
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +214 -1
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +317 -1
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +260 -1
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +245 -1
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +95 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +180 -1
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +98 -5
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +98 -5
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +98 -5
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +98 -5
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +98 -5
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +98 -5
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +98 -5
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +98 -5
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +98 -5
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +280 -6
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +110 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account.rb +229 -1
  106. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +180 -1
  107. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +180 -1
  108. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +113 -1
  109. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +90 -0
  110. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +232 -1
  111. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +86 -1
  112. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +136 -0
  113. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +234 -1
  114. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +90 -1
  115. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +86 -1
  116. data/lib/twilio-ruby/rest/assistants/v1/session.rb +159 -1
  117. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +234 -1
  118. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +160 -1
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +134 -2
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +157 -1
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +136 -0
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +174 -0
  123. data/lib/twilio-ruby/rest/chat/v1/credential.rb +275 -1
  124. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +220 -1
  125. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +257 -1
  126. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +259 -1
  127. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +263 -1
  128. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +251 -1
  129. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +86 -1
  130. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +260 -1
  131. data/lib/twilio-ruby/rest/chat/v1/service.rb +401 -1
  132. data/lib/twilio-ruby/rest/chat/v2/credential.rb +275 -1
  133. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +186 -1
  134. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +220 -1
  135. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +291 -1
  136. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +290 -1
  137. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +281 -1
  138. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +288 -1
  139. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +251 -1
  140. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +184 -1
  141. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +224 -1
  142. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +264 -1
  143. data/lib/twilio-ruby/rest/chat/v2/service.rb +332 -1
  144. data/lib/twilio-ruby/rest/chat/v3/channel.rb +149 -0
  145. data/lib/twilio-ruby/rest/client.rb +5 -5
  146. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +90 -0
  147. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +136 -0
  148. data/lib/twilio-ruby/rest/content/v1/content.rb +962 -6
  149. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +86 -1
  150. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +86 -1
  151. data/lib/twilio-ruby/rest/content/v2/content.rb +107 -1
  152. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +107 -1
  153. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +301 -1
  154. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +178 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +175 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +161 -1
  157. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +293 -1
  158. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +297 -1
  159. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +275 -1
  160. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +315 -1
  161. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +129 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +278 -1
  163. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +90 -1
  164. data/lib/twilio-ruby/rest/conversations/v1/role.rb +248 -1
  165. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +189 -4
  166. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +204 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +177 -0
  168. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +177 -0
  169. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +162 -1
  170. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +296 -1
  171. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +300 -1
  172. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +278 -1
  173. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +318 -1
  174. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +130 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +90 -1
  176. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +251 -1
  177. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +221 -1
  178. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +267 -1
  179. data/lib/twilio-ruby/rest/conversations/v1/service.rb +210 -1
  180. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +219 -1
  181. data/lib/twilio-ruby/rest/conversations/v1/user.rb +264 -1
  182. data/lib/twilio-ruby/rest/events/v1/event_type.rb +161 -1
  183. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +160 -1
  184. data/lib/twilio-ruby/rest/events/v1/schema.rb +136 -0
  185. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +88 -0
  186. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +95 -0
  187. data/lib/twilio-ruby/rest/events/v1/sink.rb +252 -1
  188. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +248 -1
  189. data/lib/twilio-ruby/rest/events/v1/subscription.rb +253 -26
  190. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +241 -4
  191. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +237 -1
  192. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +167 -0
  193. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  194. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +340 -1
  195. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +143 -4
  196. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +90 -1
  197. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +274 -1
  198. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +226 -1
  199. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +253 -1
  200. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +93 -1
  201. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +138 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +90 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +90 -0
  204. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +138 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +119 -1
  206. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +207 -1
  207. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +223 -1
  209. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +258 -1
  210. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +214 -1
  211. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +240 -1
  212. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +139 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +165 -1
  214. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +203 -1
  215. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +139 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +197 -1
  217. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +140 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +135 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +260 -1
  220. data/lib/twilio-ruby/rest/flex_api/v1.rb +6 -0
  221. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +176 -39
  222. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +111 -0
  223. data/lib/twilio-ruby/rest/flex_api_base.rb +1 -6
  224. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +177 -0
  225. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +191 -0
  226. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +95 -1
  227. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +103 -0
  228. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  229. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  230. data/lib/twilio-ruby/rest/iam/v1.rb +21 -0
  231. data/lib/twilio-ruby/rest/iam_base.rb +1 -6
  232. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +186 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +142 -0
  234. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +88 -1
  235. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +90 -1
  236. data/lib/twilio-ruby/rest/insights/v1/call.rb +136 -0
  237. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +184 -3
  238. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +175 -1
  239. data/lib/twilio-ruby/rest/insights/v1/conference.rb +179 -1
  240. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +160 -1
  241. data/lib/twilio-ruby/rest/insights/v1/room.rb +171 -1
  242. data/lib/twilio-ruby/rest/insights/v1/setting.rb +178 -0
  243. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +570 -0
  244. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +641 -0
  245. data/lib/twilio-ruby/rest/insights/v2/report.rb +940 -0
  246. data/lib/twilio-ruby/rest/insights/v2.rb +79 -0
  247. data/lib/twilio-ruby/rest/insights_base.rb +6 -1
  248. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +257 -1
  249. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +163 -1
  250. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +157 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +136 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +169 -3
  253. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +163 -1
  254. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +312 -2
  255. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  256. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  257. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +142 -0
  258. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +168 -1
  259. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +93 -4
  260. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +278 -1
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +275 -1
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +220 -1
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +257 -1
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +259 -1
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +263 -1
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +251 -1
  267. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +86 -1
  268. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +260 -1
  269. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +401 -1
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +275 -1
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +186 -1
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +220 -1
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +291 -1
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +290 -1
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +281 -1
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +288 -1
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +251 -1
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +184 -1
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +221 -1
  280. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +264 -1
  281. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +332 -1
  282. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → knowledge/v1/knowledge/chunk.rb} +129 -173
  283. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  284. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  285. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +16 -16
  286. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  287. data/lib/twilio-ruby/rest/{microvisor_base.rb → knowledge_base.rb} +6 -6
  288. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +153 -2
  289. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  290. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  291. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +197 -13
  292. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  293. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  294. data/lib/twilio-ruby/rest/lookups/v2.rb +86 -0
  295. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +160 -1
  296. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +159 -1
  297. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +193 -1
  298. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +90 -0
  299. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +254 -1
  300. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +121 -0
  301. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +186 -0
  302. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +89 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +88 -0
  304. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +197 -1
  305. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +245 -1
  306. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +141 -0
  307. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +188 -0
  308. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +177 -0
  309. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +136 -0
  310. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  311. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +100 -0
  312. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +157 -0
  313. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +136 -0
  314. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +136 -0
  315. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +212 -1
  316. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +212 -1
  317. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +225 -3
  318. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +212 -1
  319. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +212 -1
  320. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +393 -12
  321. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +94 -0
  322. data/lib/twilio-ruby/rest/messaging/v1/service.rb +336 -5
  323. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +717 -10
  324. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +87 -0
  325. data/lib/twilio-ruby/rest/messaging/v1.rb +15 -0
  326. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  327. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  328. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  329. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  330. data/lib/twilio-ruby/rest/messaging_base.rb +6 -1
  331. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +165 -1
  332. data/lib/twilio-ruby/rest/monitor/v1/event.rb +172 -2
  333. data/lib/twilio-ruby/rest/notify/v1/credential.rb +275 -1
  334. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +240 -1
  335. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +146 -0
  336. data/lib/twilio-ruby/rest/notify/v1/service.rb +322 -1
  337. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +162 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +89 -0
  339. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
  340. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  341. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +320 -8
  342. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +157 -0
  343. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +145 -0
  344. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +89 -0
  345. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +131 -0
  346. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
  347. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +116 -1
  348. data/lib/twilio-ruby/rest/numbers/v1/{porting_webhook_configuration_fetch.rb → webhook.rb} +107 -20
  349. data/lib/twilio-ruby/rest/numbers/v1.rb +22 -4
  350. data/lib/twilio-ruby/rest/numbers/v2/application.rb +707 -0
  351. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +94 -1
  352. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +229 -1
  353. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +168 -0
  354. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +149 -0
  355. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +303 -1
  356. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +118 -1
  357. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +185 -1
  358. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +212 -1
  359. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +95 -0
  360. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +312 -3
  361. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +251 -1
  362. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +159 -1
  363. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +173 -1
  364. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +251 -1
  365. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +159 -1
  366. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  367. data/lib/twilio-ruby/rest/numbers/v2.rb +15 -0
  368. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  369. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  370. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  371. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +105 -0
  372. data/lib/twilio-ruby/rest/oauth/v1/token.rb +115 -0
  373. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  374. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  375. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  376. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  377. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +96 -1
  378. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +259 -1
  379. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +327 -1
  380. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +160 -1
  381. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +159 -1
  382. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +193 -1
  383. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +254 -1
  384. data/lib/twilio-ruby/rest/preview/wireless/command.rb +216 -1
  385. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +272 -1
  386. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +145 -0
  387. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +246 -1
  388. data/lib/twilio-ruby/rest/preview_base.rb +0 -5
  389. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +105 -0
  390. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +115 -0
  391. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +160 -1
  392. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +185 -1
  393. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +436 -1
  394. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +136 -0
  395. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +159 -1
  396. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  397. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +159 -1
  398. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  399. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +159 -1
  400. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +136 -0
  401. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  402. data/lib/twilio-ruby/rest/pricing/v2/country.rb +159 -1
  403. data/lib/twilio-ruby/rest/pricing/v2/number.rb +142 -0
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +159 -1
  405. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +142 -0
  406. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  407. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +251 -1
  408. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +181 -1
  409. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +199 -1
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +223 -1
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +266 -1
  412. data/lib/twilio-ruby/rest/proxy/v1/service.rb +284 -28
  413. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +171 -0
  414. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +171 -0
  415. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +171 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +161 -1
  417. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +245 -1
  418. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +137 -0
  419. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +221 -1
  420. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +197 -1
  421. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +168 -2
  422. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +254 -1
  423. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +215 -1
  424. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +138 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +161 -1
  426. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +245 -1
  427. data/lib/twilio-ruby/rest/serverless/v1/service.rb +257 -1
  428. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +137 -0
  429. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +138 -0
  430. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +175 -1
  431. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +218 -1
  432. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +137 -0
  433. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +138 -0
  434. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +175 -1
  435. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +255 -1
  436. data/lib/twilio-ruby/rest/studio/v1/flow.rb +179 -1
  437. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +137 -0
  438. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +138 -0
  439. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +175 -1
  440. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +269 -1
  441. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +167 -1
  442. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +168 -0
  443. data/lib/twilio-ruby/rest/studio/v2/flow.rb +267 -1
  444. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +103 -0
  445. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +205 -1
  446. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +266 -1
  447. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +213 -1
  448. data/lib/twilio-ruby/rest/supersim/v1/network.rb +165 -1
  449. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +212 -1
  450. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +225 -1
  451. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +90 -1
  452. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +86 -1
  453. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +86 -1
  454. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +246 -1
  455. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +205 -1
  456. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +102 -1
  457. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +221 -1
  458. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +256 -1
  459. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +277 -1
  460. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +221 -1
  461. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +254 -1
  462. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +280 -1
  463. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +221 -1
  464. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +254 -1
  465. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +96 -0
  466. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +248 -1
  467. data/lib/twilio-ruby/rest/sync/v1/service.rb +278 -1
  468. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +252 -1
  469. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +182 -1
  470. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +362 -3
  471. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +311 -2
  472. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +254 -1
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +90 -0
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +155 -0
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +143 -0
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +155 -0
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +98 -1
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +283 -1
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +354 -3
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +198 -1
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +152 -0
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +151 -0
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +142 -0
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +160 -0
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +281 -1
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +155 -0
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +143 -0
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +155 -0
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +274 -1
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +154 -0
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +142 -0
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +154 -0
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +277 -1
  494. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +212 -1
  495. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +212 -1
  496. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +269 -1
  497. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +213 -2
  498. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +171 -0
  499. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +291 -1
  500. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +187 -4
  501. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +291 -0
  502. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +251 -1
  503. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +219 -1
  504. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +214 -1
  505. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +192 -1
  506. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +266 -1
  507. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +251 -1
  508. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +159 -1
  509. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +159 -1
  510. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +251 -1
  511. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +159 -1
  512. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +219 -1
  513. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +214 -1
  514. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +192 -1
  515. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +266 -1
  516. data/lib/twilio-ruby/rest/verify/v2/form.rb +136 -0
  517. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +187 -0
  518. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +178 -0
  519. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  520. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +97 -0
  521. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +252 -1
  522. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +239 -1
  523. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +142 -0
  524. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +212 -1
  525. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +248 -1
  526. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  527. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  528. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  529. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +254 -1
  530. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +248 -1
  531. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +254 -1
  532. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +110 -0
  533. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +269 -1
  534. data/lib/twilio-ruby/rest/verify/v2/service.rb +529 -2
  535. data/lib/twilio-ruby/rest/verify/v2/template.rb +88 -1
  536. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +178 -4
  537. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +159 -3
  538. data/lib/twilio-ruby/rest/video/v1/composition.rb +242 -1
  539. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +304 -1
  540. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +181 -0
  541. data/lib/twilio-ruby/rest/video/v1/recording.rb +192 -1
  542. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +181 -0
  543. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +137 -0
  544. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +161 -1
  545. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +122 -0
  546. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +161 -1
  547. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +201 -1
  548. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +120 -0
  549. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +188 -1
  550. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +657 -0
  551. data/lib/twilio-ruby/rest/video/v1/room.rb +311 -1
  552. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +131 -0
  553. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +296 -1
  554. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +269 -1
  555. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +242 -1
  556. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +94 -0
  557. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +86 -1
  558. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +171 -1
  559. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +166 -0
  560. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  561. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +248 -1
  562. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +245 -1
  563. data/lib/twilio-ruby/rest/wireless/v1/command.rb +236 -1
  564. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +282 -2
  565. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +86 -1
  566. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +92 -1
  567. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +272 -1
  568. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +92 -1
  569. data/lib/twilio-ruby/twiml/voice_response.rb +183 -18
  570. data/lib/twilio-ruby/version.rb +1 -1
  571. data/twilio-ruby.gemspec +1 -3
  572. metadata +50 -61
  573. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -382
  574. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -375
  575. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -213
  576. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -398
  577. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -391
  578. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -441
  579. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  580. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  581. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -407
  582. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -472
  583. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -467
  584. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -407
  585. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -444
  586. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -470
  587. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -407
  588. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -444
  589. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -529
  590. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -430
@@ -0,0 +1,367 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Numbers
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.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Numbers < NumbersBase
19
+ class V1 < Version
20
+ class PortingAllPortInList < ListResource
21
+
22
+ ##
23
+ # Initialize the PortingAllPortInList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [PortingAllPortInList] PortingAllPortInList
26
+ def initialize(version)
27
+ super(version)
28
+
29
+ # Path Solution
30
+ @solution = { }
31
+ @uri = "/Porting/PortIn/PortInRequests"
32
+
33
+ end
34
+
35
+ ##
36
+ # Lists PortingAllPortInInstance records from the API as a list.
37
+ # Unlike stream(), this operation is eager and will load `limit` records into
38
+ # memory before returning.
39
+ # @param [String] token Page start token, if null then it will start from the beginning
40
+ # @param [String] size Number of items per page
41
+ # @param [String] port_in_request_sid Filter by Port in request SID, supports multiple values separated by comma
42
+ # @param [String] port_in_request_status Filter by Port In request status
43
+ # @param [String] created_before Find all created before a certain date
44
+ # @param [String] created_after Find all created after a certain date
45
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
46
+ # guarantees to never return more than limit. Default is no limit
47
+ # @param [Integer] page_size Number of records to fetch per request, when
48
+ # not set will use the default value of 50 records. If no page_size is defined
49
+ # but a limit is defined, stream() will attempt to read the limit with the most
50
+ # efficient page size, i.e. min(limit, 1000)
51
+ # @return [Array] Array of up to limit results
52
+ def list(token: :unset, size: :unset, port_in_request_sid: :unset, port_in_request_status: :unset, created_before: :unset, created_after: :unset, limit: nil, page_size: nil)
53
+ self.stream(
54
+ token: token,
55
+ size: size,
56
+ port_in_request_sid: port_in_request_sid,
57
+ port_in_request_status: port_in_request_status,
58
+ created_before: created_before,
59
+ created_after: created_after,
60
+ limit: limit,
61
+ page_size: page_size
62
+ ).entries
63
+ end
64
+
65
+ ##
66
+ # Streams Instance records from the API as an Enumerable.
67
+ # This operation lazily loads records as efficiently as possible until the limit
68
+ # is reached.
69
+ # @param [String] token Page start token, if null then it will start from the beginning
70
+ # @param [String] size Number of items per page
71
+ # @param [String] port_in_request_sid Filter by Port in request SID, supports multiple values separated by comma
72
+ # @param [String] port_in_request_status Filter by Port In request status
73
+ # @param [String] created_before Find all created before a certain date
74
+ # @param [String] created_after Find all created after a certain date
75
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
76
+ # guarantees to never return more than limit. Default is no limit
77
+ # @param [Integer] page_size Number of records to fetch per request, when
78
+ # not set will use the default value of 50 records. If no page_size is defined
79
+ # but a limit is defined, stream() will attempt to read the limit with the most
80
+ # efficient page size, i.e. min(limit, 1000)
81
+ # @return [Enumerable] Enumerable that will yield up to limit results
82
+ def stream(token: :unset, size: :unset, port_in_request_sid: :unset, port_in_request_status: :unset, created_before: :unset, created_after: :unset, limit: nil, page_size: nil)
83
+ limits = @version.read_limits(limit, page_size)
84
+
85
+ page = self.page(
86
+ token: token,
87
+ size: size,
88
+ port_in_request_sid: port_in_request_sid,
89
+ port_in_request_status: port_in_request_status,
90
+ created_before: created_before,
91
+ created_after: created_after,
92
+ page_size: limits[:page_size], )
93
+
94
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
95
+ end
96
+
97
+ ##
98
+ # Lists PortingAllPortInPageMetadata records from the API as a list.
99
+ # @param [String] token Page start token, if null then it will start from the beginning
100
+ # @param [String] size Number of items per page
101
+ # @param [String] port_in_request_sid Filter by Port in request SID, supports multiple values separated by comma
102
+ # @param [String] port_in_request_status Filter by Port In request status
103
+ # @param [String] created_before Find all created before a certain date
104
+ # @param [String] created_after Find all created after a certain date
105
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
106
+ # guarantees to never return more than limit. Default is no limit
107
+ # @param [Integer] page_size Number of records to fetch per request, when
108
+ # not set will use the default value of 50 records. If no page_size is defined
109
+ # but a limit is defined, stream() will attempt to read the limit with the most
110
+ # efficient page size, i.e. min(limit, 1000)
111
+ # @return [Array] Array of up to limit results
112
+ def list_with_metadata(token: :unset, size: :unset, port_in_request_sid: :unset, port_in_request_status: :unset, created_before: :unset, created_after: :unset, limit: nil, page_size: nil)
113
+ limits = @version.read_limits(limit, page_size)
114
+ params = Twilio::Values.of({
115
+ 'Token' => token,
116
+ 'Size' => size,
117
+ 'PortInRequestSid' => port_in_request_sid,
118
+ 'PortInRequestStatus' => port_in_request_status,
119
+ 'CreatedBefore' => created_before,
120
+ 'CreatedAfter' => created_after,
121
+
122
+ 'PageSize' => limits[:page_size],
123
+ });
124
+ headers = Twilio::Values.of({})
125
+
126
+ response = @version.page('GET', @uri, params: params, headers: headers)
127
+
128
+ PortingAllPortInPageMetadata.new(@version, response, @solution, limits[:limit])
129
+ end
130
+
131
+ ##
132
+ # When passed a block, yields PortingAllPortInInstance records from the API.
133
+ # This operation lazily loads records as efficiently as possible until the limit
134
+ # is reached.
135
+ def each
136
+ limits = @version.read_limits
137
+
138
+ page = self.page(page_size: limits[:page_size], )
139
+
140
+ @version.stream(page,
141
+ limit: limits[:limit],
142
+ page_limit: limits[:page_limit]).each {|x| yield x}
143
+ end
144
+
145
+ ##
146
+ # Retrieve a single page of PortingAllPortInInstance records from the API.
147
+ # Request is executed immediately.
148
+ # @param [String] token Page start token, if null then it will start from the beginning
149
+ # @param [String] size Number of items per page
150
+ # @param [String] port_in_request_sid Filter by Port in request SID, supports multiple values separated by comma
151
+ # @param [String] port_in_request_status Filter by Port In request status
152
+ # @param [String] created_before Find all created before a certain date
153
+ # @param [String] created_after Find all created after a certain date
154
+ # @param [String] page_token PageToken provided by the API
155
+ # @param [Integer] page_number Page Number, this value is simply for client state
156
+ # @param [Integer] page_size Number of records to return, defaults to 50
157
+ # @return [Page] Page of PortingAllPortInInstance
158
+ def page(token: :unset, size: :unset, port_in_request_sid: :unset, port_in_request_status: :unset, created_before: :unset, created_after: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
159
+ params = Twilio::Values.of({
160
+ 'Token' => token,
161
+ 'Size' => size,
162
+ 'PortInRequestSid' => port_in_request_sid,
163
+ 'PortInRequestStatus' => port_in_request_status,
164
+ 'CreatedBefore' => created_before,
165
+ 'CreatedAfter' => created_after,
166
+ 'PageToken' => page_token,
167
+ 'Page' => page_number,
168
+ 'PageSize' => page_size,
169
+ })
170
+ headers = Twilio::Values.of({})
171
+
172
+
173
+
174
+ response = @version.page('GET', @uri, params: params, headers: headers)
175
+
176
+ PortingAllPortInPage.new(@version, response, @solution)
177
+ end
178
+
179
+ ##
180
+ # Retrieve a single page of PortingAllPortInInstance records from the API.
181
+ # Request is executed immediately.
182
+ # @param [String] target_url API-generated URL for the requested results page
183
+ # @return [Page] Page of PortingAllPortInInstance
184
+ def get_page(target_url)
185
+ response = @version.domain.request(
186
+ 'GET',
187
+ target_url
188
+ )
189
+ PortingAllPortInPage.new(@version, response, @solution)
190
+ end
191
+
192
+
193
+
194
+ # Provide a user friendly representation
195
+ def to_s
196
+ '#<Twilio.Numbers.V1.PortingAllPortInList>'
197
+ end
198
+ end
199
+
200
+ class PortingAllPortInPage < Page
201
+ ##
202
+ # Initialize the PortingAllPortInPage
203
+ # @param [Version] version Version that contains the resource
204
+ # @param [Response] response Response from the API
205
+ # @param [Hash] solution Path solution for the resource
206
+ # @return [PortingAllPortInPage] PortingAllPortInPage
207
+ def initialize(version, response, solution)
208
+ super(version, response)
209
+
210
+
211
+ # Path Solution
212
+ @solution = solution
213
+ end
214
+
215
+ ##
216
+ # Build an instance of PortingAllPortInInstance
217
+ # @param [Hash] payload Payload response from the API
218
+ # @return [PortingAllPortInInstance] PortingAllPortInInstance
219
+ def get_instance(payload)
220
+ PortingAllPortInInstance.new(@version, payload)
221
+ end
222
+
223
+ ##
224
+ # Provide a user friendly representation
225
+ def to_s
226
+ '<Twilio.Numbers.V1.PortingAllPortInPage>'
227
+ end
228
+ end
229
+
230
+ class PortingAllPortInPageMetadata < PageMetadata
231
+ attr_reader :porting_all_port_in_page
232
+
233
+ def initialize(version, response, solution, limit)
234
+ super(version, response)
235
+ @porting_all_port_in_page = []
236
+ @limit = limit
237
+ key = get_key(response.body)
238
+ records = 0
239
+ while( limit != :unset && records < limit )
240
+ @porting_all_port_in_page << PortingAllPortInListResponse.new(version, @payload, key, limit - records)
241
+ @payload = self.next_page
242
+ break unless @payload
243
+ records += @payload.body[key].size
244
+ end
245
+ # Path Solution
246
+ @solution = solution
247
+ end
248
+
249
+ def each
250
+ @porting_all_port_in_page.each do |record|
251
+ yield record
252
+ end
253
+ end
254
+
255
+ def to_s
256
+ '<Twilio::REST::Numbers::V1PageMetadata>';
257
+ end
258
+ end
259
+ class PortingAllPortInListResponse < InstanceListResource
260
+
261
+ # @param [Array<PortingAllPortInInstance>] instance
262
+ # @param [Hash{String => Object}] headers
263
+ # @param [Integer] status_code
264
+ def initialize(version, payload, key, limit = :unset)
265
+ data_list = payload.body[key]
266
+ if limit != :unset
267
+ data_list = data_list[0, limit]
268
+ end
269
+ @porting_all_port_in = data_list.map do |data|
270
+ PortingAllPortInInstance.new(version, data)
271
+ end
272
+ @headers = payload.headers
273
+ @status_code = payload.status_code
274
+ end
275
+
276
+ def porting_all_port_in
277
+ @porting_all_port_in
278
+ end
279
+
280
+ def headers
281
+ @headers
282
+ end
283
+
284
+ def status_code
285
+ @status_code
286
+ end
287
+ end
288
+
289
+ class PortingAllPortInInstance < InstanceResource
290
+ ##
291
+ # Initialize the PortingAllPortInInstance
292
+ # @param [Version] version Version that contains the resource
293
+ # @param [Hash] payload payload that contains response from Twilio
294
+ # @param [String] account_sid The SID of the
295
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this PortingAllPortIn
296
+ # resource.
297
+ # @param [String] sid The SID of the Call resource to fetch.
298
+ # @return [PortingAllPortInInstance] PortingAllPortInInstance
299
+ def initialize(version, payload )
300
+ super(version)
301
+
302
+
303
+ # Marshaled Properties
304
+ @properties = {
305
+ 'port_in_request_sid' => payload['port_in_request_sid'],
306
+ 'port_in_request_status' => payload['port_in_request_status'],
307
+ 'status_last_updated_timestamp' => payload['status_last_updated_timestamp'],
308
+ 'phone_numbers_requested' => payload['phone_numbers_requested'] == nil ? payload['phone_numbers_requested'] : payload['phone_numbers_requested'].to_i,
309
+ 'phone_numbers_ported' => payload['phone_numbers_ported'] == nil ? payload['phone_numbers_ported'] : payload['phone_numbers_ported'].to_i,
310
+ 'suggested_action' => payload['suggested_action'],
311
+ }
312
+ end
313
+
314
+
315
+ ##
316
+ # @return [String] The SID of the Port-in request
317
+ def port_in_request_sid
318
+ @properties['port_in_request_sid']
319
+ end
320
+
321
+ ##
322
+ # @return [String] Status of the Port In Request
323
+ def port_in_request_status
324
+ @properties['port_in_request_status']
325
+ end
326
+
327
+ ##
328
+ # @return [String] The last updated timestamp of the request
329
+ def status_last_updated_timestamp
330
+ @properties['status_last_updated_timestamp']
331
+ end
332
+
333
+ ##
334
+ # @return [String] Amount of phone numbers requested
335
+ def phone_numbers_requested
336
+ @properties['phone_numbers_requested']
337
+ end
338
+
339
+ ##
340
+ # @return [String] Amount of phone numbers ported
341
+ def phone_numbers_ported
342
+ @properties['phone_numbers_ported']
343
+ end
344
+
345
+ ##
346
+ # @return [String] Suggested action on this ticket
347
+ def suggested_action
348
+ @properties['suggested_action']
349
+ end
350
+
351
+ ##
352
+ # Provide a user friendly representation
353
+ def to_s
354
+ "<Twilio.Numbers.V1.PortingAllPortInInstance>"
355
+ end
356
+
357
+ ##
358
+ # Provide a detailed, user friendly representation
359
+ def inspect
360
+ "<Twilio.Numbers.V1.PortingAllPortInInstance>"
361
+ end
362
+ end
363
+
364
+ end
365
+ end
366
+ end
367
+ end