├── .bandwidth ├── catalog-info.yaml └── component.yaml ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── config.yml └── workflows │ ├── deploy.yml │ ├── test-pr.yml │ └── test-smoke.yml ├── .gitignore ├── .gitkeep ├── .gitlab-ci.yml ├── .openapi-generator-ignore ├── .openapi-generator ├── FILES └── VERSION ├── .travis.yml ├── LICENSE ├── README.md ├── bandwidth.yml ├── bandwidth ├── __init__.py ├── api │ ├── __init__.py │ ├── calls_api.py │ ├── conferences_api.py │ ├── media_api.py │ ├── messages_api.py │ ├── mfa_api.py │ ├── multi_channel_api.py │ ├── phone_number_lookup_api.py │ ├── recordings_api.py │ ├── statistics_api.py │ ├── toll_free_verification_api.py │ └── transcriptions_api.py ├── api_client.py ├── api_response.py ├── configuration.py ├── exceptions.py ├── models │ ├── __init__.py │ ├── account_statistics.py │ ├── additional_denial_reason.py │ ├── address.py │ ├── answer_callback.py │ ├── blocked_webhook.py │ ├── bridge_complete_callback.py │ ├── bridge_target_complete_callback.py │ ├── bxml │ │ ├── __init__.py │ │ ├── bxml.py │ │ ├── nestable_verb.py │ │ ├── response.py │ │ ├── root.py │ │ ├── verb.py │ │ └── verbs │ │ │ ├── __init__.py │ │ │ ├── bridge.py │ │ │ ├── conference.py │ │ │ ├── custom_param.py │ │ │ ├── forward.py │ │ │ ├── gather.py │ │ │ ├── hangup.py │ │ │ ├── pause.py │ │ │ ├── pause_recording.py │ │ │ ├── phone_number.py │ │ │ ├── play_audio.py │ │ │ ├── record.py │ │ │ ├── redirect.py │ │ │ ├── resume_recording.py │ │ │ ├── ring.py │ │ │ ├── send_dtmf.py │ │ │ ├── sip_uri.py │ │ │ ├── speak_sentence.py │ │ │ ├── start_gather.py │ │ │ ├── start_recording.py │ │ │ ├── start_stream.py │ │ │ ├── start_transcription.py │ │ │ ├── stop_gather.py │ │ │ ├── stop_recording.py │ │ │ ├── stop_stream.py │ │ │ ├── stop_transcription.py │ │ │ ├── stream_param.py │ │ │ ├── tag.py │ │ │ └── transfer.py │ ├── call_direction_enum.py │ ├── call_recording_metadata.py │ ├── call_state.py │ ├── call_state_enum.py │ ├── call_transcription.py │ ├── call_transcription_detected_language_enum.py │ ├── call_transcription_metadata.py │ ├── call_transcription_response.py │ ├── call_transcription_track_enum.py │ ├── callback_method_enum.py │ ├── callback_type_enum.py │ ├── card_width_enum.py │ ├── code_request.py │ ├── conference.py │ ├── conference_completed_callback.py │ ├── conference_created_callback.py │ ├── conference_member.py │ ├── conference_member_exit_callback.py │ ├── conference_member_join_callback.py │ ├── conference_recording_available_callback.py │ ├── conference_recording_metadata.py │ ├── conference_redirect_callback.py │ ├── conference_state_enum.py │ ├── contact.py │ ├── create_call.py │ ├── create_call_response.py │ ├── create_lookup_response.py │ ├── create_message_request_error.py │ ├── create_multi_channel_message_response.py │ ├── deferred_result.py │ ├── disconnect_callback.py │ ├── diversion.py │ ├── dtmf_callback.py │ ├── error.py │ ├── error_object.py │ ├── failure_webhook.py │ ├── field_error.py │ ├── file_format_enum.py │ ├── gather_callback.py │ ├── initiate_callback.py │ ├── link.py │ ├── links_object.py │ ├── list_message_direction_enum.py │ ├── list_message_item.py │ ├── lookup_request.py │ ├── lookup_result.py │ ├── lookup_status.py │ ├── lookup_status_enum.py │ ├── machine_detection_complete_callback.py │ ├── machine_detection_configuration.py │ ├── machine_detection_mode_enum.py │ ├── machine_detection_result.py │ ├── media.py │ ├── message.py │ ├── message_callback.py │ ├── message_callback_message.py │ ├── message_direction_enum.py │ ├── message_request.py │ ├── message_status_enum.py │ ├── message_type_enum.py │ ├── messages_list.py │ ├── messaging_code_response.py │ ├── messaging_request_error.py │ ├── mfa_forbidden_request_error.py │ ├── mfa_request_error.py │ ├── mfa_unauthorized_request_error.py │ ├── mms_message_content.py │ ├── multi_channel_action.py │ ├── multi_channel_action_calendar_event.py │ ├── multi_channel_callback_data.py │ ├── multi_channel_channel_list_object.py │ ├── multi_channel_channel_list_object_content.py │ ├── multi_channel_message_callback_data.py │ ├── multi_channel_message_channel_enum.py │ ├── multi_channel_message_data.py │ ├── multi_channel_message_direction_enum.py │ ├── multi_channel_message_request.py │ ├── multi_channel_status_enum.py │ ├── opt_in_workflow.py │ ├── page_info.py │ ├── priority_enum.py │ ├── rbm_action_base.py │ ├── rbm_action_dial.py │ ├── rbm_action_open_url.py │ ├── rbm_action_type_enum.py │ ├── rbm_action_view_location.py │ ├── rbm_card_content.py │ ├── rbm_card_content_media.py │ ├── rbm_media_height_enum.py │ ├── rbm_message_carousel_card.py │ ├── rbm_message_content_file.py │ ├── rbm_message_content_rich_card.py │ ├── rbm_message_content_text.py │ ├── rbm_message_media.py │ ├── rbm_standalone_card.py │ ├── recording_available_callback.py │ ├── recording_complete_callback.py │ ├── recording_state_enum.py │ ├── recording_transcription_metadata.py │ ├── recording_transcriptions.py │ ├── redirect_callback.py │ ├── redirect_method_enum.py │ ├── sms_message_content.py │ ├── standalone_card_orientation_enum.py │ ├── stir_shaken.py │ ├── tag.py │ ├── telephone_number.py │ ├── tfv_basic_authentication.py │ ├── tfv_callback_status_enum.py │ ├── tfv_error.py │ ├── tfv_status.py │ ├── tfv_status_enum.py │ ├── tfv_submission_info.py │ ├── tfv_submission_wrapper.py │ ├── thumbnail_alignment_enum.py │ ├── tn_lookup_request_error.py │ ├── transcribe_recording.py │ ├── transcription.py │ ├── transcription_available_callback.py │ ├── transfer_answer_callback.py │ ├── transfer_complete_callback.py │ ├── transfer_disconnect_callback.py │ ├── update_call.py │ ├── update_call_recording.py │ ├── update_conference.py │ ├── update_conference_member.py │ ├── verification_denial_webhook.py │ ├── verification_request.py │ ├── verification_update_request.py │ ├── verification_webhook.py │ ├── verify_code_request.py │ ├── verify_code_response.py │ ├── voice_api_error.py │ ├── voice_code_response.py │ ├── webhook_subscription.py │ ├── webhook_subscription_basic_authentication.py │ ├── webhook_subscription_request_schema.py │ ├── webhook_subscription_type_enum.py │ └── webhook_subscriptions_list_body.py ├── py.typed └── rest.py ├── custom_templates └── setup.mustache ├── docs ├── AccountStatistics.md ├── AdditionalDenialReason.md ├── Address.md ├── AnswerCallback.md ├── BlockedWebhook.md ├── BridgeCompleteCallback.md ├── BridgeTargetCompleteCallback.md ├── CallDirectionEnum.md ├── CallRecordingMetadata.md ├── CallState.md ├── CallStateEnum.md ├── CallTranscription.md ├── CallTranscriptionDetectedLanguageEnum.md ├── CallTranscriptionMetadata.md ├── CallTranscriptionResponse.md ├── CallTranscriptionTrackEnum.md ├── CallbackMethodEnum.md ├── CallbackTypeEnum.md ├── CallsApi.md ├── CardWidthEnum.md ├── CodeRequest.md ├── Conference.md ├── ConferenceCompletedCallback.md ├── ConferenceCreatedCallback.md ├── ConferenceMember.md ├── ConferenceMemberExitCallback.md ├── ConferenceMemberJoinCallback.md ├── ConferenceRecordingAvailableCallback.md ├── ConferenceRecordingMetadata.md ├── ConferenceRedirectCallback.md ├── ConferenceStateEnum.md ├── ConferencesApi.md ├── Contact.md ├── CreateCall.md ├── CreateCallResponse.md ├── CreateLookupResponse.md ├── CreateMessageRequestError.md ├── CreateMultiChannelMessageResponse.md ├── DeferredResult.md ├── DisconnectCallback.md ├── Diversion.md ├── DtmfCallback.md ├── Error.md ├── ErrorObject.md ├── FailureWebhook.md ├── FieldError.md ├── FileFormatEnum.md ├── GatherCallback.md ├── InboundMessageCallback.md ├── InboundMessageCallbackMessage.md ├── InitiateCallback.md ├── Link.md ├── LinksObject.md ├── ListMessageDirectionEnum.md ├── ListMessageItem.md ├── LookupRequest.md ├── LookupResult.md ├── LookupStatus.md ├── LookupStatusEnum.md ├── MFAApi.md ├── MachineDetectionCompleteCallback.md ├── MachineDetectionConfiguration.md ├── MachineDetectionModeEnum.md ├── MachineDetectionResult.md ├── Media.md ├── MediaApi.md ├── Message.md ├── MessageCallback.md ├── MessageCallbackMessage.md ├── MessageDeliveredCallback.md ├── MessageDeliveredCallbackMessage.md ├── MessageDirectionEnum.md ├── MessageFailedCallback.md ├── MessageFailedCallbackMessage.md ├── MessageRequest.md ├── MessageSendingCallback.md ├── MessageSendingCallbackMessage.md ├── MessageStatusEnum.md ├── MessageTypeEnum.md ├── MessagesApi.md ├── MessagesList.md ├── MessagingCodeResponse.md ├── MessagingRequestError.md ├── MfaForbiddenRequestError.md ├── MfaRequestError.md ├── MfaUnauthorizedRequestError.md ├── MmsMessageContent.md ├── MultiChannelAction.md ├── MultiChannelActionCalendarEvent.md ├── MultiChannelApi.md ├── MultiChannelCallbackData.md ├── MultiChannelChannelListObject.md ├── MultiChannelChannelListObjectContent.md ├── MultiChannelMessageCallbackData.md ├── MultiChannelMessageChannelEnum.md ├── MultiChannelMessageData.md ├── MultiChannelMessageDirectionEnum.md ├── MultiChannelMessageRequest.md ├── MultiChannelStatusEnum.md ├── OptInWorkflow.md ├── PageInfo.md ├── PhoneNumberLookupApi.md ├── PriorityEnum.md ├── RbmActionBase.md ├── RbmActionDial.md ├── RbmActionOpenUrl.md ├── RbmActionTypeEnum.md ├── RbmActionViewLocation.md ├── RbmCardContent.md ├── RbmCardContentMedia.md ├── RbmMediaHeightEnum.md ├── RbmMessageCarouselCard.md ├── RbmMessageContentFile.md ├── RbmMessageContentRichCard.md ├── RbmMessageContentText.md ├── RbmMessageMedia.md ├── RbmStandaloneCard.md ├── RecordingAvailableCallback.md ├── RecordingCompleteCallback.md ├── RecordingStateEnum.md ├── RecordingTranscriptionMetadata.md ├── RecordingTranscriptions.md ├── RecordingsApi.md ├── RedirectCallback.md ├── RedirectMethodEnum.md ├── SmsMessageContent.md ├── StandaloneCardOrientationEnum.md ├── StatisticsApi.md ├── StirShaken.md ├── Tag.md ├── TelephoneNumber.md ├── TfvBasicAuthentication.md ├── TfvCallbackStatusEnum.md ├── TfvError.md ├── TfvStatus.md ├── TfvStatusEnum.md ├── TfvSubmissionInfo.md ├── TfvSubmissionWrapper.md ├── ThumbnailAlignmentEnum.md ├── TnLookupRequestError.md ├── TollFreeVerificationApi.md ├── TranscribeRecording.md ├── Transcription.md ├── TranscriptionAvailableCallback.md ├── TranscriptionList.md ├── TranscriptionMetadata.md ├── TranscriptionsApi.md ├── TransferAnswerCallback.md ├── TransferCompleteCallback.md ├── TransferDisconnectCallback.md ├── UpdateCall.md ├── UpdateCallRecording.md ├── UpdateConference.md ├── UpdateConferenceMember.md ├── VerificationDenialWebhook.md ├── VerificationRequest.md ├── VerificationUpdateRequest.md ├── VerificationWebhook.md ├── VerifyCodeRequest.md ├── VerifyCodeResponse.md ├── VoiceApiError.md ├── VoiceCodeResponse.md ├── WebhookSubscription.md ├── WebhookSubscriptionBasicAuthentication.md ├── WebhookSubscriptionRequestSchema.md ├── WebhookSubscriptionTypeEnum.md └── WebhookSubscriptionsListBody.md ├── git_push.sh ├── openapi-config.yml ├── openapitools.json ├── pyproject.toml ├── requirements.txt ├── setup.cfg ├── setup.py ├── test-requirements.txt ├── test ├── __init__.py ├── fixtures │ └── python_cat.jpeg ├── smoke │ ├── __init__.py │ ├── bwmatchers │ │ └── one_of_string.py │ ├── test_calls_api.py │ ├── test_conferences_api.py │ ├── test_media_api.py │ ├── test_messages_api.py │ ├── test_mfa_api.py │ ├── test_multi_channel_api.py │ ├── test_phone_number_lookup_api.py │ ├── test_recordings_api.py │ ├── test_statistics_api.py │ ├── test_toll_free_verification_api.py │ └── test_transcriptions_api.py ├── unit │ ├── __init__.py │ ├── api │ │ ├── __init__.py │ │ ├── test_calls_api.py │ │ ├── test_conferences_api.py │ │ ├── test_media_api.py │ │ ├── test_messages_api.py │ │ ├── test_mfa_api.py │ │ ├── test_multi_channel_api.py │ │ ├── test_phone_number_lookup_api.py │ │ ├── test_recordings_api.py │ │ ├── test_statistics_api.py │ │ ├── test_toll_free_verification_api.py │ │ └── test_transcriptions_api.py │ └── models │ │ ├── __init__.py │ │ ├── bxml │ │ ├── __init__.py │ │ ├── test_base_classes.py │ │ ├── test_bridge.py │ │ ├── test_bxml.py │ │ ├── test_conference.py │ │ ├── test_forward.py │ │ ├── test_gather.py │ │ ├── test_hangup.py │ │ ├── test_pause.py │ │ ├── test_pause_recording.py │ │ ├── test_phone_number.py │ │ ├── test_play_audio.py │ │ ├── test_record.py │ │ ├── test_redirect.py │ │ ├── test_response.py │ │ ├── test_resume_recording.py │ │ ├── test_ring.py │ │ ├── test_send_dtmf.py │ │ ├── test_sip_uri.py │ │ ├── test_speak_sentence.py │ │ ├── test_start_gather.py │ │ ├── test_start_recording.py │ │ ├── test_start_stream.py │ │ ├── test_start_transcription.py │ │ ├── test_stop_gather.py │ │ ├── test_stop_recording.py │ │ ├── test_stop_stream.py │ │ ├── test_stop_transcription.py │ │ ├── test_stream_param.py │ │ ├── test_tag.py │ │ └── test_transfer.py │ │ ├── test_account_statistics.py │ │ ├── test_additional_denial_reason.py │ │ ├── test_address.py │ │ ├── test_answer_callback.py │ │ ├── test_blocked_webhook.py │ │ ├── test_bridge_complete_callback.py │ │ ├── test_bridge_target_complete_callback.py │ │ ├── test_call_direction_enum.py │ │ ├── test_call_recording_metadata.py │ │ ├── test_call_state.py │ │ ├── test_call_state_enum.py │ │ ├── test_call_transcription.py │ │ ├── test_call_transcription_detected_language_enum.py │ │ ├── test_call_transcription_metadata.py │ │ ├── test_call_transcription_response.py │ │ ├── test_call_transcription_track_enum.py │ │ ├── test_callback_method_enum.py │ │ ├── test_callback_type_enum.py │ │ ├── test_card_width_enum.py │ │ ├── test_code_request.py │ │ ├── test_conference.py │ │ ├── test_conference_completed_callback.py │ │ ├── test_conference_created_callback.py │ │ ├── test_conference_member.py │ │ ├── test_conference_member_exit_callback.py │ │ ├── test_conference_member_join_callback.py │ │ ├── test_conference_recording_available_callback.py │ │ ├── test_conference_recording_metadata.py │ │ ├── test_conference_redirect_callback.py │ │ ├── test_conference_state_enum.py │ │ ├── test_contact.py │ │ ├── test_create_call.py │ │ ├── test_create_call_response.py │ │ ├── test_create_lookup_response.py │ │ ├── test_create_message_request_error.py │ │ ├── test_create_multi_channel_message_response.py │ │ ├── test_deferred_result.py │ │ ├── test_disconnect_callback.py │ │ ├── test_diversion.py │ │ ├── test_dtmf_callback.py │ │ ├── test_error.py │ │ ├── test_error_object.py │ │ ├── test_failure_webhook.py │ │ ├── test_field_error.py │ │ ├── test_file_format_enum.py │ │ ├── test_gather_callback.py │ │ ├── test_initiate_callback.py │ │ ├── test_link.py │ │ ├── test_links_object.py │ │ ├── test_list_message_direction_enum.py │ │ ├── test_list_message_item.py │ │ ├── test_lookup_request.py │ │ ├── test_lookup_result.py │ │ ├── test_lookup_status.py │ │ ├── test_lookup_status_enum.py │ │ ├── test_machine_detection_complete_callback.py │ │ ├── test_machine_detection_configuration.py │ │ ├── test_machine_detection_mode_enum.py │ │ ├── test_machine_detection_result.py │ │ ├── test_media.py │ │ ├── test_message.py │ │ ├── test_message_callback.py │ │ ├── test_message_callback_message.py │ │ ├── test_message_direction_enum.py │ │ ├── test_message_request.py │ │ ├── test_message_status_enum.py │ │ ├── test_message_type_enum.py │ │ ├── test_messages_list.py │ │ ├── test_messaging_code_response.py │ │ ├── test_messaging_request_error.py │ │ ├── test_mfa_forbidden_request_error.py │ │ ├── test_mfa_request_error.py │ │ ├── test_mfa_unauthorized_request_error.py │ │ ├── test_mms_message_content.py │ │ ├── test_multi_channel_action.py │ │ ├── test_multi_channel_action_calendar_event.py │ │ ├── test_multi_channel_callback_data.py │ │ ├── test_multi_channel_channel_list_object.py │ │ ├── test_multi_channel_channel_list_object_content.py │ │ ├── test_multi_channel_message_callback_data.py │ │ ├── test_multi_channel_message_channel_enum.py │ │ ├── test_multi_channel_message_data.py │ │ ├── test_multi_channel_message_direction_enum.py │ │ ├── test_multi_channel_message_request.py │ │ ├── test_multi_channel_status_enum.py │ │ ├── test_opt_in_workflow.py │ │ ├── test_page_info.py │ │ ├── test_priority_enum.py │ │ ├── test_rbm_action_base.py │ │ ├── test_rbm_action_dial.py │ │ ├── test_rbm_action_open_url.py │ │ ├── test_rbm_action_type_enum.py │ │ ├── test_rbm_action_view_location.py │ │ ├── test_rbm_card_content.py │ │ ├── test_rbm_card_content_media.py │ │ ├── test_rbm_media_height_enum.py │ │ ├── test_rbm_message_carousel_card.py │ │ ├── test_rbm_message_content_file.py │ │ ├── test_rbm_message_content_rich_card.py │ │ ├── test_rbm_message_content_text.py │ │ ├── test_rbm_message_media.py │ │ ├── test_rbm_standalone_card.py │ │ ├── test_recording_available_callback.py │ │ ├── test_recording_complete_callback.py │ │ ├── test_recording_state_enum.py │ │ ├── test_recording_transcription_metadata.py │ │ ├── test_recording_transcriptions.py │ │ ├── test_redirect_callback.py │ │ ├── test_redirect_method_enum.py │ │ ├── test_sms_message_content.py │ │ ├── test_standalone_card_orientation_enum.py │ │ ├── test_stir_shaken.py │ │ ├── test_tag.py │ │ ├── test_telephone_number.py │ │ ├── test_tfv_basic_authentication.py │ │ ├── test_tfv_callback_status_enum.py │ │ ├── test_tfv_error.py │ │ ├── test_tfv_status.py │ │ ├── test_tfv_status_enum.py │ │ ├── test_tfv_submission_info.py │ │ ├── test_tfv_submission_wrapper.py │ │ ├── test_thumbnail_alignment_enum.py │ │ ├── test_tn_lookup_request_error.py │ │ ├── test_transcribe_recording.py │ │ ├── test_transcription.py │ │ ├── test_transcription_available_callback.py │ │ ├── test_transfer_answer_callback.py │ │ ├── test_transfer_complete_callback.py │ │ ├── test_transfer_disconnect_callback.py │ │ ├── test_update_call.py │ │ ├── test_update_call_recording.py │ │ ├── test_update_conference.py │ │ ├── test_update_conference_member.py │ │ ├── test_verification_denial_webhook.py │ │ ├── test_verification_request.py │ │ ├── test_verification_update_request.py │ │ ├── test_verification_webhook.py │ │ ├── test_verify_code_request.py │ │ ├── test_verify_code_response.py │ │ ├── test_voice_api_error.py │ │ ├── test_voice_code_response.py │ │ ├── test_webhook_subscription.py │ │ ├── test_webhook_subscription_basic_authentication.py │ │ ├── test_webhook_subscription_request_schema.py │ │ ├── test_webhook_subscription_type_enum.py │ │ └── test_webhook_subscriptions_list_body.py └── utils │ ├── __init__.py │ ├── call_cleanup.py │ └── env_variables.py └── tox.ini /.bandwidth/catalog-info.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: backstage.io/v1alpha1 2 | kind: Location 3 | metadata: 4 | schemaVersion: v1.0.0 5 | name: python-sdk-location 6 | description: Links to additional entities in the python-sdk repository. 7 | annotations: 8 | github.com/project-slug: Bandwidth/python-sdk 9 | spec: 10 | targets: 11 | - ./component.yaml 12 | -------------------------------------------------------------------------------- /.bandwidth/component.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: backstage.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | schemaVersion: v1.0.0 5 | name: python-sdk 6 | description: python-sdk 7 | annotations: 8 | github.com/project-slug: Bandwidth/python-sdk 9 | organization: BW 10 | costCenter: UNKNOWN 11 | buildPlatform: GitHub Actions 12 | spec: 13 | type: Library 14 | owner: github/band-swi 15 | lifecycle: Available 16 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Global rule: 2 | * @Bandwidth/band-swi @Bandwidth/band-swi-github-repo-admin @Bandwidth/band-programmable-voice-swi @Bandwidth/band-devx 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Create a bug report. 4 | title: '[BUG] Description' 5 | labels: 'bug' 6 | --- 7 | 8 | ### Checklist 9 | - [ ] Have you provided a description of the bug? 10 | - [ ] Have you provided your Environment information? 11 | - [ ] Have you provided a sample code snippet? 12 | - [ ] Have you provided a stack trace? 13 | - [ ] Have you outlined the expected behavior? 14 | 15 | ### Description 16 | 17 | 18 | ### Environment Information 19 | 20 | - OS Version: _(e.g. Windows 10)_ 21 | - SDK Version: _(e.g. 1.1.0)_ 22 | - Environment: _(e.g. Python 3.10.1)_ 23 | 24 | ### Sample Code Snippet 25 | 26 | ```python 27 | # Sample Code Snippet 28 | ``` 29 | 30 | ### Stack Trace 31 | 32 | ```shell 33 | # Stack Trace 34 | ``` 35 | 36 | ### Expected Behavior 37 | 38 | 39 | ### Suggested Fix 40 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Bandwidth Support 4 | url: https://www.bandwidth.com/support/ 5 | about: Current customers can create tickets for our Support Team here. 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # MacOS Files 10 | .DS_Store 11 | 12 | # Distribution / packaging 13 | .Python 14 | env/ 15 | build/ 16 | logs/ 17 | develop-eggs/ 18 | dist/ 19 | downloads/ 20 | eggs/ 21 | .eggs/ 22 | lib/ 23 | lib64/ 24 | parts/ 25 | sdist/ 26 | var/ 27 | *.egg-info/ 28 | .installed.cfg 29 | *.egg 30 | 31 | # PyInstaller 32 | # Usually these files are written by a python script from a template 33 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 34 | *.manifest 35 | *.spec 36 | 37 | # Installer logs 38 | pip-log.txt 39 | pip-delete-this-directory.txt 40 | 41 | # Unit test / coverage reports 42 | htmlcov/ 43 | .tox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *,cover 50 | .hypothesis/ 51 | venv/ 52 | .venv/ 53 | .python-version 54 | .pytest_cache 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | 63 | # Sphinx documentation 64 | docs/_build/ 65 | 66 | # PyBuilder 67 | target/ 68 | 69 | #Ipython Notebook 70 | .ipynb_checkpoints 71 | 72 | # IntelliJ 73 | .idea 74 | 75 | # VS Code 76 | .vscode 77 | 78 | # Test Fixtures 79 | test/fixtures/ 80 | -------------------------------------------------------------------------------- /.gitkeep: -------------------------------------------------------------------------------- 1 | README.md 2 | bandwidth/voice/bxml/* 3 | bandwidth/webrtc/utils/* 4 | bandwidth/tests/* 5 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # NOTE: This file is auto generated by OpenAPI Generator. 2 | # URL: https://openapi-generator.tech 3 | # 4 | # ref: https://docs.gitlab.com/ee/ci/README.html 5 | # ref: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml 6 | 7 | stages: 8 | - test 9 | 10 | .pytest: 11 | stage: test 12 | script: 13 | - pip install -r requirements.txt 14 | - pip install -r test-requirements.txt 15 | - pytest --cov=bandwidth 16 | 17 | pytest-3.8: 18 | extends: .pytest 19 | image: python:3.8-alpine 20 | pytest-3.9: 21 | extends: .pytest 22 | image: python:3.9-alpine 23 | pytest-3.10: 24 | extends: .pytest 25 | image: python:3.10-alpine 26 | pytest-3.11: 27 | extends: .pytest 28 | image: python:3.11-alpine 29 | pytest-3.12: 30 | extends: .pytest 31 | image: python:3.12-alpine 32 | -------------------------------------------------------------------------------- /.openapi-generator-ignore: -------------------------------------------------------------------------------- 1 | # OpenAPI Generator Ignore 2 | # Generated by openapi-generator https://github.com/openapitools/openapi-generator 3 | 4 | # Use this file to prevent files from being overwritten by the generator. 5 | # The patterns follow closely to .gitignore or .dockerignore. 6 | 7 | # As an example, the C# client generator defines ApiClient.cs. 8 | # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: 9 | #ApiClient.cs 10 | 11 | # You can match any string of characters against a directory, file or extension with a single asterisk (*): 12 | #foo/*/qux 13 | # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux 14 | 15 | # You can recursively match patterns against a directory, file or extension with a double asterisk (**): 16 | #foo/**/qux 17 | # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux 18 | 19 | # You can also negate patterns with an exclamation (!). 20 | # For example, you can ignore all files in a docs folder with the file extension .md: 21 | #docs/*.md 22 | # Then explicitly reverse the ignore rule for a single file: 23 | #!docs/README.md 24 | 25 | .gitignore 26 | setup.cfg 27 | *requirements.txt 28 | test/* 29 | .github/workflows/python.yml 30 | -------------------------------------------------------------------------------- /.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 7.11.0 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # ref: https://docs.travis-ci.com/user/languages/python 2 | language: python 3 | python: 4 | - "3.8" 5 | - "3.9" 6 | - "3.10" 7 | - "3.11" 8 | - "3.12" 9 | # uncomment the following if needed 10 | #- "3.12-dev" # 3.12 development branch 11 | #- "nightly" # nightly build 12 | # command to install dependencies 13 | install: 14 | - "pip install -r requirements.txt" 15 | - "pip install -r test-requirements.txt" 16 | # command to run tests 17 | script: pytest --cov=bandwidth 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | License: 2 | ======== 3 | The MIT License (MIT) 4 | http://opensource.org/licenses/MIT 5 | 6 | Copyright (c) 2014 - 2020 APIMATIC Limited 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | Trade Mark: 27 | ========== 28 | APIMATIC is a trade mark for APIMATIC Limited 29 | -------------------------------------------------------------------------------- /bandwidth/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from bandwidth.api.calls_api import CallsApi 5 | from bandwidth.api.conferences_api import ConferencesApi 6 | from bandwidth.api.mfa_api import MFAApi 7 | from bandwidth.api.media_api import MediaApi 8 | from bandwidth.api.messages_api import MessagesApi 9 | from bandwidth.api.multi_channel_api import MultiChannelApi 10 | from bandwidth.api.phone_number_lookup_api import PhoneNumberLookupApi 11 | from bandwidth.api.recordings_api import RecordingsApi 12 | from bandwidth.api.statistics_api import StatisticsApi 13 | from bandwidth.api.toll_free_verification_api import TollFreeVerificationApi 14 | from bandwidth.api.transcriptions_api import TranscriptionsApi 15 | 16 | -------------------------------------------------------------------------------- /bandwidth/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | from typing import Optional, Generic, Mapping, TypeVar 5 | from pydantic import Field, StrictInt, StrictBytes, BaseModel 6 | 7 | T = TypeVar("T") 8 | 9 | class ApiResponse(BaseModel, Generic[T]): 10 | """ 11 | API response object 12 | """ 13 | 14 | status_code: StrictInt = Field(description="HTTP status code") 15 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 16 | data: T = Field(description="Deserialized data given the data type") 17 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 18 | 19 | model_config = { 20 | "arbitrary_types_allowed": True 21 | } 22 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/__init__.py: -------------------------------------------------------------------------------- 1 | from .bxml import Bxml 2 | from .nestable_verb import NestableVerb 3 | from .response import Response 4 | from .root import Root 5 | from .verb import Verb 6 | from .verbs import * 7 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/bxml.py: -------------------------------------------------------------------------------- 1 | """ 2 | bxml.py 3 | 4 | Class that allows user to generate a Bxml document 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from typing import List 9 | 10 | from .root import Root 11 | from .verb import Verb 12 | 13 | 14 | class Bxml(Root): 15 | def __init__(self, nested_verbs: List[Verb] = []): 16 | """Initialize an instance of the root 17 | 18 | Args: 19 | nested_verbs (list[BxmlVerb], optional): Optional nested verbs to create the model with. Defaults to []. 20 | """ 21 | super().__init__(tag="Bxml", nested_verbs=nested_verbs) 22 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/response.py: -------------------------------------------------------------------------------- 1 | """ 2 | response.py 3 | 4 | Class that allows user to generate a Response document 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from typing import List 9 | 10 | from .root import Root 11 | from .verb import Verb 12 | 13 | 14 | class Response(Root): 15 | def __init__(self, nested_verbs: List[Verb] = []): 16 | """Initialize an instance of the root 17 | 18 | Args: 19 | nested_verbs (list[BxmlVerb], optional): Optional nested verbs to create the model with. Defaults to []. 20 | """ 21 | super().__init__(tag="Response", nested_verbs=nested_verbs) 22 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/__init__.py: -------------------------------------------------------------------------------- 1 | from .bridge import Bridge 2 | from .conference import Conference 3 | from .custom_param import CustomParam 4 | from .forward import Forward 5 | from .gather import Gather 6 | from .hangup import Hangup 7 | from .pause_recording import PauseRecording 8 | from .pause import Pause 9 | from .phone_number import PhoneNumber 10 | from .play_audio import PlayAudio 11 | from .record import Record 12 | from .redirect import Redirect 13 | from .resume_recording import ResumeRecording 14 | from .ring import Ring 15 | from .send_dtmf import SendDtmf 16 | from .sip_uri import SipUri 17 | from .speak_sentence import SpeakSentence 18 | from .start_gather import StartGather 19 | from .start_recording import StartRecording 20 | from .start_stream import StartStream 21 | from .start_transcription import StartTranscription 22 | from .stop_gather import StopGather 23 | from .stop_recording import StopRecording 24 | from .stop_stream import StopStream 25 | from .stop_transcription import StopTranscription 26 | from .stream_param import StreamParam 27 | from .tag import Tag 28 | from .transfer import Transfer 29 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/custom_param.py: -------------------------------------------------------------------------------- 1 | """ 2 | custom_param.py 3 | 4 | Bandwidth's Custom Param BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class CustomParam(Verb): 12 | def __init__(self, name: str = None, value: str = None): 13 | """ 14 | Initialize a verb 15 | :param name: The name of this parameter, up to 256 characters. 16 | :param value: The value of this parameter, up to 2048 characters. 17 | """ 18 | self.name = name 19 | self.value = value 20 | 21 | super().__init__( 22 | tag="CustomParam", 23 | ) 24 | 25 | @property 26 | def _attributes(self): 27 | return { 28 | "name": self.name, 29 | "value": self.value, 30 | } 31 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/hangup.py: -------------------------------------------------------------------------------- 1 | """ 2 | hangup.py 3 | 4 | Bandwidth's Hangup BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class Hangup(Verb): 12 | 13 | def __init__(self): 14 | """Initialize a verb 15 | 16 | Args: 17 | None 18 | """ 19 | super().__init__(tag="Hangup") 20 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/pause.py: -------------------------------------------------------------------------------- 1 | """ 2 | pause.py 3 | 4 | Bandwidth's Pause BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class Pause(Verb): 12 | def __init__(self, duration:int=1): 13 | """Initialize a verb 14 | Args: 15 | duration (str, optional): The time in seconds to pause. Default value is 1. 16 | """ 17 | self.duration = str(duration) 18 | 19 | super().__init__(tag="Pause") 20 | 21 | @property 22 | def _attributes(self): 23 | return { 24 | "duration": self.duration 25 | } 26 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/pause_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | pause_recording.py 3 | 4 | Bandwidth's PauseRecording BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class PauseRecording(Verb): 12 | 13 | def __init__(self): 14 | """Initialize a verb 15 | """ 16 | super().__init__(tag="PauseRecording") 17 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/play_audio.py: -------------------------------------------------------------------------------- 1 | """ 2 | play_audio.py 3 | 4 | Bandwidth's PlayAudio BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class PlayAudio(Verb): 12 | 13 | def __init__( 14 | self, audio_uri: str, 15 | username: str=None, password: str=None 16 | ): 17 | """Initialize a verb 18 | 19 | Args: 20 | audio_uri (str): The URL of the audio file to play. May be a relative URL. 21 | username (str, optional): The username to send in the HTTP request to audio_uri. 22 | password (str, optional): The password to send in the HTTP request to audio_uri. 23 | """ 24 | self.audio_uri = audio_uri 25 | self.username = username 26 | self.password = password 27 | super().__init__( 28 | tag="PlayAudio", 29 | content=self.audio_uri, 30 | ) 31 | 32 | @property 33 | def _attributes(self): 34 | return { 35 | "username": self.username, 36 | "password": self.password, 37 | } 38 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/resume_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | record.py 3 | 4 | Bandwidth's ResumeRecording BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class ResumeRecording(Verb): 12 | 13 | def __init__( 14 | self 15 | ): 16 | """Initialize a verb 17 | 18 | Args: There are no args or text content for ResumeRecording 19 | """ 20 | 21 | super().__init__(tag="ResumeRecording", content=None) 22 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/ring.py: -------------------------------------------------------------------------------- 1 | """ 2 | ring.py 3 | 4 | Bandwidth's Ring BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class Ring(Verb): 12 | 13 | def __init__( 14 | self, duration: int=None, 15 | answer_call: bool=None, 16 | ): 17 | """Initialize a verb 18 | 19 | Args: 20 | duration (int, optional): How many seconds to play ringing on the call. Default value is 5. Range: decimal values between 0.1 - 86400. 21 | answer_call (bool, optional): A boolean indicating whether or not to answer the call when Ring is executed on an unanswered incoming call. Default value is 'true'. 22 | """ 23 | self.duration = duration 24 | self.answer_call = answer_call 25 | super().__init__(tag="Ring") 26 | 27 | @property 28 | def _attributes(self): 29 | return { 30 | "duration": self.duration, 31 | "answerCall": self.answer_call, 32 | } 33 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/send_dtmf.py: -------------------------------------------------------------------------------- 1 | """ 2 | send_dtmf.py 3 | 4 | Bandwidth's SendDtmf BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class SendDtmf(Verb): 12 | 13 | def __init__( 14 | self, digits: str, 15 | tone_duration: int=None, 16 | tone_interval: int=None, 17 | ): 18 | """Initialize a verb 19 | 20 | Args: 21 | digits (str): String containing the DTMF characters to be sent in a call. Allows a maximum of 50 characters. The digits will be sent one-by-one with a marginal delay. 22 | tone_duration (int, optional): The length (in milliseconds) of each DTMF tone. Default value is 200. Range: decimal values between 50 - 5000. 23 | tone_interval (int, optional): The duration of silence (in milliseconds) following each DTMF tone. Default value is 400. Range: decimal values between 50 - 5000. 24 | """ 25 | self.digits = digits 26 | self.tone_duration = tone_duration 27 | self.tone_interval = tone_interval 28 | super().__init__( 29 | tag="SendDtmf", 30 | content=self.digits 31 | ) 32 | 33 | @property 34 | def _attributes(self): 35 | return { 36 | "toneDuration": self.tone_duration, 37 | "toneInterval": self.tone_interval 38 | } 39 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/stop_gather.py: -------------------------------------------------------------------------------- 1 | """ 2 | stop_gather.py 3 | 4 | Bandwidth's StopGather BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class StopGather(Verb): 12 | 13 | def __init__(self): 14 | """Initialize a verb 15 | """ 16 | super().__init__(tag="StopGather", content=None) 17 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/stop_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | record.py 3 | 4 | Bandwidth's StopRecording BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class StopRecording(Verb): 12 | 13 | def __init__(self): 14 | """Initialize a verb 15 | 16 | Args: There are no args or text content for StopRecording 17 | """ 18 | 19 | super().__init__(tag="StopRecording") 20 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/stop_stream.py: -------------------------------------------------------------------------------- 1 | """ 2 | stop_stream.py 3 | 4 | Bandwidth's StopStream BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class StopStream(Verb): 12 | 13 | def __init__( 14 | self, name: str 15 | ): 16 | """Initialize a verb 17 | 18 | Args: 19 | name (str): The name of the stream to stop. This is either the user selected name when sending the verb, or the system generated name returned in the Media Stream Started webhook if was sent with no name attribute. 20 | """ 21 | self.name = name 22 | super().__init__( 23 | tag="StopStream", 24 | ) 25 | 26 | @property 27 | def _attributes(self): 28 | return { 29 | "name": self.name, 30 | } 31 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/stop_transcription.py: -------------------------------------------------------------------------------- 1 | """ 2 | stop_transcription.py 3 | 4 | Bandwidth's Stop Transcription BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class StopTranscription(Verb): 12 | def __init__( 13 | self, 14 | name: str = None, 15 | ): 16 | """ 17 | Initialize a verb 18 | :param name: The name of the real-time transcription to stop. This is either the user selected name when sending the verb, or the system generated name returned in the Real-Time Transcription Started webhook if was sent with no name attribute. If no name is specified, then all active call transcriptions will be stopped. 19 | """ 20 | self.name = name 21 | 22 | super().__init__( 23 | tag="StopTranscription", 24 | ) 25 | 26 | @property 27 | def _attributes(self): 28 | return { 29 | "name": self.name, 30 | } 31 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/stream_param.py: -------------------------------------------------------------------------------- 1 | """ 2 | stream_param.py 3 | 4 | Bandwidth's StreamParam BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class StreamParam(Verb): 12 | 13 | def __init__( 14 | self, name: str, value: str 15 | ): 16 | """Initialize a verb 17 | 18 | Args: 19 | name (str): The name of this parameter, up to 256 characters. 20 | value (str): The value of this parameter, up to 2048 characters. 21 | """ 22 | self.name = name 23 | self.value = value 24 | super().__init__( 25 | tag="StreamParam" 26 | ) 27 | 28 | @property 29 | def _attributes(self): 30 | return { 31 | "name": self.name, 32 | "value": self.value, 33 | } 34 | -------------------------------------------------------------------------------- /bandwidth/models/bxml/verbs/tag.py: -------------------------------------------------------------------------------- 1 | """ 2 | tag.py 3 | 4 | Bandwidth's Tag BXML verb 5 | 6 | @copyright Bandwidth INC 7 | """ 8 | from ..verb import Verb 9 | 10 | 11 | class Tag(Verb): 12 | 13 | def __init__(self, content=""): 14 | """Initialize a verb 15 | 16 | Args: 17 | content (str, optional): Custom tag value. Defaults to "". 18 | """ 19 | self.content = content 20 | super().__init__(tag="Tag", content=self.content) 21 | -------------------------------------------------------------------------------- /bandwidth/models/call_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CallDirectionEnum(str, Enum): 23 | """ 24 | The direction of the call. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | INBOUND = 'inbound' 31 | OUTBOUND = 'outbound' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of CallDirectionEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/call_state_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CallStateEnum(str, Enum): 23 | """ 24 | The call state. Possible values:
`active` to redirect the call (default)
`completed` to hang up the call if it is answered, cancel it if it is an unanswered outbound call, or reject it if it an unanswered inbound call 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | ACTIVE = 'active' 31 | COMPLETED = 'completed' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of CallStateEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/call_transcription_detected_language_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CallTranscriptionDetectedLanguageEnum(str, Enum): 23 | """ 24 | The detected language for this transcription. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | EN_MINUS_US = 'en-US' 31 | ES_MINUS_US = 'es-US' 32 | FR_MINUS_FR = 'fr-FR' 33 | 34 | @classmethod 35 | def from_json(cls, json_str: str) -> Self: 36 | """Create an instance of CallTranscriptionDetectedLanguageEnum from a JSON string""" 37 | return cls(json.loads(json_str)) 38 | 39 | 40 | -------------------------------------------------------------------------------- /bandwidth/models/call_transcription_track_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CallTranscriptionTrackEnum(str, Enum): 23 | """ 24 | Which `track` this transcription is derived from. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | INBOUND = 'inbound' 31 | OUTBOUND = 'outbound' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of CallTranscriptionTrackEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/callback_method_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CallbackMethodEnum(str, Enum): 23 | """ 24 | The HTTP method to use to deliver the callback. GET or POST. Default value is POST. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | GET = 'GET' 31 | POST = 'POST' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of CallbackMethodEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/callback_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CallbackTypeEnum(str, Enum): 23 | """ 24 | Indicates the type of the callback: - `message-received` for inbound callbacks. - One of `message-sending`, `message-delivered`, `message-failed` for status callbacks. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | MESSAGE_MINUS_RECEIVED = 'message-received' 31 | MESSAGE_MINUS_SENDING = 'message-sending' 32 | MESSAGE_MINUS_DELIVERED = 'message-delivered' 33 | MESSAGE_MINUS_FAILED = 'message-failed' 34 | 35 | @classmethod 36 | def from_json(cls, json_str: str) -> Self: 37 | """Create an instance of CallbackTypeEnum from a JSON string""" 38 | return cls(json.loads(json_str)) 39 | 40 | 41 | -------------------------------------------------------------------------------- /bandwidth/models/card_width_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class CardWidthEnum(str, Enum): 23 | """ 24 | CardWidthEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | SMALL = 'SMALL' 31 | MEDIUM = 'MEDIUM' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of CardWidthEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/conference_state_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class ConferenceStateEnum(str, Enum): 23 | """ 24 | Setting the conference state to `completed` ends the conference and ejects all members. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | ACTIVE = 'active' 31 | COMPLETED = 'completed' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of ConferenceStateEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/file_format_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class FileFormatEnum(str, Enum): 23 | """ 24 | The format that the recording is stored in. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | MP3 = 'mp3' 31 | WAV = 'wav' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of FileFormatEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/list_message_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class ListMessageDirectionEnum(str, Enum): 23 | """ 24 | The direction of the message. One of INBOUND OUTBOUND. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | INBOUND = 'INBOUND' 31 | OUTBOUND = 'OUTBOUND' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of ListMessageDirectionEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/lookup_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class LookupStatusEnum(str, Enum): 23 | """ 24 | The status of the request (IN_PROGRESS, COMPLETE, PARTIAL_COMPLETE, or FAILED). 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | IN_PROGRESS = 'IN_PROGRESS' 31 | COMPLETE = 'COMPLETE' 32 | PARTIAL_COMPLETE = 'PARTIAL_COMPLETE' 33 | FAILED = 'FAILED' 34 | 35 | @classmethod 36 | def from_json(cls, json_str: str) -> Self: 37 | """Create an instance of LookupStatusEnum from a JSON string""" 38 | return cls(json.loads(json_str)) 39 | 40 | 41 | -------------------------------------------------------------------------------- /bandwidth/models/machine_detection_mode_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MachineDetectionModeEnum(str, Enum): 23 | """ 24 | The machine detection mode. If set to 'async', the detection result will be sent in a 'machineDetectionComplete' callback. If set to 'sync', the 'answer' callback will wait for the machine detection to complete and will include its result. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | SYNC = 'sync' 31 | ASYNC = 'async' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of MachineDetectionModeEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/message_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MessageDirectionEnum(str, Enum): 23 | """ 24 | The direction of the message. One of in out. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | IN = 'in' 31 | OUT = 'out' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of MessageDirectionEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/message_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MessageStatusEnum(str, Enum): 23 | """ 24 | The status of the message. One of RECEIVED QUEUED SENDING SENT FAILED DELIVERED ACCEPTED UNDELIVERED. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | RECEIVED = 'RECEIVED' 31 | QUEUED = 'QUEUED' 32 | SENDING = 'SENDING' 33 | SENT = 'SENT' 34 | FAILED = 'FAILED' 35 | DELIVERED = 'DELIVERED' 36 | ACCEPTED = 'ACCEPTED' 37 | UNDELIVERED = 'UNDELIVERED' 38 | 39 | @classmethod 40 | def from_json(cls, json_str: str) -> Self: 41 | """Create an instance of MessageStatusEnum from a JSON string""" 42 | return cls(json.loads(json_str)) 43 | 44 | 45 | -------------------------------------------------------------------------------- /bandwidth/models/message_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MessageTypeEnum(str, Enum): 23 | """ 24 | The type of message. Either SMS or MMS. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | SMS = 'sms' 31 | MMS = 'mms' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of MessageTypeEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/multi_channel_message_channel_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MultiChannelMessageChannelEnum(str, Enum): 23 | """ 24 | The channel of the multi-channel message. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | RBM = 'RBM' 31 | SMS = 'SMS' 32 | MMS = 'MMS' 33 | 34 | @classmethod 35 | def from_json(cls, json_str: str) -> Self: 36 | """Create an instance of MultiChannelMessageChannelEnum from a JSON string""" 37 | return cls(json.loads(json_str)) 38 | 39 | 40 | -------------------------------------------------------------------------------- /bandwidth/models/multi_channel_message_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MultiChannelMessageDirectionEnum(str, Enum): 23 | """ 24 | MultiChannelMessageDirectionEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | INBOUND = 'INBOUND' 31 | OUTBOUND = 'OUTBOUND' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of MultiChannelMessageDirectionEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/multi_channel_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class MultiChannelStatusEnum(str, Enum): 23 | """ 24 | MultiChannelStatusEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | QUEUED = 'QUEUED' 31 | SENDING = 'SENDING' 32 | DELIVERED = 'DELIVERED' 33 | FAILED = 'FAILED' 34 | 35 | @classmethod 36 | def from_json(cls, json_str: str) -> Self: 37 | """Create an instance of MultiChannelStatusEnum from a JSON string""" 38 | return cls(json.loads(json_str)) 39 | 40 | 41 | -------------------------------------------------------------------------------- /bandwidth/models/priority_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class PriorityEnum(str, Enum): 23 | """ 24 | The priority specified by the user. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | DEFAULT = 'default' 31 | HIGH = 'high' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of PriorityEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/rbm_action_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class RbmActionTypeEnum(str, Enum): 23 | """ 24 | RbmActionTypeEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | REPLY = 'REPLY' 31 | DIAL_PHONE = 'DIAL_PHONE' 32 | SHOW_LOCATION = 'SHOW_LOCATION' 33 | CREATE_CALENDAR_EVENT = 'CREATE_CALENDAR_EVENT' 34 | OPEN_URL = 'OPEN_URL' 35 | REQUEST_LOCATION = 'REQUEST_LOCATION' 36 | 37 | @classmethod 38 | def from_json(cls, json_str: str) -> Self: 39 | """Create an instance of RbmActionTypeEnum from a JSON string""" 40 | return cls(json.loads(json_str)) 41 | 42 | 43 | -------------------------------------------------------------------------------- /bandwidth/models/rbm_media_height_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class RbmMediaHeightEnum(str, Enum): 23 | """ 24 | The height of the media. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | SHORT = 'SHORT' 31 | MEDIUM = 'MEDIUM' 32 | TALL = 'TALL' 33 | 34 | @classmethod 35 | def from_json(cls, json_str: str) -> Self: 36 | """Create an instance of RbmMediaHeightEnum from a JSON string""" 37 | return cls(json.loads(json_str)) 38 | 39 | 40 | -------------------------------------------------------------------------------- /bandwidth/models/recording_state_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class RecordingStateEnum(str, Enum): 23 | """ 24 | The recording state. Possible values: `paused` to pause an active recording `recording` to resume a paused recording 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | PAUSED = 'paused' 31 | RECORDING = 'recording' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of RecordingStateEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/redirect_method_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class RedirectMethodEnum(str, Enum): 23 | """ 24 | The HTTP method to use for the request to `redirectUrl`. GET or POST. Default value is POST.

Not allowed if `state` is `completed`. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | GET = 'GET' 31 | POST = 'POST' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of RedirectMethodEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/standalone_card_orientation_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class StandaloneCardOrientationEnum(str, Enum): 23 | """ 24 | StandaloneCardOrientationEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | HORIZONTAL = 'HORIZONTAL' 31 | VERTICAL = 'VERTICAL' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of StandaloneCardOrientationEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/tfv_callback_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class TfvCallbackStatusEnum(str, Enum): 23 | """ 24 | TfvCallbackStatusEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | VERIFIED = 'VERIFIED' 31 | UNVERIFIED = 'UNVERIFIED' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of TfvCallbackStatusEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/tfv_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class TfvStatusEnum(str, Enum): 23 | """ 24 | TfvStatusEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | VERIFIED = 'VERIFIED' 31 | UNVERIFIED = 'UNVERIFIED' 32 | PENDING = 'PENDING' 33 | 34 | @classmethod 35 | def from_json(cls, json_str: str) -> Self: 36 | """Create an instance of TfvStatusEnum from a JSON string""" 37 | return cls(json.loads(json_str)) 38 | 39 | 40 | -------------------------------------------------------------------------------- /bandwidth/models/thumbnail_alignment_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class ThumbnailAlignmentEnum(str, Enum): 23 | """ 24 | The alignment of the thumbnail image in the card. Only applicable if the card using horizontal orientation. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | LEFT = 'LEFT' 31 | RIGHT = 'RIGHT' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of ThumbnailAlignmentEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/models/webhook_subscription_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | from __future__ import annotations 17 | import json 18 | from enum import Enum 19 | from typing_extensions import Self 20 | 21 | 22 | class WebhookSubscriptionTypeEnum(str, Enum): 23 | """ 24 | WebhookSubscriptionTypeEnum 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | TOLLFREE_VERIFICATION_STATUS = 'TOLLFREE_VERIFICATION_STATUS' 31 | MESSAGING_PORTOUT_APPROVAL_STATUS = 'MESSAGING_PORTOUT_APPROVAL_STATUS' 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of WebhookSubscriptionTypeEnum from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | 38 | 39 | -------------------------------------------------------------------------------- /bandwidth/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/bandwidth/py.typed -------------------------------------------------------------------------------- /custom_templates/setup.mustache: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | {{>partial_header}} 4 | 5 | import os 6 | import sys 7 | from setuptools import setup, find_packages # noqa: H301 8 | 9 | NAME = "{{{projectName}}}" 10 | VERSION = os.environ['RELEASE_VERSION'] 11 | 12 | with open('README.md', 'r', encoding='utf-8') as fh: 13 | long_description = fh.read() 14 | 15 | with open('requirements.txt') as f: 16 | REQUIRES = f.read().splitlines() 17 | 18 | PYTHON_REQUIRES = ">=3.7" 19 | 20 | setup( 21 | name=NAME, 22 | version=VERSION, 23 | description="Bandwidth", 24 | author="Bandwidth", 25 | author_email="letstalk@bandwidth.com", 26 | url="https://dev.bandwidth.com/sdks/python", 27 | keywords=["OpenAPI", "OpenAPI-Generator", "Bandwidth"], 28 | python_requires=PYTHON_REQUIRES, 29 | install_requires=REQUIRES, 30 | packages=find_packages(exclude=["test", "tests"]), 31 | include_package_data=True, 32 | long_description=long_description, 33 | long_description_content_type='text/markdown' 34 | ) 35 | -------------------------------------------------------------------------------- /docs/AccountStatistics.md: -------------------------------------------------------------------------------- 1 | # AccountStatistics 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **current_call_queue_size** | **int** | The number of calls currently enqueued. | [optional] 9 | **max_call_queue_size** | **int** | The maximum size of the queue before outgoing calls start being rejected. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.account_statistics import AccountStatistics 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of AccountStatistics from a JSON string 19 | account_statistics_instance = AccountStatistics.from_json(json) 20 | # print the JSON string representation of the object 21 | print(AccountStatistics.to_json()) 22 | 23 | # convert the object into a dict 24 | account_statistics_dict = account_statistics_instance.to_dict() 25 | # create an instance of AccountStatistics from a dict 26 | account_statistics_from_dict = AccountStatistics.from_dict(account_statistics_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/AdditionalDenialReason.md: -------------------------------------------------------------------------------- 1 | # AdditionalDenialReason 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **status_code** | **int** | Reason code for denial. | 9 | **reason** | **str** | Explanation for why a verification request was declined. | 10 | **resubmit_allowed** | **bool** | Whether a Toll-Free Verification request qualifies for resubmission via PUT. | 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.additional_denial_reason import AdditionalDenialReason 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of AdditionalDenialReason from a JSON string 20 | additional_denial_reason_instance = AdditionalDenialReason.from_json(json) 21 | # print the JSON string representation of the object 22 | print(AdditionalDenialReason.to_json()) 23 | 24 | # convert the object into a dict 25 | additional_denial_reason_dict = additional_denial_reason_instance.to_dict() 26 | # create an instance of AdditionalDenialReason from a dict 27 | additional_denial_reason_from_dict = AdditionalDenialReason.from_dict(additional_denial_reason_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/Address.md: -------------------------------------------------------------------------------- 1 | # Address 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **name** | **str** | The name of the business using the toll-free number. | 9 | **addr1** | **str** | The address of the business using the toll-free number. | 10 | **addr2** | **str** | The address of the business using the toll-free number. | [optional] 11 | **city** | **str** | The city of the business using the toll-free number. | 12 | **state** | **str** | The state of the business using the toll-free number. | 13 | **zip** | **str** | The zip of the business using the toll-free number. | 14 | **url** | **str** | The website of the business using the toll-free number. | 15 | 16 | ## Example 17 | 18 | ```python 19 | from bandwidth.models.address import Address 20 | 21 | # TODO update the JSON string below 22 | json = "{}" 23 | # create an instance of Address from a JSON string 24 | address_instance = Address.from_json(json) 25 | # print the JSON string representation of the object 26 | print(Address.to_json()) 27 | 28 | # convert the object into a dict 29 | address_dict = address_instance.to_dict() 30 | # create an instance of Address from a dict 31 | address_from_dict = Address.from_dict(address_dict) 32 | ``` 33 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 34 | 35 | 36 | -------------------------------------------------------------------------------- /docs/CallDirectionEnum.md: -------------------------------------------------------------------------------- 1 | # CallDirectionEnum 2 | 3 | The direction of the call. 4 | 5 | ## Enum 6 | 7 | * `INBOUND` (value: `'inbound'`) 8 | 9 | * `OUTBOUND` (value: `'outbound'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CallStateEnum.md: -------------------------------------------------------------------------------- 1 | # CallStateEnum 2 | 3 | The call state. Possible values:
`active` to redirect the call (default)
`completed` to hang up the call if it is answered, cancel it if it is an unanswered outbound call, or reject it if it an unanswered inbound call 4 | 5 | ## Enum 6 | 7 | * `ACTIVE` (value: `'active'`) 8 | 9 | * `COMPLETED` (value: `'completed'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CallTranscription.md: -------------------------------------------------------------------------------- 1 | # CallTranscription 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **detected_language** | [**CallTranscriptionDetectedLanguageEnum**](CallTranscriptionDetectedLanguageEnum.md) | | [optional] 9 | **track** | [**CallTranscriptionTrackEnum**](CallTranscriptionTrackEnum.md) | | [optional] 10 | **transcript** | **str** | The transcription itself. | [optional] 11 | **confidence** | **float** | How confident the transcription engine was in transcribing the associated audio (from `0` to `1`). | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.call_transcription import CallTranscription 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of CallTranscription from a JSON string 21 | call_transcription_instance = CallTranscription.from_json(json) 22 | # print the JSON string representation of the object 23 | print(CallTranscription.to_json()) 24 | 25 | # convert the object into a dict 26 | call_transcription_dict = call_transcription_instance.to_dict() 27 | # create an instance of CallTranscription from a dict 28 | call_transcription_from_dict = CallTranscription.from_dict(call_transcription_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/CallTranscriptionDetectedLanguageEnum.md: -------------------------------------------------------------------------------- 1 | # CallTranscriptionDetectedLanguageEnum 2 | 3 | The detected language for this transcription. 4 | 5 | ## Enum 6 | 7 | * `EN_MINUS_US` (value: `'en-US'`) 8 | 9 | * `ES_MINUS_US` (value: `'es-US'`) 10 | 11 | * `FR_MINUS_FR` (value: `'fr-FR'`) 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/CallTranscriptionResponse.md: -------------------------------------------------------------------------------- 1 | # CallTranscriptionResponse 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **account_id** | **str** | The user account associated with the call. | [optional] 9 | **call_id** | **str** | The call id associated with the event. | [optional] 10 | **transcription_id** | **str** | The programmable voice API transcription ID. | [optional] 11 | **tracks** | [**List[CallTranscription]**](CallTranscription.md) | | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.call_transcription_response import CallTranscriptionResponse 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of CallTranscriptionResponse from a JSON string 21 | call_transcription_response_instance = CallTranscriptionResponse.from_json(json) 22 | # print the JSON string representation of the object 23 | print(CallTranscriptionResponse.to_json()) 24 | 25 | # convert the object into a dict 26 | call_transcription_response_dict = call_transcription_response_instance.to_dict() 27 | # create an instance of CallTranscriptionResponse from a dict 28 | call_transcription_response_from_dict = CallTranscriptionResponse.from_dict(call_transcription_response_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/CallTranscriptionTrackEnum.md: -------------------------------------------------------------------------------- 1 | # CallTranscriptionTrackEnum 2 | 3 | Which `track` this transcription is derived from. 4 | 5 | ## Enum 6 | 7 | * `INBOUND` (value: `'inbound'`) 8 | 9 | * `OUTBOUND` (value: `'outbound'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CallbackMethodEnum.md: -------------------------------------------------------------------------------- 1 | # CallbackMethodEnum 2 | 3 | The HTTP method to use to deliver the callback. GET or POST. Default value is POST. 4 | 5 | ## Enum 6 | 7 | * `GET` (value: `'GET'`) 8 | 9 | * `POST` (value: `'POST'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CallbackTypeEnum.md: -------------------------------------------------------------------------------- 1 | # CallbackTypeEnum 2 | 3 | Indicates the type of the callback: - `message-received` for inbound callbacks. - One of `message-sending`, `message-delivered`, `message-failed` for status callbacks. 4 | 5 | ## Enum 6 | 7 | * `MESSAGE_MINUS_RECEIVED` (value: `'message-received'`) 8 | 9 | * `MESSAGE_MINUS_SENDING` (value: `'message-sending'`) 10 | 11 | * `MESSAGE_MINUS_DELIVERED` (value: `'message-delivered'`) 12 | 13 | * `MESSAGE_MINUS_FAILED` (value: `'message-failed'`) 14 | 15 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/CardWidthEnum.md: -------------------------------------------------------------------------------- 1 | # CardWidthEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `SMALL` (value: `'SMALL'`) 7 | 8 | * `MEDIUM` (value: `'MEDIUM'`) 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/ConferenceStateEnum.md: -------------------------------------------------------------------------------- 1 | # ConferenceStateEnum 2 | 3 | Setting the conference state to `completed` ends the conference and ejects all members. 4 | 5 | ## Enum 6 | 7 | * `ACTIVE` (value: `'active'`) 8 | 9 | * `COMPLETED` (value: `'completed'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/Contact.md: -------------------------------------------------------------------------------- 1 | # Contact 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **first_name** | **str** | The first name of the business contact using the toll-free number. | 9 | **last_name** | **str** | The last name of the business contact using the toll-free number. | 10 | **email** | **str** | | 11 | **phone_number** | **str** | Contact telephone number | 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.contact import Contact 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of Contact from a JSON string 21 | contact_instance = Contact.from_json(json) 22 | # print the JSON string representation of the object 23 | print(Contact.to_json()) 24 | 25 | # convert the object into a dict 26 | contact_dict = contact_instance.to_dict() 27 | # create an instance of Contact from a dict 28 | contact_from_dict = Contact.from_dict(contact_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/CreateLookupResponse.md: -------------------------------------------------------------------------------- 1 | # CreateLookupResponse 2 | 3 | The request has been accepted for processing but not yet finished and in a terminal state (COMPLETE, PARTIAL_COMPLETE, or FAILED). 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **request_id** | **str** | The phone number lookup request ID from Bandwidth. | [optional] 10 | **status** | [**LookupStatusEnum**](LookupStatusEnum.md) | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.create_lookup_response import CreateLookupResponse 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of CreateLookupResponse from a JSON string 20 | create_lookup_response_instance = CreateLookupResponse.from_json(json) 21 | # print the JSON string representation of the object 22 | print(CreateLookupResponse.to_json()) 23 | 24 | # convert the object into a dict 25 | create_lookup_response_dict = create_lookup_response_instance.to_dict() 26 | # create an instance of CreateLookupResponse from a dict 27 | create_lookup_response_from_dict = CreateLookupResponse.from_dict(create_lookup_response_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/CreateMessageRequestError.md: -------------------------------------------------------------------------------- 1 | # CreateMessageRequestError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | **str** | | 9 | **description** | **str** | | 10 | **field_errors** | [**List[FieldError]**](FieldError.md) | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.create_message_request_error import CreateMessageRequestError 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of CreateMessageRequestError from a JSON string 20 | create_message_request_error_instance = CreateMessageRequestError.from_json(json) 21 | # print the JSON string representation of the object 22 | print(CreateMessageRequestError.to_json()) 23 | 24 | # convert the object into a dict 25 | create_message_request_error_dict = create_message_request_error_instance.to_dict() 26 | # create an instance of CreateMessageRequestError from a dict 27 | create_message_request_error_from_dict = CreateMessageRequestError.from_dict(create_message_request_error_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/CreateMultiChannelMessageResponse.md: -------------------------------------------------------------------------------- 1 | # CreateMultiChannelMessageResponse 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **links** | [**List[Link]**](Link.md) | | [optional] 9 | **data** | [**MultiChannelMessageData**](MultiChannelMessageData.md) | | [optional] 10 | **errors** | [**List[ErrorObject]**](ErrorObject.md) | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.create_multi_channel_message_response import CreateMultiChannelMessageResponse 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of CreateMultiChannelMessageResponse from a JSON string 20 | create_multi_channel_message_response_instance = CreateMultiChannelMessageResponse.from_json(json) 21 | # print the JSON string representation of the object 22 | print(CreateMultiChannelMessageResponse.to_json()) 23 | 24 | # convert the object into a dict 25 | create_multi_channel_message_response_dict = create_multi_channel_message_response_instance.to_dict() 26 | # create an instance of CreateMultiChannelMessageResponse from a dict 27 | create_multi_channel_message_response_from_dict = CreateMultiChannelMessageResponse.from_dict(create_multi_channel_message_response_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/DeferredResult.md: -------------------------------------------------------------------------------- 1 | # DeferredResult 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **result** | **object** | | [optional] 9 | **set_or_expired** | **bool** | | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.deferred_result import DeferredResult 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of DeferredResult from a JSON string 19 | deferred_result_instance = DeferredResult.from_json(json) 20 | # print the JSON string representation of the object 21 | print(DeferredResult.to_json()) 22 | 23 | # convert the object into a dict 24 | deferred_result_dict = deferred_result_instance.to_dict() 25 | # create an instance of DeferredResult from a dict 26 | deferred_result_from_dict = DeferredResult.from_dict(deferred_result_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/Error.md: -------------------------------------------------------------------------------- 1 | # Error 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **code** | **int** | | [optional] 9 | **description** | **str** | | [optional] 10 | **telephone_numbers** | [**List[TelephoneNumber]**](TelephoneNumber.md) | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.error import Error 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of Error from a JSON string 20 | error_instance = Error.from_json(json) 21 | # print the JSON string representation of the object 22 | print(Error.to_json()) 23 | 24 | # convert the object into a dict 25 | error_dict = error_instance.to_dict() 26 | # create an instance of Error from a dict 27 | error_from_dict = Error.from_dict(error_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/ErrorObject.md: -------------------------------------------------------------------------------- 1 | # ErrorObject 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **code** | **str** | | [optional] 9 | **message** | **str** | | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.error_object import ErrorObject 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of ErrorObject from a JSON string 19 | error_object_instance = ErrorObject.from_json(json) 20 | # print the JSON string representation of the object 21 | print(ErrorObject.to_json()) 22 | 23 | # convert the object into a dict 24 | error_object_dict = error_object_instance.to_dict() 25 | # create an instance of ErrorObject from a dict 26 | error_object_from_dict = ErrorObject.from_dict(error_object_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/FieldError.md: -------------------------------------------------------------------------------- 1 | # FieldError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **field_name** | **str** | The name of the field that contains the error | [optional] 9 | **description** | **str** | The error associated with the field | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.field_error import FieldError 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of FieldError from a JSON string 19 | field_error_instance = FieldError.from_json(json) 20 | # print the JSON string representation of the object 21 | print(FieldError.to_json()) 22 | 23 | # convert the object into a dict 24 | field_error_dict = field_error_instance.to_dict() 25 | # create an instance of FieldError from a dict 26 | field_error_from_dict = FieldError.from_dict(field_error_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/FileFormatEnum.md: -------------------------------------------------------------------------------- 1 | # FileFormatEnum 2 | 3 | The format that the recording is stored in. 4 | 5 | ## Enum 6 | 7 | * `MP3` (value: `'mp3'`) 8 | 9 | * `WAV` (value: `'wav'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/InboundMessageCallback.md: -------------------------------------------------------------------------------- 1 | # InboundMessageCallback 2 | 3 | Inbound Message Callback 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **time** | **datetime** | | 10 | **type** | **str** | | 11 | **to** | **str** | | 12 | **description** | **str** | | 13 | **message** | [**InboundMessageCallbackMessage**](InboundMessageCallbackMessage.md) | | 14 | 15 | ## Example 16 | 17 | ```python 18 | from bandwidth.models.inbound_message_callback import InboundMessageCallback 19 | 20 | # TODO update the JSON string below 21 | json = "{}" 22 | # create an instance of InboundMessageCallback from a JSON string 23 | inbound_message_callback_instance = InboundMessageCallback.from_json(json) 24 | # print the JSON string representation of the object 25 | print(InboundMessageCallback.to_json()) 26 | 27 | # convert the object into a dict 28 | inbound_message_callback_dict = inbound_message_callback_instance.to_dict() 29 | # create an instance of InboundMessageCallback from a dict 30 | inbound_message_callback_from_dict = InboundMessageCallback.from_dict(inbound_message_callback_dict) 31 | ``` 32 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 33 | 34 | 35 | -------------------------------------------------------------------------------- /docs/Link.md: -------------------------------------------------------------------------------- 1 | # Link 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **rel** | **str** | | [optional] 9 | **href** | **str** | | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.link import Link 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of Link from a JSON string 19 | link_instance = Link.from_json(json) 20 | # print the JSON string representation of the object 21 | print(Link.to_json()) 22 | 23 | # convert the object into a dict 24 | link_dict = link_instance.to_dict() 25 | # create an instance of Link from a dict 26 | link_from_dict = Link.from_dict(link_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/LinksObject.md: -------------------------------------------------------------------------------- 1 | # LinksObject 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **first** | **str** | The first (or only) page of results matching the query. | [optional] 9 | **next** | **str** | If more results exist than specified by 'size', this link returns the next page of 'size' results. | [optional] 10 | **previous** | **str** | If the results are more than one page, this link returns the previous page of 'size' results. | [optional] 11 | **last** | **str** | If more results exist than specified by 'size', this link return the last page of result. | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.links_object import LinksObject 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of LinksObject from a JSON string 21 | links_object_instance = LinksObject.from_json(json) 22 | # print the JSON string representation of the object 23 | print(LinksObject.to_json()) 24 | 25 | # convert the object into a dict 26 | links_object_dict = links_object_instance.to_dict() 27 | # create an instance of LinksObject from a dict 28 | links_object_from_dict = LinksObject.from_dict(links_object_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/ListMessageDirectionEnum.md: -------------------------------------------------------------------------------- 1 | # ListMessageDirectionEnum 2 | 3 | The direction of the message. One of INBOUND OUTBOUND. 4 | 5 | ## Enum 6 | 7 | * `INBOUND` (value: `'INBOUND'`) 8 | 9 | * `OUTBOUND` (value: `'OUTBOUND'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/LookupRequest.md: -------------------------------------------------------------------------------- 1 | # LookupRequest 2 | 3 | Create phone number lookup request. 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **tns** | **List[str]** | | 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.lookup_request import LookupRequest 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of LookupRequest from a JSON string 19 | lookup_request_instance = LookupRequest.from_json(json) 20 | # print the JSON string representation of the object 21 | print(LookupRequest.to_json()) 22 | 23 | # convert the object into a dict 24 | lookup_request_dict = lookup_request_instance.to_dict() 25 | # create an instance of LookupRequest from a dict 26 | lookup_request_from_dict = LookupRequest.from_dict(lookup_request_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/LookupStatusEnum.md: -------------------------------------------------------------------------------- 1 | # LookupStatusEnum 2 | 3 | The status of the request (IN_PROGRESS, COMPLETE, PARTIAL_COMPLETE, or FAILED). 4 | 5 | ## Enum 6 | 7 | * `IN_PROGRESS` (value: `'IN_PROGRESS'`) 8 | 9 | * `COMPLETE` (value: `'COMPLETE'`) 10 | 11 | * `PARTIAL_COMPLETE` (value: `'PARTIAL_COMPLETE'`) 12 | 13 | * `FAILED` (value: `'FAILED'`) 14 | 15 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/MachineDetectionModeEnum.md: -------------------------------------------------------------------------------- 1 | # MachineDetectionModeEnum 2 | 3 | The machine detection mode. If set to 'async', the detection result will be sent in a 'machineDetectionComplete' callback. If set to 'sync', the 'answer' callback will wait for the machine detection to complete and will include its result. 4 | 5 | ## Enum 6 | 7 | * `SYNC` (value: `'sync'`) 8 | 9 | * `ASYNC` (value: `'async'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/MachineDetectionResult.md: -------------------------------------------------------------------------------- 1 | # MachineDetectionResult 2 | 3 | (optional) if machine detection was requested in sync mode, the result will be specified here. Possible values are the same as the async counterpart: Machine Detection Complete 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **value** | **str** | Possible values are answering-machine, human, silence, timeout, or error. | [optional] 10 | **duration** | **str** | The amount of time it took to determine the result. | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.machine_detection_result import MachineDetectionResult 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of MachineDetectionResult from a JSON string 20 | machine_detection_result_instance = MachineDetectionResult.from_json(json) 21 | # print the JSON string representation of the object 22 | print(MachineDetectionResult.to_json()) 23 | 24 | # convert the object into a dict 25 | machine_detection_result_dict = machine_detection_result_instance.to_dict() 26 | # create an instance of MachineDetectionResult from a dict 27 | machine_detection_result_from_dict = MachineDetectionResult.from_dict(machine_detection_result_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/Media.md: -------------------------------------------------------------------------------- 1 | # Media 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **content** | **str** | | [optional] 9 | **content_length** | **int** | | [optional] 10 | **media_name** | **str** | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.media import Media 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of Media from a JSON string 20 | media_instance = Media.from_json(json) 21 | # print the JSON string representation of the object 22 | print(Media.to_json()) 23 | 24 | # convert the object into a dict 25 | media_dict = media_instance.to_dict() 26 | # create an instance of Media from a dict 27 | media_from_dict = Media.from_dict(media_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/MessageDeliveredCallback.md: -------------------------------------------------------------------------------- 1 | # MessageDeliveredCallback 2 | 3 | Message Delivered Callback 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **time** | **datetime** | | 10 | **type** | **str** | | 11 | **to** | **str** | | 12 | **description** | **str** | | 13 | **message** | [**MessageDeliveredCallbackMessage**](MessageDeliveredCallbackMessage.md) | | 14 | 15 | ## Example 16 | 17 | ```python 18 | from bandwidth.models.message_delivered_callback import MessageDeliveredCallback 19 | 20 | # TODO update the JSON string below 21 | json = "{}" 22 | # create an instance of MessageDeliveredCallback from a JSON string 23 | message_delivered_callback_instance = MessageDeliveredCallback.from_json(json) 24 | # print the JSON string representation of the object 25 | print(MessageDeliveredCallback.to_json()) 26 | 27 | # convert the object into a dict 28 | message_delivered_callback_dict = message_delivered_callback_instance.to_dict() 29 | # create an instance of MessageDeliveredCallback from a dict 30 | message_delivered_callback_from_dict = MessageDeliveredCallback.from_dict(message_delivered_callback_dict) 31 | ``` 32 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 33 | 34 | 35 | -------------------------------------------------------------------------------- /docs/MessageDirectionEnum.md: -------------------------------------------------------------------------------- 1 | # MessageDirectionEnum 2 | 3 | The direction of the message. One of in out. 4 | 5 | ## Enum 6 | 7 | * `IN` (value: `'in'`) 8 | 9 | * `OUT` (value: `'out'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/MessageFailedCallback.md: -------------------------------------------------------------------------------- 1 | # MessageFailedCallback 2 | 3 | Message Failed Callback 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **time** | **datetime** | | 10 | **type** | **str** | | 11 | **to** | **str** | | 12 | **description** | **str** | | 13 | **message** | [**MessageFailedCallbackMessage**](MessageFailedCallbackMessage.md) | | 14 | **error_code** | **int** | | 15 | 16 | ## Example 17 | 18 | ```python 19 | from bandwidth.models.message_failed_callback import MessageFailedCallback 20 | 21 | # TODO update the JSON string below 22 | json = "{}" 23 | # create an instance of MessageFailedCallback from a JSON string 24 | message_failed_callback_instance = MessageFailedCallback.from_json(json) 25 | # print the JSON string representation of the object 26 | print(MessageFailedCallback.to_json()) 27 | 28 | # convert the object into a dict 29 | message_failed_callback_dict = message_failed_callback_instance.to_dict() 30 | # create an instance of MessageFailedCallback from a dict 31 | message_failed_callback_from_dict = MessageFailedCallback.from_dict(message_failed_callback_dict) 32 | ``` 33 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 34 | 35 | 36 | -------------------------------------------------------------------------------- /docs/MessageSendingCallback.md: -------------------------------------------------------------------------------- 1 | # MessageSendingCallback 2 | 3 | Message Sending Callback 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **time** | **datetime** | | 10 | **type** | **str** | | 11 | **to** | **str** | | 12 | **description** | **str** | | 13 | **message** | [**MessageSendingCallbackMessage**](MessageSendingCallbackMessage.md) | | 14 | 15 | ## Example 16 | 17 | ```python 18 | from bandwidth.models.message_sending_callback import MessageSendingCallback 19 | 20 | # TODO update the JSON string below 21 | json = "{}" 22 | # create an instance of MessageSendingCallback from a JSON string 23 | message_sending_callback_instance = MessageSendingCallback.from_json(json) 24 | # print the JSON string representation of the object 25 | print(MessageSendingCallback.to_json()) 26 | 27 | # convert the object into a dict 28 | message_sending_callback_dict = message_sending_callback_instance.to_dict() 29 | # create an instance of MessageSendingCallback from a dict 30 | message_sending_callback_from_dict = MessageSendingCallback.from_dict(message_sending_callback_dict) 31 | ``` 32 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 33 | 34 | 35 | -------------------------------------------------------------------------------- /docs/MessageStatusEnum.md: -------------------------------------------------------------------------------- 1 | # MessageStatusEnum 2 | 3 | The status of the message. One of RECEIVED QUEUED SENDING SENT FAILED DELIVERED ACCEPTED UNDELIVERED. 4 | 5 | ## Enum 6 | 7 | * `RECEIVED` (value: `'RECEIVED'`) 8 | 9 | * `QUEUED` (value: `'QUEUED'`) 10 | 11 | * `SENDING` (value: `'SENDING'`) 12 | 13 | * `SENT` (value: `'SENT'`) 14 | 15 | * `FAILED` (value: `'FAILED'`) 16 | 17 | * `DELIVERED` (value: `'DELIVERED'`) 18 | 19 | * `ACCEPTED` (value: `'ACCEPTED'`) 20 | 21 | * `UNDELIVERED` (value: `'UNDELIVERED'`) 22 | 23 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/MessageTypeEnum.md: -------------------------------------------------------------------------------- 1 | # MessageTypeEnum 2 | 3 | The type of message. Either SMS or MMS. 4 | 5 | ## Enum 6 | 7 | * `SMS` (value: `'sms'`) 8 | 9 | * `MMS` (value: `'mms'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/MessagesList.md: -------------------------------------------------------------------------------- 1 | # MessagesList 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **total_count** | **int** | The total number of messages matched by the search. When the request has limitTotalCount set to true this value is limited to 10,000. | [optional] 9 | **page_info** | [**PageInfo**](PageInfo.md) | | [optional] 10 | **messages** | [**List[ListMessageItem]**](ListMessageItem.md) | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.messages_list import MessagesList 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of MessagesList from a JSON string 20 | messages_list_instance = MessagesList.from_json(json) 21 | # print the JSON string representation of the object 22 | print(MessagesList.to_json()) 23 | 24 | # convert the object into a dict 25 | messages_list_dict = messages_list_instance.to_dict() 26 | # create an instance of MessagesList from a dict 27 | messages_list_from_dict = MessagesList.from_dict(messages_list_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/MessagingCodeResponse.md: -------------------------------------------------------------------------------- 1 | # MessagingCodeResponse 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message_id** | **str** | Messaging API Message ID. | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.messaging_code_response import MessagingCodeResponse 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of MessagingCodeResponse from a JSON string 18 | messaging_code_response_instance = MessagingCodeResponse.from_json(json) 19 | # print the JSON string representation of the object 20 | print(MessagingCodeResponse.to_json()) 21 | 22 | # convert the object into a dict 23 | messaging_code_response_dict = messaging_code_response_instance.to_dict() 24 | # create an instance of MessagingCodeResponse from a dict 25 | messaging_code_response_from_dict = MessagingCodeResponse.from_dict(messaging_code_response_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/MessagingRequestError.md: -------------------------------------------------------------------------------- 1 | # MessagingRequestError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | **str** | | 9 | **description** | **str** | | 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.messaging_request_error import MessagingRequestError 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of MessagingRequestError from a JSON string 19 | messaging_request_error_instance = MessagingRequestError.from_json(json) 20 | # print the JSON string representation of the object 21 | print(MessagingRequestError.to_json()) 22 | 23 | # convert the object into a dict 24 | messaging_request_error_dict = messaging_request_error_instance.to_dict() 25 | # create an instance of MessagingRequestError from a dict 26 | messaging_request_error_from_dict = MessagingRequestError.from_dict(messaging_request_error_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/MfaForbiddenRequestError.md: -------------------------------------------------------------------------------- 1 | # MfaForbiddenRequestError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | The message containing the reason behind the request being forbidden. | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.mfa_forbidden_request_error import MfaForbiddenRequestError 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of MfaForbiddenRequestError from a JSON string 18 | mfa_forbidden_request_error_instance = MfaForbiddenRequestError.from_json(json) 19 | # print the JSON string representation of the object 20 | print(MfaForbiddenRequestError.to_json()) 21 | 22 | # convert the object into a dict 23 | mfa_forbidden_request_error_dict = mfa_forbidden_request_error_instance.to_dict() 24 | # create an instance of MfaForbiddenRequestError from a dict 25 | mfa_forbidden_request_error_from_dict = MfaForbiddenRequestError.from_dict(mfa_forbidden_request_error_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/MfaRequestError.md: -------------------------------------------------------------------------------- 1 | # MfaRequestError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **error** | **str** | A message describing the error with your request. | [optional] 9 | **request_id** | **str** | The associated requestId from AWS. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.mfa_request_error import MfaRequestError 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of MfaRequestError from a JSON string 19 | mfa_request_error_instance = MfaRequestError.from_json(json) 20 | # print the JSON string representation of the object 21 | print(MfaRequestError.to_json()) 22 | 23 | # convert the object into a dict 24 | mfa_request_error_dict = mfa_request_error_instance.to_dict() 25 | # create an instance of MfaRequestError from a dict 26 | mfa_request_error_from_dict = MfaRequestError.from_dict(mfa_request_error_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/MfaUnauthorizedRequestError.md: -------------------------------------------------------------------------------- 1 | # MfaUnauthorizedRequestError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | Unauthorized | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.mfa_unauthorized_request_error import MfaUnauthorizedRequestError 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of MfaUnauthorizedRequestError from a JSON string 18 | mfa_unauthorized_request_error_instance = MfaUnauthorizedRequestError.from_json(json) 19 | # print the JSON string representation of the object 20 | print(MfaUnauthorizedRequestError.to_json()) 21 | 22 | # convert the object into a dict 23 | mfa_unauthorized_request_error_dict = mfa_unauthorized_request_error_instance.to_dict() 24 | # create an instance of MfaUnauthorizedRequestError from a dict 25 | mfa_unauthorized_request_error_from_dict = MfaUnauthorizedRequestError.from_dict(mfa_unauthorized_request_error_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/MmsMessageContent.md: -------------------------------------------------------------------------------- 1 | # MmsMessageContent 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **text** | **str** | The contents of the text message. Must be 2048 characters or less. | [optional] 9 | **media** | **List[str]** | A list of URLs to include as media attachments as part of the message. Each URL can be at most 4096 characters. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.mms_message_content import MmsMessageContent 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of MmsMessageContent from a JSON string 19 | mms_message_content_instance = MmsMessageContent.from_json(json) 20 | # print the JSON string representation of the object 21 | print(MmsMessageContent.to_json()) 22 | 23 | # convert the object into a dict 24 | mms_message_content_dict = mms_message_content_instance.to_dict() 25 | # create an instance of MmsMessageContent from a dict 26 | mms_message_content_from_dict = MmsMessageContent.from_dict(mms_message_content_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/MultiChannelCallbackData.md: -------------------------------------------------------------------------------- 1 | # MultiChannelCallbackData 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **time** | **datetime** | The time of the callback event. | [optional] 9 | **type** | [**MultiChannelStatusEnum**](MultiChannelStatusEnum.md) | | [optional] 10 | **to** | **str** | The phone number the message should be sent to in E164 format. | [optional] 11 | **description** | **str** | | [optional] 12 | **message** | [**MultiChannelMessageCallbackData**](MultiChannelMessageCallbackData.md) | | [optional] 13 | 14 | ## Example 15 | 16 | ```python 17 | from bandwidth.models.multi_channel_callback_data import MultiChannelCallbackData 18 | 19 | # TODO update the JSON string below 20 | json = "{}" 21 | # create an instance of MultiChannelCallbackData from a JSON string 22 | multi_channel_callback_data_instance = MultiChannelCallbackData.from_json(json) 23 | # print the JSON string representation of the object 24 | print(MultiChannelCallbackData.to_json()) 25 | 26 | # convert the object into a dict 27 | multi_channel_callback_data_dict = multi_channel_callback_data_instance.to_dict() 28 | # create an instance of MultiChannelCallbackData from a dict 29 | multi_channel_callback_data_from_dict = MultiChannelCallbackData.from_dict(multi_channel_callback_data_dict) 30 | ``` 31 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/MultiChannelMessageChannelEnum.md: -------------------------------------------------------------------------------- 1 | # MultiChannelMessageChannelEnum 2 | 3 | The channel of the multi-channel message. 4 | 5 | ## Enum 6 | 7 | * `RBM` (value: `'RBM'`) 8 | 9 | * `SMS` (value: `'SMS'`) 10 | 11 | * `MMS` (value: `'MMS'`) 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/MultiChannelMessageDirectionEnum.md: -------------------------------------------------------------------------------- 1 | # MultiChannelMessageDirectionEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `INBOUND` (value: `'INBOUND'`) 7 | 8 | * `OUTBOUND` (value: `'OUTBOUND'`) 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/MultiChannelStatusEnum.md: -------------------------------------------------------------------------------- 1 | # MultiChannelStatusEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `QUEUED` (value: `'QUEUED'`) 7 | 8 | * `SENDING` (value: `'SENDING'`) 9 | 10 | * `DELIVERED` (value: `'DELIVERED'`) 11 | 12 | * `FAILED` (value: `'FAILED'`) 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/OptInWorkflow.md: -------------------------------------------------------------------------------- 1 | # OptInWorkflow 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **description** | **str** | | 9 | **image_urls** | **List[str]** | | 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.opt_in_workflow import OptInWorkflow 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of OptInWorkflow from a JSON string 19 | opt_in_workflow_instance = OptInWorkflow.from_json(json) 20 | # print the JSON string representation of the object 21 | print(OptInWorkflow.to_json()) 22 | 23 | # convert the object into a dict 24 | opt_in_workflow_dict = opt_in_workflow_instance.to_dict() 25 | # create an instance of OptInWorkflow from a dict 26 | opt_in_workflow_from_dict = OptInWorkflow.from_dict(opt_in_workflow_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/PageInfo.md: -------------------------------------------------------------------------------- 1 | # PageInfo 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **prev_page** | **str** | The link to the previous page for pagination. | [optional] 9 | **next_page** | **str** | The link to the next page for pagination. | [optional] 10 | **prev_page_token** | **str** | The isolated pagination token for the previous page. | [optional] 11 | **next_page_token** | **str** | The isolated pagination token for the next page. | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.page_info import PageInfo 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of PageInfo from a JSON string 21 | page_info_instance = PageInfo.from_json(json) 22 | # print the JSON string representation of the object 23 | print(PageInfo.to_json()) 24 | 25 | # convert the object into a dict 26 | page_info_dict = page_info_instance.to_dict() 27 | # create an instance of PageInfo from a dict 28 | page_info_from_dict = PageInfo.from_dict(page_info_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/PriorityEnum.md: -------------------------------------------------------------------------------- 1 | # PriorityEnum 2 | 3 | The priority specified by the user. 4 | 5 | ## Enum 6 | 7 | * `DEFAULT` (value: `'default'`) 8 | 9 | * `HIGH` (value: `'high'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/RbmActionBase.md: -------------------------------------------------------------------------------- 1 | # RbmActionBase 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | [**RbmActionTypeEnum**](RbmActionTypeEnum.md) | | 9 | **text** | **str** | Displayed text for user to click | 10 | **post_back_data** | **bytearray** | Base64 payload the customer receives when the reply is clicked. | 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.rbm_action_base import RbmActionBase 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of RbmActionBase from a JSON string 20 | rbm_action_base_instance = RbmActionBase.from_json(json) 21 | # print the JSON string representation of the object 22 | print(RbmActionBase.to_json()) 23 | 24 | # convert the object into a dict 25 | rbm_action_base_dict = rbm_action_base_instance.to_dict() 26 | # create an instance of RbmActionBase from a dict 27 | rbm_action_base_from_dict = RbmActionBase.from_dict(rbm_action_base_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/RbmActionDial.md: -------------------------------------------------------------------------------- 1 | # RbmActionDial 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | [**RbmActionTypeEnum**](RbmActionTypeEnum.md) | | 9 | **text** | **str** | Displayed text for user to click | 10 | **post_back_data** | **bytearray** | Base64 payload the customer receives when the reply is clicked. | 11 | **phone_number** | **str** | The phone number to dial. Must be E164 format. | 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.rbm_action_dial import RbmActionDial 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of RbmActionDial from a JSON string 21 | rbm_action_dial_instance = RbmActionDial.from_json(json) 22 | # print the JSON string representation of the object 23 | print(RbmActionDial.to_json()) 24 | 25 | # convert the object into a dict 26 | rbm_action_dial_dict = rbm_action_dial_instance.to_dict() 27 | # create an instance of RbmActionDial from a dict 28 | rbm_action_dial_from_dict = RbmActionDial.from_dict(rbm_action_dial_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/RbmActionOpenUrl.md: -------------------------------------------------------------------------------- 1 | # RbmActionOpenUrl 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | [**RbmActionTypeEnum**](RbmActionTypeEnum.md) | | 9 | **text** | **str** | Displayed text for user to click | 10 | **post_back_data** | **bytearray** | Base64 payload the customer receives when the reply is clicked. | 11 | **url** | **str** | The URL to open in browser. | 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.rbm_action_open_url import RbmActionOpenUrl 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of RbmActionOpenUrl from a JSON string 21 | rbm_action_open_url_instance = RbmActionOpenUrl.from_json(json) 22 | # print the JSON string representation of the object 23 | print(RbmActionOpenUrl.to_json()) 24 | 25 | # convert the object into a dict 26 | rbm_action_open_url_dict = rbm_action_open_url_instance.to_dict() 27 | # create an instance of RbmActionOpenUrl from a dict 28 | rbm_action_open_url_from_dict = RbmActionOpenUrl.from_dict(rbm_action_open_url_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/RbmActionTypeEnum.md: -------------------------------------------------------------------------------- 1 | # RbmActionTypeEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `REPLY` (value: `'REPLY'`) 7 | 8 | * `DIAL_PHONE` (value: `'DIAL_PHONE'`) 9 | 10 | * `SHOW_LOCATION` (value: `'SHOW_LOCATION'`) 11 | 12 | * `CREATE_CALENDAR_EVENT` (value: `'CREATE_CALENDAR_EVENT'`) 13 | 14 | * `OPEN_URL` (value: `'OPEN_URL'`) 15 | 16 | * `REQUEST_LOCATION` (value: `'REQUEST_LOCATION'`) 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/RbmActionViewLocation.md: -------------------------------------------------------------------------------- 1 | # RbmActionViewLocation 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | [**RbmActionTypeEnum**](RbmActionTypeEnum.md) | | 9 | **text** | **str** | Displayed text for user to click | 10 | **post_back_data** | **bytearray** | Base64 payload the customer receives when the reply is clicked. | 11 | **latitude** | **float** | The latitude of the location. | 12 | **longitude** | **float** | The longitude of the location. | 13 | **label** | **str** | The label of the location. | [optional] 14 | 15 | ## Example 16 | 17 | ```python 18 | from bandwidth.models.rbm_action_view_location import RbmActionViewLocation 19 | 20 | # TODO update the JSON string below 21 | json = "{}" 22 | # create an instance of RbmActionViewLocation from a JSON string 23 | rbm_action_view_location_instance = RbmActionViewLocation.from_json(json) 24 | # print the JSON string representation of the object 25 | print(RbmActionViewLocation.to_json()) 26 | 27 | # convert the object into a dict 28 | rbm_action_view_location_dict = rbm_action_view_location_instance.to_dict() 29 | # create an instance of RbmActionViewLocation from a dict 30 | rbm_action_view_location_from_dict = RbmActionViewLocation.from_dict(rbm_action_view_location_dict) 31 | ``` 32 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 33 | 34 | 35 | -------------------------------------------------------------------------------- /docs/RbmCardContent.md: -------------------------------------------------------------------------------- 1 | # RbmCardContent 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **title** | **str** | The title of the card. Must be 200 characters or less. | [optional] 9 | **description** | **str** | The description of the card. Must be 2000 characters or less. | [optional] 10 | **media** | [**RbmCardContentMedia**](RbmCardContentMedia.md) | | [optional] 11 | **suggestions** | [**List[MultiChannelAction]**](MultiChannelAction.md) | An array of suggested actions for the recipient that will be displayed on the rich card. | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.rbm_card_content import RbmCardContent 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of RbmCardContent from a JSON string 21 | rbm_card_content_instance = RbmCardContent.from_json(json) 22 | # print the JSON string representation of the object 23 | print(RbmCardContent.to_json()) 24 | 25 | # convert the object into a dict 26 | rbm_card_content_dict = rbm_card_content_instance.to_dict() 27 | # create an instance of RbmCardContent from a dict 28 | rbm_card_content_from_dict = RbmCardContent.from_dict(rbm_card_content_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/RbmCardContentMedia.md: -------------------------------------------------------------------------------- 1 | # RbmCardContentMedia 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **file_url** | **str** | The URL of the media file. 100MB is the maximum file size. | 9 | **thumbnail_url** | **str** | The URL of the thumbnail image. Applies only to video file media. | [optional] 10 | **height** | [**RbmMediaHeightEnum**](RbmMediaHeightEnum.md) | | 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.rbm_card_content_media import RbmCardContentMedia 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of RbmCardContentMedia from a JSON string 20 | rbm_card_content_media_instance = RbmCardContentMedia.from_json(json) 21 | # print the JSON string representation of the object 22 | print(RbmCardContentMedia.to_json()) 23 | 24 | # convert the object into a dict 25 | rbm_card_content_media_dict = rbm_card_content_media_instance.to_dict() 26 | # create an instance of RbmCardContentMedia from a dict 27 | rbm_card_content_media_from_dict = RbmCardContentMedia.from_dict(rbm_card_content_media_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/RbmMediaHeightEnum.md: -------------------------------------------------------------------------------- 1 | # RbmMediaHeightEnum 2 | 3 | The height of the media. 4 | 5 | ## Enum 6 | 7 | * `SHORT` (value: `'SHORT'`) 8 | 9 | * `MEDIUM` (value: `'MEDIUM'`) 10 | 11 | * `TALL` (value: `'TALL'`) 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/RbmMessageCarouselCard.md: -------------------------------------------------------------------------------- 1 | # RbmMessageCarouselCard 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **card_width** | [**CardWidthEnum**](CardWidthEnum.md) | | 9 | **card_contents** | [**List[RbmCardContent]**](RbmCardContent.md) | | 10 | **suggestions** | [**List[MultiChannelAction]**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.rbm_message_carousel_card import RbmMessageCarouselCard 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of RbmMessageCarouselCard from a JSON string 20 | rbm_message_carousel_card_instance = RbmMessageCarouselCard.from_json(json) 21 | # print the JSON string representation of the object 22 | print(RbmMessageCarouselCard.to_json()) 23 | 24 | # convert the object into a dict 25 | rbm_message_carousel_card_dict = rbm_message_carousel_card_instance.to_dict() 26 | # create an instance of RbmMessageCarouselCard from a dict 27 | rbm_message_carousel_card_from_dict = RbmMessageCarouselCard.from_dict(rbm_message_carousel_card_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/RbmMessageContentFile.md: -------------------------------------------------------------------------------- 1 | # RbmMessageContentFile 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **file_url** | **str** | The URL of the media file. 100MB is the maximum file size. | 9 | **thumbnail_url** | **str** | The URL of the thumbnail image. Applies only to video file media. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.rbm_message_content_file import RbmMessageContentFile 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of RbmMessageContentFile from a JSON string 19 | rbm_message_content_file_instance = RbmMessageContentFile.from_json(json) 20 | # print the JSON string representation of the object 21 | print(RbmMessageContentFile.to_json()) 22 | 23 | # convert the object into a dict 24 | rbm_message_content_file_dict = rbm_message_content_file_instance.to_dict() 25 | # create an instance of RbmMessageContentFile from a dict 26 | rbm_message_content_file_from_dict = RbmMessageContentFile.from_dict(rbm_message_content_file_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/RbmMessageContentText.md: -------------------------------------------------------------------------------- 1 | # RbmMessageContentText 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **text** | **str** | The text associated with the message. Must be 3270 characters or less | 9 | **suggestions** | [**List[MultiChannelAction]**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.rbm_message_content_text import RbmMessageContentText 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of RbmMessageContentText from a JSON string 19 | rbm_message_content_text_instance = RbmMessageContentText.from_json(json) 20 | # print the JSON string representation of the object 21 | print(RbmMessageContentText.to_json()) 22 | 23 | # convert the object into a dict 24 | rbm_message_content_text_dict = rbm_message_content_text_instance.to_dict() 25 | # create an instance of RbmMessageContentText from a dict 26 | rbm_message_content_text_from_dict = RbmMessageContentText.from_dict(rbm_message_content_text_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/RbmMessageMedia.md: -------------------------------------------------------------------------------- 1 | # RbmMessageMedia 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **media** | [**RbmMessageContentFile**](RbmMessageContentFile.md) | | 9 | **suggestions** | [**List[MultiChannelAction]**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.rbm_message_media import RbmMessageMedia 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of RbmMessageMedia from a JSON string 19 | rbm_message_media_instance = RbmMessageMedia.from_json(json) 20 | # print the JSON string representation of the object 21 | print(RbmMessageMedia.to_json()) 22 | 23 | # convert the object into a dict 24 | rbm_message_media_dict = rbm_message_media_instance.to_dict() 25 | # create an instance of RbmMessageMedia from a dict 26 | rbm_message_media_from_dict = RbmMessageMedia.from_dict(rbm_message_media_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/RbmStandaloneCard.md: -------------------------------------------------------------------------------- 1 | # RbmStandaloneCard 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **orientation** | [**StandaloneCardOrientationEnum**](StandaloneCardOrientationEnum.md) | | 9 | **thumbnail_image_alignment** | [**ThumbnailAlignmentEnum**](ThumbnailAlignmentEnum.md) | | 10 | **card_content** | [**RbmCardContent**](RbmCardContent.md) | | 11 | **suggestions** | [**List[MultiChannelAction]**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.rbm_standalone_card import RbmStandaloneCard 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of RbmStandaloneCard from a JSON string 21 | rbm_standalone_card_instance = RbmStandaloneCard.from_json(json) 22 | # print the JSON string representation of the object 23 | print(RbmStandaloneCard.to_json()) 24 | 25 | # convert the object into a dict 26 | rbm_standalone_card_dict = rbm_standalone_card_instance.to_dict() 27 | # create an instance of RbmStandaloneCard from a dict 28 | rbm_standalone_card_from_dict = RbmStandaloneCard.from_dict(rbm_standalone_card_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/RecordingStateEnum.md: -------------------------------------------------------------------------------- 1 | # RecordingStateEnum 2 | 3 | The recording state. Possible values: `paused` to pause an active recording `recording` to resume a paused recording 4 | 5 | ## Enum 6 | 7 | * `PAUSED` (value: `'paused'`) 8 | 9 | * `RECORDING` (value: `'recording'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/RecordingTranscriptions.md: -------------------------------------------------------------------------------- 1 | # RecordingTranscriptions 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **transcripts** | [**List[Transcription]**](Transcription.md) | | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.recording_transcriptions import RecordingTranscriptions 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of RecordingTranscriptions from a JSON string 18 | recording_transcriptions_instance = RecordingTranscriptions.from_json(json) 19 | # print the JSON string representation of the object 20 | print(RecordingTranscriptions.to_json()) 21 | 22 | # convert the object into a dict 23 | recording_transcriptions_dict = recording_transcriptions_instance.to_dict() 24 | # create an instance of RecordingTranscriptions from a dict 25 | recording_transcriptions_from_dict = RecordingTranscriptions.from_dict(recording_transcriptions_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/RedirectMethodEnum.md: -------------------------------------------------------------------------------- 1 | # RedirectMethodEnum 2 | 3 | The HTTP method to use for the request to `redirectUrl`. GET or POST. Default value is POST.

Not allowed if `state` is `completed`. 4 | 5 | ## Enum 6 | 7 | * `GET` (value: `'GET'`) 8 | 9 | * `POST` (value: `'POST'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/SmsMessageContent.md: -------------------------------------------------------------------------------- 1 | # SmsMessageContent 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **text** | **str** | The contents of the text message. Must be 2048 characters or less. | 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.sms_message_content import SmsMessageContent 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of SmsMessageContent from a JSON string 18 | sms_message_content_instance = SmsMessageContent.from_json(json) 19 | # print the JSON string representation of the object 20 | print(SmsMessageContent.to_json()) 21 | 22 | # convert the object into a dict 23 | sms_message_content_dict = sms_message_content_instance.to_dict() 24 | # create an instance of SmsMessageContent from a dict 25 | sms_message_content_from_dict = SmsMessageContent.from_dict(sms_message_content_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/StandaloneCardOrientationEnum.md: -------------------------------------------------------------------------------- 1 | # StandaloneCardOrientationEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `HORIZONTAL` (value: `'HORIZONTAL'`) 7 | 8 | * `VERTICAL` (value: `'VERTICAL'`) 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/StirShaken.md: -------------------------------------------------------------------------------- 1 | # StirShaken 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **verstat** | **str** | (optional) The verification status indicating whether the verification was successful or not. Possible values are TN-Verification-Passed and TN-Verification-Failed. | [optional] 9 | **attestation_indicator** | **str** | (optional) The attestation level verified by Bandwidth. Possible values are A (full), B (partial) or C (gateway). | [optional] 10 | **originating_id** | **str** | (optional) A unique origination identifier. | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.stir_shaken import StirShaken 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of StirShaken from a JSON string 20 | stir_shaken_instance = StirShaken.from_json(json) 21 | # print the JSON string representation of the object 22 | print(StirShaken.to_json()) 23 | 24 | # convert the object into a dict 25 | stir_shaken_dict = stir_shaken_instance.to_dict() 26 | # create an instance of StirShaken from a dict 27 | stir_shaken_from_dict = StirShaken.from_dict(stir_shaken_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/Tag.md: -------------------------------------------------------------------------------- 1 | # Tag 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **key** | **str** | | [optional] 9 | **value** | **str** | | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.tag import Tag 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of Tag from a JSON string 19 | tag_instance = Tag.from_json(json) 20 | # print the JSON string representation of the object 21 | print(Tag.to_json()) 22 | 23 | # convert the object into a dict 24 | tag_dict = tag_instance.to_dict() 25 | # create an instance of Tag from a dict 26 | tag_from_dict = Tag.from_dict(tag_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/TelephoneNumber.md: -------------------------------------------------------------------------------- 1 | # TelephoneNumber 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **telephone_number** | **str** | Simple Telephone Number. | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.telephone_number import TelephoneNumber 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of TelephoneNumber from a JSON string 18 | telephone_number_instance = TelephoneNumber.from_json(json) 19 | # print the JSON string representation of the object 20 | print(TelephoneNumber.to_json()) 21 | 22 | # convert the object into a dict 23 | telephone_number_dict = telephone_number_instance.to_dict() 24 | # create an instance of TelephoneNumber from a dict 25 | telephone_number_from_dict = TelephoneNumber.from_dict(telephone_number_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/TfvBasicAuthentication.md: -------------------------------------------------------------------------------- 1 | # TfvBasicAuthentication 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **username** | **str** | | 9 | **password** | **str** | | 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.tfv_basic_authentication import TfvBasicAuthentication 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of TfvBasicAuthentication from a JSON string 19 | tfv_basic_authentication_instance = TfvBasicAuthentication.from_json(json) 20 | # print the JSON string representation of the object 21 | print(TfvBasicAuthentication.to_json()) 22 | 23 | # convert the object into a dict 24 | tfv_basic_authentication_dict = tfv_basic_authentication_instance.to_dict() 25 | # create an instance of TfvBasicAuthentication from a dict 26 | tfv_basic_authentication_from_dict = TfvBasicAuthentication.from_dict(tfv_basic_authentication_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/TfvCallbackStatusEnum.md: -------------------------------------------------------------------------------- 1 | # TfvCallbackStatusEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `VERIFIED` (value: `'VERIFIED'`) 7 | 8 | * `UNVERIFIED` (value: `'UNVERIFIED'`) 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/TfvError.md: -------------------------------------------------------------------------------- 1 | # TfvError 2 | 3 | A generic error object. 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **type** | **str** | | [optional] 10 | **description** | **str** | | [optional] 11 | **errors** | **object** | Each key of this errors object refers to a field of the submitted object (using dot notation for nested objects), with the field being a key to an array of one or more errors for that field. | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.tfv_error import TfvError 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of TfvError from a JSON string 21 | tfv_error_instance = TfvError.from_json(json) 22 | # print the JSON string representation of the object 23 | print(TfvError.to_json()) 24 | 25 | # convert the object into a dict 26 | tfv_error_dict = tfv_error_instance.to_dict() 27 | # create an instance of TfvError from a dict 28 | tfv_error_from_dict = TfvError.from_dict(tfv_error_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/TfvStatusEnum.md: -------------------------------------------------------------------------------- 1 | # TfvStatusEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `VERIFIED` (value: `'VERIFIED'`) 7 | 8 | * `UNVERIFIED` (value: `'UNVERIFIED'`) 9 | 10 | * `PENDING` (value: `'PENDING'`) 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/TfvSubmissionWrapper.md: -------------------------------------------------------------------------------- 1 | # TfvSubmissionWrapper 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **submission** | [**VerificationUpdateRequest**](VerificationUpdateRequest.md) | | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.tfv_submission_wrapper import TfvSubmissionWrapper 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of TfvSubmissionWrapper from a JSON string 18 | tfv_submission_wrapper_instance = TfvSubmissionWrapper.from_json(json) 19 | # print the JSON string representation of the object 20 | print(TfvSubmissionWrapper.to_json()) 21 | 22 | # convert the object into a dict 23 | tfv_submission_wrapper_dict = tfv_submission_wrapper_instance.to_dict() 24 | # create an instance of TfvSubmissionWrapper from a dict 25 | tfv_submission_wrapper_from_dict = TfvSubmissionWrapper.from_dict(tfv_submission_wrapper_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/ThumbnailAlignmentEnum.md: -------------------------------------------------------------------------------- 1 | # ThumbnailAlignmentEnum 2 | 3 | The alignment of the thumbnail image in the card. Only applicable if the card using horizontal orientation. 4 | 5 | ## Enum 6 | 7 | * `LEFT` (value: `'LEFT'`) 8 | 9 | * `RIGHT` (value: `'RIGHT'`) 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/TnLookupRequestError.md: -------------------------------------------------------------------------------- 1 | # TnLookupRequestError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | A description of what validation error occurred. | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.tn_lookup_request_error import TnLookupRequestError 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of TnLookupRequestError from a JSON string 18 | tn_lookup_request_error_instance = TnLookupRequestError.from_json(json) 19 | # print the JSON string representation of the object 20 | print(TnLookupRequestError.to_json()) 21 | 22 | # convert the object into a dict 23 | tn_lookup_request_error_dict = tn_lookup_request_error_instance.to_dict() 24 | # create an instance of TnLookupRequestError from a dict 25 | tn_lookup_request_error_from_dict = TnLookupRequestError.from_dict(tn_lookup_request_error_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/Transcription.md: -------------------------------------------------------------------------------- 1 | # Transcription 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **text** | **str** | The transcribed text | [optional] 9 | **confidence** | **float** | The confidence on the recognized content, ranging from `0.0` to `1.0` with `1.0` being the highest confidence. | [optional] 10 | 11 | ## Example 12 | 13 | ```python 14 | from bandwidth.models.transcription import Transcription 15 | 16 | # TODO update the JSON string below 17 | json = "{}" 18 | # create an instance of Transcription from a JSON string 19 | transcription_instance = Transcription.from_json(json) 20 | # print the JSON string representation of the object 21 | print(Transcription.to_json()) 22 | 23 | # convert the object into a dict 24 | transcription_dict = transcription_instance.to_dict() 25 | # create an instance of Transcription from a dict 26 | transcription_from_dict = Transcription.from_dict(transcription_dict) 27 | ``` 28 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/TranscriptionList.md: -------------------------------------------------------------------------------- 1 | # TranscriptionList 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **transcripts** | [**List[Transcription]**](Transcription.md) | | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.transcription_list import TranscriptionList 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of TranscriptionList from a JSON string 18 | transcription_list_instance = TranscriptionList.from_json(json) 19 | # print the JSON string representation of the object 20 | print(TranscriptionList.to_json()) 21 | 22 | # convert the object into a dict 23 | transcription_list_dict = transcription_list_instance.to_dict() 24 | # create an instance of TranscriptionList from a dict 25 | transcription_list_form_dict = transcription_list.from_dict(transcription_list_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/UpdateCallRecording.md: -------------------------------------------------------------------------------- 1 | # UpdateCallRecording 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **state** | [**RecordingStateEnum**](RecordingStateEnum.md) | | 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.update_call_recording import UpdateCallRecording 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of UpdateCallRecording from a JSON string 18 | update_call_recording_instance = UpdateCallRecording.from_json(json) 19 | # print the JSON string representation of the object 20 | print(UpdateCallRecording.to_json()) 21 | 22 | # convert the object into a dict 23 | update_call_recording_dict = update_call_recording_instance.to_dict() 24 | # create an instance of UpdateCallRecording from a dict 25 | update_call_recording_from_dict = UpdateCallRecording.from_dict(update_call_recording_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/VerificationWebhook.md: -------------------------------------------------------------------------------- 1 | # VerificationWebhook 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **account_id** | **str** | User's account ID. | [optional] 9 | **phone_number** | **str** | Toll-free telephone number in E.164 format. | [optional] 10 | **status** | [**TfvCallbackStatusEnum**](TfvCallbackStatusEnum.md) | | [optional] 11 | **internal_ticket_number** | **str** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional] 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.verification_webhook import VerificationWebhook 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of VerificationWebhook from a JSON string 21 | verification_webhook_instance = VerificationWebhook.from_json(json) 22 | # print the JSON string representation of the object 23 | print(VerificationWebhook.to_json()) 24 | 25 | # convert the object into a dict 26 | verification_webhook_dict = verification_webhook_instance.to_dict() 27 | # create an instance of VerificationWebhook from a dict 28 | verification_webhook_from_dict = VerificationWebhook.from_dict(verification_webhook_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/VerifyCodeResponse.md: -------------------------------------------------------------------------------- 1 | # VerifyCodeResponse 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **valid** | **bool** | Whether or not the supplied code is valid. | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.verify_code_response import VerifyCodeResponse 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of VerifyCodeResponse from a JSON string 18 | verify_code_response_instance = VerifyCodeResponse.from_json(json) 19 | # print the JSON string representation of the object 20 | print(VerifyCodeResponse.to_json()) 21 | 22 | # convert the object into a dict 23 | verify_code_response_dict = verify_code_response_instance.to_dict() 24 | # create an instance of VerifyCodeResponse from a dict 25 | verify_code_response_from_dict = VerifyCodeResponse.from_dict(verify_code_response_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/VoiceApiError.md: -------------------------------------------------------------------------------- 1 | # VoiceApiError 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **type** | **str** | | [optional] 9 | **description** | **str** | | [optional] 10 | **id** | **str** | | [optional] 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.voice_api_error import VoiceApiError 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of VoiceApiError from a JSON string 20 | voice_api_error_instance = VoiceApiError.from_json(json) 21 | # print the JSON string representation of the object 22 | print(VoiceApiError.to_json()) 23 | 24 | # convert the object into a dict 25 | voice_api_error_dict = voice_api_error_instance.to_dict() 26 | # create an instance of VoiceApiError from a dict 27 | voice_api_error_from_dict = VoiceApiError.from_dict(voice_api_error_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/VoiceCodeResponse.md: -------------------------------------------------------------------------------- 1 | # VoiceCodeResponse 2 | 3 | 4 | ## Properties 5 | 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **call_id** | **str** | Programmable Voice API Call ID. | [optional] 9 | 10 | ## Example 11 | 12 | ```python 13 | from bandwidth.models.voice_code_response import VoiceCodeResponse 14 | 15 | # TODO update the JSON string below 16 | json = "{}" 17 | # create an instance of VoiceCodeResponse from a JSON string 18 | voice_code_response_instance = VoiceCodeResponse.from_json(json) 19 | # print the JSON string representation of the object 20 | print(VoiceCodeResponse.to_json()) 21 | 22 | # convert the object into a dict 23 | voice_code_response_dict = voice_code_response_instance.to_dict() 24 | # create an instance of VoiceCodeResponse from a dict 25 | voice_code_response_from_dict = VoiceCodeResponse.from_dict(voice_code_response_dict) 26 | ``` 27 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/WebhookSubscriptionBasicAuthentication.md: -------------------------------------------------------------------------------- 1 | # WebhookSubscriptionBasicAuthentication 2 | 3 | Basic authentication credentials are not required, but if present, both username and password must be provided. 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **username** | **str** | | 10 | **password** | **str** | | 11 | 12 | ## Example 13 | 14 | ```python 15 | from bandwidth.models.webhook_subscription_basic_authentication import WebhookSubscriptionBasicAuthentication 16 | 17 | # TODO update the JSON string below 18 | json = "{}" 19 | # create an instance of WebhookSubscriptionBasicAuthentication from a JSON string 20 | webhook_subscription_basic_authentication_instance = WebhookSubscriptionBasicAuthentication.from_json(json) 21 | # print the JSON string representation of the object 22 | print(WebhookSubscriptionBasicAuthentication.to_json()) 23 | 24 | # convert the object into a dict 25 | webhook_subscription_basic_authentication_dict = webhook_subscription_basic_authentication_instance.to_dict() 26 | # create an instance of WebhookSubscriptionBasicAuthentication from a dict 27 | webhook_subscription_basic_authentication_from_dict = WebhookSubscriptionBasicAuthentication.from_dict(webhook_subscription_basic_authentication_dict) 28 | ``` 29 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/WebhookSubscriptionTypeEnum.md: -------------------------------------------------------------------------------- 1 | # WebhookSubscriptionTypeEnum 2 | 3 | 4 | ## Enum 5 | 6 | * `TOLLFREE_VERIFICATION_STATUS` (value: `'TOLLFREE_VERIFICATION_STATUS'`) 7 | 8 | * `MESSAGING_PORTOUT_APPROVAL_STATUS` (value: `'MESSAGING_PORTOUT_APPROVAL_STATUS'`) 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/WebhookSubscriptionsListBody.md: -------------------------------------------------------------------------------- 1 | # WebhookSubscriptionsListBody 2 | 3 | A list of all webhook subscriptions registered for this account ID for this particular feature (unpaginated). 4 | 5 | ## Properties 6 | 7 | Name | Type | Description | Notes 8 | ------------ | ------------- | ------------- | ------------- 9 | **links** | [**LinksObject**](LinksObject.md) | | [optional] 10 | **errors** | [**List[Error]**](Error.md) | | [optional] 11 | **data** | [**List[WebhookSubscription]**](WebhookSubscription.md) | | 12 | 13 | ## Example 14 | 15 | ```python 16 | from bandwidth.models.webhook_subscriptions_list_body import WebhookSubscriptionsListBody 17 | 18 | # TODO update the JSON string below 19 | json = "{}" 20 | # create an instance of WebhookSubscriptionsListBody from a JSON string 21 | webhook_subscriptions_list_body_instance = WebhookSubscriptionsListBody.from_json(json) 22 | # print the JSON string representation of the object 23 | print(WebhookSubscriptionsListBody.to_json()) 24 | 25 | # convert the object into a dict 26 | webhook_subscriptions_list_body_dict = webhook_subscriptions_list_body_instance.to_dict() 27 | # create an instance of WebhookSubscriptionsListBody from a dict 28 | webhook_subscriptions_list_body_from_dict = WebhookSubscriptionsListBody.from_dict(webhook_subscriptions_list_body_dict) 29 | ``` 30 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 31 | 32 | 33 | -------------------------------------------------------------------------------- /openapi-config.yml: -------------------------------------------------------------------------------- 1 | projectName: bandwidth_sdk 2 | packageName: bandwidth 3 | packageUrl: 'https://dev.bandwidth.com/sdks/python' 4 | disallowAdditionalPropertiesIfNotPresent: false 5 | templateDir: custom_templates 6 | -------------------------------------------------------------------------------- /openapitools.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", 3 | "spaces": 2, 4 | "generator-cli": { 5 | "version": "7.11.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | urllib3 >= 1.25.3, < 3.0.0 2 | python_dateutil >= 2.8.2 3 | pydantic >= 2 4 | typing-extensions >= 4.7.1 5 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length=99 3 | [tool:pytest] 4 | log_cli = True 5 | junit_logging = system-out 6 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import os 17 | import sys 18 | from setuptools import setup, find_packages # noqa: H301 19 | 20 | NAME = "bandwidth_sdk" 21 | VERSION = os.environ['RELEASE_VERSION'] 22 | 23 | with open('README.md', 'r', encoding='utf-8') as fh: 24 | long_description = fh.read() 25 | 26 | with open('requirements.txt') as f: 27 | REQUIRES = f.read().splitlines() 28 | 29 | PYTHON_REQUIRES = ">=3.7" 30 | 31 | setup( 32 | name=NAME, 33 | version=VERSION, 34 | description="Bandwidth", 35 | author="Bandwidth", 36 | author_email="letstalk@bandwidth.com", 37 | url="https://dev.bandwidth.com/sdks/python", 38 | keywords=["OpenAPI", "OpenAPI-Generator", "Bandwidth"], 39 | python_requires=PYTHON_REQUIRES, 40 | install_requires=REQUIRES, 41 | packages=find_packages(exclude=["test", "tests"]), 42 | include_package_data=True, 43 | long_description=long_description, 44 | long_description_content_type='text/markdown' 45 | ) 46 | -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest >= 7.2.1 2 | pytest-cov >= 2.8.1 3 | pyhamcrest>=2.1.0 4 | tox >= 3.9.0 5 | flake8 >= 4.0.0 6 | types-python-dateutil >= 2.8.19.14 7 | mypy >= 1.5 8 | zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability 9 | -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/__init__.py -------------------------------------------------------------------------------- /test/fixtures/python_cat.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/fixtures/python_cat.jpeg -------------------------------------------------------------------------------- /test/smoke/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/smoke/__init__.py -------------------------------------------------------------------------------- /test/smoke/bwmatchers/one_of_string.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | 3 | from hamcrest.core.base_matcher import BaseMatcher 4 | from hamcrest.core.description import Description 5 | from hamcrest.core.matcher import Matcher 6 | 7 | 8 | class IsOneOfString(BaseMatcher[Any]): 9 | def __init__(self, equalsAnyString: Any) -> None: 10 | self.object = equalsAnyString 11 | 12 | def _matches(self, item: Any) -> bool: 13 | if isinstance(self.object, list): 14 | return item in self.object 15 | return False 16 | 17 | def describe_to(self, description: Description) -> None: 18 | nested_matcher = isinstance(self.object, Matcher) 19 | description.append_description_of("one of ") 20 | if nested_matcher: 21 | description.append_text("<") 22 | description.append_description_of(self.object) 23 | if nested_matcher: 24 | description.append_text(">") 25 | 26 | 27 | def is_one_of_string(obj: Any) -> Matcher[Any]: 28 | """Matches expected string is in a given list. 29 | 30 | :param obj: The object to compare against as the expected value. 31 | 32 | This matcher compares the evaluated object to ``obj`` for a match.""" 33 | return IsOneOfString(obj) 34 | -------------------------------------------------------------------------------- /test/smoke/test_statistics_api.py: -------------------------------------------------------------------------------- 1 | """ 2 | Integration test for Bandwidth's Statistics API 3 | """ 4 | import unittest 5 | import logging 6 | 7 | from hamcrest import * 8 | from bandwidth import ApiClient, Configuration 9 | from bandwidth.api.statistics_api import StatisticsApi 10 | from bandwidth.models import AccountStatistics 11 | from test.utils.env_variables import * 12 | 13 | 14 | class TestStatisticsApi(unittest.TestCase): 15 | """StatisticsApi integration Test 16 | """ 17 | 18 | def setUp(self): 19 | configuration = Configuration( 20 | username=BW_USERNAME, 21 | password=BW_PASSWORD 22 | ) 23 | self.api_client = ApiClient(configuration) 24 | self.api_instance = StatisticsApi(self.api_client) 25 | self.account_id = BW_ACCOUNT_ID 26 | 27 | def test_get_statistics(self): 28 | api_response_with_http_info = self.api_instance.get_statistics_with_http_info(self.account_id) 29 | 30 | logging.debug(api_response_with_http_info) 31 | assert_that(api_response_with_http_info.status_code, equal_to(200)) 32 | 33 | api_response = self.api_instance.get_statistics(self.account_id) 34 | assert_that(api_response, instance_of(AccountStatistics)) 35 | assert_that(api_response, has_properties( 36 | 'current_call_queue_size', instance_of(int), 37 | 'max_call_queue_size', instance_of(int) 38 | )) 39 | 40 | if __name__ == '__main__': 41 | unittest.main() 42 | -------------------------------------------------------------------------------- /test/unit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/unit/__init__.py -------------------------------------------------------------------------------- /test/unit/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/unit/api/__init__.py -------------------------------------------------------------------------------- /test/unit/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/unit/models/__init__.py -------------------------------------------------------------------------------- /test/unit/models/bxml/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/unit/models/bxml/__init__.py -------------------------------------------------------------------------------- /test/unit/models/bxml/test_bridge.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_bridge.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Bridge, Verb 11 | 12 | 13 | class TestBridge(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.bridge = Bridge( 17 | target_call="+19198675309", 18 | bridge_complete_url="https://example.com", 19 | tag="test" 20 | ) 21 | 22 | def test_instance(self): 23 | assert isinstance(self.bridge, Bridge) 24 | assert isinstance(self.bridge, Verb) 25 | 26 | def test_to_bxml(self): 27 | expected = '+19198675309' 28 | assert expected == self.bridge.to_bxml() 29 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_bxml.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_bxml.py 3 | 4 | Unit tests for Bxml Model 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Bxml 11 | 12 | 13 | class TestBxml(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.bxml = Bxml() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.bxml, Bxml) 20 | 21 | def test_bxml_init(self): 22 | """Test initializing the root 23 | """ 24 | expected_bxml = "\n" 25 | assert self.bxml.to_bxml() == expected_bxml 26 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_forward.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_forward.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Forward, Verb 11 | 12 | class TestForward(unittest.TestCase): 13 | 14 | def setUp(self): 15 | self.forward = Forward( 16 | to="19195554321", 17 | _from="19195554322", 18 | call_timeout = "15", 19 | diversion_treatment="propagate", 20 | diversion_reason="away", 21 | uui="93d6f3c0be5845960b744fa28015d8ede84bd1a4;encoding=base64,asdf;encoding=jwt" 22 | ) 23 | 24 | def test_instance(self): 25 | assert isinstance(self.forward, Forward) 26 | assert isinstance(self.forward, Verb) 27 | 28 | def test_to_bxml(self): 29 | expected = '' 30 | assert expected == self.forward.to_bxml() 31 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_hangup.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_hangup.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Hangup, Verb 11 | 12 | 13 | class TestHangup(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.hangup = Hangup() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.hangup, Hangup) 20 | assert isinstance(self.hangup, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.hangup.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_pause.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_Pause.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Pause, Verb 11 | 12 | 13 | class TestPause(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.pause = Pause(duration=30) 17 | 18 | def test_instance(self): 19 | assert isinstance(self.pause, Pause) 20 | assert isinstance(self.pause, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.pause.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_pause_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_pause_recording.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import PauseRecording, Verb 11 | 12 | 13 | class TestPauseRecording(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.pause_recording = PauseRecording() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.pause_recording, PauseRecording) 20 | assert isinstance(self.pause_recording, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.pause_recording.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_phone_number.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_phone_number.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import PhoneNumber, Verb 11 | 12 | 13 | class TestPhoneNumber(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.phone_number = PhoneNumber( 17 | number="+19195551234", 18 | uui="abc123", 19 | transfer_answer_url="https://example.com/webhooks/transfer_answer", 20 | transfer_answer_method="POST", 21 | tag="" 22 | ) 23 | 24 | def test_instance(self): 25 | assert isinstance(self.phone_number, PhoneNumber) 26 | assert isinstance(self.phone_number, Verb) 27 | 28 | def test_to_bxml(self): 29 | expected = '+19195551234' 30 | assert expected == self.phone_number.to_bxml() 31 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_play_audio.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_play_audio.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import PlayAudio, Verb 11 | 12 | class TestPlayAudio(unittest.TestCase): 13 | 14 | def setUp(self): 15 | self.play_audio = PlayAudio( 16 | audio_uri="https://audio.url/audio1.wav", 17 | username="user", 18 | password="pass" 19 | ) 20 | 21 | def test_instance(self): 22 | assert isinstance(self.play_audio, PlayAudio) 23 | assert isinstance(self.play_audio, Verb) 24 | 25 | def test_to_bxml(self): 26 | expected = 'https://audio.url/audio1.wav' 27 | assert expected == self.play_audio.to_bxml() 28 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_record.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_record.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Record, Verb 11 | 12 | 13 | class TestRecord(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.record = Record() 17 | self.record.max_duration = 10 18 | 19 | def test_instance(self): 20 | assert isinstance(self.record, Record) 21 | assert isinstance(self.record, Verb) 22 | 23 | def test_to_bxml(self): 24 | expected = '' 25 | assert expected == self.record.to_bxml() 26 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_redirect.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_redirect.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Redirect, Verb 11 | 12 | 13 | class TestRedirect(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.redirect = Redirect("https://example.com/redirect") 17 | 18 | def test_instance(self): 19 | assert isinstance(self.redirect, Redirect) 20 | assert isinstance(self.redirect, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.redirect.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_response.py 3 | 4 | Unit tests for Response Model 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Response 11 | 12 | 13 | class TestResponse(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.response = Response() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.response, Response) 20 | 21 | def test_response_init(self): 22 | """Test initializing the root 23 | """ 24 | expected_bxml = "\n" 25 | assert self.response.to_bxml() == expected_bxml 26 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_resume_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_resume_recording.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import ResumeRecording, Verb 11 | 12 | 13 | class TestResumeRecording(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.resume_recording = ResumeRecording() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.resume_recording, ResumeRecording) 20 | assert isinstance(self.resume_recording, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.resume_recording.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_ring.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_ring.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml.verbs.ring import Ring, Verb 11 | 12 | 13 | class TestRing(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.ring = Ring( 17 | duration=30, 18 | answer_call=True, 19 | ) 20 | 21 | def test_instance(self): 22 | assert isinstance(self.ring, Ring) 23 | assert isinstance(self.ring, Verb) 24 | 25 | def test_to_bxml(self): 26 | expected = '' 27 | assert expected == self.ring.to_bxml() 28 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_send_dtmf.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_send_dtmf.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml.verbs.send_dtmf import SendDtmf, Verb 11 | 12 | 13 | class TestSendDtmf(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.send_dtmf = SendDtmf( 17 | digits="1234", 18 | tone_duration=3, 19 | tone_interval=5 20 | ) 21 | 22 | def test_instance(self): 23 | assert isinstance(self.send_dtmf, SendDtmf) 24 | assert isinstance(self.send_dtmf, Verb) 25 | 26 | def test_to_bxml(self): 27 | expected = '1234' 28 | assert expected == self.send_dtmf.to_bxml() 29 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_sip_uri.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_sip_uri.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import SipUri, Verb 11 | 12 | 13 | class TestSipUri(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.sip_uri = SipUri( 17 | uri="sip:1-999-123-4567@voip-provider.example.net", 18 | uui="abc123", 19 | transfer_answer_url="https://example.com/webhooks/transfer_answer", 20 | transfer_answer_method="POST", 21 | tag="test" 22 | ) 23 | 24 | def test_instance(self): 25 | assert isinstance(self.sip_uri, SipUri) 26 | assert isinstance(self.sip_uri, Verb) 27 | 28 | def test_to_bxml(self): 29 | expected = 'sip:1-999-123-4567@voip-provider.example.net' 30 | assert expected == self.sip_uri.to_bxml() 31 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_speak_sentence.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_speak_sentence.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import SpeakSentence, Response, Verb 11 | 12 | 13 | class TestSpeakSentence(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.speak_sentence = SpeakSentence( 17 | text='Hello. Your number is asdf, lets play a game. What is 10 + 3. Press the pound key when finished.', 18 | voice="julie" 19 | ) 20 | 21 | def test_instance(self): 22 | assert isinstance(self.speak_sentence, SpeakSentence) 23 | assert isinstance(self.speak_sentence, Verb) 24 | 25 | def test_to_bxml(self): 26 | expected = 'Hello. Your number is asdf, lets play a game. What is 10 + 3. Press the pound key when finished.' 27 | assert expected == self.speak_sentence.to_bxml() 28 | 29 | def test_to_bxml_within_response(self): 30 | expected = '\nHello. Your number is asdf, lets play a game. What is 10 + 3. Press the pound key when finished.' 31 | response = Response() 32 | response.add_verb(self.speak_sentence) 33 | assert expected == response.to_bxml() 34 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_start_gather.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_start_gather.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import StartGather, Verb 11 | 12 | 13 | class TestStartGather(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.start_gather = StartGather( 17 | dtmf_url="https://example.com/startgather", 18 | dtmf_method="POST", 19 | username="user", 20 | password="pass", 21 | tag="tag" 22 | ) 23 | 24 | def test_instance(self): 25 | assert isinstance(self.start_gather, StartGather) 26 | assert isinstance(self.start_gather, Verb) 27 | 28 | def test_to_bxml(self): 29 | expected = '' 30 | assert expected == self.start_gather.to_bxml() 31 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_start_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_start_recording.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import StartRecording, Verb 11 | 12 | 13 | class TestStartRecording(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.start_recording = StartRecording( 17 | recording_available_url = "example.com", 18 | recording_available_method = "POST", 19 | transcribe = True, 20 | transcription_available_url = "transcription-example.com", 21 | transcription_available_method = "POST", 22 | username = "user", 23 | password = "pass", 24 | tag = "tag", 25 | file_format = "wav", 26 | multi_channel = True 27 | ) 28 | 29 | def test_instance(self): 30 | assert isinstance(self.start_recording, StartRecording) 31 | assert isinstance(self.start_recording, Verb) 32 | 33 | def test_to_bxml(self): 34 | expected = '' 35 | assert expected == self.start_recording.to_bxml() 36 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_stop_gather.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_stop_gather.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import StopGather, Verb 11 | 12 | 13 | class TestStopGather(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.stop_gather = StopGather() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.stop_gather, StopGather) 20 | assert isinstance(self.stop_gather, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.stop_gather.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_stop_recording.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_stop_recording.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml.verbs.stop_recording import StopRecording, Verb 11 | 12 | 13 | class TestStopRecording(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.stop_recording = StopRecording() 17 | 18 | def test_instance(self): 19 | assert isinstance(self.stop_recording, StopRecording) 20 | assert isinstance(self.stop_recording, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.stop_recording.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_stop_stream.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_stop_stream.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import StopStream, Verb 11 | 12 | 13 | class TestStopStream(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.stop_stream = StopStream(name="conf") 17 | 18 | def test_instance(self): 19 | assert isinstance(self.stop_stream, StopStream) 20 | assert isinstance(self.stop_stream, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = '' 24 | assert expected == self.stop_stream.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_stop_transcription.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_stop_transcription.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import StopTranscription, Verb 11 | 12 | 13 | class TestStopTranscription(unittest.TestCase): 14 | def setUp(self) -> None: 15 | self.stop_transcription = StopTranscription( 16 | name="transcription1" 17 | ) 18 | 19 | def test_instance(self): 20 | assert isinstance(self.stop_transcription, StopTranscription) 21 | assert isinstance(self.stop_transcription, Verb) 22 | 23 | def test_to_bxml(self): 24 | expected = '' 25 | assert expected == self.stop_transcription.to_bxml() 26 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_stream_param.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_stream_param.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import StreamParam, Verb 11 | 12 | 13 | class TestStreamParam(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.stream_param = StreamParam( 17 | name="name1", 18 | value="value1" 19 | ) 20 | 21 | def test_instance(self): 22 | assert isinstance(self.stream_param, StreamParam) 23 | assert isinstance(self.stream_param, Verb) 24 | 25 | def test_to_bxml(self): 26 | expected = '' 27 | assert expected == self.stream_param.to_bxml() 28 | -------------------------------------------------------------------------------- /test/unit/models/bxml/test_tag.py: -------------------------------------------------------------------------------- 1 | """ 2 | test_tag.py 3 | 4 | Unit tests for the BXML verb 5 | 6 | @copyright Bandwidth Inc. 7 | """ 8 | import unittest 9 | 10 | from bandwidth.models.bxml import Tag, Verb 11 | 12 | 13 | class TestTag(unittest.TestCase): 14 | 15 | def setUp(self): 16 | self.tag = Tag(content="Test") 17 | 18 | def test_instance(self): 19 | assert isinstance(self.tag, Tag) 20 | assert isinstance(self.tag, Verb) 21 | 22 | def test_to_bxml(self): 23 | expected = 'Test' 24 | assert expected == self.tag.to_bxml() 25 | -------------------------------------------------------------------------------- /test/unit/models/test_call_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.call_direction_enum import CallDirectionEnum 19 | 20 | class TestCallDirectionEnum(unittest.TestCase): 21 | """CallDirectionEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCallDirectionEnum(self): 30 | """Test CallDirectionEnum""" 31 | inbound = CallDirectionEnum('inbound') 32 | outbound = CallDirectionEnum('outbound') 33 | assert inbound == 'inbound' 34 | assert outbound == 'outbound' 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/unit/models/test_call_state_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.call_state_enum import CallStateEnum 19 | 20 | class TestCallStateEnum(unittest.TestCase): 21 | """CallStateEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCallStateEnum(self): 30 | """Test CallStateEnum""" 31 | active = CallStateEnum('active') 32 | completed = CallStateEnum('completed') 33 | assert active == 'active' 34 | assert completed == 'completed' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_call_transcription_detected_language_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.call_transcription_detected_language_enum import CallTranscriptionDetectedLanguageEnum 19 | 20 | class TestCallTranscriptionDetectedLanguageEnum(unittest.TestCase): 21 | """CallTranscriptionDetectedLanguageEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCallTranscriptionDetectedLanguageEnum(self): 30 | """Test CallTranscriptionDetectedLanguageEnum""" 31 | enus = CallTranscriptionDetectedLanguageEnum('en-US') 32 | esus = CallTranscriptionDetectedLanguageEnum('es-US') 33 | frfr = CallTranscriptionDetectedLanguageEnum('fr-FR') 34 | assert enus == 'en-US' 35 | assert esus == 'es-US' 36 | assert frfr == 'fr-FR' 37 | 38 | if __name__ == '__main__': 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /test/unit/models/test_call_transcription_track_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.call_transcription_track_enum import CallTranscriptionTrackEnum 19 | 20 | class TestCallTranscriptionTrackEnum(unittest.TestCase): 21 | """CallTranscriptionTrackEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCallTranscriptionTrackEnum(self): 30 | """Test CallTranscriptionTrackEnum""" 31 | inbound = CallTranscriptionTrackEnum('inbound') 32 | outbound = CallTranscriptionTrackEnum('outbound') 33 | assert inbound == 'inbound' 34 | assert outbound == 'outbound' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_callback_method_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.callback_method_enum import CallbackMethodEnum 19 | 20 | class TestCallbackMethodEnum(unittest.TestCase): 21 | """CallbackMethodEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCallbackMethodEnum(self): 30 | """Test CallbackMethodEnum""" 31 | post = CallbackMethodEnum('POST') 32 | get = CallbackMethodEnum('GET') 33 | assert post == 'POST' 34 | assert get == 'GET' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_callback_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.callback_type_enum import CallbackTypeEnum 19 | 20 | class TestCallbackTypeEnum(unittest.TestCase): 21 | """CallbackTypeEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCallbackTypeEnum(self): 30 | """Test CallbackTypeEnum""" 31 | received = CallbackTypeEnum('message-received') 32 | sending = CallbackTypeEnum('message-sending') 33 | delivered = CallbackTypeEnum('message-delivered') 34 | failed = CallbackTypeEnum('message-failed') 35 | assert received == 'message-received' 36 | assert sending == 'message-sending' 37 | assert delivered == 'message-delivered' 38 | assert failed == 'message-failed' 39 | 40 | if __name__ == '__main__': 41 | unittest.main() 42 | -------------------------------------------------------------------------------- /test/unit/models/test_card_width_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.card_width_enum import CardWidthEnum 19 | 20 | class TestCardWidthEnum(unittest.TestCase): 21 | """CardWidthEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testCardWidthEnum(self): 30 | """Test CardWidthEnum""" 31 | small = CardWidthEnum('SMALL') 32 | medium = CardWidthEnum('MEDIUM') 33 | assert small == 'SMALL' 34 | assert medium == 'MEDIUM' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_conference_state_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.conference_state_enum import ConferenceStateEnum 19 | 20 | class TestConferenceStateEnum(unittest.TestCase): 21 | """ConferenceStateEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testConferenceStateEnum(self): 30 | """Test ConferenceStateEnum""" 31 | active = ConferenceStateEnum('active') 32 | completed = ConferenceStateEnum('completed') 33 | assert active == 'active' 34 | assert completed == 'completed' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_file_format_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.file_format_enum import FileFormatEnum 19 | 20 | class TestFileFormatEnum(unittest.TestCase): 21 | """FileFormatEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testFileFormatEnum(self): 30 | """Test FileFormatEnum""" 31 | wav = FileFormatEnum('wav') 32 | mp3 = FileFormatEnum('mp3') 33 | assert wav == 'wav' 34 | assert mp3 == 'mp3' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_link.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.link import Link 19 | 20 | class TestLink(unittest.TestCase): 21 | """Link unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def make_instance(self, include_optional) -> Link: 30 | """Test Link 31 | include_optional is a boolean, when False only required 32 | params are included, when True both required and 33 | optional params are included """ 34 | if include_optional: 35 | return Link( 36 | rel = 'rel', 37 | href = 'href' 38 | ) 39 | else: 40 | return Link( 41 | ) 42 | 43 | def testLink(self): 44 | """Test Link""" 45 | instance = self.make_instance(True) 46 | assert instance is not None 47 | assert isinstance(instance, Link) 48 | assert instance.rel == 'rel' 49 | assert instance.href == 'href' 50 | 51 | if __name__ == '__main__': 52 | unittest.main() 53 | -------------------------------------------------------------------------------- /test/unit/models/test_list_message_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.list_message_direction_enum import ListMessageDirectionEnum 19 | 20 | class TestListMessageDirectionEnum(unittest.TestCase): 21 | """ListMessageDirectionEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testListMessageDirectionEnum(self): 30 | """Test ListMessageDirectionEnum""" 31 | inbound = ListMessageDirectionEnum('INBOUND') 32 | outbound = ListMessageDirectionEnum('OUTBOUND') 33 | assert inbound == 'INBOUND' 34 | assert outbound == 'OUTBOUND' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_lookup_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.lookup_status_enum import LookupStatusEnum 19 | 20 | class TestLookupStatusEnum(unittest.TestCase): 21 | """LookupStatusEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testLookupStatusEnum(self): 30 | """Test LookupStatusEnum""" 31 | in_progress = LookupStatusEnum('IN_PROGRESS') 32 | complete = LookupStatusEnum('COMPLETE') 33 | partial_complete = LookupStatusEnum('PARTIAL_COMPLETE') 34 | failed = LookupStatusEnum('FAILED') 35 | assert in_progress == 'IN_PROGRESS' 36 | assert complete == 'COMPLETE' 37 | assert partial_complete == 'PARTIAL_COMPLETE' 38 | assert failed == 'FAILED' 39 | 40 | if __name__ == '__main__': 41 | unittest.main() 42 | -------------------------------------------------------------------------------- /test/unit/models/test_machine_detection_mode_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.machine_detection_mode_enum import MachineDetectionModeEnum 19 | 20 | class TestMachineDetectionModeEnum(unittest.TestCase): 21 | """MachineDetectionModeEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testMachineDetectionModeEnum(self): 30 | """Test MachineDetectionModeEnum""" 31 | sync = MachineDetectionModeEnum('sync') 32 | async_ = MachineDetectionModeEnum('async') 33 | assert sync == 'sync' 34 | assert async_ == 'async' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_message_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.message_direction_enum import MessageDirectionEnum 19 | 20 | class TestMessageDirectionEnum(unittest.TestCase): 21 | """MessageDirectionEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testMessageDirectionEnum(self): 30 | """Test MessageDirectionEnum""" 31 | in_ = MessageDirectionEnum('in') 32 | out = MessageDirectionEnum('out') 33 | assert in_ == 'in' 34 | assert out == 'out' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_message_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.message_type_enum import MessageTypeEnum 19 | 20 | class TestMessageTypeEnum(unittest.TestCase): 21 | """MessageTypeEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testMessageTypeEnum(self): 30 | """Test MessageTypeEnum""" 31 | sms = MessageTypeEnum('sms') 32 | mms = MessageTypeEnum('mms') 33 | assert sms == 'sms' 34 | assert mms == 'mms' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_multi_channel_message_channel_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.multi_channel_message_channel_enum import MultiChannelMessageChannelEnum 19 | 20 | class TestMultiChannelMessageChannelEnum(unittest.TestCase): 21 | """MultiChannelMessageChannelEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testMultiChannelMessageChannelEnum(self): 30 | """Test MultiChannelMessageChannelEnum""" 31 | rbm = MultiChannelMessageChannelEnum('RBM') 32 | sms = MultiChannelMessageChannelEnum('SMS') 33 | mms = MultiChannelMessageChannelEnum('MMS') 34 | assert rbm == 'RBM' 35 | assert sms == 'SMS' 36 | assert mms == 'MMS' 37 | 38 | if __name__ == '__main__': 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /test/unit/models/test_multi_channel_message_direction_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.multi_channel_message_direction_enum import MultiChannelMessageDirectionEnum 19 | 20 | class TestMultiChannelMessageDirectionEnum(unittest.TestCase): 21 | """MultiChannelMessageDirectionEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testMultiChannelMessageDirectionEnum(self): 30 | """Test MultiChannelMessageDirectionEnum""" 31 | inbound = MultiChannelMessageDirectionEnum('INBOUND') 32 | outbound = MultiChannelMessageDirectionEnum('OUTBOUND') 33 | assert inbound == 'INBOUND' 34 | assert outbound == 'OUTBOUND' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_multi_channel_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.multi_channel_status_enum import MultiChannelStatusEnum 19 | 20 | class TestMultiChannelStatusEnum(unittest.TestCase): 21 | """MultiChannelStatusEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testMultiChannelStatusEnum(self): 30 | """Test MultiChannelStatusEnum""" 31 | queued = MultiChannelStatusEnum('QUEUED') 32 | sending = MultiChannelStatusEnum('SENDING') 33 | delivered = MultiChannelStatusEnum('DELIVERED') 34 | failed = MultiChannelStatusEnum('FAILED') 35 | assert queued == 'QUEUED' 36 | assert sending == 'SENDING' 37 | assert delivered == 'DELIVERED' 38 | assert failed == 'FAILED' 39 | 40 | if __name__ == '__main__': 41 | unittest.main() 42 | -------------------------------------------------------------------------------- /test/unit/models/test_priority_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.priority_enum import PriorityEnum 19 | 20 | class TestPriorityEnum(unittest.TestCase): 21 | """PriorityEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testPriorityEnum(self): 30 | """Test PriorityEnum""" 31 | default = PriorityEnum('default') 32 | high = PriorityEnum('high') 33 | assert default == 'default' 34 | assert high == 'high' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_rbm_action_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.rbm_action_type_enum import RbmActionTypeEnum 19 | 20 | class TestRbmActionTypeEnum(unittest.TestCase): 21 | """RbmActionTypeEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testRbmActionTypeEnum(self): 30 | """Test RbmActionTypeEnum""" 31 | reply = RbmActionTypeEnum('REPLY') 32 | dial_phone = RbmActionTypeEnum('DIAL_PHONE') 33 | show_location = RbmActionTypeEnum('SHOW_LOCATION') 34 | create_calendar_event = RbmActionTypeEnum('CREATE_CALENDAR_EVENT') 35 | open_url = RbmActionTypeEnum('OPEN_URL') 36 | request_location = RbmActionTypeEnum('REQUEST_LOCATION') 37 | assert reply == 'REPLY' 38 | assert dial_phone == 'DIAL_PHONE' 39 | assert show_location == 'SHOW_LOCATION' 40 | assert create_calendar_event == 'CREATE_CALENDAR_EVENT' 41 | assert open_url == 'OPEN_URL' 42 | assert request_location == 'REQUEST_LOCATION' 43 | 44 | if __name__ == '__main__': 45 | unittest.main() 46 | -------------------------------------------------------------------------------- /test/unit/models/test_rbm_media_height_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.rbm_media_height_enum import RbmMediaHeightEnum 19 | 20 | class TestRbmMediaHeightEnum(unittest.TestCase): 21 | """RbmMediaHeightEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testRbmMediaHeightEnum(self): 30 | """Test RbmMediaHeightEnum""" 31 | short = RbmMediaHeightEnum('SHORT') 32 | medium = RbmMediaHeightEnum('MEDIUM') 33 | tall = RbmMediaHeightEnum('TALL') 34 | assert short == 'SHORT' 35 | assert medium == 'MEDIUM' 36 | assert tall == 'TALL' 37 | 38 | if __name__ == '__main__': 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /test/unit/models/test_recording_state_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.recording_state_enum import RecordingStateEnum 19 | 20 | class TestRecordingStateEnum(unittest.TestCase): 21 | """RecordingStateEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testRecordingStateEnum(self): 30 | """Test RecordingStateEnum""" 31 | paused = RecordingStateEnum('paused') 32 | recording = RecordingStateEnum('recording') 33 | assert paused == 'paused' 34 | assert recording == 'recording' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_redirect_method_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.redirect_method_enum import RedirectMethodEnum 19 | 20 | class TestRedirectMethodEnum(unittest.TestCase): 21 | """RedirectMethodEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testRedirectMethodEnum(self): 30 | """Test RedirectMethodEnum""" 31 | get = RedirectMethodEnum('GET') 32 | post = RedirectMethodEnum('POST') 33 | assert get == 'GET' 34 | assert post == 'POST' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_standalone_card_orientation_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.standalone_card_orientation_enum import StandaloneCardOrientationEnum 19 | 20 | class TestStandaloneCardOrientationEnum(unittest.TestCase): 21 | """StandaloneCardOrientationEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testStandaloneCardOrientationEnum(self): 30 | """Test StandaloneCardOrientationEnum""" 31 | horizontal = StandaloneCardOrientationEnum('HORIZONTAL') 32 | vertical = StandaloneCardOrientationEnum('VERTICAL') 33 | assert horizontal == 'HORIZONTAL' 34 | assert vertical == 'VERTICAL' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_tag.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.tag import Tag 19 | 20 | class TestTag(unittest.TestCase): 21 | """Tag unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def make_instance(self, include_optional) -> Tag: 30 | """Test Tag 31 | include_optional is a boolean, when False only required 32 | params are included, when True both required and 33 | optional params are included """ 34 | if include_optional: 35 | return Tag( 36 | key = '', 37 | value = '' 38 | ) 39 | else: 40 | return Tag( 41 | ) 42 | 43 | def testTag(self): 44 | """Test Tag""" 45 | instance = self.make_instance(True) 46 | assert instance is not None 47 | assert isinstance(instance, Tag) 48 | assert instance.key == '' 49 | assert instance.value == '' 50 | 51 | if __name__ == '__main__': 52 | unittest.main() 53 | -------------------------------------------------------------------------------- /test/unit/models/test_telephone_number.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.telephone_number import TelephoneNumber 19 | 20 | class TestTelephoneNumber(unittest.TestCase): 21 | """TelephoneNumber unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def make_instance(self, include_optional) -> TelephoneNumber: 30 | """Test TelephoneNumber 31 | include_optional is a boolean, when False only required 32 | params are included, when True both required and 33 | optional params are included """ 34 | if include_optional: 35 | return TelephoneNumber( 36 | telephone_number = '+19195551234' 37 | ) 38 | else: 39 | return TelephoneNumber( 40 | ) 41 | 42 | def testTelephoneNumber(self): 43 | """Test TelephoneNumber""" 44 | instance = self.make_instance(True) 45 | assert instance is not None 46 | assert isinstance(instance, TelephoneNumber) 47 | assert instance.telephone_number == '+19195551234' 48 | 49 | if __name__ == '__main__': 50 | unittest.main() 51 | -------------------------------------------------------------------------------- /test/unit/models/test_tfv_callback_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.tfv_callback_status_enum import TfvCallbackStatusEnum 19 | 20 | class TestTfvCallbackStatusEnum(unittest.TestCase): 21 | """TfvCallbackStatusEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testTfvCallbackStatusEnum(self): 30 | """Test TfvCallbackStatusEnum""" 31 | verified = TfvCallbackStatusEnum('VERIFIED') 32 | unverified = TfvCallbackStatusEnum('UNVERIFIED') 33 | assert verified == 'VERIFIED' 34 | assert unverified == 'UNVERIFIED' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_tfv_status_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.tfv_status_enum import TfvStatusEnum 19 | 20 | class TestTfvStatusEnum(unittest.TestCase): 21 | """TfvStatusEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testTfvStatusEnum(self): 30 | """Test TfvStatusEnum""" 31 | verified = TfvStatusEnum('VERIFIED') 32 | unverified = TfvStatusEnum('UNVERIFIED') 33 | pending = TfvStatusEnum('PENDING') 34 | assert verified == 'VERIFIED' 35 | assert unverified == 'UNVERIFIED' 36 | assert pending == 'PENDING' 37 | 38 | if __name__ == '__main__': 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /test/unit/models/test_thumbnail_alignment_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.thumbnail_alignment_enum import ThumbnailAlignmentEnum 19 | 20 | class TestThumbnailAlignmentEnum(unittest.TestCase): 21 | """ThumbnailAlignmentEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testThumbnailAlignmentEnum(self): 30 | """Test ThumbnailAlignmentEnum""" 31 | left = ThumbnailAlignmentEnum('LEFT') 32 | right = ThumbnailAlignmentEnum('RIGHT') 33 | assert left == 'LEFT' 34 | assert right == 'RIGHT' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/unit/models/test_verify_code_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.verify_code_response import VerifyCodeResponse 19 | 20 | class TestVerifyCodeResponse(unittest.TestCase): 21 | """VerifyCodeResponse unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def make_instance(self, include_optional) -> VerifyCodeResponse: 30 | """Test VerifyCodeResponse 31 | include_optional is a boolean, when False only required 32 | params are included, when True both required and 33 | optional params are included """ 34 | if include_optional: 35 | return VerifyCodeResponse( 36 | valid = True 37 | ) 38 | else: 39 | return VerifyCodeResponse( 40 | ) 41 | 42 | def testVerifyCodeResponse(self): 43 | """Test VerifyCodeResponse""" 44 | instance = self.make_instance(True) 45 | assert instance is not None 46 | assert isinstance(instance, VerifyCodeResponse) 47 | assert instance.valid == True 48 | 49 | if __name__ == '__main__': 50 | unittest.main() 51 | -------------------------------------------------------------------------------- /test/unit/models/test_webhook_subscription_type_enum.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Bandwidth 5 | 6 | Bandwidth's Communication APIs 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: letstalk@bandwidth.com 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 14 | 15 | 16 | import unittest 17 | 18 | from bandwidth.models.webhook_subscription_type_enum import WebhookSubscriptionTypeEnum 19 | 20 | class TestWebhookSubscriptionTypeEnum(unittest.TestCase): 21 | """WebhookSubscriptionTypeEnum unit test stubs""" 22 | 23 | def setUp(self): 24 | pass 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def testWebhookSubscriptionTypeEnum(self): 30 | """Test WebhookSubscriptionTypeEnum""" 31 | tvs = WebhookSubscriptionTypeEnum('TOLLFREE_VERIFICATION_STATUS') 32 | mpas = WebhookSubscriptionTypeEnum('MESSAGING_PORTOUT_APPROVAL_STATUS') 33 | assert tvs == 'TOLLFREE_VERIFICATION_STATUS' 34 | assert mpas == 'MESSAGING_PORTOUT_APPROVAL_STATUS' 35 | 36 | if __name__ == '__main__': 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /test/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bandwidth/python-sdk/8a1f6060e967c85841ab24551c6c3f6646a28cba/test/utils/__init__.py -------------------------------------------------------------------------------- /test/utils/env_variables.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | try: 4 | BW_USERNAME = os.environ['BW_USERNAME'] 5 | BW_PASSWORD = os.environ['BW_PASSWORD'] 6 | BW_ACCOUNT_ID = os.environ['BW_ACCOUNT_ID'] 7 | BW_MESSAGING_APPLICATION_ID = os.environ['BW_MESSAGING_APPLICATION_ID'] 8 | BW_VOICE_APPLICATION_ID = os.environ['BW_VOICE_APPLICATION_ID'] 9 | BASE_CALLBACK_URL = os.environ['BASE_CALLBACK_URL'] 10 | BW_NUMBER = os.environ['BW_NUMBER'] 11 | VZW_NUMBER = os.environ['VZW_NUMBER'] 12 | ATT_NUMBER = os.environ['ATT_NUMBER'] 13 | T_MOBILE_NUMBER = os.environ['T_MOBILE_NUMBER'] 14 | USER_NUMBER = os.environ['USER_NUMBER'] 15 | FORBIDDEN_USERNAME = os.environ['BW_USERNAME_FORBIDDEN'] 16 | FORBIDDEN_PASSWORD = os.environ['BW_PASSWORD_FORBIDDEN'] 17 | MANTECA_ACTIVE_NUMBER = os.environ['MANTECA_ACTIVE_NUMBER'] 18 | MANTECA_IDLE_NUMBER = os.environ['MANTECA_IDLE_NUMBER'] 19 | MANTECA_BASE_URL = os.environ['MANTECA_BASE_URL'] 20 | MANTECA_STATUS_URL = MANTECA_BASE_URL + 'tests/' 21 | MANTECA_APPLICATION_ID = os.environ['MANTECA_APPLICATION_ID'] 22 | PYTHON_VERSION = os.environ['PYTHON_VERSION'] 23 | OPERATING_SYSTEM = os.environ['OPERATING_SYSTEM'] 24 | RUNNER_OS = os.environ['RUNNER_OS'] 25 | 26 | except KeyError as e: 27 | raise Exception('Environmental variables not found') 28 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py3 3 | 4 | [testenv] 5 | deps=-r{toxinidir}/requirements.txt 6 | -r{toxinidir}/test-requirements.txt 7 | 8 | commands= 9 | pytest --cov=bandwidth 10 | --------------------------------------------------------------------------------