telnyx 3.2.0a0__py3-none-any.whl → 3.3.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.

Files changed (565) hide show
  1. telnyx/__init__.py +3 -1
  2. telnyx/_base_client.py +12 -12
  3. telnyx/_client.py +68 -762
  4. telnyx/_compat.py +48 -48
  5. telnyx/_models.py +50 -44
  6. telnyx/_qs.py +7 -7
  7. telnyx/_types.py +53 -12
  8. telnyx/_utils/__init__.py +9 -2
  9. telnyx/_utils/_compat.py +45 -0
  10. telnyx/_utils/_datetime_parse.py +136 -0
  11. telnyx/_utils/_transform.py +13 -3
  12. telnyx/_utils/_typing.py +6 -1
  13. telnyx/_utils/_utils.py +4 -5
  14. telnyx/_version.py +1 -1
  15. telnyx/resources/__init__.py +73 -0
  16. telnyx/resources/access_ip_address.py +15 -15
  17. telnyx/resources/access_ip_ranges.py +13 -13
  18. telnyx/resources/actions/purchase.py +13 -14
  19. telnyx/resources/actions/register.py +11 -12
  20. telnyx/resources/addresses/actions.py +13 -13
  21. telnyx/resources/addresses/addresses.py +33 -35
  22. telnyx/resources/advanced_orders.py +102 -106
  23. telnyx/resources/ai/ai.py +7 -7
  24. telnyx/resources/ai/assistants/assistants.py +89 -89
  25. telnyx/resources/ai/assistants/canary_deploys.py +9 -9
  26. telnyx/resources/ai/assistants/scheduled_events.py +21 -21
  27. telnyx/resources/ai/assistants/tests/runs.py +13 -13
  28. telnyx/resources/ai/assistants/tests/test_suites/runs.py +13 -13
  29. telnyx/resources/ai/assistants/tests/test_suites/test_suites.py +3 -3
  30. telnyx/resources/ai/assistants/tests/tests.py +43 -43
  31. telnyx/resources/ai/assistants/tools.py +7 -7
  32. telnyx/resources/ai/assistants/versions.py +45 -45
  33. telnyx/resources/ai/audio.py +11 -11
  34. telnyx/resources/ai/chat.py +48 -48
  35. telnyx/resources/ai/clusters.py +27 -29
  36. telnyx/resources/ai/conversations/conversations.py +179 -45
  37. telnyx/resources/ai/conversations/insight_groups/insight_groups.py +23 -23
  38. telnyx/resources/ai/conversations/insight_groups/insights.py +5 -5
  39. telnyx/resources/ai/conversations/insights.py +25 -25
  40. telnyx/resources/ai/conversations/messages.py +3 -136
  41. telnyx/resources/ai/embeddings/buckets.py +7 -7
  42. telnyx/resources/ai/embeddings/embeddings.py +23 -24
  43. telnyx/resources/ai/fine_tuning/jobs.py +13 -13
  44. telnyx/resources/audit_events.py +9 -9
  45. telnyx/resources/authentication_providers.py +29 -29
  46. telnyx/resources/available_phone_number_blocks.py +5 -5
  47. telnyx/resources/available_phone_numbers.py +5 -5
  48. telnyx/resources/balance.py +3 -3
  49. telnyx/resources/billing_groups.py +17 -17
  50. telnyx/resources/brand/brand.py +121 -117
  51. telnyx/resources/brand/external_vetting.py +9 -9
  52. telnyx/resources/bulk_sim_card_actions.py +11 -11
  53. telnyx/resources/bundle_pricing/billing_bundles.py +13 -13
  54. telnyx/resources/bundle_pricing/user_bundles.py +35 -35
  55. telnyx/resources/call_control_applications.py +64 -68
  56. telnyx/resources/call_events.py +7 -7
  57. telnyx/resources/calls/actions.py +699 -699
  58. telnyx/resources/calls/calls.py +116 -110
  59. telnyx/resources/campaign/campaign.py +47 -47
  60. telnyx/resources/campaign/osr.py +3 -3
  61. telnyx/resources/campaign/usecase.py +3 -3
  62. telnyx/resources/campaign_builder/brand.py +3 -3
  63. telnyx/resources/campaign_builder/campaign_builder.py +68 -68
  64. telnyx/resources/channel_zones.py +7 -7
  65. telnyx/resources/charges_breakdown.py +7 -7
  66. telnyx/resources/charges_summary.py +3 -3
  67. telnyx/resources/comments.py +17 -17
  68. telnyx/resources/conferences/actions.py +123 -140
  69. telnyx/resources/conferences/conferences.py +37 -41
  70. telnyx/resources/connections.py +15 -15
  71. telnyx/resources/country_coverage.py +5 -5
  72. telnyx/resources/credential_connections/actions.py +3 -3
  73. telnyx/resources/credential_connections/credential_connections.py +96 -96
  74. telnyx/resources/custom_storage_credentials.py +9 -9
  75. telnyx/resources/customer_service_records.py +21 -23
  76. telnyx/resources/detail_records.py +9 -11
  77. telnyx/resources/dialogflow_connections.py +25 -25
  78. telnyx/resources/document_links.py +7 -7
  79. telnyx/resources/documents.py +45 -45
  80. telnyx/resources/dynamic_emergency_addresses.py +23 -23
  81. telnyx/resources/dynamic_emergency_endpoints.py +13 -13
  82. telnyx/resources/enum.py +3 -3
  83. telnyx/resources/external_connections/civic_addresses.py +7 -7
  84. telnyx/resources/external_connections/external_connections.py +42 -42
  85. telnyx/resources/external_connections/log_messages.py +11 -11
  86. telnyx/resources/external_connections/phone_numbers.py +13 -13
  87. telnyx/resources/external_connections/releases.py +9 -9
  88. telnyx/resources/external_connections/uploads.py +27 -29
  89. telnyx/resources/fax_applications.py +48 -48
  90. telnyx/resources/faxes/actions.py +5 -5
  91. telnyx/resources/faxes/faxes.py +35 -35
  92. telnyx/resources/fqdn_connections.py +94 -94
  93. telnyx/resources/fqdns.py +25 -25
  94. telnyx/resources/global_ip_allowed_ports.py +3 -3
  95. telnyx/resources/global_ip_assignment_health.py +5 -5
  96. telnyx/resources/global_ip_assignments.py +19 -19
  97. telnyx/resources/global_ip_assignments_usage.py +5 -5
  98. telnyx/resources/global_ip_health_check_types.py +3 -3
  99. telnyx/resources/global_ip_health_checks.py +17 -17
  100. telnyx/resources/global_ip_latency.py +5 -5
  101. telnyx/resources/global_ip_protocols.py +3 -3
  102. telnyx/resources/global_ip_usage.py +5 -5
  103. telnyx/resources/global_ips.py +17 -17
  104. telnyx/resources/inbound_channels.py +5 -5
  105. telnyx/resources/integration_secrets.py +17 -17
  106. telnyx/resources/inventory_coverage.py +5 -5
  107. telnyx/resources/invoices.py +11 -11
  108. telnyx/resources/ip_connections.py +94 -94
  109. telnyx/resources/ips.py +23 -23
  110. telnyx/resources/ledger_billing_group_reports.py +9 -9
  111. telnyx/resources/legacy/__init__.py +33 -0
  112. telnyx/resources/legacy/legacy.py +102 -0
  113. telnyx/resources/legacy/reporting/__init__.py +47 -0
  114. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  115. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  116. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
  117. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  118. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
  119. telnyx/resources/legacy/reporting/reporting.py +134 -0
  120. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  121. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  122. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  123. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  124. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  125. telnyx/resources/list.py +5 -5
  126. telnyx/resources/managed_accounts/actions.py +7 -7
  127. telnyx/resources/managed_accounts/managed_accounts.py +33 -33
  128. telnyx/resources/media.py +23 -23
  129. telnyx/resources/messages/messages.py +124 -124
  130. telnyx/resources/messages/rcs.py +7 -7
  131. telnyx/resources/messaging/rcs/agents.py +15 -15
  132. telnyx/resources/messaging/rcs/rcs.py +9 -11
  133. telnyx/resources/messaging_hosted_number_orders/actions.py +7 -7
  134. telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +26 -26
  135. telnyx/resources/messaging_hosted_numbers.py +3 -3
  136. telnyx/resources/messaging_numbers_bulk_updates.py +7 -9
  137. telnyx/resources/messaging_optouts.py +11 -11
  138. telnyx/resources/messaging_profiles/autoresp_configs.py +25 -26
  139. telnyx/resources/messaging_profiles/messaging_profiles.py +76 -76
  140. telnyx/resources/messaging_tollfree/verification/requests.py +27 -27
  141. telnyx/resources/messaging_url_domains.py +5 -5
  142. telnyx/resources/messsages.py +11 -11
  143. telnyx/resources/mobile_network_operators.py +7 -7
  144. telnyx/resources/mobile_push_credentials.py +23 -23
  145. telnyx/resources/network_coverage.py +9 -9
  146. telnyx/resources/networks/default_gateway.py +9 -9
  147. telnyx/resources/networks/networks.py +21 -21
  148. telnyx/resources/notification_channels.py +27 -27
  149. telnyx/resources/notification_event_conditions.py +7 -7
  150. telnyx/resources/notification_events.py +5 -5
  151. telnyx/resources/notification_profiles.py +17 -17
  152. telnyx/resources/notification_settings.py +21 -21
  153. telnyx/resources/number_block_orders.py +17 -17
  154. telnyx/resources/number_lookup.py +5 -5
  155. telnyx/resources/number_order_phone_numbers.py +13 -13
  156. telnyx/resources/number_orders.py +27 -27
  157. telnyx/resources/number_reservations/actions.py +3 -3
  158. telnyx/resources/number_reservations/number_reservations.py +15 -15
  159. telnyx/resources/numbers_features.py +5 -7
  160. telnyx/resources/oauth.py +855 -0
  161. telnyx/resources/oauth_clients.py +711 -0
  162. telnyx/resources/oauth_grants.py +349 -0
  163. telnyx/resources/operator_connect/actions.py +3 -3
  164. telnyx/resources/ota_updates.py +9 -9
  165. telnyx/resources/outbound_voice_profiles.py +66 -66
  166. telnyx/resources/partner_campaigns.py +25 -25
  167. telnyx/resources/payment/auto_recharge_prefs.py +15 -15
  168. telnyx/resources/phone_number_assignment_by_profile.py +15 -15
  169. telnyx/resources/phone_number_blocks/jobs.py +13 -13
  170. telnyx/resources/phone_number_campaigns.py +19 -19
  171. telnyx/resources/phone_numbers/actions.py +9 -11
  172. telnyx/resources/phone_numbers/csv_downloads.py +13 -13
  173. telnyx/resources/phone_numbers/jobs.py +54 -42
  174. telnyx/resources/phone_numbers/messaging.py +13 -13
  175. telnyx/resources/phone_numbers/phone_numbers.py +39 -40
  176. telnyx/resources/phone_numbers/voice.py +31 -31
  177. telnyx/resources/phone_numbers/voicemail.py +15 -15
  178. telnyx/resources/phone_numbers_regulatory_requirements.py +5 -5
  179. telnyx/resources/portability_checks.py +5 -7
  180. telnyx/resources/porting/events.py +11 -11
  181. telnyx/resources/porting/loa_configurations.py +17 -17
  182. telnyx/resources/porting/porting.py +3 -3
  183. telnyx/resources/porting/reports.py +11 -11
  184. telnyx/resources/porting_orders/action_requirements.py +11 -11
  185. telnyx/resources/porting_orders/actions.py +13 -13
  186. telnyx/resources/porting_orders/activation_jobs.py +11 -11
  187. telnyx/resources/porting_orders/additional_documents.py +15 -15
  188. telnyx/resources/porting_orders/associated_phone_numbers.py +13 -13
  189. telnyx/resources/porting_orders/comments.py +9 -9
  190. telnyx/resources/porting_orders/phone_number_blocks.py +13 -13
  191. telnyx/resources/porting_orders/phone_number_configurations.py +13 -13
  192. telnyx/resources/porting_orders/phone_number_extensions.py +13 -13
  193. telnyx/resources/porting_orders/porting_orders.py +82 -70
  194. telnyx/resources/porting_orders/verification_codes.py +20 -20
  195. telnyx/resources/porting_phone_numbers.py +7 -7
  196. telnyx/resources/portouts/comments.py +7 -7
  197. telnyx/resources/portouts/events.py +11 -11
  198. telnyx/resources/portouts/portouts.py +17 -17
  199. telnyx/resources/portouts/reports.py +11 -11
  200. telnyx/resources/portouts/supporting_documents.py +7 -7
  201. telnyx/resources/private_wireless_gateways.py +25 -25
  202. telnyx/resources/public_internet_gateways.py +19 -19
  203. telnyx/resources/queues/calls.py +7 -7
  204. telnyx/resources/queues/queues.py +3 -3
  205. telnyx/resources/recording_transcriptions.py +7 -7
  206. telnyx/resources/recordings/actions.py +5 -7
  207. telnyx/resources/recordings/recordings.py +11 -11
  208. telnyx/resources/regions.py +3 -3
  209. telnyx/resources/regulatory_requirements.py +5 -5
  210. telnyx/resources/reports/cdr_usage_reports.py +9 -9
  211. telnyx/resources/reports/mdr_usage_reports.py +22 -22
  212. telnyx/resources/reports/reports.py +47 -48
  213. telnyx/resources/requirement_groups.py +23 -23
  214. telnyx/resources/requirement_types.py +9 -11
  215. telnyx/resources/requirements.py +11 -11
  216. telnyx/resources/room_compositions.py +27 -27
  217. telnyx/resources/room_participants.py +9 -9
  218. telnyx/resources/room_recordings.py +17 -17
  219. telnyx/resources/rooms/actions.py +11 -11
  220. telnyx/resources/rooms/rooms.py +43 -43
  221. telnyx/resources/rooms/sessions/actions.py +22 -22
  222. telnyx/resources/rooms/sessions/sessions.py +27 -27
  223. telnyx/resources/seti.py +5 -5
  224. telnyx/resources/short_codes.py +11 -11
  225. telnyx/resources/sim_card_data_usage_notifications.py +21 -21
  226. telnyx/resources/sim_card_groups/actions.py +23 -23
  227. telnyx/resources/sim_card_groups/sim_card_groups.py +29 -29
  228. telnyx/resources/sim_card_order_preview.py +3 -3
  229. telnyx/resources/sim_card_orders.py +11 -11
  230. telnyx/resources/sim_cards/actions.py +29 -31
  231. telnyx/resources/sim_cards/sim_cards.py +48 -48
  232. telnyx/resources/siprec_connectors.py +13 -13
  233. telnyx/resources/storage/buckets/buckets.py +5 -5
  234. telnyx/resources/storage/buckets/ssl_certificate.py +11 -11
  235. telnyx/resources/storage/buckets/usage.py +5 -5
  236. telnyx/resources/storage/migration_sources.py +11 -11
  237. telnyx/resources/storage/migrations/actions.py +3 -3
  238. telnyx/resources/storage/migrations/migrations.py +9 -9
  239. telnyx/resources/storage/storage.py +3 -3
  240. telnyx/resources/sub_number_orders.py +17 -17
  241. telnyx/resources/sub_number_orders_report.py +19 -19
  242. telnyx/resources/telephony_credentials.py +31 -31
  243. telnyx/resources/texml/accounts/accounts.py +15 -15
  244. telnyx/resources/texml/accounts/calls/calls.py +145 -145
  245. telnyx/resources/texml/accounts/calls/recordings.py +5 -5
  246. telnyx/resources/texml/accounts/calls/recordings_json.py +19 -19
  247. telnyx/resources/texml/accounts/calls/siprec.py +5 -5
  248. telnyx/resources/texml/accounts/calls/streams.py +5 -5
  249. telnyx/resources/texml/accounts/conferences/conferences.py +31 -31
  250. telnyx/resources/texml/accounts/conferences/participants.py +123 -123
  251. telnyx/resources/texml/accounts/recordings/json.py +5 -5
  252. telnyx/resources/texml/accounts/transcriptions/json.py +5 -5
  253. telnyx/resources/texml/calls.py +79 -79
  254. telnyx/resources/texml/texml.py +3 -3
  255. telnyx/resources/texml_applications.py +65 -66
  256. telnyx/resources/text_to_speech.py +9 -9
  257. telnyx/resources/usage_reports.py +31 -32
  258. telnyx/resources/user_addresses.py +29 -31
  259. telnyx/resources/user_tags.py +5 -5
  260. telnyx/resources/verifications/actions.py +7 -7
  261. telnyx/resources/verifications/by_phone_number/actions.py +3 -3
  262. telnyx/resources/verifications/by_phone_number/by_phone_number.py +3 -3
  263. telnyx/resources/verifications/verifications.py +29 -19
  264. telnyx/resources/verified_numbers/actions.py +3 -3
  265. telnyx/resources/verified_numbers/verified_numbers.py +36 -15
  266. telnyx/resources/verify_profiles.py +226 -44
  267. telnyx/resources/virtual_cross_connects.py +45 -45
  268. telnyx/resources/virtual_cross_connects_coverage.py +9 -9
  269. telnyx/resources/webhook_deliveries.py +9 -9
  270. telnyx/resources/webhooks.py +34 -0
  271. telnyx/resources/well_known.py +198 -0
  272. telnyx/resources/wireguard_interfaces.py +17 -17
  273. telnyx/resources/wireguard_peers.py +21 -21
  274. telnyx/resources/wireless/detail_records_reports.py +17 -17
  275. telnyx/resources/wireless/wireless.py +3 -3
  276. telnyx/resources/wireless_blocklist_values.py +3 -3
  277. telnyx/resources/wireless_blocklists.py +29 -30
  278. telnyx/types/__init__.py +164 -13
  279. telnyx/types/actions/purchase_create_params.py +3 -2
  280. telnyx/types/actions/register_create_params.py +4 -3
  281. telnyx/types/addresses/action_validate_response.py +8 -3
  282. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  283. telnyx/types/ai/__init__.py +1 -0
  284. telnyx/types/ai/chat_create_completion_params.py +3 -2
  285. telnyx/types/ai/cluster_compute_params.py +3 -2
  286. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  287. telnyx/types/ai/conversations/__init__.py +0 -1
  288. telnyx/types/ai/embedding_list_params.py +3 -2
  289. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  290. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  291. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  292. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  293. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  294. telnyx/types/ai/voice_settings.py +49 -2
  295. telnyx/types/ai/voice_settings_param.py +49 -2
  296. telnyx/types/brand_create_params.py +2 -1
  297. telnyx/types/brand_update_params.py +2 -1
  298. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  299. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  300. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  301. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  302. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  303. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  304. telnyx/types/call_answered_webhook_event.py +75 -0
  305. telnyx/types/call_bridged_webhook_event.py +58 -0
  306. telnyx/types/call_control_application_update_params.py +3 -2
  307. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  308. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  309. telnyx/types/call_dial_params.py +14 -6
  310. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  311. telnyx/types/call_enqueued_webhook_event.py +59 -0
  312. telnyx/types/call_fork_started_webhook_event.py +53 -0
  313. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  314. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  315. telnyx/types/call_hangup_webhook_event.py +150 -0
  316. telnyx/types/call_initiated_webhook_event.py +96 -0
  317. telnyx/types/call_left_queue_webhook_event.py +62 -0
  318. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  319. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  320. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  321. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  322. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  323. telnyx/types/call_playback_started_webhook_event.py +62 -0
  324. telnyx/types/call_recording_error_webhook_event.py +60 -0
  325. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  326. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  327. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  328. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  329. telnyx/types/call_refer_started_webhook_event.py +61 -0
  330. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  331. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  332. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  333. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  334. telnyx/types/call_speak_started_webhook_event.py +50 -0
  335. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  336. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  337. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  338. telnyx/types/calls/action_answer_params.py +1 -2
  339. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  340. telnyx/types/calls/action_start_streaming_params.py +4 -2
  341. telnyx/types/calls/action_start_transcription_params.py +260 -6
  342. telnyx/types/calls/action_transfer_params.py +50 -0
  343. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  344. telnyx/types/calls/transcription_start_request_param.py +261 -6
  345. telnyx/types/campaign_builder_create_params.py +4 -3
  346. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  347. telnyx/types/campaign_submit_appeal_response.py +0 -3
  348. telnyx/types/conference_created_webhook_event.py +53 -0
  349. telnyx/types/conference_ended_webhook_event.py +56 -0
  350. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  351. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  352. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  353. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  354. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  355. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  356. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  357. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  358. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  359. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  360. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  361. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  362. telnyx/types/conferences/action_hold_params.py +3 -2
  363. telnyx/types/conferences/action_join_params.py +3 -2
  364. telnyx/types/conferences/action_mute_params.py +3 -2
  365. telnyx/types/conferences/action_play_params.py +2 -2
  366. telnyx/types/conferences/action_speak_params.py +3 -2
  367. telnyx/types/conferences/action_stop_params.py +3 -2
  368. telnyx/types/conferences/action_unhold_params.py +3 -2
  369. telnyx/types/conferences/action_unmute_params.py +3 -2
  370. telnyx/types/conferences/action_update_params.py +3 -2
  371. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  372. telnyx/types/country_coverage_retrieve_response.py +7 -0
  373. telnyx/types/credential_connection_create_params.py +3 -2
  374. telnyx/types/credential_connection_update_params.py +3 -2
  375. telnyx/types/credential_inbound_param.py +3 -2
  376. telnyx/types/custom_sip_header.py +13 -0
  377. telnyx/types/customer_service_record_list_params.py +2 -1
  378. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  379. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  380. telnyx/types/delivery_update_webhook_event.py +40 -0
  381. telnyx/types/detail_record_list_params.py +4 -2
  382. telnyx/types/document_list_params.py +2 -1
  383. telnyx/types/external_connection_create_params.py +4 -2
  384. telnyx/types/external_connection_update_params.py +4 -2
  385. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  386. telnyx/types/external_connections/upload_create_params.py +3 -1
  387. telnyx/types/fax_application_create_params.py +3 -2
  388. telnyx/types/fax_application_update_params.py +3 -2
  389. telnyx/types/fax_delivered_webhook_event.py +69 -0
  390. telnyx/types/fax_failed_webhook_event.py +66 -0
  391. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  392. telnyx/types/fax_queued_webhook_event.py +63 -0
  393. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  394. telnyx/types/fqdn_connection_create_params.py +3 -2
  395. telnyx/types/fqdn_connection_update_params.py +3 -2
  396. telnyx/types/global_ip_latency_retrieve_response.py +7 -7
  397. telnyx/types/inbound_fqdn_param.py +4 -2
  398. telnyx/types/inbound_ip_param.py +3 -2
  399. telnyx/types/inbound_message_webhook_event.py +227 -0
  400. telnyx/types/ip_connection_create_params.py +4 -3
  401. telnyx/types/ip_connection_update_params.py +3 -2
  402. telnyx/types/legacy/__init__.py +3 -0
  403. telnyx/types/legacy/reporting/__init__.py +12 -0
  404. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
  405. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  406. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  407. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  408. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  409. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  410. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
  411. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  412. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  413. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  414. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  415. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  416. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  417. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  418. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  419. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  420. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  421. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
  422. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  423. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  424. telnyx/types/legacy/reporting/filter.py +31 -0
  425. telnyx/types/legacy/reporting/filter_param.py +30 -0
  426. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  427. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  428. telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
  429. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  430. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  431. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  432. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  433. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  434. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  435. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
  436. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  437. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  438. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  439. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  440. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  441. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  442. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  443. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
  444. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  445. telnyx/types/media_list_params.py +3 -2
  446. telnyx/types/message_schedule_params.py +3 -2
  447. telnyx/types/message_send_group_mms_params.py +3 -3
  448. telnyx/types/message_send_long_code_params.py +2 -2
  449. telnyx/types/message_send_number_pool_params.py +3 -2
  450. telnyx/types/message_send_params.py +3 -2
  451. telnyx/types/message_send_short_code_params.py +2 -2
  452. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  453. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  454. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  455. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  456. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  457. telnyx/types/messaging_profile_create_params.py +3 -2
  458. telnyx/types/messaging_profile_update_params.py +3 -2
  459. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  460. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  461. telnyx/types/messsage_rcs_params.py +2 -2
  462. telnyx/types/number_order_status_update_webhook_event.py +38 -0
  463. telnyx/types/numbers_feature_create_params.py +3 -2
  464. telnyx/types/oauth_client.py +59 -0
  465. telnyx/types/oauth_client_create_params.py +39 -0
  466. telnyx/types/oauth_client_create_response.py +12 -0
  467. telnyx/types/oauth_client_list_params.py +38 -0
  468. telnyx/types/oauth_client_list_response.py +28 -0
  469. telnyx/types/oauth_client_retrieve_response.py +12 -0
  470. telnyx/types/oauth_client_update_params.py +36 -0
  471. telnyx/types/oauth_client_update_response.py +12 -0
  472. telnyx/types/oauth_grant.py +29 -0
  473. telnyx/types/oauth_grant_delete_response.py +12 -0
  474. telnyx/types/oauth_grant_list_params.py +17 -0
  475. telnyx/types/oauth_grant_list_response.py +28 -0
  476. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  477. telnyx/types/oauth_grants_params.py +15 -0
  478. telnyx/types/oauth_grants_response.py +10 -0
  479. telnyx/types/oauth_introspect_params.py +12 -0
  480. telnyx/types/oauth_introspect_response.py +30 -0
  481. telnyx/types/oauth_register_params.py +39 -0
  482. telnyx/types/oauth_register_response.py +45 -0
  483. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  484. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  485. telnyx/types/oauth_retrieve_response.py +47 -0
  486. telnyx/types/oauth_token_params.py +33 -0
  487. telnyx/types/oauth_token_response.py +25 -0
  488. telnyx/types/outbound_call_recording_param.py +3 -2
  489. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  490. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  491. telnyx/types/phone_number_delete_response.py +7 -0
  492. telnyx/types/phone_number_detailed.py +7 -0
  493. telnyx/types/phone_number_list_params.py +9 -2
  494. telnyx/types/phone_number_slim_list_params.py +3 -2
  495. telnyx/types/phone_number_update_params.py +3 -2
  496. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  497. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  498. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  499. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  500. telnyx/types/portability_check_run_params.py +3 -2
  501. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  502. telnyx/types/porting_order.py +3 -0
  503. telnyx/types/porting_order_create_params.py +6 -2
  504. telnyx/types/porting_order_list_params.py +52 -31
  505. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  506. telnyx/types/porting_order_update_params.py +2 -0
  507. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  508. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  509. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  510. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  511. telnyx/types/portout_list_params.py +2 -1
  512. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  513. telnyx/types/recordings/action_delete_params.py +3 -2
  514. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  515. telnyx/types/report_list_wdrs_params.py +3 -2
  516. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  517. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  518. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  519. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  520. telnyx/types/shared/__init__.py +1 -0
  521. telnyx/types/{error.py → shared/api_error.py} +3 -3
  522. telnyx/types/shared/simple_sim_card.py +15 -0
  523. telnyx/types/sim_card.py +12 -0
  524. telnyx/types/sim_card_list_params.py +2 -1
  525. telnyx/types/sim_card_update_params.py +4 -3
  526. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  527. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  528. telnyx/types/sip_header.py +15 -0
  529. telnyx/types/stream_bidirectional_codec.py +1 -1
  530. telnyx/types/stream_codec.py +1 -1
  531. telnyx/types/streaming_failed_webhook_event.py +70 -0
  532. telnyx/types/streaming_started_webhook_event.py +53 -0
  533. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  534. telnyx/types/texml_application_create_params.py +2 -2
  535. telnyx/types/texml_application_update_params.py +2 -2
  536. telnyx/types/transcription_webhook_event.py +72 -0
  537. telnyx/types/unwrap_webhook_event.py +138 -0
  538. telnyx/types/usage_report_list_params.py +5 -4
  539. telnyx/types/verification_trigger_call_params.py +7 -0
  540. telnyx/types/verified_number_create_params.py +10 -0
  541. telnyx/types/verify_profile.py +18 -3
  542. telnyx/types/verify_profile_create_params.py +6 -4
  543. telnyx/types/verify_profile_create_template_params.py +12 -0
  544. telnyx/types/verify_profile_create_template_response.py +12 -0
  545. telnyx/types/verify_profile_message_template_response.py +13 -0
  546. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  547. telnyx/types/verify_profile_update_params.py +6 -4
  548. telnyx/types/verify_profile_update_template_params.py +12 -0
  549. telnyx/types/verify_profile_update_template_response.py +12 -0
  550. telnyx/types/video_region_param.py +4 -2
  551. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  552. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  553. telnyx/types/wireless_blocklist_create_params.py +3 -2
  554. telnyx/types/wireless_blocklist_update_params.py +3 -2
  555. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/METADATA +60 -19
  556. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/RECORD +558 -403
  557. telnyx/types/client_create_bucket_params.py +0 -13
  558. telnyx/types/client_delete_objects_params.py +0 -20
  559. telnyx/types/client_get_object_params.py +0 -15
  560. telnyx/types/client_list_objects_params.py +0 -13
  561. telnyx/types/client_put_object_params.py +0 -20
  562. telnyx/types/list_buckets_response.py +0 -20
  563. telnyx/types/list_objects_response.py +0 -24
  564. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/WHEEL +0 -0
  565. {telnyx-3.2.0a0.dist-info → telnyx-3.3.0.dist-info}/licenses/LICENSE +0 -0
telnyx/_client.py CHANGED
@@ -3,55 +3,24 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import os
6
- from typing import Any, Union, Mapping, Iterable
7
- from typing_extensions import Self, Literal, override
6
+ from typing import Any, Mapping
7
+ from typing_extensions import Self, override
8
8
 
9
9
  import httpx
10
10
 
11
11
  from . import _exceptions
12
12
  from ._qs import Querystring
13
- from .types import (
14
- client_get_object_params,
15
- client_put_object_params,
16
- client_list_objects_params,
17
- client_create_bucket_params,
18
- client_delete_objects_params,
19
- )
20
13
  from ._types import (
21
- NOT_GIVEN,
22
- Body,
23
14
  Omit,
24
- Query,
25
- Headers,
26
15
  Timeout,
27
- NoneType,
28
16
  NotGiven,
29
- FileTypes,
30
17
  Transport,
31
18
  ProxiesTypes,
32
19
  RequestOptions,
20
+ not_given,
33
21
  )
34
- from ._utils import (
35
- is_given,
36
- maybe_transform,
37
- get_async_library,
38
- async_maybe_transform,
39
- )
22
+ from ._utils import is_given, get_async_library
40
23
  from ._version import __version__
41
- from ._response import (
42
- BinaryAPIResponse,
43
- AsyncBinaryAPIResponse,
44
- StreamedBinaryAPIResponse,
45
- AsyncStreamedBinaryAPIResponse,
46
- to_raw_response_wrapper,
47
- to_streamed_response_wrapper,
48
- async_to_raw_response_wrapper,
49
- to_custom_raw_response_wrapper,
50
- async_to_streamed_response_wrapper,
51
- to_custom_streamed_response_wrapper,
52
- async_to_custom_raw_response_wrapper,
53
- async_to_custom_streamed_response_wrapper,
54
- )
55
24
  from .resources import (
56
25
  ips,
57
26
  enum,
@@ -59,23 +28,28 @@ from .resources import (
59
28
  seti,
60
29
  fqdns,
61
30
  media,
31
+ oauth,
62
32
  balance,
63
33
  regions,
64
34
  comments,
65
35
  invoices,
36
+ webhooks,
66
37
  documents,
67
38
  messsages,
68
39
  user_tags,
69
40
  global_ips,
41
+ well_known,
70
42
  call_events,
71
43
  connections,
72
44
  ota_updates,
73
45
  short_codes,
74
46
  audit_events,
47
+ oauth_grants,
75
48
  requirements,
76
49
  channel_zones,
77
50
  number_lookup,
78
51
  number_orders,
52
+ oauth_clients,
79
53
  usage_reports,
80
54
  billing_groups,
81
55
  detail_records,
@@ -168,7 +142,6 @@ from ._base_client import (
168
142
  DEFAULT_MAX_RETRIES,
169
143
  SyncAPIClient,
170
144
  AsyncAPIClient,
171
- make_request_options,
172
145
  )
173
146
  from .resources.ai import ai
174
147
  from .resources.brand import brand
@@ -176,6 +149,7 @@ from .resources.calls import calls
176
149
  from .resources.faxes import faxes
177
150
  from .resources.rooms import rooms
178
151
  from .resources.texml import texml
152
+ from .resources.legacy import legacy
179
153
  from .resources.queues import queues
180
154
  from .resources.actions import actions
181
155
  from .resources.payment import payment
@@ -201,8 +175,6 @@ from .resources.campaign_builder import campaign_builder
201
175
  from .resources.managed_accounts import managed_accounts
202
176
  from .resources.operator_connect import operator_connect
203
177
  from .resources.verified_numbers import verified_numbers
204
- from .types.list_buckets_response import ListBucketsResponse
205
- from .types.list_objects_response import ListObjectsResponse
206
178
  from .resources.messaging_profiles import messaging_profiles
207
179
  from .resources.messaging_tollfree import messaging_tollfree
208
180
  from .resources.number_reservations import number_reservations
@@ -215,6 +187,11 @@ __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Telnyx", "
215
187
 
216
188
 
217
189
  class Telnyx(SyncAPIClient):
190
+ legacy: legacy.LegacyResource
191
+ oauth: oauth.OAuthResource
192
+ oauth_clients: oauth_clients.OAuthClientsResource
193
+ oauth_grants: oauth_grants.OAuthGrantsResource
194
+ webhooks: webhooks.WebhooksResource
218
195
  access_ip_address: access_ip_address.AccessIPAddressResource
219
196
  access_ip_ranges: access_ip_ranges.AccessIPRangesResource
220
197
  actions: actions.ActionsResource
@@ -363,6 +340,7 @@ class Telnyx(SyncAPIClient):
363
340
  wireless_blocklist_values: wireless_blocklist_values.WirelessBlocklistValuesResource
364
341
  wireless_blocklists: wireless_blocklists.WirelessBlocklistsResource
365
342
  partner_campaigns: partner_campaigns.PartnerCampaignsResource
343
+ well_known: well_known.WellKnownResource
366
344
  with_raw_response: TelnyxWithRawResponse
367
345
  with_streaming_response: TelnyxWithStreamedResponse
368
346
 
@@ -374,7 +352,7 @@ class Telnyx(SyncAPIClient):
374
352
  *,
375
353
  api_key: str | None = None,
376
354
  base_url: str | httpx.URL | None = None,
377
- timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
355
+ timeout: float | Timeout | None | NotGiven = not_given,
378
356
  max_retries: int = DEFAULT_MAX_RETRIES,
379
357
  default_headers: Mapping[str, str] | None = None,
380
358
  default_query: Mapping[str, object] | None = None,
@@ -406,6 +384,7 @@ class Telnyx(SyncAPIClient):
406
384
 
407
385
  if base_url is None:
408
386
  base_url = os.environ.get("TELNYX_BASE_URL")
387
+ self._base_url_overridden = base_url is not None
409
388
  if base_url is None:
410
389
  base_url = f"https://api.telnyx.com/v2"
411
390
 
@@ -420,6 +399,11 @@ class Telnyx(SyncAPIClient):
420
399
  _strict_response_validation=_strict_response_validation,
421
400
  )
422
401
 
402
+ self.legacy = legacy.LegacyResource(self)
403
+ self.oauth = oauth.OAuthResource(self)
404
+ self.oauth_clients = oauth_clients.OAuthClientsResource(self)
405
+ self.oauth_grants = oauth_grants.OAuthGrantsResource(self)
406
+ self.webhooks = webhooks.WebhooksResource(self)
423
407
  self.access_ip_address = access_ip_address.AccessIPAddressResource(self)
424
408
  self.access_ip_ranges = access_ip_ranges.AccessIPRangesResource(self)
425
409
  self.actions = actions.ActionsResource(self)
@@ -574,6 +558,7 @@ class Telnyx(SyncAPIClient):
574
558
  self.wireless_blocklist_values = wireless_blocklist_values.WirelessBlocklistValuesResource(self)
575
559
  self.wireless_blocklists = wireless_blocklists.WirelessBlocklistsResource(self)
576
560
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResource(self)
561
+ self.well_known = well_known.WellKnownResource(self)
577
562
  self.with_raw_response = TelnyxWithRawResponse(self)
578
563
  self.with_streaming_response = TelnyxWithStreamedResponse(self)
579
564
 
@@ -602,9 +587,9 @@ class Telnyx(SyncAPIClient):
602
587
  *,
603
588
  api_key: str | None = None,
604
589
  base_url: str | httpx.URL | None = None,
605
- timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
590
+ timeout: float | Timeout | None | NotGiven = not_given,
606
591
  http_client: httpx.Client | None = None,
607
- max_retries: int | NotGiven = NOT_GIVEN,
592
+ max_retries: int | NotGiven = not_given,
608
593
  default_headers: Mapping[str, str] | None = None,
609
594
  set_default_headers: Mapping[str, str] | None = None,
610
595
  default_query: Mapping[str, object] | None = None,
@@ -633,7 +618,7 @@ class Telnyx(SyncAPIClient):
633
618
  params = set_default_query
634
619
 
635
620
  http_client = http_client or self._client
636
- return self.__class__(
621
+ client = self.__class__(
637
622
  api_key=api_key or self.api_key,
638
623
  base_url=base_url or self.base_url,
639
624
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -643,314 +628,13 @@ class Telnyx(SyncAPIClient):
643
628
  default_query=params,
644
629
  **_extra_kwargs,
645
630
  )
631
+ client._base_url_overridden = self._base_url_overridden or base_url is not None
632
+ return client
646
633
 
647
634
  # Alias for `copy` for nicer inline usage, e.g.
648
635
  # client.with_options(timeout=10).foo.create(...)
649
636
  with_options = copy
650
637
 
651
- def create_bucket(
652
- self,
653
- bucket_name: str,
654
- *,
655
- location_constraint: str | NotGiven = NOT_GIVEN,
656
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
657
- # The extra values given here take precedence over values defined on the client or passed to this method.
658
- extra_headers: Headers | None = None,
659
- extra_query: Query | None = None,
660
- extra_body: Body | None = None,
661
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
662
- ) -> None:
663
- """
664
- Create a bucket.
665
-
666
- Args:
667
- extra_headers: Send extra headers
668
-
669
- extra_query: Add additional query parameters to the request
670
-
671
- extra_body: Add additional JSON properties to the request
672
-
673
- timeout: Override the client-level default timeout for this request, in seconds
674
- """
675
- if not bucket_name:
676
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
677
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
678
- return self.put(
679
- f"/{bucket_name}",
680
- body=maybe_transform(
681
- {"location_constraint": location_constraint}, client_create_bucket_params.ClientCreateBucketParams
682
- ),
683
- options=make_request_options(
684
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
685
- ),
686
- cast_to=NoneType,
687
- )
688
-
689
- def delete_bucket(
690
- self,
691
- bucket_name: str,
692
- *,
693
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
694
- # The extra values given here take precedence over values defined on the client or passed to this method.
695
- extra_headers: Headers | None = None,
696
- extra_query: Query | None = None,
697
- extra_body: Body | None = None,
698
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
699
- ) -> None:
700
- """Deletes a bucket.
701
-
702
- The bucket must be empty for it to be deleted.
703
-
704
- Args:
705
- extra_headers: Send extra headers
706
-
707
- extra_query: Add additional query parameters to the request
708
-
709
- extra_body: Add additional JSON properties to the request
710
-
711
- timeout: Override the client-level default timeout for this request, in seconds
712
- """
713
- if not bucket_name:
714
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
715
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
716
- return self.delete(
717
- f"/{bucket_name}",
718
- options=make_request_options(
719
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
720
- ),
721
- cast_to=NoneType,
722
- )
723
-
724
- def delete_object(
725
- self,
726
- object_name: str,
727
- *,
728
- bucket_name: str,
729
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
730
- # The extra values given here take precedence over values defined on the client or passed to this method.
731
- extra_headers: Headers | None = None,
732
- extra_query: Query | None = None,
733
- extra_body: Body | None = None,
734
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
735
- ) -> None:
736
- """
737
- Delete an object from a given bucket.
738
-
739
- Args:
740
- extra_headers: Send extra headers
741
-
742
- extra_query: Add additional query parameters to the request
743
-
744
- extra_body: Add additional JSON properties to the request
745
-
746
- timeout: Override the client-level default timeout for this request, in seconds
747
- """
748
- if not bucket_name:
749
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
750
- if not object_name:
751
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
752
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
753
- return self.delete(
754
- f"/{bucket_name}/{object_name}",
755
- options=make_request_options(
756
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
757
- ),
758
- cast_to=NoneType,
759
- )
760
-
761
- def delete_objects(
762
- self,
763
- bucket_name: str,
764
- *,
765
- delete: Literal[True],
766
- body: Iterable[client_delete_objects_params.Body],
767
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
768
- # The extra values given here take precedence over values defined on the client or passed to this method.
769
- extra_headers: Headers | None = None,
770
- extra_query: Query | None = None,
771
- extra_body: Body | None = None,
772
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
773
- ) -> object:
774
- """
775
- Deletes one or multiple objects from a given bucket.
776
-
777
- Args:
778
- extra_headers: Send extra headers
779
-
780
- extra_query: Add additional query parameters to the request
781
-
782
- extra_body: Add additional JSON properties to the request
783
-
784
- timeout: Override the client-level default timeout for this request, in seconds
785
- """
786
- if not bucket_name:
787
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
788
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
789
- return self.post(
790
- f"/{bucket_name}",
791
- body=maybe_transform(body, Iterable[client_delete_objects_params.Body]),
792
- options=make_request_options(
793
- extra_headers=extra_headers,
794
- extra_query=extra_query,
795
- extra_body=extra_body,
796
- timeout=timeout,
797
- query=maybe_transform({"delete": delete}, client_delete_objects_params.ClientDeleteObjectsParams),
798
- ),
799
- cast_to=object,
800
- )
801
-
802
- def get_object(
803
- self,
804
- object_name: str,
805
- *,
806
- bucket_name: str,
807
- upload_id: str | NotGiven = NOT_GIVEN,
808
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
809
- # The extra values given here take precedence over values defined on the client or passed to this method.
810
- extra_headers: Headers | None = None,
811
- extra_query: Query | None = None,
812
- extra_body: Body | None = None,
813
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
814
- ) -> BinaryAPIResponse:
815
- """
816
- Retrieves an object from a given bucket.
817
-
818
- Args:
819
- extra_headers: Send extra headers
820
-
821
- extra_query: Add additional query parameters to the request
822
-
823
- extra_body: Add additional JSON properties to the request
824
-
825
- timeout: Override the client-level default timeout for this request, in seconds
826
- """
827
- if not bucket_name:
828
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
829
- if not object_name:
830
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
831
- extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
832
- return self.get(
833
- f"/{bucket_name}/{object_name}",
834
- options=make_request_options(
835
- extra_headers=extra_headers,
836
- extra_query=extra_query,
837
- extra_body=extra_body,
838
- timeout=timeout,
839
- query=maybe_transform({"upload_id": upload_id}, client_get_object_params.ClientGetObjectParams),
840
- ),
841
- cast_to=BinaryAPIResponse,
842
- )
843
-
844
- def list_buckets(
845
- self,
846
- *,
847
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
848
- # The extra values given here take precedence over values defined on the client or passed to this method.
849
- extra_headers: Headers | None = None,
850
- extra_query: Query | None = None,
851
- extra_body: Body | None = None,
852
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
853
- ) -> ListBucketsResponse:
854
- """List all Buckets."""
855
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
856
- return self.get(
857
- "/",
858
- options=make_request_options(
859
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
860
- ),
861
- cast_to=ListBucketsResponse,
862
- )
863
-
864
- def list_objects(
865
- self,
866
- bucket_name: str,
867
- *,
868
- list_type: Literal[2] | NotGiven = NOT_GIVEN,
869
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
870
- # The extra values given here take precedence over values defined on the client or passed to this method.
871
- extra_headers: Headers | None = None,
872
- extra_query: Query | None = None,
873
- extra_body: Body | None = None,
874
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
875
- ) -> ListObjectsResponse:
876
- """
877
- List all objects contained in a given bucket.
878
-
879
- Args:
880
- extra_headers: Send extra headers
881
-
882
- extra_query: Add additional query parameters to the request
883
-
884
- extra_body: Add additional JSON properties to the request
885
-
886
- timeout: Override the client-level default timeout for this request, in seconds
887
- """
888
- if not bucket_name:
889
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
890
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
891
- return self.get(
892
- f"/{bucket_name}",
893
- options=make_request_options(
894
- extra_headers=extra_headers,
895
- extra_query=extra_query,
896
- extra_body=extra_body,
897
- timeout=timeout,
898
- query=maybe_transform({"list_type": list_type}, client_list_objects_params.ClientListObjectsParams),
899
- ),
900
- cast_to=ListObjectsResponse,
901
- )
902
-
903
- def put_object(
904
- self,
905
- object_name: str,
906
- *,
907
- bucket_name: str,
908
- body: FileTypes,
909
- part_number: str | NotGiven = NOT_GIVEN,
910
- upload_id: str | NotGiven = NOT_GIVEN,
911
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
912
- # The extra values given here take precedence over values defined on the client or passed to this method.
913
- extra_headers: Headers | None = None,
914
- extra_query: Query | None = None,
915
- extra_body: Body | None = None,
916
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
917
- ) -> None:
918
- """
919
- Add an object to a bucket.
920
-
921
- Args:
922
- extra_headers: Send extra headers
923
-
924
- extra_query: Add additional query parameters to the request
925
-
926
- extra_body: Add additional JSON properties to the request
927
-
928
- timeout: Override the client-level default timeout for this request, in seconds
929
- """
930
- if not bucket_name:
931
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
932
- if not object_name:
933
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
934
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
935
- return self.put(
936
- f"/{bucket_name}/{object_name}",
937
- body=maybe_transform(body, client_put_object_params.ClientPutObjectParams),
938
- options=make_request_options(
939
- extra_headers=extra_headers,
940
- extra_query=extra_query,
941
- extra_body=extra_body,
942
- timeout=timeout,
943
- query=maybe_transform(
944
- {
945
- "part_number": part_number,
946
- "upload_id": upload_id,
947
- },
948
- client_put_object_params.ClientPutObjectParams,
949
- ),
950
- ),
951
- cast_to=NoneType,
952
- )
953
-
954
638
  @override
955
639
  def _make_status_error(
956
640
  self,
@@ -986,6 +670,11 @@ class Telnyx(SyncAPIClient):
986
670
 
987
671
 
988
672
  class AsyncTelnyx(AsyncAPIClient):
673
+ legacy: legacy.AsyncLegacyResource
674
+ oauth: oauth.AsyncOAuthResource
675
+ oauth_clients: oauth_clients.AsyncOAuthClientsResource
676
+ oauth_grants: oauth_grants.AsyncOAuthGrantsResource
677
+ webhooks: webhooks.AsyncWebhooksResource
989
678
  access_ip_address: access_ip_address.AsyncAccessIPAddressResource
990
679
  access_ip_ranges: access_ip_ranges.AsyncAccessIPRangesResource
991
680
  actions: actions.AsyncActionsResource
@@ -1134,6 +823,7 @@ class AsyncTelnyx(AsyncAPIClient):
1134
823
  wireless_blocklist_values: wireless_blocklist_values.AsyncWirelessBlocklistValuesResource
1135
824
  wireless_blocklists: wireless_blocklists.AsyncWirelessBlocklistsResource
1136
825
  partner_campaigns: partner_campaigns.AsyncPartnerCampaignsResource
826
+ well_known: well_known.AsyncWellKnownResource
1137
827
  with_raw_response: AsyncTelnyxWithRawResponse
1138
828
  with_streaming_response: AsyncTelnyxWithStreamedResponse
1139
829
 
@@ -1145,7 +835,7 @@ class AsyncTelnyx(AsyncAPIClient):
1145
835
  *,
1146
836
  api_key: str | None = None,
1147
837
  base_url: str | httpx.URL | None = None,
1148
- timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
838
+ timeout: float | Timeout | None | NotGiven = not_given,
1149
839
  max_retries: int = DEFAULT_MAX_RETRIES,
1150
840
  default_headers: Mapping[str, str] | None = None,
1151
841
  default_query: Mapping[str, object] | None = None,
@@ -1177,6 +867,7 @@ class AsyncTelnyx(AsyncAPIClient):
1177
867
 
1178
868
  if base_url is None:
1179
869
  base_url = os.environ.get("TELNYX_BASE_URL")
870
+ self._base_url_overridden = base_url is not None
1180
871
  if base_url is None:
1181
872
  base_url = f"https://api.telnyx.com/v2"
1182
873
 
@@ -1191,6 +882,11 @@ class AsyncTelnyx(AsyncAPIClient):
1191
882
  _strict_response_validation=_strict_response_validation,
1192
883
  )
1193
884
 
885
+ self.legacy = legacy.AsyncLegacyResource(self)
886
+ self.oauth = oauth.AsyncOAuthResource(self)
887
+ self.oauth_clients = oauth_clients.AsyncOAuthClientsResource(self)
888
+ self.oauth_grants = oauth_grants.AsyncOAuthGrantsResource(self)
889
+ self.webhooks = webhooks.AsyncWebhooksResource(self)
1194
890
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResource(self)
1195
891
  self.access_ip_ranges = access_ip_ranges.AsyncAccessIPRangesResource(self)
1196
892
  self.actions = actions.AsyncActionsResource(self)
@@ -1351,6 +1047,7 @@ class AsyncTelnyx(AsyncAPIClient):
1351
1047
  self.wireless_blocklist_values = wireless_blocklist_values.AsyncWirelessBlocklistValuesResource(self)
1352
1048
  self.wireless_blocklists = wireless_blocklists.AsyncWirelessBlocklistsResource(self)
1353
1049
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResource(self)
1050
+ self.well_known = well_known.AsyncWellKnownResource(self)
1354
1051
  self.with_raw_response = AsyncTelnyxWithRawResponse(self)
1355
1052
  self.with_streaming_response = AsyncTelnyxWithStreamedResponse(self)
1356
1053
 
@@ -1379,9 +1076,9 @@ class AsyncTelnyx(AsyncAPIClient):
1379
1076
  *,
1380
1077
  api_key: str | None = None,
1381
1078
  base_url: str | httpx.URL | None = None,
1382
- timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
1079
+ timeout: float | Timeout | None | NotGiven = not_given,
1383
1080
  http_client: httpx.AsyncClient | None = None,
1384
- max_retries: int | NotGiven = NOT_GIVEN,
1081
+ max_retries: int | NotGiven = not_given,
1385
1082
  default_headers: Mapping[str, str] | None = None,
1386
1083
  set_default_headers: Mapping[str, str] | None = None,
1387
1084
  default_query: Mapping[str, object] | None = None,
@@ -1410,7 +1107,7 @@ class AsyncTelnyx(AsyncAPIClient):
1410
1107
  params = set_default_query
1411
1108
 
1412
1109
  http_client = http_client or self._client
1413
- return self.__class__(
1110
+ client = self.__class__(
1414
1111
  api_key=api_key or self.api_key,
1415
1112
  base_url=base_url or self.base_url,
1416
1113
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -1420,320 +1117,13 @@ class AsyncTelnyx(AsyncAPIClient):
1420
1117
  default_query=params,
1421
1118
  **_extra_kwargs,
1422
1119
  )
1120
+ client._base_url_overridden = self._base_url_overridden or base_url is not None
1121
+ return client
1423
1122
 
1424
1123
  # Alias for `copy` for nicer inline usage, e.g.
1425
1124
  # client.with_options(timeout=10).foo.create(...)
1426
1125
  with_options = copy
1427
1126
 
1428
- async def create_bucket(
1429
- self,
1430
- bucket_name: str,
1431
- *,
1432
- location_constraint: str | NotGiven = NOT_GIVEN,
1433
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1434
- # The extra values given here take precedence over values defined on the client or passed to this method.
1435
- extra_headers: Headers | None = None,
1436
- extra_query: Query | None = None,
1437
- extra_body: Body | None = None,
1438
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1439
- ) -> None:
1440
- """
1441
- Create a bucket.
1442
-
1443
- Args:
1444
- extra_headers: Send extra headers
1445
-
1446
- extra_query: Add additional query parameters to the request
1447
-
1448
- extra_body: Add additional JSON properties to the request
1449
-
1450
- timeout: Override the client-level default timeout for this request, in seconds
1451
- """
1452
- if not bucket_name:
1453
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1454
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1455
- return await self.put(
1456
- f"/{bucket_name}",
1457
- body=await async_maybe_transform(
1458
- {"location_constraint": location_constraint}, client_create_bucket_params.ClientCreateBucketParams
1459
- ),
1460
- options=make_request_options(
1461
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1462
- ),
1463
- cast_to=NoneType,
1464
- )
1465
-
1466
- async def delete_bucket(
1467
- self,
1468
- bucket_name: str,
1469
- *,
1470
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1471
- # The extra values given here take precedence over values defined on the client or passed to this method.
1472
- extra_headers: Headers | None = None,
1473
- extra_query: Query | None = None,
1474
- extra_body: Body | None = None,
1475
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1476
- ) -> None:
1477
- """Deletes a bucket.
1478
-
1479
- The bucket must be empty for it to be deleted.
1480
-
1481
- Args:
1482
- extra_headers: Send extra headers
1483
-
1484
- extra_query: Add additional query parameters to the request
1485
-
1486
- extra_body: Add additional JSON properties to the request
1487
-
1488
- timeout: Override the client-level default timeout for this request, in seconds
1489
- """
1490
- if not bucket_name:
1491
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1492
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1493
- return await self.delete(
1494
- f"/{bucket_name}",
1495
- options=make_request_options(
1496
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1497
- ),
1498
- cast_to=NoneType,
1499
- )
1500
-
1501
- async def delete_object(
1502
- self,
1503
- object_name: str,
1504
- *,
1505
- bucket_name: str,
1506
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1507
- # The extra values given here take precedence over values defined on the client or passed to this method.
1508
- extra_headers: Headers | None = None,
1509
- extra_query: Query | None = None,
1510
- extra_body: Body | None = None,
1511
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1512
- ) -> None:
1513
- """
1514
- Delete an object from a given bucket.
1515
-
1516
- Args:
1517
- extra_headers: Send extra headers
1518
-
1519
- extra_query: Add additional query parameters to the request
1520
-
1521
- extra_body: Add additional JSON properties to the request
1522
-
1523
- timeout: Override the client-level default timeout for this request, in seconds
1524
- """
1525
- if not bucket_name:
1526
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1527
- if not object_name:
1528
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
1529
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1530
- return await self.delete(
1531
- f"/{bucket_name}/{object_name}",
1532
- options=make_request_options(
1533
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1534
- ),
1535
- cast_to=NoneType,
1536
- )
1537
-
1538
- async def delete_objects(
1539
- self,
1540
- bucket_name: str,
1541
- *,
1542
- delete: Literal[True],
1543
- body: Iterable[client_delete_objects_params.Body],
1544
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1545
- # The extra values given here take precedence over values defined on the client or passed to this method.
1546
- extra_headers: Headers | None = None,
1547
- extra_query: Query | None = None,
1548
- extra_body: Body | None = None,
1549
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1550
- ) -> object:
1551
- """
1552
- Deletes one or multiple objects from a given bucket.
1553
-
1554
- Args:
1555
- extra_headers: Send extra headers
1556
-
1557
- extra_query: Add additional query parameters to the request
1558
-
1559
- extra_body: Add additional JSON properties to the request
1560
-
1561
- timeout: Override the client-level default timeout for this request, in seconds
1562
- """
1563
- if not bucket_name:
1564
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1565
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
1566
- return await self.post(
1567
- f"/{bucket_name}",
1568
- body=await async_maybe_transform(body, Iterable[client_delete_objects_params.Body]),
1569
- options=make_request_options(
1570
- extra_headers=extra_headers,
1571
- extra_query=extra_query,
1572
- extra_body=extra_body,
1573
- timeout=timeout,
1574
- query=await async_maybe_transform(
1575
- {"delete": delete}, client_delete_objects_params.ClientDeleteObjectsParams
1576
- ),
1577
- ),
1578
- cast_to=object,
1579
- )
1580
-
1581
- async def get_object(
1582
- self,
1583
- object_name: str,
1584
- *,
1585
- bucket_name: str,
1586
- upload_id: str | NotGiven = NOT_GIVEN,
1587
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1588
- # The extra values given here take precedence over values defined on the client or passed to this method.
1589
- extra_headers: Headers | None = None,
1590
- extra_query: Query | None = None,
1591
- extra_body: Body | None = None,
1592
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1593
- ) -> AsyncBinaryAPIResponse:
1594
- """
1595
- Retrieves an object from a given bucket.
1596
-
1597
- Args:
1598
- extra_headers: Send extra headers
1599
-
1600
- extra_query: Add additional query parameters to the request
1601
-
1602
- extra_body: Add additional JSON properties to the request
1603
-
1604
- timeout: Override the client-level default timeout for this request, in seconds
1605
- """
1606
- if not bucket_name:
1607
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1608
- if not object_name:
1609
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
1610
- extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
1611
- return await self.get(
1612
- f"/{bucket_name}/{object_name}",
1613
- options=make_request_options(
1614
- extra_headers=extra_headers,
1615
- extra_query=extra_query,
1616
- extra_body=extra_body,
1617
- timeout=timeout,
1618
- query=await async_maybe_transform(
1619
- {"upload_id": upload_id}, client_get_object_params.ClientGetObjectParams
1620
- ),
1621
- ),
1622
- cast_to=AsyncBinaryAPIResponse,
1623
- )
1624
-
1625
- async def list_buckets(
1626
- self,
1627
- *,
1628
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1629
- # The extra values given here take precedence over values defined on the client or passed to this method.
1630
- extra_headers: Headers | None = None,
1631
- extra_query: Query | None = None,
1632
- extra_body: Body | None = None,
1633
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1634
- ) -> ListBucketsResponse:
1635
- """List all Buckets."""
1636
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
1637
- return await self.get(
1638
- "/",
1639
- options=make_request_options(
1640
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1641
- ),
1642
- cast_to=ListBucketsResponse,
1643
- )
1644
-
1645
- async def list_objects(
1646
- self,
1647
- bucket_name: str,
1648
- *,
1649
- list_type: Literal[2] | NotGiven = NOT_GIVEN,
1650
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1651
- # The extra values given here take precedence over values defined on the client or passed to this method.
1652
- extra_headers: Headers | None = None,
1653
- extra_query: Query | None = None,
1654
- extra_body: Body | None = None,
1655
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1656
- ) -> ListObjectsResponse:
1657
- """
1658
- List all objects contained in a given bucket.
1659
-
1660
- Args:
1661
- extra_headers: Send extra headers
1662
-
1663
- extra_query: Add additional query parameters to the request
1664
-
1665
- extra_body: Add additional JSON properties to the request
1666
-
1667
- timeout: Override the client-level default timeout for this request, in seconds
1668
- """
1669
- if not bucket_name:
1670
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1671
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
1672
- return await self.get(
1673
- f"/{bucket_name}",
1674
- options=make_request_options(
1675
- extra_headers=extra_headers,
1676
- extra_query=extra_query,
1677
- extra_body=extra_body,
1678
- timeout=timeout,
1679
- query=await async_maybe_transform(
1680
- {"list_type": list_type}, client_list_objects_params.ClientListObjectsParams
1681
- ),
1682
- ),
1683
- cast_to=ListObjectsResponse,
1684
- )
1685
-
1686
- async def put_object(
1687
- self,
1688
- object_name: str,
1689
- *,
1690
- bucket_name: str,
1691
- body: FileTypes,
1692
- part_number: str | NotGiven = NOT_GIVEN,
1693
- upload_id: str | NotGiven = NOT_GIVEN,
1694
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1695
- # The extra values given here take precedence over values defined on the client or passed to this method.
1696
- extra_headers: Headers | None = None,
1697
- extra_query: Query | None = None,
1698
- extra_body: Body | None = None,
1699
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1700
- ) -> None:
1701
- """
1702
- Add an object to a bucket.
1703
-
1704
- Args:
1705
- extra_headers: Send extra headers
1706
-
1707
- extra_query: Add additional query parameters to the request
1708
-
1709
- extra_body: Add additional JSON properties to the request
1710
-
1711
- timeout: Override the client-level default timeout for this request, in seconds
1712
- """
1713
- if not bucket_name:
1714
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1715
- if not object_name:
1716
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
1717
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1718
- return await self.put(
1719
- f"/{bucket_name}/{object_name}",
1720
- body=await async_maybe_transform(body, client_put_object_params.ClientPutObjectParams),
1721
- options=make_request_options(
1722
- extra_headers=extra_headers,
1723
- extra_query=extra_query,
1724
- extra_body=extra_body,
1725
- timeout=timeout,
1726
- query=await async_maybe_transform(
1727
- {
1728
- "part_number": part_number,
1729
- "upload_id": upload_id,
1730
- },
1731
- client_put_object_params.ClientPutObjectParams,
1732
- ),
1733
- ),
1734
- cast_to=NoneType,
1735
- )
1736
-
1737
1127
  @override
1738
1128
  def _make_status_error(
1739
1129
  self,
@@ -1770,6 +1160,10 @@ class AsyncTelnyx(AsyncAPIClient):
1770
1160
 
1771
1161
  class TelnyxWithRawResponse:
1772
1162
  def __init__(self, client: Telnyx) -> None:
1163
+ self.legacy = legacy.LegacyResourceWithRawResponse(client.legacy)
1164
+ self.oauth = oauth.OAuthResourceWithRawResponse(client.oauth)
1165
+ self.oauth_clients = oauth_clients.OAuthClientsResourceWithRawResponse(client.oauth_clients)
1166
+ self.oauth_grants = oauth_grants.OAuthGrantsResourceWithRawResponse(client.oauth_grants)
1773
1167
  self.access_ip_address = access_ip_address.AccessIPAddressResourceWithRawResponse(client.access_ip_address)
1774
1168
  self.access_ip_ranges = access_ip_ranges.AccessIPRangesResourceWithRawResponse(client.access_ip_ranges)
1775
1169
  self.actions = actions.ActionsResourceWithRawResponse(client.actions)
@@ -2044,36 +1438,15 @@ class TelnyxWithRawResponse:
2044
1438
  client.wireless_blocklists
2045
1439
  )
2046
1440
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResourceWithRawResponse(client.partner_campaigns)
2047
-
2048
- self.create_bucket = to_raw_response_wrapper(
2049
- client.create_bucket,
2050
- )
2051
- self.delete_bucket = to_raw_response_wrapper(
2052
- client.delete_bucket,
2053
- )
2054
- self.delete_object = to_raw_response_wrapper(
2055
- client.delete_object,
2056
- )
2057
- self.delete_objects = to_raw_response_wrapper(
2058
- client.delete_objects,
2059
- )
2060
- self.get_object = to_custom_raw_response_wrapper(
2061
- client.get_object,
2062
- BinaryAPIResponse,
2063
- )
2064
- self.list_buckets = to_raw_response_wrapper(
2065
- client.list_buckets,
2066
- )
2067
- self.list_objects = to_raw_response_wrapper(
2068
- client.list_objects,
2069
- )
2070
- self.put_object = to_raw_response_wrapper(
2071
- client.put_object,
2072
- )
1441
+ self.well_known = well_known.WellKnownResourceWithRawResponse(client.well_known)
2073
1442
 
2074
1443
 
2075
1444
  class AsyncTelnyxWithRawResponse:
2076
1445
  def __init__(self, client: AsyncTelnyx) -> None:
1446
+ self.legacy = legacy.AsyncLegacyResourceWithRawResponse(client.legacy)
1447
+ self.oauth = oauth.AsyncOAuthResourceWithRawResponse(client.oauth)
1448
+ self.oauth_clients = oauth_clients.AsyncOAuthClientsResourceWithRawResponse(client.oauth_clients)
1449
+ self.oauth_grants = oauth_grants.AsyncOAuthGrantsResourceWithRawResponse(client.oauth_grants)
2077
1450
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResourceWithRawResponse(client.access_ip_address)
2078
1451
  self.access_ip_ranges = access_ip_ranges.AsyncAccessIPRangesResourceWithRawResponse(client.access_ip_ranges)
2079
1452
  self.actions = actions.AsyncActionsResourceWithRawResponse(client.actions)
@@ -2388,36 +1761,15 @@ class AsyncTelnyxWithRawResponse:
2388
1761
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResourceWithRawResponse(
2389
1762
  client.partner_campaigns
2390
1763
  )
2391
-
2392
- self.create_bucket = async_to_raw_response_wrapper(
2393
- client.create_bucket,
2394
- )
2395
- self.delete_bucket = async_to_raw_response_wrapper(
2396
- client.delete_bucket,
2397
- )
2398
- self.delete_object = async_to_raw_response_wrapper(
2399
- client.delete_object,
2400
- )
2401
- self.delete_objects = async_to_raw_response_wrapper(
2402
- client.delete_objects,
2403
- )
2404
- self.get_object = async_to_custom_raw_response_wrapper(
2405
- client.get_object,
2406
- AsyncBinaryAPIResponse,
2407
- )
2408
- self.list_buckets = async_to_raw_response_wrapper(
2409
- client.list_buckets,
2410
- )
2411
- self.list_objects = async_to_raw_response_wrapper(
2412
- client.list_objects,
2413
- )
2414
- self.put_object = async_to_raw_response_wrapper(
2415
- client.put_object,
2416
- )
1764
+ self.well_known = well_known.AsyncWellKnownResourceWithRawResponse(client.well_known)
2417
1765
 
2418
1766
 
2419
1767
  class TelnyxWithStreamedResponse:
2420
1768
  def __init__(self, client: Telnyx) -> None:
1769
+ self.legacy = legacy.LegacyResourceWithStreamingResponse(client.legacy)
1770
+ self.oauth = oauth.OAuthResourceWithStreamingResponse(client.oauth)
1771
+ self.oauth_clients = oauth_clients.OAuthClientsResourceWithStreamingResponse(client.oauth_clients)
1772
+ self.oauth_grants = oauth_grants.OAuthGrantsResourceWithStreamingResponse(client.oauth_grants)
2421
1773
  self.access_ip_address = access_ip_address.AccessIPAddressResourceWithStreamingResponse(
2422
1774
  client.access_ip_address
2423
1775
  )
@@ -2738,36 +2090,15 @@ class TelnyxWithStreamedResponse:
2738
2090
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResourceWithStreamingResponse(
2739
2091
  client.partner_campaigns
2740
2092
  )
2741
-
2742
- self.create_bucket = to_streamed_response_wrapper(
2743
- client.create_bucket,
2744
- )
2745
- self.delete_bucket = to_streamed_response_wrapper(
2746
- client.delete_bucket,
2747
- )
2748
- self.delete_object = to_streamed_response_wrapper(
2749
- client.delete_object,
2750
- )
2751
- self.delete_objects = to_streamed_response_wrapper(
2752
- client.delete_objects,
2753
- )
2754
- self.get_object = to_custom_streamed_response_wrapper(
2755
- client.get_object,
2756
- StreamedBinaryAPIResponse,
2757
- )
2758
- self.list_buckets = to_streamed_response_wrapper(
2759
- client.list_buckets,
2760
- )
2761
- self.list_objects = to_streamed_response_wrapper(
2762
- client.list_objects,
2763
- )
2764
- self.put_object = to_streamed_response_wrapper(
2765
- client.put_object,
2766
- )
2093
+ self.well_known = well_known.WellKnownResourceWithStreamingResponse(client.well_known)
2767
2094
 
2768
2095
 
2769
2096
  class AsyncTelnyxWithStreamedResponse:
2770
2097
  def __init__(self, client: AsyncTelnyx) -> None:
2098
+ self.legacy = legacy.AsyncLegacyResourceWithStreamingResponse(client.legacy)
2099
+ self.oauth = oauth.AsyncOAuthResourceWithStreamingResponse(client.oauth)
2100
+ self.oauth_clients = oauth_clients.AsyncOAuthClientsResourceWithStreamingResponse(client.oauth_clients)
2101
+ self.oauth_grants = oauth_grants.AsyncOAuthGrantsResourceWithStreamingResponse(client.oauth_grants)
2771
2102
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResourceWithStreamingResponse(
2772
2103
  client.access_ip_address
2773
2104
  )
@@ -3130,32 +2461,7 @@ class AsyncTelnyxWithStreamedResponse:
3130
2461
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResourceWithStreamingResponse(
3131
2462
  client.partner_campaigns
3132
2463
  )
3133
-
3134
- self.create_bucket = async_to_streamed_response_wrapper(
3135
- client.create_bucket,
3136
- )
3137
- self.delete_bucket = async_to_streamed_response_wrapper(
3138
- client.delete_bucket,
3139
- )
3140
- self.delete_object = async_to_streamed_response_wrapper(
3141
- client.delete_object,
3142
- )
3143
- self.delete_objects = async_to_streamed_response_wrapper(
3144
- client.delete_objects,
3145
- )
3146
- self.get_object = async_to_custom_streamed_response_wrapper(
3147
- client.get_object,
3148
- AsyncStreamedBinaryAPIResponse,
3149
- )
3150
- self.list_buckets = async_to_streamed_response_wrapper(
3151
- client.list_buckets,
3152
- )
3153
- self.list_objects = async_to_streamed_response_wrapper(
3154
- client.list_objects,
3155
- )
3156
- self.put_object = async_to_streamed_response_wrapper(
3157
- client.put_object,
3158
- )
2464
+ self.well_known = well_known.AsyncWellKnownResourceWithStreamingResponse(client.well_known)
3159
2465
 
3160
2466
 
3161
2467
  Client = Telnyx