telnyx 3.5.0a0__py3-none-any.whl → 3.6.0a0__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 (128) hide show
  1. telnyx/_client.py +53 -2
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/__init__.py +70 -0
  4. telnyx/resources/ai/conversations/conversations.py +137 -3
  5. telnyx/resources/ai/conversations/messages.py +1 -134
  6. telnyx/resources/calls/actions.py +146 -146
  7. telnyx/resources/calls/calls.py +4 -10
  8. telnyx/resources/conferences/actions.py +8 -24
  9. telnyx/resources/conferences/conferences.py +2 -6
  10. telnyx/resources/legacy/__init__.py +33 -0
  11. telnyx/resources/legacy/legacy.py +102 -0
  12. telnyx/resources/legacy/reporting/__init__.py +47 -0
  13. telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
  14. telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
  15. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +481 -0
  16. telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
  17. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +538 -0
  18. telnyx/resources/legacy/reporting/reporting.py +134 -0
  19. telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
  20. telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
  21. telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
  22. telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
  23. telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
  24. telnyx/resources/oauth.py +855 -0
  25. telnyx/resources/oauth_clients.py +711 -0
  26. telnyx/resources/oauth_grants.py +349 -0
  27. telnyx/resources/phone_numbers/jobs.py +12 -0
  28. telnyx/resources/porting_orders/porting_orders.py +20 -8
  29. telnyx/resources/sim_cards/sim_cards.py +3 -2
  30. telnyx/resources/verifications/verifications.py +10 -0
  31. telnyx/resources/verify_profiles.py +183 -1
  32. telnyx/resources/well_known.py +198 -0
  33. telnyx/types/__init__.py +40 -0
  34. telnyx/types/ai/__init__.py +1 -0
  35. telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +4 -4
  36. telnyx/types/ai/conversations/__init__.py +0 -1
  37. telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
  38. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +2 -0
  39. telnyx/types/call_dial_params.py +2 -3
  40. telnyx/types/calls/action_answer_params.py +1 -2
  41. telnyx/types/calls/action_gather_using_ai_params.py +5 -8
  42. telnyx/types/calls/action_start_streaming_params.py +4 -2
  43. telnyx/types/calls/action_transfer_params.py +50 -0
  44. telnyx/types/campaign_submit_appeal_response.py +0 -3
  45. telnyx/types/legacy/__init__.py +3 -0
  46. telnyx/types/legacy/reporting/__init__.py +10 -0
  47. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +20 -0
  48. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +77 -0
  49. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +68 -0
  50. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +68 -0
  51. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +80 -0
  52. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +68 -0
  53. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
  54. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +31 -0
  55. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +31 -0
  56. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +31 -0
  57. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +31 -0
  58. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +79 -0
  59. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +91 -0
  60. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +91 -0
  61. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +102 -0
  62. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
  63. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +91 -0
  64. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
  65. telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
  66. telnyx/types/legacy/reporting/usage_reports/__init__.py +18 -0
  67. telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
  68. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +43 -0
  69. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +43 -0
  70. telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
  71. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +54 -0
  72. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +43 -0
  73. telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
  74. telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
  75. telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
  76. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +48 -0
  77. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +48 -0
  78. telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
  79. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +59 -0
  80. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +48 -0
  81. telnyx/types/number_order_status_update_webhook_event.py +30 -4
  82. telnyx/types/oauth_client_create_params.py +39 -0
  83. telnyx/types/oauth_client_create_response.py +63 -0
  84. telnyx/types/oauth_client_list_params.py +38 -0
  85. telnyx/types/oauth_client_list_response.py +79 -0
  86. telnyx/types/oauth_client_retrieve_response.py +63 -0
  87. telnyx/types/oauth_client_update_params.py +36 -0
  88. telnyx/types/oauth_client_update_response.py +63 -0
  89. telnyx/types/oauth_grant_delete_response.py +33 -0
  90. telnyx/types/oauth_grant_list_params.py +17 -0
  91. telnyx/types/oauth_grant_list_response.py +49 -0
  92. telnyx/types/oauth_grant_retrieve_response.py +33 -0
  93. telnyx/types/oauth_grants_params.py +15 -0
  94. telnyx/types/oauth_grants_response.py +10 -0
  95. telnyx/types/oauth_introspect_params.py +12 -0
  96. telnyx/types/oauth_introspect_response.py +30 -0
  97. telnyx/types/oauth_register_params.py +39 -0
  98. telnyx/types/oauth_register_response.py +45 -0
  99. telnyx/types/oauth_retrieve_authorize_params.py +30 -0
  100. telnyx/types/oauth_retrieve_jwks_response.py +25 -0
  101. telnyx/types/oauth_retrieve_response.py +47 -0
  102. telnyx/types/oauth_token_params.py +33 -0
  103. telnyx/types/oauth_token_response.py +25 -0
  104. telnyx/types/phone_number_delete_response.py +7 -0
  105. telnyx/types/phone_number_detailed.py +7 -0
  106. telnyx/types/phone_number_list_params.py +6 -0
  107. telnyx/types/phone_numbers/job_update_batch_params.py +7 -0
  108. telnyx/types/porting_order.py +3 -0
  109. telnyx/types/porting_order_create_params.py +3 -0
  110. telnyx/types/porting_order_list_params.py +52 -31
  111. telnyx/types/porting_order_update_params.py +2 -0
  112. telnyx/types/porting_orders/phone_number_configuration_list_params.py +19 -19
  113. telnyx/types/shared/simple_sim_card.py +15 -0
  114. telnyx/types/sim_card.py +12 -0
  115. telnyx/types/sim_card_update_params.py +2 -1
  116. telnyx/types/stream_bidirectional_codec.py +1 -1
  117. telnyx/types/stream_codec.py +1 -1
  118. telnyx/types/verification_trigger_call_params.py +7 -0
  119. telnyx/types/verify_profile_create_template_params.py +12 -0
  120. telnyx/types/verify_profile_create_template_response.py +17 -0
  121. telnyx/types/verify_profile_update_template_params.py +12 -0
  122. telnyx/types/verify_profile_update_template_response.py +17 -0
  123. telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
  124. telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
  125. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0a0.dist-info}/METADATA +1 -1
  126. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0a0.dist-info}/RECORD +128 -46
  127. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0a0.dist-info}/WHEEL +0 -0
  128. {telnyx-3.5.0a0.dist-info → telnyx-3.6.0a0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,464 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from datetime import date
7
+ from typing_extensions import Literal
8
+
9
+ import httpx
10
+
11
+ from ....._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
12
+ from ....._utils import maybe_transform, async_maybe_transform
13
+ from ....._compat import cached_property
14
+ from ....._resource import SyncAPIResource, AsyncAPIResource
15
+ from ....._response import (
16
+ to_raw_response_wrapper,
17
+ to_streamed_response_wrapper,
18
+ async_to_raw_response_wrapper,
19
+ async_to_streamed_response_wrapper,
20
+ )
21
+ from ....._base_client import make_request_options
22
+ from .....types.legacy.reporting.usage_reports import number_lookup_list_params, number_lookup_create_params
23
+
24
+ __all__ = ["NumberLookupResource", "AsyncNumberLookupResource"]
25
+
26
+
27
+ class NumberLookupResource(SyncAPIResource):
28
+ @cached_property
29
+ def with_raw_response(self) -> NumberLookupResourceWithRawResponse:
30
+ """
31
+ This property can be used as a prefix for any HTTP method call to return
32
+ the raw response object instead of the parsed content.
33
+
34
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
35
+ """
36
+ return NumberLookupResourceWithRawResponse(self)
37
+
38
+ @cached_property
39
+ def with_streaming_response(self) -> NumberLookupResourceWithStreamingResponse:
40
+ """
41
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
42
+
43
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
44
+ """
45
+ return NumberLookupResourceWithStreamingResponse(self)
46
+
47
+ def create(
48
+ self,
49
+ *,
50
+ aggregation_type: Literal["ALL", "BY_ORGANIZATION_MEMBER"] | Omit = omit,
51
+ end_date: Union[str, date] | Omit = omit,
52
+ managed_accounts: SequenceNotStr[str] | Omit = omit,
53
+ start_date: Union[str, date] | Omit = omit,
54
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
55
+ # The extra values given here take precedence over values defined on the client or passed to this method.
56
+ extra_headers: Headers | None = None,
57
+ extra_query: Query | None = None,
58
+ extra_body: Body | None = None,
59
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
60
+ ) -> None:
61
+ """
62
+ Submit a new telco data usage report
63
+
64
+ Args:
65
+ aggregation_type: Type of aggregation for the report
66
+
67
+ end_date: End date for the usage report
68
+
69
+ managed_accounts: List of managed accounts to include in the report
70
+
71
+ start_date: Start date for the usage report
72
+
73
+ extra_headers: Send extra headers
74
+
75
+ extra_query: Add additional query parameters to the request
76
+
77
+ extra_body: Add additional JSON properties to the request
78
+
79
+ timeout: Override the client-level default timeout for this request, in seconds
80
+ """
81
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
82
+ return self._post(
83
+ "/legacy/reporting/usage_reports/number_lookup",
84
+ body=maybe_transform(
85
+ {
86
+ "aggregation_type": aggregation_type,
87
+ "end_date": end_date,
88
+ "managed_accounts": managed_accounts,
89
+ "start_date": start_date,
90
+ },
91
+ number_lookup_create_params.NumberLookupCreateParams,
92
+ ),
93
+ options=make_request_options(
94
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
95
+ ),
96
+ cast_to=NoneType,
97
+ )
98
+
99
+ def retrieve(
100
+ self,
101
+ id: str,
102
+ *,
103
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
104
+ # The extra values given here take precedence over values defined on the client or passed to this method.
105
+ extra_headers: Headers | None = None,
106
+ extra_query: Query | None = None,
107
+ extra_body: Body | None = None,
108
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
109
+ ) -> None:
110
+ """
111
+ Retrieve a specific telco data usage report by its ID
112
+
113
+ Args:
114
+ extra_headers: Send extra headers
115
+
116
+ extra_query: Add additional query parameters to the request
117
+
118
+ extra_body: Add additional JSON properties to the request
119
+
120
+ timeout: Override the client-level default timeout for this request, in seconds
121
+ """
122
+ if not id:
123
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
124
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
125
+ return self._get(
126
+ f"/legacy/reporting/usage_reports/number_lookup/{id}",
127
+ options=make_request_options(
128
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
129
+ ),
130
+ cast_to=NoneType,
131
+ )
132
+
133
+ def list(
134
+ self,
135
+ *,
136
+ page: int | Omit = omit,
137
+ per_page: int | Omit = omit,
138
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
139
+ # The extra values given here take precedence over values defined on the client or passed to this method.
140
+ extra_headers: Headers | None = None,
141
+ extra_query: Query | None = None,
142
+ extra_body: Body | None = None,
143
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
144
+ ) -> None:
145
+ """
146
+ Retrieve a paginated list of telco data usage reports
147
+
148
+ Args:
149
+ extra_headers: Send extra headers
150
+
151
+ extra_query: Add additional query parameters to the request
152
+
153
+ extra_body: Add additional JSON properties to the request
154
+
155
+ timeout: Override the client-level default timeout for this request, in seconds
156
+ """
157
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
158
+ return self._get(
159
+ "/legacy/reporting/usage_reports/number_lookup",
160
+ options=make_request_options(
161
+ extra_headers=extra_headers,
162
+ extra_query=extra_query,
163
+ extra_body=extra_body,
164
+ timeout=timeout,
165
+ query=maybe_transform(
166
+ {
167
+ "page": page,
168
+ "per_page": per_page,
169
+ },
170
+ number_lookup_list_params.NumberLookupListParams,
171
+ ),
172
+ ),
173
+ cast_to=NoneType,
174
+ )
175
+
176
+ def delete(
177
+ self,
178
+ id: str,
179
+ *,
180
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
181
+ # The extra values given here take precedence over values defined on the client or passed to this method.
182
+ extra_headers: Headers | None = None,
183
+ extra_query: Query | None = None,
184
+ extra_body: Body | None = None,
185
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
186
+ ) -> None:
187
+ """
188
+ Delete a specific telco data usage report by its ID
189
+
190
+ Args:
191
+ extra_headers: Send extra headers
192
+
193
+ extra_query: Add additional query parameters to the request
194
+
195
+ extra_body: Add additional JSON properties to the request
196
+
197
+ timeout: Override the client-level default timeout for this request, in seconds
198
+ """
199
+ if not id:
200
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
201
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
202
+ return self._delete(
203
+ f"/legacy/reporting/usage_reports/number_lookup/{id}",
204
+ options=make_request_options(
205
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
206
+ ),
207
+ cast_to=NoneType,
208
+ )
209
+
210
+
211
+ class AsyncNumberLookupResource(AsyncAPIResource):
212
+ @cached_property
213
+ def with_raw_response(self) -> AsyncNumberLookupResourceWithRawResponse:
214
+ """
215
+ This property can be used as a prefix for any HTTP method call to return
216
+ the raw response object instead of the parsed content.
217
+
218
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
219
+ """
220
+ return AsyncNumberLookupResourceWithRawResponse(self)
221
+
222
+ @cached_property
223
+ def with_streaming_response(self) -> AsyncNumberLookupResourceWithStreamingResponse:
224
+ """
225
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
226
+
227
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
228
+ """
229
+ return AsyncNumberLookupResourceWithStreamingResponse(self)
230
+
231
+ async def create(
232
+ self,
233
+ *,
234
+ aggregation_type: Literal["ALL", "BY_ORGANIZATION_MEMBER"] | Omit = omit,
235
+ end_date: Union[str, date] | Omit = omit,
236
+ managed_accounts: SequenceNotStr[str] | Omit = omit,
237
+ start_date: Union[str, date] | Omit = omit,
238
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
239
+ # The extra values given here take precedence over values defined on the client or passed to this method.
240
+ extra_headers: Headers | None = None,
241
+ extra_query: Query | None = None,
242
+ extra_body: Body | None = None,
243
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
244
+ ) -> None:
245
+ """
246
+ Submit a new telco data usage report
247
+
248
+ Args:
249
+ aggregation_type: Type of aggregation for the report
250
+
251
+ end_date: End date for the usage report
252
+
253
+ managed_accounts: List of managed accounts to include in the report
254
+
255
+ start_date: Start date for the usage report
256
+
257
+ extra_headers: Send extra headers
258
+
259
+ extra_query: Add additional query parameters to the request
260
+
261
+ extra_body: Add additional JSON properties to the request
262
+
263
+ timeout: Override the client-level default timeout for this request, in seconds
264
+ """
265
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
266
+ return await self._post(
267
+ "/legacy/reporting/usage_reports/number_lookup",
268
+ body=await async_maybe_transform(
269
+ {
270
+ "aggregation_type": aggregation_type,
271
+ "end_date": end_date,
272
+ "managed_accounts": managed_accounts,
273
+ "start_date": start_date,
274
+ },
275
+ number_lookup_create_params.NumberLookupCreateParams,
276
+ ),
277
+ options=make_request_options(
278
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
279
+ ),
280
+ cast_to=NoneType,
281
+ )
282
+
283
+ async def retrieve(
284
+ self,
285
+ id: str,
286
+ *,
287
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
288
+ # The extra values given here take precedence over values defined on the client or passed to this method.
289
+ extra_headers: Headers | None = None,
290
+ extra_query: Query | None = None,
291
+ extra_body: Body | None = None,
292
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
293
+ ) -> None:
294
+ """
295
+ Retrieve a specific telco data usage report by its ID
296
+
297
+ Args:
298
+ extra_headers: Send extra headers
299
+
300
+ extra_query: Add additional query parameters to the request
301
+
302
+ extra_body: Add additional JSON properties to the request
303
+
304
+ timeout: Override the client-level default timeout for this request, in seconds
305
+ """
306
+ if not id:
307
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
308
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
309
+ return await self._get(
310
+ f"/legacy/reporting/usage_reports/number_lookup/{id}",
311
+ options=make_request_options(
312
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
313
+ ),
314
+ cast_to=NoneType,
315
+ )
316
+
317
+ async def list(
318
+ self,
319
+ *,
320
+ page: int | Omit = omit,
321
+ per_page: int | Omit = omit,
322
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
323
+ # The extra values given here take precedence over values defined on the client or passed to this method.
324
+ extra_headers: Headers | None = None,
325
+ extra_query: Query | None = None,
326
+ extra_body: Body | None = None,
327
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
328
+ ) -> None:
329
+ """
330
+ Retrieve a paginated list of telco data usage reports
331
+
332
+ Args:
333
+ extra_headers: Send extra headers
334
+
335
+ extra_query: Add additional query parameters to the request
336
+
337
+ extra_body: Add additional JSON properties to the request
338
+
339
+ timeout: Override the client-level default timeout for this request, in seconds
340
+ """
341
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
342
+ return await self._get(
343
+ "/legacy/reporting/usage_reports/number_lookup",
344
+ options=make_request_options(
345
+ extra_headers=extra_headers,
346
+ extra_query=extra_query,
347
+ extra_body=extra_body,
348
+ timeout=timeout,
349
+ query=await async_maybe_transform(
350
+ {
351
+ "page": page,
352
+ "per_page": per_page,
353
+ },
354
+ number_lookup_list_params.NumberLookupListParams,
355
+ ),
356
+ ),
357
+ cast_to=NoneType,
358
+ )
359
+
360
+ async def delete(
361
+ self,
362
+ id: str,
363
+ *,
364
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
365
+ # The extra values given here take precedence over values defined on the client or passed to this method.
366
+ extra_headers: Headers | None = None,
367
+ extra_query: Query | None = None,
368
+ extra_body: Body | None = None,
369
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
370
+ ) -> None:
371
+ """
372
+ Delete a specific telco data usage report by its ID
373
+
374
+ Args:
375
+ extra_headers: Send extra headers
376
+
377
+ extra_query: Add additional query parameters to the request
378
+
379
+ extra_body: Add additional JSON properties to the request
380
+
381
+ timeout: Override the client-level default timeout for this request, in seconds
382
+ """
383
+ if not id:
384
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
385
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
386
+ return await self._delete(
387
+ f"/legacy/reporting/usage_reports/number_lookup/{id}",
388
+ options=make_request_options(
389
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
390
+ ),
391
+ cast_to=NoneType,
392
+ )
393
+
394
+
395
+ class NumberLookupResourceWithRawResponse:
396
+ def __init__(self, number_lookup: NumberLookupResource) -> None:
397
+ self._number_lookup = number_lookup
398
+
399
+ self.create = to_raw_response_wrapper(
400
+ number_lookup.create,
401
+ )
402
+ self.retrieve = to_raw_response_wrapper(
403
+ number_lookup.retrieve,
404
+ )
405
+ self.list = to_raw_response_wrapper(
406
+ number_lookup.list,
407
+ )
408
+ self.delete = to_raw_response_wrapper(
409
+ number_lookup.delete,
410
+ )
411
+
412
+
413
+ class AsyncNumberLookupResourceWithRawResponse:
414
+ def __init__(self, number_lookup: AsyncNumberLookupResource) -> None:
415
+ self._number_lookup = number_lookup
416
+
417
+ self.create = async_to_raw_response_wrapper(
418
+ number_lookup.create,
419
+ )
420
+ self.retrieve = async_to_raw_response_wrapper(
421
+ number_lookup.retrieve,
422
+ )
423
+ self.list = async_to_raw_response_wrapper(
424
+ number_lookup.list,
425
+ )
426
+ self.delete = async_to_raw_response_wrapper(
427
+ number_lookup.delete,
428
+ )
429
+
430
+
431
+ class NumberLookupResourceWithStreamingResponse:
432
+ def __init__(self, number_lookup: NumberLookupResource) -> None:
433
+ self._number_lookup = number_lookup
434
+
435
+ self.create = to_streamed_response_wrapper(
436
+ number_lookup.create,
437
+ )
438
+ self.retrieve = to_streamed_response_wrapper(
439
+ number_lookup.retrieve,
440
+ )
441
+ self.list = to_streamed_response_wrapper(
442
+ number_lookup.list,
443
+ )
444
+ self.delete = to_streamed_response_wrapper(
445
+ number_lookup.delete,
446
+ )
447
+
448
+
449
+ class AsyncNumberLookupResourceWithStreamingResponse:
450
+ def __init__(self, number_lookup: AsyncNumberLookupResource) -> None:
451
+ self._number_lookup = number_lookup
452
+
453
+ self.create = async_to_streamed_response_wrapper(
454
+ number_lookup.create,
455
+ )
456
+ self.retrieve = async_to_streamed_response_wrapper(
457
+ number_lookup.retrieve,
458
+ )
459
+ self.list = async_to_streamed_response_wrapper(
460
+ number_lookup.list,
461
+ )
462
+ self.delete = async_to_streamed_response_wrapper(
463
+ number_lookup.delete,
464
+ )