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.
- checksums.yaml +5 -5
- data/.dockerignore +1 -1
- data/.github/workflows/test-and-deploy.yml +4 -3
- data/.gitignore +1 -0
- data/CHANGES.md +529 -0
- data/Dockerfile +3 -2
- data/README.md +2 -2
- data/cluster/cluster_oauth_spec.rb +4 -4
- data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
- data/lib/twilio-ruby/framework/rest/error.rb +27 -0
- data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
- data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
- data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
- data/lib/twilio-ruby/framework/rest/version.rb +91 -4
- data/lib/twilio-ruby/http/client_token_manager.rb +5 -2
- data/lib/twilio-ruby/http/org_token_manager.rb +5 -2
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +135 -0
- data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +95 -1
- data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +94 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +248 -1
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +248 -1
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
- data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
- data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +154 -4
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +155 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +6 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +86 -1
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +313 -4
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +337 -1
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +160 -1
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +125 -4
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +160 -1
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +88 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +86 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +169 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +245 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +272 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +784 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +784 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +237 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +99 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +170 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +416 -20
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +446 -7
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +224 -1
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +216 -2
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +234 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +162 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +214 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +192 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +192 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +192 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +395 -1
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +213 -1
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +96 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +187 -1
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +336 -7
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +95 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +95 -0
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +168 -1
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +217 -1
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +198 -1
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +251 -1
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +139 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +182 -1
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +181 -1
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +181 -1
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +199 -2
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +212 -1
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +213 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +251 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +245 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +214 -1
- 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
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +214 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +214 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +214 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +317 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +260 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +245 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +95 -0
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +180 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +98 -5
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +280 -6
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +110 -0
- data/lib/twilio-ruby/rest/api/v2010/account.rb +229 -1
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +180 -1
- data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +180 -1
- data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +113 -1
- data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +90 -0
- data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +232 -1
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +86 -1
- data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +136 -0
- data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +234 -1
- data/lib/twilio-ruby/rest/assistants/v1/policy.rb +90 -1
- data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +86 -1
- data/lib/twilio-ruby/rest/assistants/v1/session.rb +159 -1
- data/lib/twilio-ruby/rest/assistants/v1/tool.rb +234 -1
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +160 -1
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +134 -2
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +157 -1
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +136 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +174 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +275 -1
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +220 -1
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +257 -1
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +259 -1
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +263 -1
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +251 -1
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +86 -1
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +260 -1
- data/lib/twilio-ruby/rest/chat/v1/service.rb +401 -1
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +275 -1
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +186 -1
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +220 -1
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +291 -1
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +290 -1
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +281 -1
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +288 -1
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +251 -1
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +184 -1
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +224 -1
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +264 -1
- data/lib/twilio-ruby/rest/chat/v2/service.rb +332 -1
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +149 -0
- data/lib/twilio-ruby/rest/client.rb +5 -5
- data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +90 -0
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +136 -0
- data/lib/twilio-ruby/rest/content/v1/content.rb +962 -6
- data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +86 -1
- data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +86 -1
- data/lib/twilio-ruby/rest/content/v2/content.rb +107 -1
- data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +107 -1
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +301 -1
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +178 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +175 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +161 -1
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +293 -1
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +297 -1
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +275 -1
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +315 -1
- data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +129 -0
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +278 -1
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +90 -1
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +248 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +189 -4
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +204 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +177 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +177 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +162 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +296 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +300 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +278 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +318 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +130 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +90 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +251 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +221 -1
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +267 -1
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +210 -1
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +219 -1
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +264 -1
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +161 -1
- data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +160 -1
- data/lib/twilio-ruby/rest/events/v1/schema.rb +136 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +88 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +95 -0
- data/lib/twilio-ruby/rest/events/v1/sink.rb +252 -1
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +248 -1
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +253 -26
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +241 -4
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +237 -1
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +167 -0
- data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +340 -1
- data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +143 -4
- data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +90 -1
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +274 -1
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +226 -1
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +253 -1
- data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +93 -1
- data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +138 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +90 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +90 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +138 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +119 -1
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +207 -1
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +223 -1
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +258 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +214 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +240 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +139 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +165 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +203 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +139 -0
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +197 -1
- data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +140 -0
- data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +135 -0
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +260 -1
- data/lib/twilio-ruby/rest/flex_api/v1.rb +6 -0
- data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +176 -39
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +111 -0
- data/lib/twilio-ruby/rest/flex_api_base.rb +1 -6
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +177 -0
- data/lib/twilio-ruby/rest/iam/v1/api_key.rb +191 -0
- data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +95 -1
- data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +103 -0
- data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
- data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
- data/lib/twilio-ruby/rest/iam/v1.rb +21 -0
- data/lib/twilio-ruby/rest/iam_base.rb +1 -6
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +186 -0
- data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +142 -0
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +88 -1
- data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +90 -1
- data/lib/twilio-ruby/rest/insights/v1/call.rb +136 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +184 -3
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +175 -1
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +179 -1
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +160 -1
- data/lib/twilio-ruby/rest/insights/v1/room.rb +171 -1
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +178 -0
- data/lib/twilio-ruby/rest/insights/v2/inbound.rb +570 -0
- data/lib/twilio-ruby/rest/insights/v2/outbound.rb +641 -0
- data/lib/twilio-ruby/rest/insights/v2/report.rb +940 -0
- data/lib/twilio-ruby/rest/insights/v2.rb +79 -0
- data/lib/twilio-ruby/rest/insights_base.rb +6 -1
- data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +257 -1
- data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +163 -1
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +157 -0
- data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +136 -0
- data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +169 -3
- data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +163 -1
- data/lib/twilio-ruby/rest/intelligence/v2/service.rb +312 -2
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +142 -0
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +168 -1
- data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +93 -4
- data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +278 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +275 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +220 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +257 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +259 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +263 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +251 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +86 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +260 -1
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +401 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +275 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +186 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +220 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +291 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +290 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +281 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +288 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +251 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +184 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +221 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +264 -1
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +332 -1
- data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → knowledge/v1/knowledge/chunk.rb} +129 -173
- data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
- data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
- data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +16 -16
- data/lib/twilio-ruby/rest/knowledge.rb +6 -0
- data/lib/twilio-ruby/rest/{microvisor_base.rb → knowledge_base.rb} +6 -6
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +153 -2
- data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
- data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +197 -13
- data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
- data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
- data/lib/twilio-ruby/rest/lookups/v2.rb +86 -0
- data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +160 -1
- data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +159 -1
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +193 -1
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +90 -0
- data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +254 -1
- data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +121 -0
- data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +186 -0
- data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +89 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +88 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +197 -1
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +245 -1
- data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +141 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +188 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +177 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +136 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +100 -0
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +157 -0
- data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +136 -0
- data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +136 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +212 -1
- data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +212 -1
- data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +225 -3
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +212 -1
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +212 -1
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +393 -12
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +94 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +336 -5
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +717 -10
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +87 -0
- data/lib/twilio-ruby/rest/messaging/v1.rb +15 -0
- data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
- data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
- data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
- data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
- data/lib/twilio-ruby/rest/messaging_base.rb +6 -1
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +165 -1
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +172 -2
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +275 -1
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +240 -1
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +146 -0
- data/lib/twilio-ruby/rest/notify/v1/service.rb +322 -1
- data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +162 -0
- data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +89 -0
- data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +320 -8
- data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +157 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +145 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +89 -0
- data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +131 -0
- data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
- data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +116 -1
- data/lib/twilio-ruby/rest/numbers/v1/{porting_webhook_configuration_fetch.rb → webhook.rb} +107 -20
- data/lib/twilio-ruby/rest/numbers/v1.rb +22 -4
- data/lib/twilio-ruby/rest/numbers/v2/application.rb +707 -0
- data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +94 -1
- data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +229 -1
- data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +168 -0
- data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +149 -0
- data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +303 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +118 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +185 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +212 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +95 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +312 -3
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +251 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +159 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +173 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +251 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +159 -1
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
- data/lib/twilio-ruby/rest/numbers/v2.rb +15 -0
- data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
- data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
- data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
- data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +105 -0
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +115 -0
- data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
- data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
- data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
- data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +96 -1
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +259 -1
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +327 -1
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +160 -1
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +159 -1
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +193 -1
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +254 -1
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +216 -1
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +272 -1
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +145 -0
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +246 -1
- data/lib/twilio-ruby/rest/preview_base.rb +0 -5
- data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +105 -0
- data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +115 -0
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +160 -1
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +185 -1
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +436 -1
- data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +136 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +159 -1
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +159 -1
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +159 -1
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +136 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +159 -1
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +142 -0
- data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +159 -1
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +142 -0
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +251 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +181 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +199 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +223 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +266 -1
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +284 -28
- data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +171 -0
- data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +171 -0
- data/lib/twilio-ruby/rest/routes/v2/trunk.rb +171 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +161 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +245 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +137 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +221 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +197 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +168 -2
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +254 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +215 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +138 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +161 -1
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +245 -1
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +257 -1
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +137 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +138 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +175 -1
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +218 -1
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +137 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +138 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +175 -1
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +255 -1
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +179 -1
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +137 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +138 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +175 -1
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +269 -1
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +167 -1
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +168 -0
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +267 -1
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +103 -0
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +205 -1
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +266 -1
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +213 -1
- data/lib/twilio-ruby/rest/supersim/v1/network.rb +165 -1
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +212 -1
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +225 -1
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +90 -1
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +86 -1
- data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +86 -1
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +246 -1
- data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +205 -1
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +102 -1
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +221 -1
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +256 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +277 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +221 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +254 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +280 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +221 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +254 -1
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +96 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +248 -1
- data/lib/twilio-ruby/rest/sync/v1/service.rb +278 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +252 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +182 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +362 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +311 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +254 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +90 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +155 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +143 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +155 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +98 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +283 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +354 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +198 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +152 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +151 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +142 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +160 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +281 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +155 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +143 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +155 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +274 -1
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +154 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +142 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +154 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +277 -1
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +212 -1
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +212 -1
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +269 -1
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +213 -2
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +171 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +291 -1
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +187 -4
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +291 -0
- data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +251 -1
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +219 -1
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +214 -1
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +192 -1
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +266 -1
- data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +251 -1
- data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +159 -1
- data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +159 -1
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +251 -1
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +159 -1
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +219 -1
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +214 -1
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +192 -1
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +266 -1
- data/lib/twilio-ruby/rest/verify/v2/form.rb +136 -0
- data/lib/twilio-ruby/rest/verify/v2/safelist.rb +187 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +178 -0
- data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +97 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +252 -1
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +239 -1
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +142 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +212 -1
- data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +248 -1
- data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
- data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
- data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +254 -1
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +248 -1
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +254 -1
- data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +110 -0
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +269 -1
- data/lib/twilio-ruby/rest/verify/v2/service.rb +529 -2
- data/lib/twilio-ruby/rest/verify/v2/template.rb +88 -1
- data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +178 -4
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +159 -3
- data/lib/twilio-ruby/rest/video/v1/composition.rb +242 -1
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +304 -1
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +181 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +192 -1
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +181 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +137 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +161 -1
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +122 -0
- data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +161 -1
- data/lib/twilio-ruby/rest/video/v1/room/participant.rb +201 -1
- data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +120 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +188 -1
- data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +657 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +311 -1
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +131 -0
- data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +296 -1
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +269 -1
- data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +242 -1
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +94 -0
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +86 -1
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +171 -1
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +166 -0
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +248 -1
- data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +245 -1
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +236 -1
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +282 -2
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +86 -1
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +92 -1
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +272 -1
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +92 -1
- data/lib/twilio-ruby/twiml/voice_response.rb +183 -18
- data/lib/twilio-ruby/version.rb +1 -1
- data/twilio-ruby.gemspec +1 -3
- metadata +50 -61
- data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -382
- data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -375
- data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -213
- data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -398
- data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -391
- data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -441
- data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
- data/lib/twilio-ruby/rest/microvisor.rb +0 -24
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -407
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -472
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -467
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -407
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -444
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -470
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -407
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -444
- data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -529
- data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -430
|
@@ -28,6 +28,7 @@ module Twilio
|
|
|
28
28
|
# @return [ChallengeList] ChallengeList
|
|
29
29
|
def initialize(version, service_sid: nil, identity: nil)
|
|
30
30
|
super(version)
|
|
31
|
+
|
|
31
32
|
# Path Solution
|
|
32
33
|
@solution = { service_sid: service_sid, identity: identity }
|
|
33
34
|
@uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges"
|
|
@@ -75,6 +76,54 @@ module Twilio
|
|
|
75
76
|
)
|
|
76
77
|
end
|
|
77
78
|
|
|
79
|
+
##
|
|
80
|
+
# Create the ChallengeInstanceMetadata
|
|
81
|
+
# @param [String] factor_sid The unique SID identifier of the Factor.
|
|
82
|
+
# @param [Time] expiration_date The date-time when this Challenge expires, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. The default value is five (5) minutes after Challenge creation. The max value is sixty (60) minutes after creation.
|
|
83
|
+
# @param [String] details_message Shown to the user when the push notification arrives. Required when `factor_type` is `push`. Can be up to 256 characters in length
|
|
84
|
+
# @param [Array[Hash]] details_fields A list of objects that describe the Fields included in the Challenge. Each object contains the label and value of the field, the label can be up to 36 characters in length and the value can be up to 128 characters in length. Used when `factor_type` is `push`. There can be up to 20 details fields.
|
|
85
|
+
# @param [Object] hidden_details Details provided to give context about the Challenge. Not shown to the end user. It must be a stringified JSON with only strings values eg. `{\\\"ip\\\": \\\"172.168.1.234\\\"}`. Can be up to 1024 characters in length
|
|
86
|
+
# @param [String] auth_payload Optional payload used to verify the Challenge upon creation. Only used with a Factor of type `totp` to carry the TOTP code that needs to be verified. For `TOTP` this value must be between 3 and 8 characters long.
|
|
87
|
+
# @return [ChallengeInstance] Created ChallengeInstance
|
|
88
|
+
def create_with_metadata(
|
|
89
|
+
factor_sid: nil,
|
|
90
|
+
expiration_date: :unset,
|
|
91
|
+
details_message: :unset,
|
|
92
|
+
details_fields: :unset,
|
|
93
|
+
hidden_details: :unset,
|
|
94
|
+
auth_payload: :unset
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
data = Twilio::Values.of({
|
|
98
|
+
'FactorSid' => factor_sid,
|
|
99
|
+
'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
|
|
100
|
+
'Details.Message' => details_message,
|
|
101
|
+
'Details.Fields' => Twilio.serialize_list(details_fields) { |e| Twilio.serialize_object(e) },
|
|
102
|
+
'HiddenDetails' => Twilio.serialize_object(hidden_details),
|
|
103
|
+
'AuthPayload' => auth_payload,
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
|
|
113
|
+
challenge_instance = ChallengeInstance.new(
|
|
114
|
+
@version,
|
|
115
|
+
response.body,
|
|
116
|
+
service_sid: @solution[:service_sid],
|
|
117
|
+
identity: @solution[:identity],
|
|
118
|
+
)
|
|
119
|
+
ChallengeInstanceMetadata.new(
|
|
120
|
+
@version,
|
|
121
|
+
challenge_instance,
|
|
122
|
+
response.headers,
|
|
123
|
+
response.status_code
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
78
127
|
|
|
79
128
|
##
|
|
80
129
|
# Lists ChallengeInstance records from the API as a list.
|
|
@@ -126,6 +175,34 @@ module Twilio
|
|
|
126
175
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
127
176
|
end
|
|
128
177
|
|
|
178
|
+
##
|
|
179
|
+
# Lists ChallengePageMetadata records from the API as a list.
|
|
180
|
+
# @param [String] factor_sid The unique SID identifier of the Factor.
|
|
181
|
+
# @param [ChallengeStatuses] status The Status of the Challenges to fetch. One of `pending`, `expired`, `approved` or `denied`.
|
|
182
|
+
# @param [ListOrders] order The desired sort order of the Challenges list. One of `asc` or `desc` for ascending and descending respectively. Defaults to `asc`.
|
|
183
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
184
|
+
# guarantees to never return more than limit. Default is no limit
|
|
185
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
186
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
187
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
188
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
189
|
+
# @return [Array] Array of up to limit results
|
|
190
|
+
def list_with_metadata(factor_sid: :unset, status: :unset, order: :unset, limit: nil, page_size: nil)
|
|
191
|
+
limits = @version.read_limits(limit, page_size)
|
|
192
|
+
params = Twilio::Values.of({
|
|
193
|
+
'FactorSid' => factor_sid,
|
|
194
|
+
'Status' => status,
|
|
195
|
+
'Order' => order,
|
|
196
|
+
|
|
197
|
+
'PageSize' => limits[:page_size],
|
|
198
|
+
});
|
|
199
|
+
headers = Twilio::Values.of({})
|
|
200
|
+
|
|
201
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
202
|
+
|
|
203
|
+
ChallengePageMetadata.new(@version, response, @solution, limits[:limit])
|
|
204
|
+
end
|
|
205
|
+
|
|
129
206
|
##
|
|
130
207
|
# When passed a block, yields ChallengeInstance records from the API.
|
|
131
208
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
@@ -150,7 +227,7 @@ module Twilio
|
|
|
150
227
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
151
228
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
152
229
|
# @return [Page] Page of ChallengeInstance
|
|
153
|
-
def page(factor_sid: :unset, status: :unset, order: :unset, page_token: :unset, page_number: :unset,
|
|
230
|
+
def page(factor_sid: :unset, status: :unset, order: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
|
|
154
231
|
params = Twilio::Values.of({
|
|
155
232
|
'FactorSid' => factor_sid,
|
|
156
233
|
'Status' => status,
|
|
@@ -200,6 +277,7 @@ module Twilio
|
|
|
200
277
|
# @return [ChallengeContext] ChallengeContext
|
|
201
278
|
def initialize(version, service_sid, identity, sid)
|
|
202
279
|
super(version)
|
|
280
|
+
|
|
203
281
|
|
|
204
282
|
# Path Solution
|
|
205
283
|
@solution = { service_sid: service_sid, identity: identity, sid: sid, }
|
|
@@ -229,6 +307,33 @@ module Twilio
|
|
|
229
307
|
)
|
|
230
308
|
end
|
|
231
309
|
|
|
310
|
+
##
|
|
311
|
+
# Fetch the ChallengeInstanceMetadata
|
|
312
|
+
# @return [ChallengeInstance] Fetched ChallengeInstance
|
|
313
|
+
def fetch_with_metadata
|
|
314
|
+
|
|
315
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
response = @version.fetch_with_metadata('GET', @uri, headers: headers)
|
|
322
|
+
challenge_instance = ChallengeInstance.new(
|
|
323
|
+
@version,
|
|
324
|
+
response.body,
|
|
325
|
+
service_sid: @solution[:service_sid],
|
|
326
|
+
identity: @solution[:identity],
|
|
327
|
+
sid: @solution[:sid],
|
|
328
|
+
)
|
|
329
|
+
ChallengeInstanceMetadata.new(
|
|
330
|
+
@version,
|
|
331
|
+
challenge_instance,
|
|
332
|
+
response.headers,
|
|
333
|
+
response.status_code
|
|
334
|
+
)
|
|
335
|
+
end
|
|
336
|
+
|
|
232
337
|
##
|
|
233
338
|
# Update the ChallengeInstance
|
|
234
339
|
# @param [String] auth_payload The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must be between 3 and 8 characters long. For `Push` this value can be up to 5456 characters in length
|
|
@@ -260,6 +365,43 @@ module Twilio
|
|
|
260
365
|
)
|
|
261
366
|
end
|
|
262
367
|
|
|
368
|
+
##
|
|
369
|
+
# Update the ChallengeInstanceMetadata
|
|
370
|
+
# @param [String] auth_payload The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must be between 3 and 8 characters long. For `Push` this value can be up to 5456 characters in length
|
|
371
|
+
# @param [Object] metadata Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. `{\\\"os\\\": \\\"Android\\\"}`. Can be up to 1024 characters in length.
|
|
372
|
+
# @return [ChallengeInstance] Updated ChallengeInstance
|
|
373
|
+
def update_with_metadata(
|
|
374
|
+
auth_payload: :unset,
|
|
375
|
+
metadata: :unset
|
|
376
|
+
)
|
|
377
|
+
|
|
378
|
+
data = Twilio::Values.of({
|
|
379
|
+
'AuthPayload' => auth_payload,
|
|
380
|
+
'Metadata' => Twilio.serialize_object(metadata),
|
|
381
|
+
})
|
|
382
|
+
|
|
383
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
|
|
390
|
+
challenge_instance = ChallengeInstance.new(
|
|
391
|
+
@version,
|
|
392
|
+
response.body,
|
|
393
|
+
service_sid: @solution[:service_sid],
|
|
394
|
+
identity: @solution[:identity],
|
|
395
|
+
sid: @solution[:sid],
|
|
396
|
+
)
|
|
397
|
+
ChallengeInstanceMetadata.new(
|
|
398
|
+
@version,
|
|
399
|
+
challenge_instance,
|
|
400
|
+
response.headers,
|
|
401
|
+
response.status_code
|
|
402
|
+
)
|
|
403
|
+
end
|
|
404
|
+
|
|
263
405
|
##
|
|
264
406
|
# Access the notifications
|
|
265
407
|
# @return [NotificationList]
|
|
@@ -287,6 +429,53 @@ module Twilio
|
|
|
287
429
|
end
|
|
288
430
|
end
|
|
289
431
|
|
|
432
|
+
class ChallengeInstanceMetadata < InstanceResourceMetadata
|
|
433
|
+
##
|
|
434
|
+
# Initializes a new ChallengeInstanceMetadata.
|
|
435
|
+
# @param [Version] version Version that contains the resource
|
|
436
|
+
# @param [}ChallengeInstance] challenge_instance The instance associated with the metadata.
|
|
437
|
+
# @param [Hash] headers Header object with response headers.
|
|
438
|
+
# @param [Integer] status_code The HTTP status code of the response.
|
|
439
|
+
# @return [ChallengeInstanceMetadata] The initialized instance with metadata.
|
|
440
|
+
def initialize(version, challenge_instance, headers, status_code)
|
|
441
|
+
super(version, headers, status_code)
|
|
442
|
+
@challenge_instance = challenge_instance
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
def challenge
|
|
446
|
+
@challenge_instance
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
def headers
|
|
450
|
+
@headers
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
def status_code
|
|
454
|
+
@status_code
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
def to_s
|
|
458
|
+
"<Twilio.Api.V2010.ChallengeInstanceMetadata status=#{@status_code}>"
|
|
459
|
+
end
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
class ChallengeListResponse < InstanceListResource
|
|
463
|
+
# @param [Array<ChallengeInstance>] instance
|
|
464
|
+
# @param [Hash{String => Object}] headers
|
|
465
|
+
# @param [Integer] status_code
|
|
466
|
+
def initialize(version, payload, key)
|
|
467
|
+
@challenge_instance = payload.body[key].map do |data|
|
|
468
|
+
ChallengeInstance.new(version, data)
|
|
469
|
+
end
|
|
470
|
+
@headers = payload.headers
|
|
471
|
+
@status_code = payload.status_code
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
def challenge_instance
|
|
475
|
+
@instance
|
|
476
|
+
end
|
|
477
|
+
end
|
|
478
|
+
|
|
290
479
|
class ChallengePage < Page
|
|
291
480
|
##
|
|
292
481
|
# Initialize the ChallengePage
|
|
@@ -296,6 +485,7 @@ module Twilio
|
|
|
296
485
|
# @return [ChallengePage] ChallengePage
|
|
297
486
|
def initialize(version, response, solution)
|
|
298
487
|
super(version, response)
|
|
488
|
+
|
|
299
489
|
|
|
300
490
|
# Path Solution
|
|
301
491
|
@solution = solution
|
|
@@ -315,6 +505,66 @@ module Twilio
|
|
|
315
505
|
'<Twilio.Verify.V2.ChallengePage>'
|
|
316
506
|
end
|
|
317
507
|
end
|
|
508
|
+
|
|
509
|
+
class ChallengePageMetadata < PageMetadata
|
|
510
|
+
attr_reader :challenge_page
|
|
511
|
+
|
|
512
|
+
def initialize(version, response, solution, limit)
|
|
513
|
+
super(version, response)
|
|
514
|
+
@challenge_page = []
|
|
515
|
+
@limit = limit
|
|
516
|
+
key = get_key(response.body)
|
|
517
|
+
records = 0
|
|
518
|
+
while( limit != :unset && records < limit )
|
|
519
|
+
@challenge_page << ChallengeListResponse.new(version, @payload, key, limit - records)
|
|
520
|
+
@payload = self.next_page
|
|
521
|
+
break unless @payload
|
|
522
|
+
records += @payload.body[key].size
|
|
523
|
+
end
|
|
524
|
+
# Path Solution
|
|
525
|
+
@solution = solution
|
|
526
|
+
end
|
|
527
|
+
|
|
528
|
+
def each
|
|
529
|
+
@challenge_page.each do |record|
|
|
530
|
+
yield record
|
|
531
|
+
end
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
def to_s
|
|
535
|
+
'<Twilio::REST::Verify::V2PageMetadata>';
|
|
536
|
+
end
|
|
537
|
+
end
|
|
538
|
+
class ChallengeListResponse < InstanceListResource
|
|
539
|
+
|
|
540
|
+
# @param [Array<ChallengeInstance>] instance
|
|
541
|
+
# @param [Hash{String => Object}] headers
|
|
542
|
+
# @param [Integer] status_code
|
|
543
|
+
def initialize(version, payload, key, limit = :unset)
|
|
544
|
+
data_list = payload.body[key]
|
|
545
|
+
if limit != :unset
|
|
546
|
+
data_list = data_list[0, limit]
|
|
547
|
+
end
|
|
548
|
+
@challenge = data_list.map do |data|
|
|
549
|
+
ChallengeInstance.new(version, data)
|
|
550
|
+
end
|
|
551
|
+
@headers = payload.headers
|
|
552
|
+
@status_code = payload.status_code
|
|
553
|
+
end
|
|
554
|
+
|
|
555
|
+
def challenge
|
|
556
|
+
@challenge
|
|
557
|
+
end
|
|
558
|
+
|
|
559
|
+
def headers
|
|
560
|
+
@headers
|
|
561
|
+
end
|
|
562
|
+
|
|
563
|
+
def status_code
|
|
564
|
+
@status_code
|
|
565
|
+
end
|
|
566
|
+
end
|
|
567
|
+
|
|
318
568
|
class ChallengeInstance < InstanceResource
|
|
319
569
|
##
|
|
320
570
|
# Initialize the ChallengeInstance
|
|
@@ -328,6 +578,7 @@ module Twilio
|
|
|
328
578
|
def initialize(version, payload , service_sid: nil, identity: nil, sid: nil)
|
|
329
579
|
super(version)
|
|
330
580
|
|
|
581
|
+
|
|
331
582
|
# Marshaled Properties
|
|
332
583
|
@properties = {
|
|
333
584
|
'sid' => payload['sid'],
|
|
@@ -28,6 +28,7 @@ module Twilio
|
|
|
28
28
|
# @return [FactorList] FactorList
|
|
29
29
|
def initialize(version, service_sid: nil, identity: nil)
|
|
30
30
|
super(version)
|
|
31
|
+
|
|
31
32
|
# Path Solution
|
|
32
33
|
@solution = { service_sid: service_sid, identity: identity }
|
|
33
34
|
@uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Factors"
|
|
@@ -72,6 +73,28 @@ module Twilio
|
|
|
72
73
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
73
74
|
end
|
|
74
75
|
|
|
76
|
+
##
|
|
77
|
+
# Lists FactorPageMetadata records from the API as a list.
|
|
78
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
79
|
+
# guarantees to never return more than limit. Default is no limit
|
|
80
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
|
81
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
|
82
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
83
|
+
# efficient page size, i.e. min(limit, 1000)
|
|
84
|
+
# @return [Array] Array of up to limit results
|
|
85
|
+
def list_with_metadata(limit: nil, page_size: nil)
|
|
86
|
+
limits = @version.read_limits(limit, page_size)
|
|
87
|
+
params = Twilio::Values.of({
|
|
88
|
+
|
|
89
|
+
'PageSize' => limits[:page_size],
|
|
90
|
+
});
|
|
91
|
+
headers = Twilio::Values.of({})
|
|
92
|
+
|
|
93
|
+
response = @version.page('GET', @uri, params: params, headers: headers)
|
|
94
|
+
|
|
95
|
+
FactorPageMetadata.new(@version, response, @solution, limits[:limit])
|
|
96
|
+
end
|
|
97
|
+
|
|
75
98
|
##
|
|
76
99
|
# When passed a block, yields FactorInstance records from the API.
|
|
77
100
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
@@ -93,7 +116,7 @@ module Twilio
|
|
|
93
116
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
94
117
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
95
118
|
# @return [Page] Page of FactorInstance
|
|
96
|
-
def page(page_token: :unset, page_number: :unset,
|
|
119
|
+
def page(page_token: :unset, page_number: :unset,page_size: :unset)
|
|
97
120
|
params = Twilio::Values.of({
|
|
98
121
|
'PageToken' => page_token,
|
|
99
122
|
'Page' => page_number,
|
|
@@ -140,6 +163,7 @@ module Twilio
|
|
|
140
163
|
# @return [FactorContext] FactorContext
|
|
141
164
|
def initialize(version, service_sid, identity, sid)
|
|
142
165
|
super(version)
|
|
166
|
+
|
|
143
167
|
|
|
144
168
|
# Path Solution
|
|
145
169
|
@solution = { service_sid: service_sid, identity: identity, sid: sid, }
|
|
@@ -156,9 +180,29 @@ module Twilio
|
|
|
156
180
|
|
|
157
181
|
|
|
158
182
|
|
|
183
|
+
|
|
159
184
|
@version.delete('DELETE', @uri, headers: headers)
|
|
160
185
|
end
|
|
161
186
|
|
|
187
|
+
##
|
|
188
|
+
# Delete the FactorInstanceMetadata
|
|
189
|
+
# @return [Boolean] True if delete succeeds, false otherwise
|
|
190
|
+
def delete_with_metadata
|
|
191
|
+
|
|
192
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
|
|
197
|
+
factor_instance = FactorInstance.new(
|
|
198
|
+
@version,
|
|
199
|
+
response.body,
|
|
200
|
+
account_sid: @solution[:account_sid],
|
|
201
|
+
sid: @solution[:sid],
|
|
202
|
+
)
|
|
203
|
+
FactorInstanceMetadata.new(@version, factor_instance, response.headers, response.status_code)
|
|
204
|
+
end
|
|
205
|
+
|
|
162
206
|
##
|
|
163
207
|
# Fetch the FactorInstance
|
|
164
208
|
# @return [FactorInstance] Fetched FactorInstance
|
|
@@ -180,6 +224,33 @@ module Twilio
|
|
|
180
224
|
)
|
|
181
225
|
end
|
|
182
226
|
|
|
227
|
+
##
|
|
228
|
+
# Fetch the FactorInstanceMetadata
|
|
229
|
+
# @return [FactorInstance] Fetched FactorInstance
|
|
230
|
+
def fetch_with_metadata
|
|
231
|
+
|
|
232
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
response = @version.fetch_with_metadata('GET', @uri, headers: headers)
|
|
239
|
+
factor_instance = FactorInstance.new(
|
|
240
|
+
@version,
|
|
241
|
+
response.body,
|
|
242
|
+
service_sid: @solution[:service_sid],
|
|
243
|
+
identity: @solution[:identity],
|
|
244
|
+
sid: @solution[:sid],
|
|
245
|
+
)
|
|
246
|
+
FactorInstanceMetadata.new(
|
|
247
|
+
@version,
|
|
248
|
+
factor_instance,
|
|
249
|
+
response.headers,
|
|
250
|
+
response.status_code
|
|
251
|
+
)
|
|
252
|
+
end
|
|
253
|
+
|
|
183
254
|
##
|
|
184
255
|
# Update the FactorInstance
|
|
185
256
|
# @param [String] auth_payload The optional payload needed to verify the Factor for the first time. E.g. for a TOTP, the numeric code.
|
|
@@ -232,6 +303,64 @@ module Twilio
|
|
|
232
303
|
)
|
|
233
304
|
end
|
|
234
305
|
|
|
306
|
+
##
|
|
307
|
+
# Update the FactorInstanceMetadata
|
|
308
|
+
# @param [String] auth_payload The optional payload needed to verify the Factor for the first time. E.g. for a TOTP, the numeric code.
|
|
309
|
+
# @param [String] friendly_name The new friendly name of this Factor. It can be up to 64 characters.
|
|
310
|
+
# @param [String] config_notification_token For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Required when `factor_type` is `push`. If specified, this value must be between 32 and 255 characters long.
|
|
311
|
+
# @param [String] config_sdk_version The Verify Push SDK version used to configure the factor
|
|
312
|
+
# @param [String] config_time_step Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive
|
|
313
|
+
# @param [String] config_skew The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive
|
|
314
|
+
# @param [String] config_code_length Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive
|
|
315
|
+
# @param [TotpAlgorithms] config_alg
|
|
316
|
+
# @param [String] config_notification_platform The transport technology used to generate the Notification Token. Can be `apn`, `fcm` or `none`. Required when `factor_type` is `push`.
|
|
317
|
+
# @return [FactorInstance] Updated FactorInstance
|
|
318
|
+
def update_with_metadata(
|
|
319
|
+
auth_payload: :unset,
|
|
320
|
+
friendly_name: :unset,
|
|
321
|
+
config_notification_token: :unset,
|
|
322
|
+
config_sdk_version: :unset,
|
|
323
|
+
config_time_step: :unset,
|
|
324
|
+
config_skew: :unset,
|
|
325
|
+
config_code_length: :unset,
|
|
326
|
+
config_alg: :unset,
|
|
327
|
+
config_notification_platform: :unset
|
|
328
|
+
)
|
|
329
|
+
|
|
330
|
+
data = Twilio::Values.of({
|
|
331
|
+
'AuthPayload' => auth_payload,
|
|
332
|
+
'FriendlyName' => friendly_name,
|
|
333
|
+
'Config.NotificationToken' => config_notification_token,
|
|
334
|
+
'Config.SdkVersion' => config_sdk_version,
|
|
335
|
+
'Config.TimeStep' => config_time_step,
|
|
336
|
+
'Config.Skew' => config_skew,
|
|
337
|
+
'Config.CodeLength' => config_code_length,
|
|
338
|
+
'Config.Alg' => config_alg,
|
|
339
|
+
'Config.NotificationPlatform' => config_notification_platform,
|
|
340
|
+
})
|
|
341
|
+
|
|
342
|
+
headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
|
|
349
|
+
factor_instance = FactorInstance.new(
|
|
350
|
+
@version,
|
|
351
|
+
response.body,
|
|
352
|
+
service_sid: @solution[:service_sid],
|
|
353
|
+
identity: @solution[:identity],
|
|
354
|
+
sid: @solution[:sid],
|
|
355
|
+
)
|
|
356
|
+
FactorInstanceMetadata.new(
|
|
357
|
+
@version,
|
|
358
|
+
factor_instance,
|
|
359
|
+
response.headers,
|
|
360
|
+
response.status_code
|
|
361
|
+
)
|
|
362
|
+
end
|
|
363
|
+
|
|
235
364
|
|
|
236
365
|
##
|
|
237
366
|
# Provide a user friendly representation
|
|
@@ -248,6 +377,53 @@ module Twilio
|
|
|
248
377
|
end
|
|
249
378
|
end
|
|
250
379
|
|
|
380
|
+
class FactorInstanceMetadata < InstanceResourceMetadata
|
|
381
|
+
##
|
|
382
|
+
# Initializes a new FactorInstanceMetadata.
|
|
383
|
+
# @param [Version] version Version that contains the resource
|
|
384
|
+
# @param [}FactorInstance] factor_instance The instance associated with the metadata.
|
|
385
|
+
# @param [Hash] headers Header object with response headers.
|
|
386
|
+
# @param [Integer] status_code The HTTP status code of the response.
|
|
387
|
+
# @return [FactorInstanceMetadata] The initialized instance with metadata.
|
|
388
|
+
def initialize(version, factor_instance, headers, status_code)
|
|
389
|
+
super(version, headers, status_code)
|
|
390
|
+
@factor_instance = factor_instance
|
|
391
|
+
end
|
|
392
|
+
|
|
393
|
+
def factor
|
|
394
|
+
@factor_instance
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
def headers
|
|
398
|
+
@headers
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
def status_code
|
|
402
|
+
@status_code
|
|
403
|
+
end
|
|
404
|
+
|
|
405
|
+
def to_s
|
|
406
|
+
"<Twilio.Api.V2010.FactorInstanceMetadata status=#{@status_code}>"
|
|
407
|
+
end
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
class FactorListResponse < InstanceListResource
|
|
411
|
+
# @param [Array<FactorInstance>] instance
|
|
412
|
+
# @param [Hash{String => Object}] headers
|
|
413
|
+
# @param [Integer] status_code
|
|
414
|
+
def initialize(version, payload, key)
|
|
415
|
+
@factor_instance = payload.body[key].map do |data|
|
|
416
|
+
FactorInstance.new(version, data)
|
|
417
|
+
end
|
|
418
|
+
@headers = payload.headers
|
|
419
|
+
@status_code = payload.status_code
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
def factor_instance
|
|
423
|
+
@instance
|
|
424
|
+
end
|
|
425
|
+
end
|
|
426
|
+
|
|
251
427
|
class FactorPage < Page
|
|
252
428
|
##
|
|
253
429
|
# Initialize the FactorPage
|
|
@@ -257,6 +433,7 @@ module Twilio
|
|
|
257
433
|
# @return [FactorPage] FactorPage
|
|
258
434
|
def initialize(version, response, solution)
|
|
259
435
|
super(version, response)
|
|
436
|
+
|
|
260
437
|
|
|
261
438
|
# Path Solution
|
|
262
439
|
@solution = solution
|
|
@@ -276,6 +453,66 @@ module Twilio
|
|
|
276
453
|
'<Twilio.Verify.V2.FactorPage>'
|
|
277
454
|
end
|
|
278
455
|
end
|
|
456
|
+
|
|
457
|
+
class FactorPageMetadata < PageMetadata
|
|
458
|
+
attr_reader :factor_page
|
|
459
|
+
|
|
460
|
+
def initialize(version, response, solution, limit)
|
|
461
|
+
super(version, response)
|
|
462
|
+
@factor_page = []
|
|
463
|
+
@limit = limit
|
|
464
|
+
key = get_key(response.body)
|
|
465
|
+
records = 0
|
|
466
|
+
while( limit != :unset && records < limit )
|
|
467
|
+
@factor_page << FactorListResponse.new(version, @payload, key, limit - records)
|
|
468
|
+
@payload = self.next_page
|
|
469
|
+
break unless @payload
|
|
470
|
+
records += @payload.body[key].size
|
|
471
|
+
end
|
|
472
|
+
# Path Solution
|
|
473
|
+
@solution = solution
|
|
474
|
+
end
|
|
475
|
+
|
|
476
|
+
def each
|
|
477
|
+
@factor_page.each do |record|
|
|
478
|
+
yield record
|
|
479
|
+
end
|
|
480
|
+
end
|
|
481
|
+
|
|
482
|
+
def to_s
|
|
483
|
+
'<Twilio::REST::Verify::V2PageMetadata>';
|
|
484
|
+
end
|
|
485
|
+
end
|
|
486
|
+
class FactorListResponse < InstanceListResource
|
|
487
|
+
|
|
488
|
+
# @param [Array<FactorInstance>] instance
|
|
489
|
+
# @param [Hash{String => Object}] headers
|
|
490
|
+
# @param [Integer] status_code
|
|
491
|
+
def initialize(version, payload, key, limit = :unset)
|
|
492
|
+
data_list = payload.body[key]
|
|
493
|
+
if limit != :unset
|
|
494
|
+
data_list = data_list[0, limit]
|
|
495
|
+
end
|
|
496
|
+
@factor = data_list.map do |data|
|
|
497
|
+
FactorInstance.new(version, data)
|
|
498
|
+
end
|
|
499
|
+
@headers = payload.headers
|
|
500
|
+
@status_code = payload.status_code
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
def factor
|
|
504
|
+
@factor
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
def headers
|
|
508
|
+
@headers
|
|
509
|
+
end
|
|
510
|
+
|
|
511
|
+
def status_code
|
|
512
|
+
@status_code
|
|
513
|
+
end
|
|
514
|
+
end
|
|
515
|
+
|
|
279
516
|
class FactorInstance < InstanceResource
|
|
280
517
|
##
|
|
281
518
|
# Initialize the FactorInstance
|
|
@@ -289,6 +526,7 @@ module Twilio
|
|
|
289
526
|
def initialize(version, payload , service_sid: nil, identity: nil, sid: nil)
|
|
290
527
|
super(version)
|
|
291
528
|
|
|
529
|
+
|
|
292
530
|
# Marshaled Properties
|
|
293
531
|
@properties = {
|
|
294
532
|
'sid' => payload['sid'],
|