telnyx 3.5.0a0__py3-none-any.whl → 3.6.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 (224) hide show
  1. telnyx/_client.py +56 -756
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/__init__.py +70 -0
  4. telnyx/resources/advanced_orders.py +63 -63
  5. telnyx/resources/ai/assistants/assistants.py +15 -17
  6. telnyx/resources/ai/assistants/versions.py +13 -15
  7. telnyx/resources/ai/conversations/conversations.py +137 -3
  8. telnyx/resources/ai/conversations/messages.py +1 -134
  9. telnyx/resources/brand/brand.py +8 -4
  10. telnyx/resources/calls/actions.py +154 -150
  11. telnyx/resources/calls/calls.py +18 -10
  12. telnyx/resources/conferences/actions.py +8 -24
  13. telnyx/resources/conferences/conferences.py +2 -6
  14. telnyx/resources/documents.py +242 -37
  15. telnyx/resources/legacy/__init__.py +33 -0
  16. telnyx/resources/legacy/legacy.py +102 -0
  17. telnyx/resources/legacy/reporting/__init__.py +47 -0
  18. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  19. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  20. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
  21. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  22. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
  23. telnyx/resources/legacy/reporting/reporting.py +134 -0
  24. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  25. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  26. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  27. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  28. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  29. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  30. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  31. telnyx/resources/oauth.py +855 -0
  32. telnyx/resources/oauth_clients.py +711 -0
  33. telnyx/resources/oauth_grants.py +349 -0
  34. telnyx/resources/outbound_voice_profiles.py +24 -4
  35. telnyx/resources/phone_numbers/jobs.py +12 -0
  36. telnyx/resources/porting_orders/porting_orders.py +20 -8
  37. telnyx/resources/sim_cards/actions.py +12 -12
  38. telnyx/resources/sim_cards/sim_cards.py +3 -2
  39. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  40. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  41. telnyx/resources/verifications/verifications.py +10 -0
  42. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  43. telnyx/resources/verify_profiles.py +182 -1
  44. telnyx/resources/well_known.py +198 -0
  45. telnyx/types/__init__.py +51 -9
  46. telnyx/types/access_ip_address_list_response.py +3 -12
  47. telnyx/types/access_ip_range_list_response.py +3 -12
  48. telnyx/types/addresses/action_validate_response.py +8 -3
  49. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  50. telnyx/types/ai/__init__.py +2 -3
  51. telnyx/types/ai/assistant_import_params.py +1 -1
  52. telnyx/types/ai/assistants/__init__.py +0 -3
  53. telnyx/types/ai/assistants_list.py +4 -88
  54. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +4 -4
  55. telnyx/types/ai/conversations/__init__.py +0 -1
  56. telnyx/types/ai/import_metadata.py +1 -1
  57. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  58. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  59. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  60. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  61. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +2 -0
  62. telnyx/types/ai/voice_settings.py +49 -2
  63. telnyx/types/ai/voice_settings_param.py +49 -2
  64. telnyx/types/brand_create_params.py +2 -1
  65. telnyx/types/brand_update_params.py +2 -1
  66. telnyx/types/call_dial_params.py +11 -3
  67. telnyx/types/calls/__init__.py +1 -0
  68. telnyx/types/calls/action_answer_params.py +1 -2
  69. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  70. telnyx/types/calls/action_start_streaming_params.py +5 -2
  71. telnyx/types/calls/action_start_transcription_params.py +160 -6
  72. telnyx/types/calls/action_transfer_params.py +50 -0
  73. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  74. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  75. telnyx/types/calls/transcription_start_request_param.py +161 -6
  76. telnyx/types/campaign_submit_appeal_response.py +0 -3
  77. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  78. telnyx/types/country_coverage_retrieve_response.py +7 -0
  79. telnyx/types/document_upload_json_params.py +39 -0
  80. telnyx/types/document_upload_json_response.py +12 -0
  81. telnyx/types/legacy/__init__.py +3 -0
  82. telnyx/types/legacy/reporting/__init__.py +12 -0
  83. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +24 -0
  84. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  85. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  86. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  87. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
  88. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
  89. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
  90. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +15 -0
  91. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
  92. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  93. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
  94. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
  95. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
  96. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
  97. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  98. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
  99. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
  100. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
  101. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +15 -0
  102. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  103. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
  104. telnyx/types/legacy/reporting/filter.py +31 -0
  105. telnyx/types/legacy/reporting/filter_param.py +30 -0
  106. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  107. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  108. telnyx/types/legacy/reporting/usage_reports/__init__.py +21 -0
  109. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  110. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  111. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  112. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
  113. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
  114. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  115. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +15 -0
  116. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
  117. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  118. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  119. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  120. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  121. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
  122. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
  123. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  124. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +15 -0
  125. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
  126. telnyx/types/message_template.py +12 -0
  127. telnyx/types/messaging_profile.py +3 -0
  128. telnyx/types/messaging_profile_create_params.py +3 -0
  129. telnyx/types/messaging_profile_update_params.py +3 -0
  130. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  131. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  132. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  133. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  134. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  135. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  136. telnyx/types/number_order_status_update_webhook_event.py +30 -4
  137. telnyx/types/oauth_client.py +59 -0
  138. telnyx/types/oauth_client_create_params.py +39 -0
  139. telnyx/types/oauth_client_create_response.py +12 -0
  140. telnyx/types/oauth_client_list_params.py +38 -0
  141. telnyx/types/oauth_client_list_response.py +15 -0
  142. telnyx/types/oauth_client_retrieve_response.py +12 -0
  143. telnyx/types/oauth_client_update_params.py +36 -0
  144. telnyx/types/oauth_client_update_response.py +12 -0
  145. telnyx/types/oauth_grant.py +29 -0
  146. telnyx/types/oauth_grant_delete_response.py +12 -0
  147. telnyx/types/oauth_grant_list_params.py +17 -0
  148. telnyx/types/oauth_grant_list_response.py +15 -0
  149. telnyx/types/oauth_grant_retrieve_response.py +12 -0
  150. telnyx/types/oauth_grants_params.py +15 -0
  151. telnyx/types/oauth_grants_response.py +10 -0
  152. telnyx/types/oauth_introspect_params.py +12 -0
  153. telnyx/types/oauth_introspect_response.py +30 -0
  154. telnyx/types/oauth_register_params.py +39 -0
  155. telnyx/types/oauth_register_response.py +45 -0
  156. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  157. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  158. telnyx/types/oauth_retrieve_response.py +47 -0
  159. telnyx/types/oauth_token_params.py +33 -0
  160. telnyx/types/oauth_token_response.py +25 -0
  161. telnyx/types/outbound_voice_profile.py +27 -1
  162. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  163. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  164. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  165. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  166. telnyx/types/pagination_meta_oauth.py +21 -0
  167. telnyx/types/phone_number_blocks/__init__.py +1 -0
  168. telnyx/types/phone_number_blocks/job.py +3 -34
  169. telnyx/types/phone_number_blocks/job_error.py +32 -0
  170. telnyx/types/phone_number_delete_response.py +7 -0
  171. telnyx/types/phone_number_detailed.py +7 -0
  172. telnyx/types/phone_number_list_params.py +6 -0
  173. telnyx/types/phone_numbers/job_update_batch_params.py +7 -0
  174. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  175. telnyx/types/porting_order.py +3 -0
  176. telnyx/types/porting_order_create_params.py +3 -0
  177. telnyx/types/porting_order_list_params.py +52 -31
  178. telnyx/types/porting_order_update_params.py +2 -0
  179. telnyx/types/porting_orders/phone_number_configuration_list_params.py +19 -19
  180. telnyx/types/report_list_mdrs_response.py +3 -12
  181. telnyx/types/reports/__init__.py +1 -0
  182. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  183. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  184. telnyx/types/requirement_group.py +2 -2
  185. telnyx/types/requirement_group_list_params.py +1 -1
  186. telnyx/types/shared/__init__.py +1 -0
  187. telnyx/types/{error.py → shared/api_error.py} +3 -3
  188. telnyx/types/shared/simple_sim_card.py +15 -0
  189. telnyx/types/sim_card.py +12 -0
  190. telnyx/types/sim_card_update_params.py +2 -1
  191. telnyx/types/stream_bidirectional_codec.py +1 -1
  192. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  193. telnyx/types/stream_codec.py +1 -1
  194. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  195. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  196. telnyx/types/verification_trigger_call_params.py +7 -0
  197. telnyx/types/verifications/__init__.py +1 -0
  198. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  199. telnyx/types/verifications/verify_meta.py +17 -0
  200. telnyx/types/verified_number_create_params.py +10 -0
  201. telnyx/types/verify_profile.py +18 -3
  202. telnyx/types/verify_profile_create_template_params.py +12 -0
  203. telnyx/types/verify_profile_list_response.py +4 -13
  204. telnyx/types/verify_profile_message_template_response.py +13 -0
  205. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  206. telnyx/types/verify_profile_update_template_params.py +12 -0
  207. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  208. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  209. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/METADATA +4 -4
  210. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/RECORD +212 -121
  211. telnyx/types/ai/assistant_create_response.py +0 -92
  212. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  213. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  214. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  215. telnyx/types/ai/assistants/version_update_response.py +0 -92
  216. telnyx/types/client_create_bucket_params.py +0 -13
  217. telnyx/types/client_delete_objects_params.py +0 -20
  218. telnyx/types/client_get_object_params.py +0 -15
  219. telnyx/types/client_list_objects_params.py +0 -13
  220. telnyx/types/client_put_object_params.py +0 -20
  221. telnyx/types/list_buckets_response.py +0 -20
  222. telnyx/types/list_objects_response.py +0 -24
  223. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/WHEEL +0 -0
  224. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0.dist-info}/licenses/LICENSE +0 -0
telnyx/_client.py CHANGED
@@ -3,56 +3,24 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import os
6
- from typing import Any, 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
- Body,
22
14
  Omit,
23
- Query,
24
- Headers,
25
15
  Timeout,
26
- NoneType,
27
16
  NotGiven,
28
- FileTypes,
29
17
  Transport,
30
18
  ProxiesTypes,
31
19
  RequestOptions,
32
- omit,
33
20
  not_given,
34
21
  )
35
- from ._utils import (
36
- is_given,
37
- maybe_transform,
38
- get_async_library,
39
- async_maybe_transform,
40
- )
22
+ from ._utils import is_given, get_async_library
41
23
  from ._version import __version__
42
- from ._response import (
43
- BinaryAPIResponse,
44
- AsyncBinaryAPIResponse,
45
- StreamedBinaryAPIResponse,
46
- AsyncStreamedBinaryAPIResponse,
47
- to_raw_response_wrapper,
48
- to_streamed_response_wrapper,
49
- async_to_raw_response_wrapper,
50
- to_custom_raw_response_wrapper,
51
- async_to_streamed_response_wrapper,
52
- to_custom_streamed_response_wrapper,
53
- async_to_custom_raw_response_wrapper,
54
- async_to_custom_streamed_response_wrapper,
55
- )
56
24
  from .resources import (
57
25
  ips,
58
26
  enum,
@@ -60,6 +28,7 @@ from .resources import (
60
28
  seti,
61
29
  fqdns,
62
30
  media,
31
+ oauth,
63
32
  balance,
64
33
  regions,
65
34
  comments,
@@ -69,15 +38,18 @@ from .resources import (
69
38
  messsages,
70
39
  user_tags,
71
40
  global_ips,
41
+ well_known,
72
42
  call_events,
73
43
  connections,
74
44
  ota_updates,
75
45
  short_codes,
76
46
  audit_events,
47
+ oauth_grants,
77
48
  requirements,
78
49
  channel_zones,
79
50
  number_lookup,
80
51
  number_orders,
52
+ oauth_clients,
81
53
  usage_reports,
82
54
  billing_groups,
83
55
  detail_records,
@@ -170,7 +142,6 @@ from ._base_client import (
170
142
  DEFAULT_MAX_RETRIES,
171
143
  SyncAPIClient,
172
144
  AsyncAPIClient,
173
- make_request_options,
174
145
  )
175
146
  from .resources.ai import ai
176
147
  from .resources.brand import brand
@@ -178,6 +149,7 @@ from .resources.calls import calls
178
149
  from .resources.faxes import faxes
179
150
  from .resources.rooms import rooms
180
151
  from .resources.texml import texml
152
+ from .resources.legacy import legacy
181
153
  from .resources.queues import queues
182
154
  from .resources.actions import actions
183
155
  from .resources.payment import payment
@@ -203,8 +175,6 @@ from .resources.campaign_builder import campaign_builder
203
175
  from .resources.managed_accounts import managed_accounts
204
176
  from .resources.operator_connect import operator_connect
205
177
  from .resources.verified_numbers import verified_numbers
206
- from .types.list_buckets_response import ListBucketsResponse
207
- from .types.list_objects_response import ListObjectsResponse
208
178
  from .resources.messaging_profiles import messaging_profiles
209
179
  from .resources.messaging_tollfree import messaging_tollfree
210
180
  from .resources.number_reservations import number_reservations
@@ -217,6 +187,10 @@ __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Telnyx", "
217
187
 
218
188
 
219
189
  class Telnyx(SyncAPIClient):
190
+ legacy: legacy.LegacyResource
191
+ oauth: oauth.OAuthResource
192
+ oauth_clients: oauth_clients.OAuthClientsResource
193
+ oauth_grants: oauth_grants.OAuthGrantsResource
220
194
  webhooks: webhooks.WebhooksResource
221
195
  access_ip_address: access_ip_address.AccessIPAddressResource
222
196
  access_ip_ranges: access_ip_ranges.AccessIPRangesResource
@@ -366,6 +340,7 @@ class Telnyx(SyncAPIClient):
366
340
  wireless_blocklist_values: wireless_blocklist_values.WirelessBlocklistValuesResource
367
341
  wireless_blocklists: wireless_blocklists.WirelessBlocklistsResource
368
342
  partner_campaigns: partner_campaigns.PartnerCampaignsResource
343
+ well_known: well_known.WellKnownResource
369
344
  with_raw_response: TelnyxWithRawResponse
370
345
  with_streaming_response: TelnyxWithStreamedResponse
371
346
 
@@ -409,6 +384,7 @@ class Telnyx(SyncAPIClient):
409
384
 
410
385
  if base_url is None:
411
386
  base_url = os.environ.get("TELNYX_BASE_URL")
387
+ self._base_url_overridden = base_url is not None
412
388
  if base_url is None:
413
389
  base_url = f"https://api.telnyx.com/v2"
414
390
 
@@ -423,6 +399,10 @@ class Telnyx(SyncAPIClient):
423
399
  _strict_response_validation=_strict_response_validation,
424
400
  )
425
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)
426
406
  self.webhooks = webhooks.WebhooksResource(self)
427
407
  self.access_ip_address = access_ip_address.AccessIPAddressResource(self)
428
408
  self.access_ip_ranges = access_ip_ranges.AccessIPRangesResource(self)
@@ -578,6 +558,7 @@ class Telnyx(SyncAPIClient):
578
558
  self.wireless_blocklist_values = wireless_blocklist_values.WirelessBlocklistValuesResource(self)
579
559
  self.wireless_blocklists = wireless_blocklists.WirelessBlocklistsResource(self)
580
560
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResource(self)
561
+ self.well_known = well_known.WellKnownResource(self)
581
562
  self.with_raw_response = TelnyxWithRawResponse(self)
582
563
  self.with_streaming_response = TelnyxWithStreamedResponse(self)
583
564
 
@@ -637,7 +618,7 @@ class Telnyx(SyncAPIClient):
637
618
  params = set_default_query
638
619
 
639
620
  http_client = http_client or self._client
640
- return self.__class__(
621
+ client = self.__class__(
641
622
  api_key=api_key or self.api_key,
642
623
  base_url=base_url or self.base_url,
643
624
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -647,314 +628,13 @@ class Telnyx(SyncAPIClient):
647
628
  default_query=params,
648
629
  **_extra_kwargs,
649
630
  )
631
+ client._base_url_overridden = self._base_url_overridden or base_url is not None
632
+ return client
650
633
 
651
634
  # Alias for `copy` for nicer inline usage, e.g.
652
635
  # client.with_options(timeout=10).foo.create(...)
653
636
  with_options = copy
654
637
 
655
- def create_bucket(
656
- self,
657
- bucket_name: str,
658
- *,
659
- location_constraint: str | Omit = omit,
660
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
661
- # The extra values given here take precedence over values defined on the client or passed to this method.
662
- extra_headers: Headers | None = None,
663
- extra_query: Query | None = None,
664
- extra_body: Body | None = None,
665
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
666
- ) -> None:
667
- """
668
- Create a bucket.
669
-
670
- Args:
671
- extra_headers: Send extra headers
672
-
673
- extra_query: Add additional query parameters to the request
674
-
675
- extra_body: Add additional JSON properties to the request
676
-
677
- timeout: Override the client-level default timeout for this request, in seconds
678
- """
679
- if not bucket_name:
680
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
681
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
682
- return self.put(
683
- f"/{bucket_name}",
684
- body=maybe_transform(
685
- {"location_constraint": location_constraint}, client_create_bucket_params.ClientCreateBucketParams
686
- ),
687
- options=make_request_options(
688
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
689
- ),
690
- cast_to=NoneType,
691
- )
692
-
693
- def delete_bucket(
694
- self,
695
- bucket_name: str,
696
- *,
697
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
698
- # The extra values given here take precedence over values defined on the client or passed to this method.
699
- extra_headers: Headers | None = None,
700
- extra_query: Query | None = None,
701
- extra_body: Body | None = None,
702
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
703
- ) -> None:
704
- """Deletes a bucket.
705
-
706
- The bucket must be empty for it to be deleted.
707
-
708
- Args:
709
- extra_headers: Send extra headers
710
-
711
- extra_query: Add additional query parameters to the request
712
-
713
- extra_body: Add additional JSON properties to the request
714
-
715
- timeout: Override the client-level default timeout for this request, in seconds
716
- """
717
- if not bucket_name:
718
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
719
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
720
- return self.delete(
721
- f"/{bucket_name}",
722
- options=make_request_options(
723
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
724
- ),
725
- cast_to=NoneType,
726
- )
727
-
728
- def delete_object(
729
- self,
730
- object_name: str,
731
- *,
732
- bucket_name: str,
733
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
734
- # The extra values given here take precedence over values defined on the client or passed to this method.
735
- extra_headers: Headers | None = None,
736
- extra_query: Query | None = None,
737
- extra_body: Body | None = None,
738
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
739
- ) -> None:
740
- """
741
- Delete an object from a given bucket.
742
-
743
- Args:
744
- extra_headers: Send extra headers
745
-
746
- extra_query: Add additional query parameters to the request
747
-
748
- extra_body: Add additional JSON properties to the request
749
-
750
- timeout: Override the client-level default timeout for this request, in seconds
751
- """
752
- if not bucket_name:
753
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
754
- if not object_name:
755
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
756
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
757
- return self.delete(
758
- f"/{bucket_name}/{object_name}",
759
- options=make_request_options(
760
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
761
- ),
762
- cast_to=NoneType,
763
- )
764
-
765
- def delete_objects(
766
- self,
767
- bucket_name: str,
768
- *,
769
- delete: Literal[True],
770
- body: Iterable[client_delete_objects_params.Body],
771
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
772
- # The extra values given here take precedence over values defined on the client or passed to this method.
773
- extra_headers: Headers | None = None,
774
- extra_query: Query | None = None,
775
- extra_body: Body | None = None,
776
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
777
- ) -> object:
778
- """
779
- Deletes one or multiple objects from a given bucket.
780
-
781
- Args:
782
- extra_headers: Send extra headers
783
-
784
- extra_query: Add additional query parameters to the request
785
-
786
- extra_body: Add additional JSON properties to the request
787
-
788
- timeout: Override the client-level default timeout for this request, in seconds
789
- """
790
- if not bucket_name:
791
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
792
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
793
- return self.post(
794
- f"/{bucket_name}",
795
- body=maybe_transform(body, Iterable[client_delete_objects_params.Body]),
796
- options=make_request_options(
797
- extra_headers=extra_headers,
798
- extra_query=extra_query,
799
- extra_body=extra_body,
800
- timeout=timeout,
801
- query=maybe_transform({"delete": delete}, client_delete_objects_params.ClientDeleteObjectsParams),
802
- ),
803
- cast_to=object,
804
- )
805
-
806
- def get_object(
807
- self,
808
- object_name: str,
809
- *,
810
- bucket_name: str,
811
- upload_id: str | Omit = omit,
812
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
813
- # The extra values given here take precedence over values defined on the client or passed to this method.
814
- extra_headers: Headers | None = None,
815
- extra_query: Query | None = None,
816
- extra_body: Body | None = None,
817
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
818
- ) -> BinaryAPIResponse:
819
- """
820
- Retrieves an object from a given bucket.
821
-
822
- Args:
823
- extra_headers: Send extra headers
824
-
825
- extra_query: Add additional query parameters to the request
826
-
827
- extra_body: Add additional JSON properties to the request
828
-
829
- timeout: Override the client-level default timeout for this request, in seconds
830
- """
831
- if not bucket_name:
832
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
833
- if not object_name:
834
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
835
- extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
836
- return self.get(
837
- f"/{bucket_name}/{object_name}",
838
- options=make_request_options(
839
- extra_headers=extra_headers,
840
- extra_query=extra_query,
841
- extra_body=extra_body,
842
- timeout=timeout,
843
- query=maybe_transform({"upload_id": upload_id}, client_get_object_params.ClientGetObjectParams),
844
- ),
845
- cast_to=BinaryAPIResponse,
846
- )
847
-
848
- def list_buckets(
849
- self,
850
- *,
851
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
852
- # The extra values given here take precedence over values defined on the client or passed to this method.
853
- extra_headers: Headers | None = None,
854
- extra_query: Query | None = None,
855
- extra_body: Body | None = None,
856
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
857
- ) -> ListBucketsResponse:
858
- """List all Buckets."""
859
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
860
- return self.get(
861
- "/",
862
- options=make_request_options(
863
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
864
- ),
865
- cast_to=ListBucketsResponse,
866
- )
867
-
868
- def list_objects(
869
- self,
870
- bucket_name: str,
871
- *,
872
- list_type: Literal[2] | Omit = omit,
873
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
874
- # The extra values given here take precedence over values defined on the client or passed to this method.
875
- extra_headers: Headers | None = None,
876
- extra_query: Query | None = None,
877
- extra_body: Body | None = None,
878
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
879
- ) -> ListObjectsResponse:
880
- """
881
- List all objects contained in a given bucket.
882
-
883
- Args:
884
- extra_headers: Send extra headers
885
-
886
- extra_query: Add additional query parameters to the request
887
-
888
- extra_body: Add additional JSON properties to the request
889
-
890
- timeout: Override the client-level default timeout for this request, in seconds
891
- """
892
- if not bucket_name:
893
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
894
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
895
- return self.get(
896
- f"/{bucket_name}",
897
- options=make_request_options(
898
- extra_headers=extra_headers,
899
- extra_query=extra_query,
900
- extra_body=extra_body,
901
- timeout=timeout,
902
- query=maybe_transform({"list_type": list_type}, client_list_objects_params.ClientListObjectsParams),
903
- ),
904
- cast_to=ListObjectsResponse,
905
- )
906
-
907
- def put_object(
908
- self,
909
- object_name: str,
910
- *,
911
- bucket_name: str,
912
- body: FileTypes,
913
- part_number: str | Omit = omit,
914
- upload_id: str | Omit = omit,
915
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
916
- # The extra values given here take precedence over values defined on the client or passed to this method.
917
- extra_headers: Headers | None = None,
918
- extra_query: Query | None = None,
919
- extra_body: Body | None = None,
920
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
921
- ) -> None:
922
- """
923
- Add an object to a bucket.
924
-
925
- Args:
926
- extra_headers: Send extra headers
927
-
928
- extra_query: Add additional query parameters to the request
929
-
930
- extra_body: Add additional JSON properties to the request
931
-
932
- timeout: Override the client-level default timeout for this request, in seconds
933
- """
934
- if not bucket_name:
935
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
936
- if not object_name:
937
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
938
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
939
- return self.put(
940
- f"/{bucket_name}/{object_name}",
941
- body=maybe_transform(body, client_put_object_params.ClientPutObjectParams),
942
- options=make_request_options(
943
- extra_headers=extra_headers,
944
- extra_query=extra_query,
945
- extra_body=extra_body,
946
- timeout=timeout,
947
- query=maybe_transform(
948
- {
949
- "part_number": part_number,
950
- "upload_id": upload_id,
951
- },
952
- client_put_object_params.ClientPutObjectParams,
953
- ),
954
- ),
955
- cast_to=NoneType,
956
- )
957
-
958
638
  @override
959
639
  def _make_status_error(
960
640
  self,
@@ -990,6 +670,10 @@ class Telnyx(SyncAPIClient):
990
670
 
991
671
 
992
672
  class AsyncTelnyx(AsyncAPIClient):
673
+ legacy: legacy.AsyncLegacyResource
674
+ oauth: oauth.AsyncOAuthResource
675
+ oauth_clients: oauth_clients.AsyncOAuthClientsResource
676
+ oauth_grants: oauth_grants.AsyncOAuthGrantsResource
993
677
  webhooks: webhooks.AsyncWebhooksResource
994
678
  access_ip_address: access_ip_address.AsyncAccessIPAddressResource
995
679
  access_ip_ranges: access_ip_ranges.AsyncAccessIPRangesResource
@@ -1139,6 +823,7 @@ class AsyncTelnyx(AsyncAPIClient):
1139
823
  wireless_blocklist_values: wireless_blocklist_values.AsyncWirelessBlocklistValuesResource
1140
824
  wireless_blocklists: wireless_blocklists.AsyncWirelessBlocklistsResource
1141
825
  partner_campaigns: partner_campaigns.AsyncPartnerCampaignsResource
826
+ well_known: well_known.AsyncWellKnownResource
1142
827
  with_raw_response: AsyncTelnyxWithRawResponse
1143
828
  with_streaming_response: AsyncTelnyxWithStreamedResponse
1144
829
 
@@ -1182,6 +867,7 @@ class AsyncTelnyx(AsyncAPIClient):
1182
867
 
1183
868
  if base_url is None:
1184
869
  base_url = os.environ.get("TELNYX_BASE_URL")
870
+ self._base_url_overridden = base_url is not None
1185
871
  if base_url is None:
1186
872
  base_url = f"https://api.telnyx.com/v2"
1187
873
 
@@ -1196,6 +882,10 @@ class AsyncTelnyx(AsyncAPIClient):
1196
882
  _strict_response_validation=_strict_response_validation,
1197
883
  )
1198
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)
1199
889
  self.webhooks = webhooks.AsyncWebhooksResource(self)
1200
890
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResource(self)
1201
891
  self.access_ip_ranges = access_ip_ranges.AsyncAccessIPRangesResource(self)
@@ -1357,6 +1047,7 @@ class AsyncTelnyx(AsyncAPIClient):
1357
1047
  self.wireless_blocklist_values = wireless_blocklist_values.AsyncWirelessBlocklistValuesResource(self)
1358
1048
  self.wireless_blocklists = wireless_blocklists.AsyncWirelessBlocklistsResource(self)
1359
1049
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResource(self)
1050
+ self.well_known = well_known.AsyncWellKnownResource(self)
1360
1051
  self.with_raw_response = AsyncTelnyxWithRawResponse(self)
1361
1052
  self.with_streaming_response = AsyncTelnyxWithStreamedResponse(self)
1362
1053
 
@@ -1416,7 +1107,7 @@ class AsyncTelnyx(AsyncAPIClient):
1416
1107
  params = set_default_query
1417
1108
 
1418
1109
  http_client = http_client or self._client
1419
- return self.__class__(
1110
+ client = self.__class__(
1420
1111
  api_key=api_key or self.api_key,
1421
1112
  base_url=base_url or self.base_url,
1422
1113
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -1426,320 +1117,13 @@ class AsyncTelnyx(AsyncAPIClient):
1426
1117
  default_query=params,
1427
1118
  **_extra_kwargs,
1428
1119
  )
1120
+ client._base_url_overridden = self._base_url_overridden or base_url is not None
1121
+ return client
1429
1122
 
1430
1123
  # Alias for `copy` for nicer inline usage, e.g.
1431
1124
  # client.with_options(timeout=10).foo.create(...)
1432
1125
  with_options = copy
1433
1126
 
1434
- async def create_bucket(
1435
- self,
1436
- bucket_name: str,
1437
- *,
1438
- location_constraint: str | Omit = omit,
1439
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1440
- # The extra values given here take precedence over values defined on the client or passed to this method.
1441
- extra_headers: Headers | None = None,
1442
- extra_query: Query | None = None,
1443
- extra_body: Body | None = None,
1444
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1445
- ) -> None:
1446
- """
1447
- Create a bucket.
1448
-
1449
- Args:
1450
- extra_headers: Send extra headers
1451
-
1452
- extra_query: Add additional query parameters to the request
1453
-
1454
- extra_body: Add additional JSON properties to the request
1455
-
1456
- timeout: Override the client-level default timeout for this request, in seconds
1457
- """
1458
- if not bucket_name:
1459
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1460
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1461
- return await self.put(
1462
- f"/{bucket_name}",
1463
- body=await async_maybe_transform(
1464
- {"location_constraint": location_constraint}, client_create_bucket_params.ClientCreateBucketParams
1465
- ),
1466
- options=make_request_options(
1467
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1468
- ),
1469
- cast_to=NoneType,
1470
- )
1471
-
1472
- async def delete_bucket(
1473
- self,
1474
- bucket_name: str,
1475
- *,
1476
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1477
- # The extra values given here take precedence over values defined on the client or passed to this method.
1478
- extra_headers: Headers | None = None,
1479
- extra_query: Query | None = None,
1480
- extra_body: Body | None = None,
1481
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1482
- ) -> None:
1483
- """Deletes a bucket.
1484
-
1485
- The bucket must be empty for it to be deleted.
1486
-
1487
- Args:
1488
- extra_headers: Send extra headers
1489
-
1490
- extra_query: Add additional query parameters to the request
1491
-
1492
- extra_body: Add additional JSON properties to the request
1493
-
1494
- timeout: Override the client-level default timeout for this request, in seconds
1495
- """
1496
- if not bucket_name:
1497
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1498
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1499
- return await self.delete(
1500
- f"/{bucket_name}",
1501
- options=make_request_options(
1502
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1503
- ),
1504
- cast_to=NoneType,
1505
- )
1506
-
1507
- async def delete_object(
1508
- self,
1509
- object_name: str,
1510
- *,
1511
- bucket_name: str,
1512
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1513
- # The extra values given here take precedence over values defined on the client or passed to this method.
1514
- extra_headers: Headers | None = None,
1515
- extra_query: Query | None = None,
1516
- extra_body: Body | None = None,
1517
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1518
- ) -> None:
1519
- """
1520
- Delete an object from a given bucket.
1521
-
1522
- Args:
1523
- extra_headers: Send extra headers
1524
-
1525
- extra_query: Add additional query parameters to the request
1526
-
1527
- extra_body: Add additional JSON properties to the request
1528
-
1529
- timeout: Override the client-level default timeout for this request, in seconds
1530
- """
1531
- if not bucket_name:
1532
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1533
- if not object_name:
1534
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
1535
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1536
- return await self.delete(
1537
- f"/{bucket_name}/{object_name}",
1538
- options=make_request_options(
1539
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1540
- ),
1541
- cast_to=NoneType,
1542
- )
1543
-
1544
- async def delete_objects(
1545
- self,
1546
- bucket_name: str,
1547
- *,
1548
- delete: Literal[True],
1549
- body: Iterable[client_delete_objects_params.Body],
1550
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1551
- # The extra values given here take precedence over values defined on the client or passed to this method.
1552
- extra_headers: Headers | None = None,
1553
- extra_query: Query | None = None,
1554
- extra_body: Body | None = None,
1555
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1556
- ) -> object:
1557
- """
1558
- Deletes one or multiple objects from a given bucket.
1559
-
1560
- Args:
1561
- extra_headers: Send extra headers
1562
-
1563
- extra_query: Add additional query parameters to the request
1564
-
1565
- extra_body: Add additional JSON properties to the request
1566
-
1567
- timeout: Override the client-level default timeout for this request, in seconds
1568
- """
1569
- if not bucket_name:
1570
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1571
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
1572
- return await self.post(
1573
- f"/{bucket_name}",
1574
- body=await async_maybe_transform(body, Iterable[client_delete_objects_params.Body]),
1575
- options=make_request_options(
1576
- extra_headers=extra_headers,
1577
- extra_query=extra_query,
1578
- extra_body=extra_body,
1579
- timeout=timeout,
1580
- query=await async_maybe_transform(
1581
- {"delete": delete}, client_delete_objects_params.ClientDeleteObjectsParams
1582
- ),
1583
- ),
1584
- cast_to=object,
1585
- )
1586
-
1587
- async def get_object(
1588
- self,
1589
- object_name: str,
1590
- *,
1591
- bucket_name: str,
1592
- upload_id: str | Omit = omit,
1593
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1594
- # The extra values given here take precedence over values defined on the client or passed to this method.
1595
- extra_headers: Headers | None = None,
1596
- extra_query: Query | None = None,
1597
- extra_body: Body | None = None,
1598
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1599
- ) -> AsyncBinaryAPIResponse:
1600
- """
1601
- Retrieves an object from a given bucket.
1602
-
1603
- Args:
1604
- extra_headers: Send extra headers
1605
-
1606
- extra_query: Add additional query parameters to the request
1607
-
1608
- extra_body: Add additional JSON properties to the request
1609
-
1610
- timeout: Override the client-level default timeout for this request, in seconds
1611
- """
1612
- if not bucket_name:
1613
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1614
- if not object_name:
1615
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
1616
- extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
1617
- return await self.get(
1618
- f"/{bucket_name}/{object_name}",
1619
- options=make_request_options(
1620
- extra_headers=extra_headers,
1621
- extra_query=extra_query,
1622
- extra_body=extra_body,
1623
- timeout=timeout,
1624
- query=await async_maybe_transform(
1625
- {"upload_id": upload_id}, client_get_object_params.ClientGetObjectParams
1626
- ),
1627
- ),
1628
- cast_to=AsyncBinaryAPIResponse,
1629
- )
1630
-
1631
- async def list_buckets(
1632
- self,
1633
- *,
1634
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1635
- # The extra values given here take precedence over values defined on the client or passed to this method.
1636
- extra_headers: Headers | None = None,
1637
- extra_query: Query | None = None,
1638
- extra_body: Body | None = None,
1639
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1640
- ) -> ListBucketsResponse:
1641
- """List all Buckets."""
1642
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
1643
- return await self.get(
1644
- "/",
1645
- options=make_request_options(
1646
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1647
- ),
1648
- cast_to=ListBucketsResponse,
1649
- )
1650
-
1651
- async def list_objects(
1652
- self,
1653
- bucket_name: str,
1654
- *,
1655
- list_type: Literal[2] | Omit = omit,
1656
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1657
- # The extra values given here take precedence over values defined on the client or passed to this method.
1658
- extra_headers: Headers | None = None,
1659
- extra_query: Query | None = None,
1660
- extra_body: Body | None = None,
1661
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1662
- ) -> ListObjectsResponse:
1663
- """
1664
- List all objects contained in a given bucket.
1665
-
1666
- Args:
1667
- extra_headers: Send extra headers
1668
-
1669
- extra_query: Add additional query parameters to the request
1670
-
1671
- extra_body: Add additional JSON properties to the request
1672
-
1673
- timeout: Override the client-level default timeout for this request, in seconds
1674
- """
1675
- if not bucket_name:
1676
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1677
- extra_headers = {"Accept": "application/xml", **(extra_headers or {})}
1678
- return await self.get(
1679
- f"/{bucket_name}",
1680
- options=make_request_options(
1681
- extra_headers=extra_headers,
1682
- extra_query=extra_query,
1683
- extra_body=extra_body,
1684
- timeout=timeout,
1685
- query=await async_maybe_transform(
1686
- {"list_type": list_type}, client_list_objects_params.ClientListObjectsParams
1687
- ),
1688
- ),
1689
- cast_to=ListObjectsResponse,
1690
- )
1691
-
1692
- async def put_object(
1693
- self,
1694
- object_name: str,
1695
- *,
1696
- bucket_name: str,
1697
- body: FileTypes,
1698
- part_number: str | Omit = omit,
1699
- upload_id: str | Omit = omit,
1700
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1701
- # The extra values given here take precedence over values defined on the client or passed to this method.
1702
- extra_headers: Headers | None = None,
1703
- extra_query: Query | None = None,
1704
- extra_body: Body | None = None,
1705
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1706
- ) -> None:
1707
- """
1708
- Add an object to a bucket.
1709
-
1710
- Args:
1711
- extra_headers: Send extra headers
1712
-
1713
- extra_query: Add additional query parameters to the request
1714
-
1715
- extra_body: Add additional JSON properties to the request
1716
-
1717
- timeout: Override the client-level default timeout for this request, in seconds
1718
- """
1719
- if not bucket_name:
1720
- raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
1721
- if not object_name:
1722
- raise ValueError(f"Expected a non-empty value for `object_name` but received {object_name!r}")
1723
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1724
- return await self.put(
1725
- f"/{bucket_name}/{object_name}",
1726
- body=await async_maybe_transform(body, client_put_object_params.ClientPutObjectParams),
1727
- options=make_request_options(
1728
- extra_headers=extra_headers,
1729
- extra_query=extra_query,
1730
- extra_body=extra_body,
1731
- timeout=timeout,
1732
- query=await async_maybe_transform(
1733
- {
1734
- "part_number": part_number,
1735
- "upload_id": upload_id,
1736
- },
1737
- client_put_object_params.ClientPutObjectParams,
1738
- ),
1739
- ),
1740
- cast_to=NoneType,
1741
- )
1742
-
1743
1127
  @override
1744
1128
  def _make_status_error(
1745
1129
  self,
@@ -1776,6 +1160,10 @@ class AsyncTelnyx(AsyncAPIClient):
1776
1160
 
1777
1161
  class TelnyxWithRawResponse:
1778
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)
1779
1167
  self.access_ip_address = access_ip_address.AccessIPAddressResourceWithRawResponse(client.access_ip_address)
1780
1168
  self.access_ip_ranges = access_ip_ranges.AccessIPRangesResourceWithRawResponse(client.access_ip_ranges)
1781
1169
  self.actions = actions.ActionsResourceWithRawResponse(client.actions)
@@ -2050,36 +1438,15 @@ class TelnyxWithRawResponse:
2050
1438
  client.wireless_blocklists
2051
1439
  )
2052
1440
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResourceWithRawResponse(client.partner_campaigns)
2053
-
2054
- self.create_bucket = to_raw_response_wrapper(
2055
- client.create_bucket,
2056
- )
2057
- self.delete_bucket = to_raw_response_wrapper(
2058
- client.delete_bucket,
2059
- )
2060
- self.delete_object = to_raw_response_wrapper(
2061
- client.delete_object,
2062
- )
2063
- self.delete_objects = to_raw_response_wrapper(
2064
- client.delete_objects,
2065
- )
2066
- self.get_object = to_custom_raw_response_wrapper(
2067
- client.get_object,
2068
- BinaryAPIResponse,
2069
- )
2070
- self.list_buckets = to_raw_response_wrapper(
2071
- client.list_buckets,
2072
- )
2073
- self.list_objects = to_raw_response_wrapper(
2074
- client.list_objects,
2075
- )
2076
- self.put_object = to_raw_response_wrapper(
2077
- client.put_object,
2078
- )
1441
+ self.well_known = well_known.WellKnownResourceWithRawResponse(client.well_known)
2079
1442
 
2080
1443
 
2081
1444
  class AsyncTelnyxWithRawResponse:
2082
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)
2083
1450
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResourceWithRawResponse(client.access_ip_address)
2084
1451
  self.access_ip_ranges = access_ip_ranges.AsyncAccessIPRangesResourceWithRawResponse(client.access_ip_ranges)
2085
1452
  self.actions = actions.AsyncActionsResourceWithRawResponse(client.actions)
@@ -2394,36 +1761,15 @@ class AsyncTelnyxWithRawResponse:
2394
1761
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResourceWithRawResponse(
2395
1762
  client.partner_campaigns
2396
1763
  )
2397
-
2398
- self.create_bucket = async_to_raw_response_wrapper(
2399
- client.create_bucket,
2400
- )
2401
- self.delete_bucket = async_to_raw_response_wrapper(
2402
- client.delete_bucket,
2403
- )
2404
- self.delete_object = async_to_raw_response_wrapper(
2405
- client.delete_object,
2406
- )
2407
- self.delete_objects = async_to_raw_response_wrapper(
2408
- client.delete_objects,
2409
- )
2410
- self.get_object = async_to_custom_raw_response_wrapper(
2411
- client.get_object,
2412
- AsyncBinaryAPIResponse,
2413
- )
2414
- self.list_buckets = async_to_raw_response_wrapper(
2415
- client.list_buckets,
2416
- )
2417
- self.list_objects = async_to_raw_response_wrapper(
2418
- client.list_objects,
2419
- )
2420
- self.put_object = async_to_raw_response_wrapper(
2421
- client.put_object,
2422
- )
1764
+ self.well_known = well_known.AsyncWellKnownResourceWithRawResponse(client.well_known)
2423
1765
 
2424
1766
 
2425
1767
  class TelnyxWithStreamedResponse:
2426
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)
2427
1773
  self.access_ip_address = access_ip_address.AccessIPAddressResourceWithStreamingResponse(
2428
1774
  client.access_ip_address
2429
1775
  )
@@ -2744,36 +2090,15 @@ class TelnyxWithStreamedResponse:
2744
2090
  self.partner_campaigns = partner_campaigns.PartnerCampaignsResourceWithStreamingResponse(
2745
2091
  client.partner_campaigns
2746
2092
  )
2747
-
2748
- self.create_bucket = to_streamed_response_wrapper(
2749
- client.create_bucket,
2750
- )
2751
- self.delete_bucket = to_streamed_response_wrapper(
2752
- client.delete_bucket,
2753
- )
2754
- self.delete_object = to_streamed_response_wrapper(
2755
- client.delete_object,
2756
- )
2757
- self.delete_objects = to_streamed_response_wrapper(
2758
- client.delete_objects,
2759
- )
2760
- self.get_object = to_custom_streamed_response_wrapper(
2761
- client.get_object,
2762
- StreamedBinaryAPIResponse,
2763
- )
2764
- self.list_buckets = to_streamed_response_wrapper(
2765
- client.list_buckets,
2766
- )
2767
- self.list_objects = to_streamed_response_wrapper(
2768
- client.list_objects,
2769
- )
2770
- self.put_object = to_streamed_response_wrapper(
2771
- client.put_object,
2772
- )
2093
+ self.well_known = well_known.WellKnownResourceWithStreamingResponse(client.well_known)
2773
2094
 
2774
2095
 
2775
2096
  class AsyncTelnyxWithStreamedResponse:
2776
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)
2777
2102
  self.access_ip_address = access_ip_address.AsyncAccessIPAddressResourceWithStreamingResponse(
2778
2103
  client.access_ip_address
2779
2104
  )
@@ -3136,32 +2461,7 @@ class AsyncTelnyxWithStreamedResponse:
3136
2461
  self.partner_campaigns = partner_campaigns.AsyncPartnerCampaignsResourceWithStreamingResponse(
3137
2462
  client.partner_campaigns
3138
2463
  )
3139
-
3140
- self.create_bucket = async_to_streamed_response_wrapper(
3141
- client.create_bucket,
3142
- )
3143
- self.delete_bucket = async_to_streamed_response_wrapper(
3144
- client.delete_bucket,
3145
- )
3146
- self.delete_object = async_to_streamed_response_wrapper(
3147
- client.delete_object,
3148
- )
3149
- self.delete_objects = async_to_streamed_response_wrapper(
3150
- client.delete_objects,
3151
- )
3152
- self.get_object = async_to_custom_streamed_response_wrapper(
3153
- client.get_object,
3154
- AsyncStreamedBinaryAPIResponse,
3155
- )
3156
- self.list_buckets = async_to_streamed_response_wrapper(
3157
- client.list_buckets,
3158
- )
3159
- self.list_objects = async_to_streamed_response_wrapper(
3160
- client.list_objects,
3161
- )
3162
- self.put_object = async_to_streamed_response_wrapper(
3163
- client.put_object,
3164
- )
2464
+ self.well_known = well_known.AsyncWellKnownResourceWithStreamingResponse(client.well_known)
3165
2465
 
3166
2466
 
3167
2467
  Client = Telnyx