telnyx 3.1.0a0__py3-none-any.whl → 3.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of telnyx might be problematic. Click here for more details.
- telnyx/__init__.py +3 -1
- telnyx/_base_client.py +12 -12
- telnyx/_client.py +68 -762
- telnyx/_compat.py +48 -48
- telnyx/_models.py +50 -44
- telnyx/_qs.py +7 -7
- telnyx/_types.py +53 -12
- telnyx/_utils/__init__.py +9 -2
- telnyx/_utils/_compat.py +45 -0
- telnyx/_utils/_datetime_parse.py +136 -0
- telnyx/_utils/_transform.py +13 -3
- telnyx/_utils/_typing.py +6 -1
- telnyx/_utils/_utils.py +4 -5
- telnyx/_version.py +1 -1
- telnyx/resources/__init__.py +73 -0
- telnyx/resources/access_ip_address.py +15 -15
- telnyx/resources/access_ip_ranges.py +13 -13
- telnyx/resources/actions/purchase.py +13 -14
- telnyx/resources/actions/register.py +11 -12
- telnyx/resources/addresses/actions.py +13 -13
- telnyx/resources/addresses/addresses.py +33 -35
- telnyx/resources/advanced_orders.py +102 -106
- telnyx/resources/ai/ai.py +7 -7
- telnyx/resources/ai/assistants/assistants.py +89 -89
- telnyx/resources/ai/assistants/canary_deploys.py +9 -9
- telnyx/resources/ai/assistants/scheduled_events.py +21 -21
- telnyx/resources/ai/assistants/tests/runs.py +13 -13
- telnyx/resources/ai/assistants/tests/test_suites/runs.py +13 -13
- telnyx/resources/ai/assistants/tests/test_suites/test_suites.py +3 -3
- telnyx/resources/ai/assistants/tests/tests.py +43 -43
- telnyx/resources/ai/assistants/tools.py +7 -7
- telnyx/resources/ai/assistants/versions.py +45 -45
- telnyx/resources/ai/audio.py +11 -11
- telnyx/resources/ai/chat.py +48 -48
- telnyx/resources/ai/clusters.py +27 -29
- telnyx/resources/ai/conversations/conversations.py +179 -45
- telnyx/resources/ai/conversations/insight_groups/insight_groups.py +23 -23
- telnyx/resources/ai/conversations/insight_groups/insights.py +5 -5
- telnyx/resources/ai/conversations/insights.py +25 -25
- telnyx/resources/ai/conversations/messages.py +3 -136
- telnyx/resources/ai/embeddings/buckets.py +7 -7
- telnyx/resources/ai/embeddings/embeddings.py +23 -24
- telnyx/resources/ai/fine_tuning/jobs.py +13 -13
- telnyx/resources/audit_events.py +9 -9
- telnyx/resources/authentication_providers.py +29 -29
- telnyx/resources/available_phone_number_blocks.py +5 -5
- telnyx/resources/available_phone_numbers.py +5 -5
- telnyx/resources/balance.py +3 -3
- telnyx/resources/billing_groups.py +17 -17
- telnyx/resources/brand/brand.py +121 -117
- telnyx/resources/brand/external_vetting.py +9 -9
- telnyx/resources/bulk_sim_card_actions.py +11 -11
- telnyx/resources/bundle_pricing/billing_bundles.py +13 -13
- telnyx/resources/bundle_pricing/user_bundles.py +35 -35
- telnyx/resources/call_control_applications.py +64 -68
- telnyx/resources/call_events.py +7 -7
- telnyx/resources/calls/actions.py +695 -697
- telnyx/resources/calls/calls.py +116 -110
- telnyx/resources/campaign/campaign.py +47 -47
- telnyx/resources/campaign/osr.py +3 -3
- telnyx/resources/campaign/usecase.py +3 -3
- telnyx/resources/campaign_builder/brand.py +3 -3
- telnyx/resources/campaign_builder/campaign_builder.py +68 -68
- telnyx/resources/channel_zones.py +7 -7
- telnyx/resources/charges_breakdown.py +7 -7
- telnyx/resources/charges_summary.py +3 -3
- telnyx/resources/comments.py +17 -17
- telnyx/resources/conferences/actions.py +123 -140
- telnyx/resources/conferences/conferences.py +37 -41
- telnyx/resources/connections.py +15 -15
- telnyx/resources/country_coverage.py +5 -5
- telnyx/resources/credential_connections/actions.py +3 -3
- telnyx/resources/credential_connections/credential_connections.py +96 -96
- telnyx/resources/custom_storage_credentials.py +9 -9
- telnyx/resources/customer_service_records.py +21 -23
- telnyx/resources/detail_records.py +9 -11
- telnyx/resources/dialogflow_connections.py +25 -25
- telnyx/resources/document_links.py +7 -7
- telnyx/resources/documents.py +124 -43
- telnyx/resources/dynamic_emergency_addresses.py +23 -23
- telnyx/resources/dynamic_emergency_endpoints.py +13 -13
- telnyx/resources/enum.py +3 -3
- telnyx/resources/external_connections/civic_addresses.py +7 -7
- telnyx/resources/external_connections/external_connections.py +42 -42
- telnyx/resources/external_connections/log_messages.py +11 -11
- telnyx/resources/external_connections/phone_numbers.py +13 -13
- telnyx/resources/external_connections/releases.py +9 -9
- telnyx/resources/external_connections/uploads.py +27 -29
- telnyx/resources/fax_applications.py +48 -48
- telnyx/resources/faxes/actions.py +5 -5
- telnyx/resources/faxes/faxes.py +35 -35
- telnyx/resources/fqdn_connections.py +94 -94
- telnyx/resources/fqdns.py +25 -25
- telnyx/resources/global_ip_allowed_ports.py +3 -3
- telnyx/resources/global_ip_assignment_health.py +5 -5
- telnyx/resources/global_ip_assignments.py +19 -19
- telnyx/resources/global_ip_assignments_usage.py +5 -5
- telnyx/resources/global_ip_health_check_types.py +3 -3
- telnyx/resources/global_ip_health_checks.py +17 -17
- telnyx/resources/global_ip_latency.py +5 -5
- telnyx/resources/global_ip_protocols.py +3 -3
- telnyx/resources/global_ip_usage.py +5 -5
- telnyx/resources/global_ips.py +17 -17
- telnyx/resources/inbound_channels.py +5 -5
- telnyx/resources/integration_secrets.py +17 -17
- telnyx/resources/inventory_coverage.py +5 -5
- telnyx/resources/invoices.py +11 -11
- telnyx/resources/ip_connections.py +94 -94
- telnyx/resources/ips.py +23 -23
- telnyx/resources/ledger_billing_group_reports.py +9 -9
- telnyx/resources/legacy/__init__.py +33 -0
- telnyx/resources/legacy/legacy.py +102 -0
- telnyx/resources/legacy/reporting/__init__.py +47 -0
- telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
- telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
- telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
- telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
- telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
- telnyx/resources/legacy/reporting/reporting.py +134 -0
- telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
- telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
- telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
- telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
- telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
- telnyx/resources/list.py +5 -5
- telnyx/resources/managed_accounts/actions.py +7 -7
- telnyx/resources/managed_accounts/managed_accounts.py +33 -33
- telnyx/resources/media.py +23 -23
- telnyx/resources/messages/messages.py +124 -124
- telnyx/resources/messages/rcs.py +7 -7
- telnyx/resources/messaging/rcs/agents.py +15 -15
- telnyx/resources/messaging/rcs/rcs.py +9 -11
- telnyx/resources/messaging_hosted_number_orders/actions.py +7 -7
- telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +26 -26
- telnyx/resources/messaging_hosted_numbers.py +3 -3
- telnyx/resources/messaging_numbers_bulk_updates.py +7 -9
- telnyx/resources/messaging_optouts.py +11 -11
- telnyx/resources/messaging_profiles/autoresp_configs.py +25 -26
- telnyx/resources/messaging_profiles/messaging_profiles.py +76 -76
- telnyx/resources/messaging_tollfree/verification/requests.py +27 -27
- telnyx/resources/messaging_url_domains.py +5 -5
- telnyx/resources/messsages.py +11 -11
- telnyx/resources/mobile_network_operators.py +7 -7
- telnyx/resources/mobile_push_credentials.py +23 -23
- telnyx/resources/network_coverage.py +9 -9
- telnyx/resources/networks/default_gateway.py +9 -9
- telnyx/resources/networks/networks.py +21 -21
- telnyx/resources/notification_channels.py +27 -27
- telnyx/resources/notification_event_conditions.py +7 -7
- telnyx/resources/notification_events.py +5 -5
- telnyx/resources/notification_profiles.py +17 -17
- telnyx/resources/notification_settings.py +21 -21
- telnyx/resources/number_block_orders.py +17 -17
- telnyx/resources/number_lookup.py +5 -5
- telnyx/resources/number_order_phone_numbers.py +13 -13
- telnyx/resources/number_orders.py +27 -27
- telnyx/resources/number_reservations/actions.py +3 -3
- telnyx/resources/number_reservations/number_reservations.py +15 -15
- telnyx/resources/numbers_features.py +5 -7
- telnyx/resources/oauth.py +855 -0
- telnyx/resources/oauth_clients.py +711 -0
- telnyx/resources/oauth_grants.py +349 -0
- telnyx/resources/operator_connect/actions.py +3 -3
- telnyx/resources/ota_updates.py +9 -9
- telnyx/resources/outbound_voice_profiles.py +66 -66
- telnyx/resources/partner_campaigns.py +25 -25
- telnyx/resources/payment/auto_recharge_prefs.py +15 -15
- telnyx/resources/phone_number_assignment_by_profile.py +15 -15
- telnyx/resources/phone_number_blocks/jobs.py +13 -13
- telnyx/resources/phone_number_campaigns.py +19 -19
- telnyx/resources/phone_numbers/actions.py +9 -11
- telnyx/resources/phone_numbers/csv_downloads.py +13 -13
- telnyx/resources/phone_numbers/jobs.py +54 -42
- telnyx/resources/phone_numbers/messaging.py +13 -13
- telnyx/resources/phone_numbers/phone_numbers.py +39 -40
- telnyx/resources/phone_numbers/voice.py +31 -31
- telnyx/resources/phone_numbers/voicemail.py +15 -15
- telnyx/resources/phone_numbers_regulatory_requirements.py +5 -5
- telnyx/resources/portability_checks.py +5 -7
- telnyx/resources/porting/events.py +11 -11
- telnyx/resources/porting/loa_configurations.py +17 -17
- telnyx/resources/porting/porting.py +3 -3
- telnyx/resources/porting/reports.py +11 -11
- telnyx/resources/porting_orders/action_requirements.py +11 -11
- telnyx/resources/porting_orders/actions.py +13 -13
- telnyx/resources/porting_orders/activation_jobs.py +11 -11
- telnyx/resources/porting_orders/additional_documents.py +15 -15
- telnyx/resources/porting_orders/associated_phone_numbers.py +13 -13
- telnyx/resources/porting_orders/comments.py +9 -9
- telnyx/resources/porting_orders/phone_number_blocks.py +13 -13
- telnyx/resources/porting_orders/phone_number_configurations.py +13 -13
- telnyx/resources/porting_orders/phone_number_extensions.py +13 -13
- telnyx/resources/porting_orders/porting_orders.py +82 -70
- telnyx/resources/porting_orders/verification_codes.py +20 -20
- telnyx/resources/porting_phone_numbers.py +7 -7
- telnyx/resources/portouts/comments.py +7 -7
- telnyx/resources/portouts/events.py +11 -11
- telnyx/resources/portouts/portouts.py +17 -17
- telnyx/resources/portouts/reports.py +11 -11
- telnyx/resources/portouts/supporting_documents.py +7 -7
- telnyx/resources/private_wireless_gateways.py +25 -25
- telnyx/resources/public_internet_gateways.py +19 -19
- telnyx/resources/queues/calls.py +7 -7
- telnyx/resources/queues/queues.py +3 -3
- telnyx/resources/recording_transcriptions.py +7 -7
- telnyx/resources/recordings/actions.py +5 -7
- telnyx/resources/recordings/recordings.py +11 -11
- telnyx/resources/regions.py +3 -3
- telnyx/resources/regulatory_requirements.py +5 -5
- telnyx/resources/reports/cdr_usage_reports.py +9 -9
- telnyx/resources/reports/mdr_usage_reports.py +22 -22
- telnyx/resources/reports/reports.py +47 -48
- telnyx/resources/requirement_groups.py +23 -23
- telnyx/resources/requirement_types.py +9 -11
- telnyx/resources/requirements.py +11 -11
- telnyx/resources/room_compositions.py +27 -27
- telnyx/resources/room_participants.py +9 -9
- telnyx/resources/room_recordings.py +17 -17
- telnyx/resources/rooms/actions.py +11 -11
- telnyx/resources/rooms/rooms.py +43 -43
- telnyx/resources/rooms/sessions/actions.py +22 -22
- telnyx/resources/rooms/sessions/sessions.py +27 -27
- telnyx/resources/seti.py +5 -5
- telnyx/resources/short_codes.py +11 -11
- telnyx/resources/sim_card_data_usage_notifications.py +21 -21
- telnyx/resources/sim_card_groups/actions.py +23 -23
- telnyx/resources/sim_card_groups/sim_card_groups.py +29 -29
- telnyx/resources/sim_card_order_preview.py +3 -3
- telnyx/resources/sim_card_orders.py +11 -11
- telnyx/resources/sim_cards/actions.py +29 -31
- telnyx/resources/sim_cards/sim_cards.py +48 -48
- telnyx/resources/siprec_connectors.py +13 -13
- telnyx/resources/storage/buckets/buckets.py +5 -5
- telnyx/resources/storage/buckets/ssl_certificate.py +11 -11
- telnyx/resources/storage/buckets/usage.py +5 -5
- telnyx/resources/storage/migration_sources.py +11 -11
- telnyx/resources/storage/migrations/actions.py +3 -3
- telnyx/resources/storage/migrations/migrations.py +9 -9
- telnyx/resources/storage/storage.py +3 -3
- telnyx/resources/sub_number_orders.py +17 -17
- telnyx/resources/sub_number_orders_report.py +19 -19
- telnyx/resources/telephony_credentials.py +31 -31
- telnyx/resources/texml/accounts/accounts.py +15 -15
- telnyx/resources/texml/accounts/calls/calls.py +145 -145
- telnyx/resources/texml/accounts/calls/recordings.py +5 -5
- telnyx/resources/texml/accounts/calls/recordings_json.py +19 -19
- telnyx/resources/texml/accounts/calls/siprec.py +5 -5
- telnyx/resources/texml/accounts/calls/streams.py +5 -5
- telnyx/resources/texml/accounts/conferences/conferences.py +31 -31
- telnyx/resources/texml/accounts/conferences/participants.py +123 -123
- telnyx/resources/texml/accounts/recordings/json.py +5 -5
- telnyx/resources/texml/accounts/transcriptions/json.py +5 -5
- telnyx/resources/texml/calls.py +79 -79
- telnyx/resources/texml/texml.py +3 -3
- telnyx/resources/texml_applications.py +65 -66
- telnyx/resources/text_to_speech.py +9 -9
- telnyx/resources/usage_reports.py +31 -32
- telnyx/resources/user_addresses.py +29 -31
- telnyx/resources/user_tags.py +5 -5
- telnyx/resources/verifications/actions.py +7 -7
- telnyx/resources/verifications/by_phone_number/actions.py +3 -3
- telnyx/resources/verifications/by_phone_number/by_phone_number.py +3 -3
- telnyx/resources/verifications/verifications.py +29 -19
- telnyx/resources/verified_numbers/actions.py +3 -3
- telnyx/resources/verified_numbers/verified_numbers.py +36 -15
- telnyx/resources/verify_profiles.py +226 -44
- telnyx/resources/virtual_cross_connects.py +45 -45
- telnyx/resources/virtual_cross_connects_coverage.py +9 -9
- telnyx/resources/webhook_deliveries.py +9 -9
- telnyx/resources/webhooks.py +34 -0
- telnyx/resources/well_known.py +198 -0
- telnyx/resources/wireguard_interfaces.py +17 -17
- telnyx/resources/wireguard_peers.py +21 -21
- telnyx/resources/wireless/detail_records_reports.py +17 -17
- telnyx/resources/wireless/wireless.py +3 -3
- telnyx/resources/wireless_blocklist_values.py +3 -3
- telnyx/resources/wireless_blocklists.py +29 -30
- telnyx/types/__init__.py +167 -13
- telnyx/types/actions/purchase_create_params.py +3 -2
- telnyx/types/actions/register_create_params.py +4 -3
- telnyx/types/addresses/action_validate_response.py +8 -3
- telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
- telnyx/types/ai/__init__.py +1 -0
- telnyx/types/ai/chat_create_completion_params.py +3 -2
- telnyx/types/ai/cluster_compute_params.py +3 -2
- telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
- telnyx/types/ai/conversations/__init__.py +0 -1
- telnyx/types/ai/embedding_list_params.py +3 -2
- telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
- telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
- telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
- telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
- telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
- telnyx/types/ai/voice_settings.py +49 -2
- telnyx/types/ai/voice_settings_param.py +49 -2
- telnyx/types/brand_create_params.py +2 -1
- telnyx/types/brand_update_params.py +2 -1
- telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
- telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
- telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
- telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
- telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
- telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
- telnyx/types/call_answered_webhook_event.py +75 -0
- telnyx/types/call_bridged_webhook_event.py +58 -0
- telnyx/types/call_control_application_update_params.py +3 -2
- telnyx/types/call_conversation_ended_webhook_event.py +84 -0
- telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
- telnyx/types/call_dial_params.py +14 -6
- telnyx/types/call_dtmf_received_webhook_event.py +61 -0
- telnyx/types/call_enqueued_webhook_event.py +59 -0
- telnyx/types/call_fork_started_webhook_event.py +53 -0
- telnyx/types/call_fork_stopped_webhook_event.py +53 -0
- telnyx/types/call_gather_ended_webhook_event.py +64 -0
- telnyx/types/call_hangup_webhook_event.py +150 -0
- telnyx/types/call_initiated_webhook_event.py +96 -0
- telnyx/types/call_left_queue_webhook_event.py +62 -0
- telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
- telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
- telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
- telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
- telnyx/types/call_playback_ended_webhook_event.py +70 -0
- telnyx/types/call_playback_started_webhook_event.py +62 -0
- telnyx/types/call_recording_error_webhook_event.py +60 -0
- telnyx/types/call_recording_saved_webhook_event.py +94 -0
- telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
- telnyx/types/call_refer_completed_webhook_event.py +61 -0
- telnyx/types/call_refer_failed_webhook_event.py +61 -0
- telnyx/types/call_refer_started_webhook_event.py +61 -0
- telnyx/types/call_siprec_failed_webhook_event.py +53 -0
- telnyx/types/call_siprec_started_webhook_event.py +50 -0
- telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
- telnyx/types/call_speak_ended_webhook_event.py +53 -0
- telnyx/types/call_speak_started_webhook_event.py +50 -0
- telnyx/types/call_streaming_failed_webhook_event.py +70 -0
- telnyx/types/call_streaming_started_webhook_event.py +53 -0
- telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
- telnyx/types/calls/action_answer_params.py +1 -2
- telnyx/types/calls/action_gather_using_ai_params.py +5 -8
- telnyx/types/calls/action_start_streaming_params.py +4 -2
- telnyx/types/calls/action_transfer_params.py +50 -0
- telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
- telnyx/types/campaign_builder_create_params.py +4 -3
- telnyx/types/campaign_status_update_webhook_event.py +26 -0
- telnyx/types/campaign_submit_appeal_response.py +0 -3
- telnyx/types/conference_created_webhook_event.py +53 -0
- telnyx/types/conference_ended_webhook_event.py +56 -0
- telnyx/types/conference_floor_changed_webhook_event.py +45 -0
- telnyx/types/conference_participant_joined_webhook_event.py +53 -0
- telnyx/types/conference_participant_left_webhook_event.py +53 -0
- telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
- telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
- telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
- telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
- telnyx/types/conference_playback_ended_webhook_event.py +49 -0
- telnyx/types/conference_playback_started_webhook_event.py +49 -0
- telnyx/types/conference_recording_saved_webhook_event.py +103 -0
- telnyx/types/conference_speak_ended_webhook_event.py +40 -0
- telnyx/types/conference_speak_started_webhook_event.py +40 -0
- telnyx/types/conferences/action_hold_params.py +3 -2
- telnyx/types/conferences/action_join_params.py +3 -2
- telnyx/types/conferences/action_mute_params.py +3 -2
- telnyx/types/conferences/action_play_params.py +2 -2
- telnyx/types/conferences/action_speak_params.py +3 -2
- telnyx/types/conferences/action_stop_params.py +3 -2
- telnyx/types/conferences/action_unhold_params.py +3 -2
- telnyx/types/conferences/action_unmute_params.py +3 -2
- telnyx/types/conferences/action_update_params.py +3 -2
- telnyx/types/country_coverage_retrieve_country_response.py +7 -0
- telnyx/types/country_coverage_retrieve_response.py +7 -0
- telnyx/types/credential_connection_create_params.py +3 -2
- telnyx/types/credential_connection_update_params.py +3 -2
- telnyx/types/credential_inbound_param.py +3 -2
- telnyx/types/custom_sip_header.py +13 -0
- telnyx/types/customer_service_record_list_params.py +2 -1
- telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
- telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
- telnyx/types/delivery_update_webhook_event.py +40 -0
- telnyx/types/detail_record_list_params.py +4 -2
- telnyx/types/document_generate_download_link_response.py +14 -0
- telnyx/types/document_list_params.py +2 -1
- telnyx/types/external_connection_create_params.py +4 -2
- telnyx/types/external_connection_update_params.py +4 -2
- telnyx/types/external_connections/civic_address_list_params.py +3 -2
- telnyx/types/external_connections/upload_create_params.py +3 -1
- telnyx/types/fax_application_create_params.py +3 -2
- telnyx/types/fax_application_update_params.py +3 -2
- telnyx/types/fax_delivered_webhook_event.py +69 -0
- telnyx/types/fax_failed_webhook_event.py +66 -0
- telnyx/types/fax_media_processed_webhook_event.py +63 -0
- telnyx/types/fax_queued_webhook_event.py +63 -0
- telnyx/types/fax_sending_started_webhook_event.py +63 -0
- telnyx/types/fqdn_connection_create_params.py +3 -2
- telnyx/types/fqdn_connection_update_params.py +3 -2
- telnyx/types/global_ip_latency_retrieve_response.py +7 -7
- telnyx/types/inbound_fqdn_param.py +4 -2
- telnyx/types/inbound_ip_param.py +3 -2
- telnyx/types/inbound_message_webhook_event.py +227 -0
- telnyx/types/ip_connection_create_params.py +4 -3
- telnyx/types/ip_connection_update_params.py +3 -2
- telnyx/types/legacy/__init__.py +3 -0
- telnyx/types/legacy/reporting/__init__.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
- telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
- telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
- telnyx/types/legacy/reporting/filter.py +31 -0
- telnyx/types/legacy/reporting/filter_param.py +30 -0
- telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
- telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
- telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
- telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
- telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
- telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
- telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
- telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
- telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
- telnyx/types/media_list_params.py +3 -2
- telnyx/types/message_schedule_params.py +3 -2
- telnyx/types/message_send_group_mms_params.py +3 -3
- telnyx/types/message_send_long_code_params.py +2 -2
- telnyx/types/message_send_number_pool_params.py +3 -2
- telnyx/types/message_send_params.py +3 -2
- telnyx/types/message_send_short_code_params.py +2 -2
- telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
- telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
- telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
- telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
- telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
- telnyx/types/messaging_profile_create_params.py +3 -2
- telnyx/types/messaging_profile_update_params.py +3 -2
- telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
- telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
- telnyx/types/messsage_rcs_params.py +2 -2
- telnyx/types/number_order_status_update_webhook_event.py +38 -0
- telnyx/types/numbers_feature_create_params.py +3 -2
- telnyx/types/oauth_client.py +59 -0
- telnyx/types/oauth_client_create_params.py +39 -0
- telnyx/types/oauth_client_create_response.py +12 -0
- telnyx/types/oauth_client_list_params.py +38 -0
- telnyx/types/oauth_client_list_response.py +28 -0
- telnyx/types/oauth_client_retrieve_response.py +12 -0
- telnyx/types/oauth_client_update_params.py +36 -0
- telnyx/types/oauth_client_update_response.py +12 -0
- telnyx/types/oauth_grant.py +29 -0
- telnyx/types/oauth_grant_delete_response.py +12 -0
- telnyx/types/oauth_grant_list_params.py +17 -0
- telnyx/types/oauth_grant_list_response.py +28 -0
- telnyx/types/oauth_grant_retrieve_response.py +12 -0
- telnyx/types/oauth_grants_params.py +15 -0
- telnyx/types/oauth_grants_response.py +10 -0
- telnyx/types/oauth_introspect_params.py +12 -0
- telnyx/types/oauth_introspect_response.py +30 -0
- telnyx/types/oauth_register_params.py +39 -0
- telnyx/types/oauth_register_response.py +45 -0
- telnyx/types/oauth_retrieve_authorize_params.py +30 -0
- telnyx/types/oauth_retrieve_jwks_response.py +25 -0
- telnyx/types/oauth_retrieve_response.py +47 -0
- telnyx/types/oauth_token_params.py +33 -0
- telnyx/types/oauth_token_response.py +25 -0
- telnyx/types/outbound_call_recording_param.py +3 -2
- telnyx/types/outbound_voice_profile_create_params.py +4 -3
- telnyx/types/outbound_voice_profile_update_params.py +4 -3
- telnyx/types/phone_number_delete_response.py +7 -0
- telnyx/types/phone_number_detailed.py +7 -0
- telnyx/types/phone_number_list_params.py +9 -2
- telnyx/types/phone_number_slim_list_params.py +3 -2
- telnyx/types/phone_number_update_params.py +3 -2
- telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
- telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
- telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
- telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
- telnyx/types/portability_check_run_params.py +3 -2
- telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
- telnyx/types/porting_order.py +3 -0
- telnyx/types/porting_order_create_params.py +6 -2
- telnyx/types/porting_order_list_params.py +52 -31
- telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
- telnyx/types/porting_order_update_params.py +2 -0
- telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
- telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
- telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
- telnyx/types/porting_orders/verification_code_send_params.py +3 -2
- telnyx/types/portout_list_params.py +2 -1
- telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
- telnyx/types/recordings/action_delete_params.py +3 -2
- telnyx/types/replaced_link_click_webhook_event.py +32 -0
- telnyx/types/report_list_wdrs_params.py +3 -2
- telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
- telnyx/types/rooms/sessions/action_kick_params.py +5 -3
- telnyx/types/rooms/sessions/action_mute_params.py +5 -3
- telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
- telnyx/types/shared/__init__.py +1 -0
- telnyx/types/{error.py → shared/api_error.py} +3 -3
- telnyx/types/shared/simple_sim_card.py +15 -0
- telnyx/types/sim_card.py +12 -0
- telnyx/types/sim_card_list_params.py +2 -1
- telnyx/types/sim_card_update_params.py +4 -3
- telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
- telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
- telnyx/types/sip_header.py +15 -0
- telnyx/types/stream_bidirectional_codec.py +1 -1
- telnyx/types/stream_codec.py +1 -1
- telnyx/types/streaming_failed_webhook_event.py +70 -0
- telnyx/types/streaming_started_webhook_event.py +53 -0
- telnyx/types/streaming_stopped_webhook_event.py +53 -0
- telnyx/types/texml_application_create_params.py +2 -2
- telnyx/types/texml_application_update_params.py +2 -2
- telnyx/types/transcription_webhook_event.py +72 -0
- telnyx/types/unwrap_webhook_event.py +138 -0
- telnyx/types/usage_report_list_params.py +5 -4
- telnyx/types/verification_trigger_call_params.py +7 -0
- telnyx/types/verified_number_create_params.py +10 -0
- telnyx/types/verify_profile.py +18 -3
- telnyx/types/verify_profile_create_params.py +6 -4
- telnyx/types/verify_profile_create_template_params.py +12 -0
- telnyx/types/verify_profile_create_template_response.py +12 -0
- telnyx/types/verify_profile_message_template_response.py +13 -0
- telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
- telnyx/types/verify_profile_update_params.py +6 -4
- telnyx/types/verify_profile_update_template_params.py +12 -0
- telnyx/types/verify_profile_update_template_response.py +12 -0
- telnyx/types/video_region_param.py +4 -2
- telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
- telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
- telnyx/types/wireless_blocklist_create_params.py +3 -2
- telnyx/types/wireless_blocklist_update_params.py +3 -2
- {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/METADATA +60 -19
- {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/RECORD +557 -401
- telnyx/types/client_create_bucket_params.py +0 -13
- telnyx/types/client_delete_objects_params.py +0 -20
- telnyx/types/client_get_object_params.py +0 -15
- telnyx/types/client_list_objects_params.py +0 -13
- telnyx/types/client_put_object_params.py +0 -20
- telnyx/types/list_buckets_response.py +0 -20
- telnyx/types/list_objects_response.py +0 -24
- {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/WHEEL +0 -0
- {telnyx-3.1.0a0.dist-info → telnyx-3.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union, Iterable
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ....._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
|
|
11
|
+
from ....._utils import maybe_transform, async_maybe_transform
|
|
12
|
+
from ....._compat import cached_property
|
|
13
|
+
from ....._resource import SyncAPIResource, AsyncAPIResource
|
|
14
|
+
from ....._response import (
|
|
15
|
+
to_raw_response_wrapper,
|
|
16
|
+
to_streamed_response_wrapper,
|
|
17
|
+
async_to_raw_response_wrapper,
|
|
18
|
+
async_to_streamed_response_wrapper,
|
|
19
|
+
)
|
|
20
|
+
from ....._base_client import make_request_options
|
|
21
|
+
from .....types.legacy.reporting.filter_param import FilterParam
|
|
22
|
+
from .....types.legacy.reporting.batch_detail_records import voice_create_params
|
|
23
|
+
from .....types.legacy.reporting.batch_detail_records.voice_list_response import VoiceListResponse
|
|
24
|
+
from .....types.legacy.reporting.batch_detail_records.voice_create_response import VoiceCreateResponse
|
|
25
|
+
from .....types.legacy.reporting.batch_detail_records.voice_delete_response import VoiceDeleteResponse
|
|
26
|
+
from .....types.legacy.reporting.batch_detail_records.voice_retrieve_response import VoiceRetrieveResponse
|
|
27
|
+
from .....types.legacy.reporting.batch_detail_records.voice_retrieve_fields_response import VoiceRetrieveFieldsResponse
|
|
28
|
+
|
|
29
|
+
__all__ = ["VoiceResource", "AsyncVoiceResource"]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class VoiceResource(SyncAPIResource):
|
|
33
|
+
@cached_property
|
|
34
|
+
def with_raw_response(self) -> VoiceResourceWithRawResponse:
|
|
35
|
+
"""
|
|
36
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
37
|
+
the raw response object instead of the parsed content.
|
|
38
|
+
|
|
39
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
|
|
40
|
+
"""
|
|
41
|
+
return VoiceResourceWithRawResponse(self)
|
|
42
|
+
|
|
43
|
+
@cached_property
|
|
44
|
+
def with_streaming_response(self) -> VoiceResourceWithStreamingResponse:
|
|
45
|
+
"""
|
|
46
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
47
|
+
|
|
48
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
|
|
49
|
+
"""
|
|
50
|
+
return VoiceResourceWithStreamingResponse(self)
|
|
51
|
+
|
|
52
|
+
def create(
|
|
53
|
+
self,
|
|
54
|
+
*,
|
|
55
|
+
end_time: Union[str, datetime],
|
|
56
|
+
start_time: Union[str, datetime],
|
|
57
|
+
call_types: Iterable[int] | Omit = omit,
|
|
58
|
+
connections: Iterable[int] | Omit = omit,
|
|
59
|
+
fields: SequenceNotStr[str] | Omit = omit,
|
|
60
|
+
filters: Iterable[FilterParam] | Omit = omit,
|
|
61
|
+
include_all_metadata: bool | Omit = omit,
|
|
62
|
+
managed_accounts: SequenceNotStr[str] | Omit = omit,
|
|
63
|
+
record_types: Iterable[int] | Omit = omit,
|
|
64
|
+
report_name: str | Omit = omit,
|
|
65
|
+
select_all_managed_accounts: bool | Omit = omit,
|
|
66
|
+
source: str | Omit = omit,
|
|
67
|
+
timezone: str | Omit = omit,
|
|
68
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
69
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
70
|
+
extra_headers: Headers | None = None,
|
|
71
|
+
extra_query: Query | None = None,
|
|
72
|
+
extra_body: Body | None = None,
|
|
73
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
74
|
+
) -> VoiceCreateResponse:
|
|
75
|
+
"""
|
|
76
|
+
Creates a new CDR report request with the specified filters
|
|
77
|
+
|
|
78
|
+
Args:
|
|
79
|
+
end_time: End time in ISO format
|
|
80
|
+
|
|
81
|
+
start_time: Start time in ISO format
|
|
82
|
+
|
|
83
|
+
call_types: List of call types to filter by (Inbound = 1, Outbound = 2)
|
|
84
|
+
|
|
85
|
+
connections: List of connections to filter by
|
|
86
|
+
|
|
87
|
+
fields: Set of fields to include in the report
|
|
88
|
+
|
|
89
|
+
filters: List of filters to apply
|
|
90
|
+
|
|
91
|
+
include_all_metadata: Whether to include all metadata
|
|
92
|
+
|
|
93
|
+
managed_accounts: List of managed accounts to include
|
|
94
|
+
|
|
95
|
+
record_types: List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3)
|
|
96
|
+
|
|
97
|
+
report_name: Name of the report
|
|
98
|
+
|
|
99
|
+
select_all_managed_accounts: Whether to select all managed accounts
|
|
100
|
+
|
|
101
|
+
source: Source of the report. Valid values: calls (default), call-control, fax-api,
|
|
102
|
+
webrtc
|
|
103
|
+
|
|
104
|
+
timezone: Timezone for the report
|
|
105
|
+
|
|
106
|
+
extra_headers: Send extra headers
|
|
107
|
+
|
|
108
|
+
extra_query: Add additional query parameters to the request
|
|
109
|
+
|
|
110
|
+
extra_body: Add additional JSON properties to the request
|
|
111
|
+
|
|
112
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
113
|
+
"""
|
|
114
|
+
return self._post(
|
|
115
|
+
"/legacy/reporting/batch_detail_records/voice",
|
|
116
|
+
body=maybe_transform(
|
|
117
|
+
{
|
|
118
|
+
"end_time": end_time,
|
|
119
|
+
"start_time": start_time,
|
|
120
|
+
"call_types": call_types,
|
|
121
|
+
"connections": connections,
|
|
122
|
+
"fields": fields,
|
|
123
|
+
"filters": filters,
|
|
124
|
+
"include_all_metadata": include_all_metadata,
|
|
125
|
+
"managed_accounts": managed_accounts,
|
|
126
|
+
"record_types": record_types,
|
|
127
|
+
"report_name": report_name,
|
|
128
|
+
"select_all_managed_accounts": select_all_managed_accounts,
|
|
129
|
+
"source": source,
|
|
130
|
+
"timezone": timezone,
|
|
131
|
+
},
|
|
132
|
+
voice_create_params.VoiceCreateParams,
|
|
133
|
+
),
|
|
134
|
+
options=make_request_options(
|
|
135
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
136
|
+
),
|
|
137
|
+
cast_to=VoiceCreateResponse,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
def retrieve(
|
|
141
|
+
self,
|
|
142
|
+
id: str,
|
|
143
|
+
*,
|
|
144
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
145
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
146
|
+
extra_headers: Headers | None = None,
|
|
147
|
+
extra_query: Query | None = None,
|
|
148
|
+
extra_body: Body | None = None,
|
|
149
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
150
|
+
) -> VoiceRetrieveResponse:
|
|
151
|
+
"""
|
|
152
|
+
Retrieves a specific CDR report request by ID
|
|
153
|
+
|
|
154
|
+
Args:
|
|
155
|
+
extra_headers: Send extra headers
|
|
156
|
+
|
|
157
|
+
extra_query: Add additional query parameters to the request
|
|
158
|
+
|
|
159
|
+
extra_body: Add additional JSON properties to the request
|
|
160
|
+
|
|
161
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
162
|
+
"""
|
|
163
|
+
if not id:
|
|
164
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
165
|
+
return self._get(
|
|
166
|
+
f"/legacy/reporting/batch_detail_records/voice/{id}",
|
|
167
|
+
options=make_request_options(
|
|
168
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
169
|
+
),
|
|
170
|
+
cast_to=VoiceRetrieveResponse,
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
def list(
|
|
174
|
+
self,
|
|
175
|
+
*,
|
|
176
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
177
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
178
|
+
extra_headers: Headers | None = None,
|
|
179
|
+
extra_query: Query | None = None,
|
|
180
|
+
extra_body: Body | None = None,
|
|
181
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
182
|
+
) -> VoiceListResponse:
|
|
183
|
+
"""Retrieves all CDR report requests for the authenticated user"""
|
|
184
|
+
return self._get(
|
|
185
|
+
"/legacy/reporting/batch_detail_records/voice",
|
|
186
|
+
options=make_request_options(
|
|
187
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
188
|
+
),
|
|
189
|
+
cast_to=VoiceListResponse,
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
def delete(
|
|
193
|
+
self,
|
|
194
|
+
id: str,
|
|
195
|
+
*,
|
|
196
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
197
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
198
|
+
extra_headers: Headers | None = None,
|
|
199
|
+
extra_query: Query | None = None,
|
|
200
|
+
extra_body: Body | None = None,
|
|
201
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
202
|
+
) -> VoiceDeleteResponse:
|
|
203
|
+
"""
|
|
204
|
+
Deletes a specific CDR report request by ID
|
|
205
|
+
|
|
206
|
+
Args:
|
|
207
|
+
extra_headers: Send extra headers
|
|
208
|
+
|
|
209
|
+
extra_query: Add additional query parameters to the request
|
|
210
|
+
|
|
211
|
+
extra_body: Add additional JSON properties to the request
|
|
212
|
+
|
|
213
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
214
|
+
"""
|
|
215
|
+
if not id:
|
|
216
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
217
|
+
return self._delete(
|
|
218
|
+
f"/legacy/reporting/batch_detail_records/voice/{id}",
|
|
219
|
+
options=make_request_options(
|
|
220
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
221
|
+
),
|
|
222
|
+
cast_to=VoiceDeleteResponse,
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
def retrieve_fields(
|
|
226
|
+
self,
|
|
227
|
+
*,
|
|
228
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
229
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
230
|
+
extra_headers: Headers | None = None,
|
|
231
|
+
extra_query: Query | None = None,
|
|
232
|
+
extra_body: Body | None = None,
|
|
233
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
234
|
+
) -> VoiceRetrieveFieldsResponse:
|
|
235
|
+
"""Retrieves all available fields that can be used in CDR reports"""
|
|
236
|
+
return self._get(
|
|
237
|
+
"/legacy/reporting/batch_detail_records/voice/fields",
|
|
238
|
+
options=make_request_options(
|
|
239
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
240
|
+
),
|
|
241
|
+
cast_to=VoiceRetrieveFieldsResponse,
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
class AsyncVoiceResource(AsyncAPIResource):
|
|
246
|
+
@cached_property
|
|
247
|
+
def with_raw_response(self) -> AsyncVoiceResourceWithRawResponse:
|
|
248
|
+
"""
|
|
249
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
250
|
+
the raw response object instead of the parsed content.
|
|
251
|
+
|
|
252
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
|
|
253
|
+
"""
|
|
254
|
+
return AsyncVoiceResourceWithRawResponse(self)
|
|
255
|
+
|
|
256
|
+
@cached_property
|
|
257
|
+
def with_streaming_response(self) -> AsyncVoiceResourceWithStreamingResponse:
|
|
258
|
+
"""
|
|
259
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
260
|
+
|
|
261
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
|
|
262
|
+
"""
|
|
263
|
+
return AsyncVoiceResourceWithStreamingResponse(self)
|
|
264
|
+
|
|
265
|
+
async def create(
|
|
266
|
+
self,
|
|
267
|
+
*,
|
|
268
|
+
end_time: Union[str, datetime],
|
|
269
|
+
start_time: Union[str, datetime],
|
|
270
|
+
call_types: Iterable[int] | Omit = omit,
|
|
271
|
+
connections: Iterable[int] | Omit = omit,
|
|
272
|
+
fields: SequenceNotStr[str] | Omit = omit,
|
|
273
|
+
filters: Iterable[FilterParam] | Omit = omit,
|
|
274
|
+
include_all_metadata: bool | Omit = omit,
|
|
275
|
+
managed_accounts: SequenceNotStr[str] | Omit = omit,
|
|
276
|
+
record_types: Iterable[int] | Omit = omit,
|
|
277
|
+
report_name: str | Omit = omit,
|
|
278
|
+
select_all_managed_accounts: bool | Omit = omit,
|
|
279
|
+
source: str | Omit = omit,
|
|
280
|
+
timezone: str | Omit = omit,
|
|
281
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
282
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
283
|
+
extra_headers: Headers | None = None,
|
|
284
|
+
extra_query: Query | None = None,
|
|
285
|
+
extra_body: Body | None = None,
|
|
286
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
287
|
+
) -> VoiceCreateResponse:
|
|
288
|
+
"""
|
|
289
|
+
Creates a new CDR report request with the specified filters
|
|
290
|
+
|
|
291
|
+
Args:
|
|
292
|
+
end_time: End time in ISO format
|
|
293
|
+
|
|
294
|
+
start_time: Start time in ISO format
|
|
295
|
+
|
|
296
|
+
call_types: List of call types to filter by (Inbound = 1, Outbound = 2)
|
|
297
|
+
|
|
298
|
+
connections: List of connections to filter by
|
|
299
|
+
|
|
300
|
+
fields: Set of fields to include in the report
|
|
301
|
+
|
|
302
|
+
filters: List of filters to apply
|
|
303
|
+
|
|
304
|
+
include_all_metadata: Whether to include all metadata
|
|
305
|
+
|
|
306
|
+
managed_accounts: List of managed accounts to include
|
|
307
|
+
|
|
308
|
+
record_types: List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3)
|
|
309
|
+
|
|
310
|
+
report_name: Name of the report
|
|
311
|
+
|
|
312
|
+
select_all_managed_accounts: Whether to select all managed accounts
|
|
313
|
+
|
|
314
|
+
source: Source of the report. Valid values: calls (default), call-control, fax-api,
|
|
315
|
+
webrtc
|
|
316
|
+
|
|
317
|
+
timezone: Timezone for the report
|
|
318
|
+
|
|
319
|
+
extra_headers: Send extra headers
|
|
320
|
+
|
|
321
|
+
extra_query: Add additional query parameters to the request
|
|
322
|
+
|
|
323
|
+
extra_body: Add additional JSON properties to the request
|
|
324
|
+
|
|
325
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
326
|
+
"""
|
|
327
|
+
return await self._post(
|
|
328
|
+
"/legacy/reporting/batch_detail_records/voice",
|
|
329
|
+
body=await async_maybe_transform(
|
|
330
|
+
{
|
|
331
|
+
"end_time": end_time,
|
|
332
|
+
"start_time": start_time,
|
|
333
|
+
"call_types": call_types,
|
|
334
|
+
"connections": connections,
|
|
335
|
+
"fields": fields,
|
|
336
|
+
"filters": filters,
|
|
337
|
+
"include_all_metadata": include_all_metadata,
|
|
338
|
+
"managed_accounts": managed_accounts,
|
|
339
|
+
"record_types": record_types,
|
|
340
|
+
"report_name": report_name,
|
|
341
|
+
"select_all_managed_accounts": select_all_managed_accounts,
|
|
342
|
+
"source": source,
|
|
343
|
+
"timezone": timezone,
|
|
344
|
+
},
|
|
345
|
+
voice_create_params.VoiceCreateParams,
|
|
346
|
+
),
|
|
347
|
+
options=make_request_options(
|
|
348
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
349
|
+
),
|
|
350
|
+
cast_to=VoiceCreateResponse,
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
async def retrieve(
|
|
354
|
+
self,
|
|
355
|
+
id: str,
|
|
356
|
+
*,
|
|
357
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
358
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
359
|
+
extra_headers: Headers | None = None,
|
|
360
|
+
extra_query: Query | None = None,
|
|
361
|
+
extra_body: Body | None = None,
|
|
362
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
363
|
+
) -> VoiceRetrieveResponse:
|
|
364
|
+
"""
|
|
365
|
+
Retrieves a specific CDR report request by ID
|
|
366
|
+
|
|
367
|
+
Args:
|
|
368
|
+
extra_headers: Send extra headers
|
|
369
|
+
|
|
370
|
+
extra_query: Add additional query parameters to the request
|
|
371
|
+
|
|
372
|
+
extra_body: Add additional JSON properties to the request
|
|
373
|
+
|
|
374
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
375
|
+
"""
|
|
376
|
+
if not id:
|
|
377
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
378
|
+
return await self._get(
|
|
379
|
+
f"/legacy/reporting/batch_detail_records/voice/{id}",
|
|
380
|
+
options=make_request_options(
|
|
381
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
382
|
+
),
|
|
383
|
+
cast_to=VoiceRetrieveResponse,
|
|
384
|
+
)
|
|
385
|
+
|
|
386
|
+
async def list(
|
|
387
|
+
self,
|
|
388
|
+
*,
|
|
389
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
390
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
391
|
+
extra_headers: Headers | None = None,
|
|
392
|
+
extra_query: Query | None = None,
|
|
393
|
+
extra_body: Body | None = None,
|
|
394
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
395
|
+
) -> VoiceListResponse:
|
|
396
|
+
"""Retrieves all CDR report requests for the authenticated user"""
|
|
397
|
+
return await self._get(
|
|
398
|
+
"/legacy/reporting/batch_detail_records/voice",
|
|
399
|
+
options=make_request_options(
|
|
400
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
401
|
+
),
|
|
402
|
+
cast_to=VoiceListResponse,
|
|
403
|
+
)
|
|
404
|
+
|
|
405
|
+
async def delete(
|
|
406
|
+
self,
|
|
407
|
+
id: str,
|
|
408
|
+
*,
|
|
409
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
410
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
411
|
+
extra_headers: Headers | None = None,
|
|
412
|
+
extra_query: Query | None = None,
|
|
413
|
+
extra_body: Body | None = None,
|
|
414
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
415
|
+
) -> VoiceDeleteResponse:
|
|
416
|
+
"""
|
|
417
|
+
Deletes a specific CDR report request by ID
|
|
418
|
+
|
|
419
|
+
Args:
|
|
420
|
+
extra_headers: Send extra headers
|
|
421
|
+
|
|
422
|
+
extra_query: Add additional query parameters to the request
|
|
423
|
+
|
|
424
|
+
extra_body: Add additional JSON properties to the request
|
|
425
|
+
|
|
426
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
427
|
+
"""
|
|
428
|
+
if not id:
|
|
429
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
430
|
+
return await self._delete(
|
|
431
|
+
f"/legacy/reporting/batch_detail_records/voice/{id}",
|
|
432
|
+
options=make_request_options(
|
|
433
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
434
|
+
),
|
|
435
|
+
cast_to=VoiceDeleteResponse,
|
|
436
|
+
)
|
|
437
|
+
|
|
438
|
+
async def retrieve_fields(
|
|
439
|
+
self,
|
|
440
|
+
*,
|
|
441
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
442
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
443
|
+
extra_headers: Headers | None = None,
|
|
444
|
+
extra_query: Query | None = None,
|
|
445
|
+
extra_body: Body | None = None,
|
|
446
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
447
|
+
) -> VoiceRetrieveFieldsResponse:
|
|
448
|
+
"""Retrieves all available fields that can be used in CDR reports"""
|
|
449
|
+
return await self._get(
|
|
450
|
+
"/legacy/reporting/batch_detail_records/voice/fields",
|
|
451
|
+
options=make_request_options(
|
|
452
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
453
|
+
),
|
|
454
|
+
cast_to=VoiceRetrieveFieldsResponse,
|
|
455
|
+
)
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
class VoiceResourceWithRawResponse:
|
|
459
|
+
def __init__(self, voice: VoiceResource) -> None:
|
|
460
|
+
self._voice = voice
|
|
461
|
+
|
|
462
|
+
self.create = to_raw_response_wrapper(
|
|
463
|
+
voice.create,
|
|
464
|
+
)
|
|
465
|
+
self.retrieve = to_raw_response_wrapper(
|
|
466
|
+
voice.retrieve,
|
|
467
|
+
)
|
|
468
|
+
self.list = to_raw_response_wrapper(
|
|
469
|
+
voice.list,
|
|
470
|
+
)
|
|
471
|
+
self.delete = to_raw_response_wrapper(
|
|
472
|
+
voice.delete,
|
|
473
|
+
)
|
|
474
|
+
self.retrieve_fields = to_raw_response_wrapper(
|
|
475
|
+
voice.retrieve_fields,
|
|
476
|
+
)
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
class AsyncVoiceResourceWithRawResponse:
|
|
480
|
+
def __init__(self, voice: AsyncVoiceResource) -> None:
|
|
481
|
+
self._voice = voice
|
|
482
|
+
|
|
483
|
+
self.create = async_to_raw_response_wrapper(
|
|
484
|
+
voice.create,
|
|
485
|
+
)
|
|
486
|
+
self.retrieve = async_to_raw_response_wrapper(
|
|
487
|
+
voice.retrieve,
|
|
488
|
+
)
|
|
489
|
+
self.list = async_to_raw_response_wrapper(
|
|
490
|
+
voice.list,
|
|
491
|
+
)
|
|
492
|
+
self.delete = async_to_raw_response_wrapper(
|
|
493
|
+
voice.delete,
|
|
494
|
+
)
|
|
495
|
+
self.retrieve_fields = async_to_raw_response_wrapper(
|
|
496
|
+
voice.retrieve_fields,
|
|
497
|
+
)
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
class VoiceResourceWithStreamingResponse:
|
|
501
|
+
def __init__(self, voice: VoiceResource) -> None:
|
|
502
|
+
self._voice = voice
|
|
503
|
+
|
|
504
|
+
self.create = to_streamed_response_wrapper(
|
|
505
|
+
voice.create,
|
|
506
|
+
)
|
|
507
|
+
self.retrieve = to_streamed_response_wrapper(
|
|
508
|
+
voice.retrieve,
|
|
509
|
+
)
|
|
510
|
+
self.list = to_streamed_response_wrapper(
|
|
511
|
+
voice.list,
|
|
512
|
+
)
|
|
513
|
+
self.delete = to_streamed_response_wrapper(
|
|
514
|
+
voice.delete,
|
|
515
|
+
)
|
|
516
|
+
self.retrieve_fields = to_streamed_response_wrapper(
|
|
517
|
+
voice.retrieve_fields,
|
|
518
|
+
)
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
class AsyncVoiceResourceWithStreamingResponse:
|
|
522
|
+
def __init__(self, voice: AsyncVoiceResource) -> None:
|
|
523
|
+
self._voice = voice
|
|
524
|
+
|
|
525
|
+
self.create = async_to_streamed_response_wrapper(
|
|
526
|
+
voice.create,
|
|
527
|
+
)
|
|
528
|
+
self.retrieve = async_to_streamed_response_wrapper(
|
|
529
|
+
voice.retrieve,
|
|
530
|
+
)
|
|
531
|
+
self.list = async_to_streamed_response_wrapper(
|
|
532
|
+
voice.list,
|
|
533
|
+
)
|
|
534
|
+
self.delete = async_to_streamed_response_wrapper(
|
|
535
|
+
voice.delete,
|
|
536
|
+
)
|
|
537
|
+
self.retrieve_fields = async_to_streamed_response_wrapper(
|
|
538
|
+
voice.retrieve_fields,
|
|
539
|
+
)
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from ...._compat import cached_property
|
|
6
|
+
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
7
|
+
from .usage_reports.usage_reports import (
|
|
8
|
+
UsageReportsResource,
|
|
9
|
+
AsyncUsageReportsResource,
|
|
10
|
+
UsageReportsResourceWithRawResponse,
|
|
11
|
+
AsyncUsageReportsResourceWithRawResponse,
|
|
12
|
+
UsageReportsResourceWithStreamingResponse,
|
|
13
|
+
AsyncUsageReportsResourceWithStreamingResponse,
|
|
14
|
+
)
|
|
15
|
+
from .batch_detail_records.batch_detail_records import (
|
|
16
|
+
BatchDetailRecordsResource,
|
|
17
|
+
AsyncBatchDetailRecordsResource,
|
|
18
|
+
BatchDetailRecordsResourceWithRawResponse,
|
|
19
|
+
AsyncBatchDetailRecordsResourceWithRawResponse,
|
|
20
|
+
BatchDetailRecordsResourceWithStreamingResponse,
|
|
21
|
+
AsyncBatchDetailRecordsResourceWithStreamingResponse,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
__all__ = ["ReportingResource", "AsyncReportingResource"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ReportingResource(SyncAPIResource):
|
|
28
|
+
@cached_property
|
|
29
|
+
def batch_detail_records(self) -> BatchDetailRecordsResource:
|
|
30
|
+
return BatchDetailRecordsResource(self._client)
|
|
31
|
+
|
|
32
|
+
@cached_property
|
|
33
|
+
def usage_reports(self) -> UsageReportsResource:
|
|
34
|
+
return UsageReportsResource(self._client)
|
|
35
|
+
|
|
36
|
+
@cached_property
|
|
37
|
+
def with_raw_response(self) -> ReportingResourceWithRawResponse:
|
|
38
|
+
"""
|
|
39
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
40
|
+
the raw response object instead of the parsed content.
|
|
41
|
+
|
|
42
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
|
|
43
|
+
"""
|
|
44
|
+
return ReportingResourceWithRawResponse(self)
|
|
45
|
+
|
|
46
|
+
@cached_property
|
|
47
|
+
def with_streaming_response(self) -> ReportingResourceWithStreamingResponse:
|
|
48
|
+
"""
|
|
49
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
50
|
+
|
|
51
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
|
|
52
|
+
"""
|
|
53
|
+
return ReportingResourceWithStreamingResponse(self)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class AsyncReportingResource(AsyncAPIResource):
|
|
57
|
+
@cached_property
|
|
58
|
+
def batch_detail_records(self) -> AsyncBatchDetailRecordsResource:
|
|
59
|
+
return AsyncBatchDetailRecordsResource(self._client)
|
|
60
|
+
|
|
61
|
+
@cached_property
|
|
62
|
+
def usage_reports(self) -> AsyncUsageReportsResource:
|
|
63
|
+
return AsyncUsageReportsResource(self._client)
|
|
64
|
+
|
|
65
|
+
@cached_property
|
|
66
|
+
def with_raw_response(self) -> AsyncReportingResourceWithRawResponse:
|
|
67
|
+
"""
|
|
68
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
69
|
+
the raw response object instead of the parsed content.
|
|
70
|
+
|
|
71
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
|
|
72
|
+
"""
|
|
73
|
+
return AsyncReportingResourceWithRawResponse(self)
|
|
74
|
+
|
|
75
|
+
@cached_property
|
|
76
|
+
def with_streaming_response(self) -> AsyncReportingResourceWithStreamingResponse:
|
|
77
|
+
"""
|
|
78
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
79
|
+
|
|
80
|
+
For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
|
|
81
|
+
"""
|
|
82
|
+
return AsyncReportingResourceWithStreamingResponse(self)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class ReportingResourceWithRawResponse:
|
|
86
|
+
def __init__(self, reporting: ReportingResource) -> None:
|
|
87
|
+
self._reporting = reporting
|
|
88
|
+
|
|
89
|
+
@cached_property
|
|
90
|
+
def batch_detail_records(self) -> BatchDetailRecordsResourceWithRawResponse:
|
|
91
|
+
return BatchDetailRecordsResourceWithRawResponse(self._reporting.batch_detail_records)
|
|
92
|
+
|
|
93
|
+
@cached_property
|
|
94
|
+
def usage_reports(self) -> UsageReportsResourceWithRawResponse:
|
|
95
|
+
return UsageReportsResourceWithRawResponse(self._reporting.usage_reports)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class AsyncReportingResourceWithRawResponse:
|
|
99
|
+
def __init__(self, reporting: AsyncReportingResource) -> None:
|
|
100
|
+
self._reporting = reporting
|
|
101
|
+
|
|
102
|
+
@cached_property
|
|
103
|
+
def batch_detail_records(self) -> AsyncBatchDetailRecordsResourceWithRawResponse:
|
|
104
|
+
return AsyncBatchDetailRecordsResourceWithRawResponse(self._reporting.batch_detail_records)
|
|
105
|
+
|
|
106
|
+
@cached_property
|
|
107
|
+
def usage_reports(self) -> AsyncUsageReportsResourceWithRawResponse:
|
|
108
|
+
return AsyncUsageReportsResourceWithRawResponse(self._reporting.usage_reports)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class ReportingResourceWithStreamingResponse:
|
|
112
|
+
def __init__(self, reporting: ReportingResource) -> None:
|
|
113
|
+
self._reporting = reporting
|
|
114
|
+
|
|
115
|
+
@cached_property
|
|
116
|
+
def batch_detail_records(self) -> BatchDetailRecordsResourceWithStreamingResponse:
|
|
117
|
+
return BatchDetailRecordsResourceWithStreamingResponse(self._reporting.batch_detail_records)
|
|
118
|
+
|
|
119
|
+
@cached_property
|
|
120
|
+
def usage_reports(self) -> UsageReportsResourceWithStreamingResponse:
|
|
121
|
+
return UsageReportsResourceWithStreamingResponse(self._reporting.usage_reports)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class AsyncReportingResourceWithStreamingResponse:
|
|
125
|
+
def __init__(self, reporting: AsyncReportingResource) -> None:
|
|
126
|
+
self._reporting = reporting
|
|
127
|
+
|
|
128
|
+
@cached_property
|
|
129
|
+
def batch_detail_records(self) -> AsyncBatchDetailRecordsResourceWithStreamingResponse:
|
|
130
|
+
return AsyncBatchDetailRecordsResourceWithStreamingResponse(self._reporting.batch_detail_records)
|
|
131
|
+
|
|
132
|
+
@cached_property
|
|
133
|
+
def usage_reports(self) -> AsyncUsageReportsResourceWithStreamingResponse:
|
|
134
|
+
return AsyncUsageReportsResourceWithStreamingResponse(self._reporting.usage_reports)
|