telnyx 3.0.0a0__py3-none-any.whl → 3.1.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 (552) 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 +51 -45
  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 +154 -24
  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 +695 -697
  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 +124 -43
  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 +481 -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 +538 -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 +857 -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 +25 -23
  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 +159 -11
  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 +6 -1
  282. telnyx/types/advanced_order_create_params.py +3 -0
  283. telnyx/types/advanced_order_update_params.py +27 -0
  284. telnyx/types/ai/__init__.py +1 -0
  285. telnyx/types/ai/chat_create_completion_params.py +3 -2
  286. telnyx/types/ai/cluster_compute_params.py +3 -2
  287. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +6 -5
  288. telnyx/types/ai/conversations/__init__.py +0 -1
  289. telnyx/types/ai/embedding_list_params.py +3 -2
  290. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  291. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  292. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  293. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  294. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +8 -4
  295. telnyx/types/ai/voice_settings.py +49 -2
  296. telnyx/types/ai/voice_settings_param.py +49 -2
  297. telnyx/types/brand_create_params.py +2 -1
  298. telnyx/types/brand_update_params.py +2 -1
  299. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  300. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  301. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  302. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  303. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  304. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  305. telnyx/types/call_answered_webhook_event.py +75 -0
  306. telnyx/types/call_bridged_webhook_event.py +58 -0
  307. telnyx/types/call_control_application_update_params.py +3 -2
  308. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  309. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  310. telnyx/types/call_dial_params.py +14 -6
  311. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  312. telnyx/types/call_enqueued_webhook_event.py +59 -0
  313. telnyx/types/call_fork_started_webhook_event.py +53 -0
  314. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  315. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  316. telnyx/types/call_hangup_webhook_event.py +150 -0
  317. telnyx/types/call_initiated_webhook_event.py +96 -0
  318. telnyx/types/call_left_queue_webhook_event.py +62 -0
  319. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  320. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  321. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  322. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  323. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  324. telnyx/types/call_playback_started_webhook_event.py +62 -0
  325. telnyx/types/call_recording_error_webhook_event.py +60 -0
  326. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  327. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  328. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  329. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  330. telnyx/types/call_refer_started_webhook_event.py +61 -0
  331. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  332. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  333. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  334. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  335. telnyx/types/call_speak_started_webhook_event.py +50 -0
  336. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  337. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  338. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  339. telnyx/types/calls/action_answer_params.py +1 -2
  340. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  341. telnyx/types/calls/action_start_streaming_params.py +4 -2
  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/campaign_builder_create_params.py +4 -3
  345. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  346. telnyx/types/campaign_submit_appeal_response.py +0 -3
  347. telnyx/types/conference_created_webhook_event.py +53 -0
  348. telnyx/types/conference_ended_webhook_event.py +56 -0
  349. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  350. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  351. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  352. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  353. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  354. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  355. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  356. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  357. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  358. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  359. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  360. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  361. telnyx/types/conferences/action_hold_params.py +3 -2
  362. telnyx/types/conferences/action_join_params.py +3 -2
  363. telnyx/types/conferences/action_mute_params.py +3 -2
  364. telnyx/types/conferences/action_play_params.py +2 -2
  365. telnyx/types/conferences/action_speak_params.py +3 -2
  366. telnyx/types/conferences/action_stop_params.py +3 -2
  367. telnyx/types/conferences/action_unhold_params.py +3 -2
  368. telnyx/types/conferences/action_unmute_params.py +3 -2
  369. telnyx/types/conferences/action_update_params.py +3 -2
  370. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  371. telnyx/types/country_coverage_retrieve_response.py +7 -0
  372. telnyx/types/credential_connection_create_params.py +3 -2
  373. telnyx/types/credential_connection_update_params.py +3 -2
  374. telnyx/types/credential_inbound_param.py +3 -2
  375. telnyx/types/custom_sip_header.py +13 -0
  376. telnyx/types/customer_service_record_list_params.py +2 -1
  377. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  378. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  379. telnyx/types/delivery_update_webhook_event.py +40 -0
  380. telnyx/types/detail_record_list_params.py +4 -2
  381. telnyx/types/document_generate_download_link_response.py +14 -0
  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 +10 -0
  404. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +20 -0
  405. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +77 -0
  406. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +68 -0
  407. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +68 -0
  408. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +80 -0
  409. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +68 -0
  410. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  411. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +31 -0
  412. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +31 -0
  413. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +31 -0
  414. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +31 -0
  415. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +79 -0
  416. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +91 -0
  417. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +91 -0
  418. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +102 -0
  419. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  420. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +91 -0
  421. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  422. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  423. telnyx/types/legacy/reporting/usage_reports/__init__.py +18 -0
  424. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  425. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +43 -0
  426. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +43 -0
  427. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  428. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +54 -0
  429. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +43 -0
  430. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  431. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  432. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  433. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +48 -0
  434. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +48 -0
  435. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  436. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +59 -0
  437. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +48 -0
  438. telnyx/types/media_list_params.py +3 -2
  439. telnyx/types/message_schedule_params.py +3 -2
  440. telnyx/types/message_send_group_mms_params.py +3 -3
  441. telnyx/types/message_send_long_code_params.py +2 -2
  442. telnyx/types/message_send_number_pool_params.py +3 -2
  443. telnyx/types/message_send_params.py +3 -2
  444. telnyx/types/message_send_short_code_params.py +2 -2
  445. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  446. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  447. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  448. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  449. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  450. telnyx/types/messaging_profile_create_params.py +3 -2
  451. telnyx/types/messaging_profile_update_params.py +3 -2
  452. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  453. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  454. telnyx/types/messsage_rcs_params.py +2 -2
  455. telnyx/types/number_order_status_update_webhook_event.py +38 -0
  456. telnyx/types/numbers_feature_create_params.py +3 -2
  457. telnyx/types/oauth_authorize_params.py +30 -0
  458. telnyx/types/oauth_client_create_params.py +39 -0
  459. telnyx/types/oauth_client_create_response.py +63 -0
  460. telnyx/types/oauth_client_list_params.py +38 -0
  461. telnyx/types/oauth_client_list_response.py +79 -0
  462. telnyx/types/oauth_client_retrieve_response.py +63 -0
  463. telnyx/types/oauth_client_update_params.py +36 -0
  464. telnyx/types/oauth_client_update_response.py +63 -0
  465. telnyx/types/oauth_create_grant_params.py +15 -0
  466. telnyx/types/oauth_create_grant_response.py +10 -0
  467. telnyx/types/oauth_exchange_token_params.py +33 -0
  468. telnyx/types/oauth_exchange_token_response.py +25 -0
  469. telnyx/types/oauth_grant_list_params.py +17 -0
  470. telnyx/types/oauth_grant_list_response.py +49 -0
  471. telnyx/types/oauth_grant_retrieve_response.py +33 -0
  472. telnyx/types/oauth_grant_revoke_response.py +33 -0
  473. telnyx/types/oauth_introspect_token_params.py +12 -0
  474. telnyx/types/oauth_introspect_token_response.py +30 -0
  475. telnyx/types/oauth_register_client_params.py +39 -0
  476. telnyx/types/oauth_register_client_response.py +45 -0
  477. telnyx/types/oauth_retrieve_consent_response.py +47 -0
  478. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  479. telnyx/types/outbound_call_recording_param.py +3 -2
  480. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  481. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  482. telnyx/types/phone_number_delete_response.py +7 -0
  483. telnyx/types/phone_number_detailed.py +7 -0
  484. telnyx/types/phone_number_list_params.py +9 -2
  485. telnyx/types/phone_number_slim_list_params.py +3 -2
  486. telnyx/types/phone_number_update_params.py +3 -2
  487. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  488. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  489. telnyx/types/phone_numbers/job_update_batch_params.py +10 -3
  490. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  491. telnyx/types/portability_check_run_params.py +3 -2
  492. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  493. telnyx/types/porting_order.py +3 -0
  494. telnyx/types/porting_order_create_params.py +6 -2
  495. telnyx/types/porting_order_list_params.py +52 -31
  496. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  497. telnyx/types/porting_order_update_params.py +2 -0
  498. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  499. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  500. telnyx/types/porting_orders/phone_number_configuration_list_params.py +22 -21
  501. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  502. telnyx/types/portout_list_params.py +11 -3
  503. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  504. telnyx/types/recordings/action_delete_params.py +3 -2
  505. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  506. telnyx/types/report_list_wdrs_params.py +3 -2
  507. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  508. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  509. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  510. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  511. telnyx/types/shared/simple_sim_card.py +15 -0
  512. telnyx/types/sim_card.py +12 -0
  513. telnyx/types/sim_card_list_params.py +2 -1
  514. telnyx/types/sim_card_update_params.py +4 -3
  515. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  516. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  517. telnyx/types/sip_header.py +15 -0
  518. telnyx/types/stream_bidirectional_codec.py +1 -1
  519. telnyx/types/stream_codec.py +1 -1
  520. telnyx/types/streaming_failed_webhook_event.py +70 -0
  521. telnyx/types/streaming_started_webhook_event.py +53 -0
  522. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  523. telnyx/types/texml_application_create_params.py +2 -2
  524. telnyx/types/texml_application_update_params.py +2 -2
  525. telnyx/types/transcription_webhook_event.py +72 -0
  526. telnyx/types/unwrap_webhook_event.py +138 -0
  527. telnyx/types/usage_report_list_params.py +5 -4
  528. telnyx/types/verification_trigger_call_params.py +7 -0
  529. telnyx/types/verified_number_create_params.py +10 -0
  530. telnyx/types/verify_profile.py +18 -3
  531. telnyx/types/verify_profile_create_params.py +6 -4
  532. telnyx/types/verify_profile_create_template_params.py +12 -0
  533. telnyx/types/verify_profile_create_template_response.py +17 -0
  534. telnyx/types/verify_profile_update_params.py +6 -4
  535. telnyx/types/verify_profile_update_template_params.py +12 -0
  536. telnyx/types/verify_profile_update_template_response.py +17 -0
  537. telnyx/types/video_region_param.py +4 -2
  538. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  539. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  540. telnyx/types/wireless_blocklist_create_params.py +3 -2
  541. telnyx/types/wireless_blocklist_update_params.py +3 -2
  542. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/METADATA +60 -19
  543. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/RECORD +545 -398
  544. telnyx/types/client_create_bucket_params.py +0 -13
  545. telnyx/types/client_delete_objects_params.py +0 -20
  546. telnyx/types/client_get_object_params.py +0 -15
  547. telnyx/types/client_list_objects_params.py +0 -13
  548. telnyx/types/client_put_object_params.py +0 -20
  549. telnyx/types/list_buckets_response.py +0 -20
  550. telnyx/types/list_objects_response.py +0 -24
  551. {telnyx-3.0.0a0.dist-info → telnyx-3.1.0.dist-info}/WHEEL +0 -0
  552. {telnyx-3.0.0a0.dist-info → telnyx-3.1.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,7 @@ __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Telnyx", "
215
187
 
216
188
 
217
189
  class Telnyx(SyncAPIClient):
190
+ webhooks: webhooks.WebhooksResource
218
191
  access_ip_address: access_ip_address.AccessIPAddressResource
219
192
  access_ip_ranges: access_ip_ranges.AccessIPRangesResource
220
193
  actions: actions.ActionsResource
@@ -363,6 +336,11 @@ class Telnyx(SyncAPIClient):
363
336
  wireless_blocklist_values: wireless_blocklist_values.WirelessBlocklistValuesResource
364
337
  wireless_blocklists: wireless_blocklists.WirelessBlocklistsResource
365
338
  partner_campaigns: partner_campaigns.PartnerCampaignsResource
339
+ well_known: well_known.WellKnownResource
340
+ legacy: legacy.LegacyResource
341
+ oauth: oauth.OAuthResource
342
+ oauth_clients: oauth_clients.OAuthClientsResource
343
+ oauth_grants: oauth_grants.OAuthGrantsResource
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,7 @@ class Telnyx(SyncAPIClient):
420
399
  _strict_response_validation=_strict_response_validation,
421
400
  )
422
401
 
402
+ self.webhooks = webhooks.WebhooksResource(self)
423
403
  self.access_ip_address = access_ip_address.AccessIPAddressResource(self)
424
404
  self.access_ip_ranges = access_ip_ranges.AccessIPRangesResource(self)
425
405
  self.actions = actions.ActionsResource(self)
@@ -574,6 +554,11 @@ class Telnyx(SyncAPIClient):
574
554
  self.wireless_blocklist_values = wireless_blocklist_values.WirelessBlocklistValuesResource(self)
575
555
  self.wireless_blocklists = wireless_blocklists.WirelessBlocklistsResource(self)
576
556
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResource(self)
557
+ self.well_known = well_known.WellKnownResource(self)
558
+ self.legacy = legacy.LegacyResource(self)
559
+ self.oauth = oauth.OAuthResource(self)
560
+ self.oauth_clients = oauth_clients.OAuthClientsResource(self)
561
+ self.oauth_grants = oauth_grants.OAuthGrantsResource(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,7 @@ class Telnyx(SyncAPIClient):
986
670
 
987
671
 
988
672
  class AsyncTelnyx(AsyncAPIClient):
673
+ webhooks: webhooks.AsyncWebhooksResource
989
674
  access_ip_address: access_ip_address.AsyncAccessIPAddressResource
990
675
  access_ip_ranges: access_ip_ranges.AsyncAccessIPRangesResource
991
676
  actions: actions.AsyncActionsResource
@@ -1134,6 +819,11 @@ class AsyncTelnyx(AsyncAPIClient):
1134
819
  wireless_blocklist_values: wireless_blocklist_values.AsyncWirelessBlocklistValuesResource
1135
820
  wireless_blocklists: wireless_blocklists.AsyncWirelessBlocklistsResource
1136
821
  partner_campaigns: partner_campaigns.AsyncPartnerCampaignsResource
822
+ well_known: well_known.AsyncWellKnownResource
823
+ legacy: legacy.AsyncLegacyResource
824
+ oauth: oauth.AsyncOAuthResource
825
+ oauth_clients: oauth_clients.AsyncOAuthClientsResource
826
+ oauth_grants: oauth_grants.AsyncOAuthGrantsResource
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,7 @@ class AsyncTelnyx(AsyncAPIClient):
1191
882
  _strict_response_validation=_strict_response_validation,
1192
883
  )
1193
884
 
885
+ self.webhooks = webhooks.AsyncWebhooksResource(self)
1194
886
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResource(self)
1195
887
  self.access_ip_ranges = access_ip_ranges.AsyncAccessIPRangesResource(self)
1196
888
  self.actions = actions.AsyncActionsResource(self)
@@ -1351,6 +1043,11 @@ class AsyncTelnyx(AsyncAPIClient):
1351
1043
  self.wireless_blocklist_values = wireless_blocklist_values.AsyncWirelessBlocklistValuesResource(self)
1352
1044
  self.wireless_blocklists = wireless_blocklists.AsyncWirelessBlocklistsResource(self)
1353
1045
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResource(self)
1046
+ self.well_known = well_known.AsyncWellKnownResource(self)
1047
+ self.legacy = legacy.AsyncLegacyResource(self)
1048
+ self.oauth = oauth.AsyncOAuthResource(self)
1049
+ self.oauth_clients = oauth_clients.AsyncOAuthClientsResource(self)
1050
+ self.oauth_grants = oauth_grants.AsyncOAuthGrantsResource(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,
@@ -2044,32 +1434,11 @@ class TelnyxWithRawResponse:
2044
1434
  client.wireless_blocklists
2045
1435
  )
2046
1436
  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
- )
1437
+ self.well_known = well_known.WellKnownResourceWithRawResponse(client.well_known)
1438
+ self.legacy = legacy.LegacyResourceWithRawResponse(client.legacy)
1439
+ self.oauth = oauth.OAuthResourceWithRawResponse(client.oauth)
1440
+ self.oauth_clients = oauth_clients.OAuthClientsResourceWithRawResponse(client.oauth_clients)
1441
+ self.oauth_grants = oauth_grants.OAuthGrantsResourceWithRawResponse(client.oauth_grants)
2073
1442
 
2074
1443
 
2075
1444
  class AsyncTelnyxWithRawResponse:
@@ -2388,32 +1757,11 @@ class AsyncTelnyxWithRawResponse:
2388
1757
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResourceWithRawResponse(
2389
1758
  client.partner_campaigns
2390
1759
  )
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
- )
1760
+ self.well_known = well_known.AsyncWellKnownResourceWithRawResponse(client.well_known)
1761
+ self.legacy = legacy.AsyncLegacyResourceWithRawResponse(client.legacy)
1762
+ self.oauth = oauth.AsyncOAuthResourceWithRawResponse(client.oauth)
1763
+ self.oauth_clients = oauth_clients.AsyncOAuthClientsResourceWithRawResponse(client.oauth_clients)
1764
+ self.oauth_grants = oauth_grants.AsyncOAuthGrantsResourceWithRawResponse(client.oauth_grants)
2417
1765
 
2418
1766
 
2419
1767
  class TelnyxWithStreamedResponse:
@@ -2738,32 +2086,11 @@ class TelnyxWithStreamedResponse:
2738
2086
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResourceWithStreamingResponse(
2739
2087
  client.partner_campaigns
2740
2088
  )
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
- )
2089
+ self.well_known = well_known.WellKnownResourceWithStreamingResponse(client.well_known)
2090
+ self.legacy = legacy.LegacyResourceWithStreamingResponse(client.legacy)
2091
+ self.oauth = oauth.OAuthResourceWithStreamingResponse(client.oauth)
2092
+ self.oauth_clients = oauth_clients.OAuthClientsResourceWithStreamingResponse(client.oauth_clients)
2093
+ self.oauth_grants = oauth_grants.OAuthGrantsResourceWithStreamingResponse(client.oauth_grants)
2767
2094
 
2768
2095
 
2769
2096
  class AsyncTelnyxWithStreamedResponse:
@@ -3130,32 +2457,11 @@ class AsyncTelnyxWithStreamedResponse:
3130
2457
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResourceWithStreamingResponse(
3131
2458
  client.partner_campaigns
3132
2459
  )
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
- )
2460
+ self.well_known = well_known.AsyncWellKnownResourceWithStreamingResponse(client.well_known)
2461
+ self.legacy = legacy.AsyncLegacyResourceWithStreamingResponse(client.legacy)
2462
+ self.oauth = oauth.AsyncOAuthResourceWithStreamingResponse(client.oauth)
2463
+ self.oauth_clients = oauth_clients.AsyncOAuthClientsResourceWithStreamingResponse(client.oauth_clients)
2464
+ self.oauth_grants = oauth_grants.AsyncOAuthGrantsResourceWithStreamingResponse(client.oauth_grants)
3159
2465
 
3160
2466
 
3161
2467
  Client = Telnyx