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
@@ -4,7 +4,13 @@ from __future__ import annotations
4
4
 
5
5
  import httpx
6
6
 
7
- from ..types import verify_profile_list_params, verify_profile_create_params, verify_profile_update_params
7
+ from ..types import (
8
+ verify_profile_list_params,
9
+ verify_profile_create_params,
10
+ verify_profile_update_params,
11
+ verify_profile_create_template_params,
12
+ verify_profile_update_template_params,
13
+ )
8
14
  from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
9
15
  from .._utils import maybe_transform, async_maybe_transform
10
16
  from .._compat import cached_property
@@ -18,6 +24,8 @@ from .._response import (
18
24
  from .._base_client import make_request_options
19
25
  from ..types.verify_profile_data import VerifyProfileData
20
26
  from ..types.verify_profile_list_response import VerifyProfileListResponse
27
+ from ..types.verify_profile_create_template_response import VerifyProfileCreateTemplateResponse
28
+ from ..types.verify_profile_update_template_response import VerifyProfileUpdateTemplateResponse
21
29
  from ..types.verify_profile_retrieve_templates_response import VerifyProfileRetrieveTemplatesResponse
22
30
 
23
31
  __all__ = ["VerifyProfilesResource", "AsyncVerifyProfilesResource"]
@@ -257,6 +265,42 @@ class VerifyProfilesResource(SyncAPIResource):
257
265
  cast_to=VerifyProfileData,
258
266
  )
259
267
 
268
+ def create_template(
269
+ self,
270
+ *,
271
+ text: str,
272
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
273
+ # The extra values given here take precedence over values defined on the client or passed to this method.
274
+ extra_headers: Headers | None = None,
275
+ extra_query: Query | None = None,
276
+ extra_body: Body | None = None,
277
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
278
+ ) -> VerifyProfileCreateTemplateResponse:
279
+ """
280
+ Create a new Verify profile message template.
281
+
282
+ Args:
283
+ text: The text content of the message template.
284
+
285
+ extra_headers: Send extra headers
286
+
287
+ extra_query: Add additional query parameters to the request
288
+
289
+ extra_body: Add additional JSON properties to the request
290
+
291
+ timeout: Override the client-level default timeout for this request, in seconds
292
+ """
293
+ return self._post(
294
+ "/verify_profiles/templates",
295
+ body=maybe_transform(
296
+ {"text": text}, verify_profile_create_template_params.VerifyProfileCreateTemplateParams
297
+ ),
298
+ options=make_request_options(
299
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
300
+ ),
301
+ cast_to=VerifyProfileCreateTemplateResponse,
302
+ )
303
+
260
304
  def retrieve_templates(
261
305
  self,
262
306
  *,
@@ -276,6 +320,45 @@ class VerifyProfilesResource(SyncAPIResource):
276
320
  cast_to=VerifyProfileRetrieveTemplatesResponse,
277
321
  )
278
322
 
323
+ def update_template(
324
+ self,
325
+ template_id: str,
326
+ *,
327
+ text: str,
328
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
329
+ # The extra values given here take precedence over values defined on the client or passed to this method.
330
+ extra_headers: Headers | None = None,
331
+ extra_query: Query | None = None,
332
+ extra_body: Body | None = None,
333
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
334
+ ) -> VerifyProfileUpdateTemplateResponse:
335
+ """
336
+ Update an existing Verify profile message template.
337
+
338
+ Args:
339
+ text: The text content of the message template.
340
+
341
+ extra_headers: Send extra headers
342
+
343
+ extra_query: Add additional query parameters to the request
344
+
345
+ extra_body: Add additional JSON properties to the request
346
+
347
+ timeout: Override the client-level default timeout for this request, in seconds
348
+ """
349
+ if not template_id:
350
+ raise ValueError(f"Expected a non-empty value for `template_id` but received {template_id!r}")
351
+ return self._patch(
352
+ f"/verify_profiles/templates/{template_id}",
353
+ body=maybe_transform(
354
+ {"text": text}, verify_profile_update_template_params.VerifyProfileUpdateTemplateParams
355
+ ),
356
+ options=make_request_options(
357
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
358
+ ),
359
+ cast_to=VerifyProfileUpdateTemplateResponse,
360
+ )
361
+
279
362
 
280
363
  class AsyncVerifyProfilesResource(AsyncAPIResource):
281
364
  @cached_property
@@ -511,6 +594,42 @@ class AsyncVerifyProfilesResource(AsyncAPIResource):
511
594
  cast_to=VerifyProfileData,
512
595
  )
513
596
 
597
+ async def create_template(
598
+ self,
599
+ *,
600
+ text: str,
601
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
602
+ # The extra values given here take precedence over values defined on the client or passed to this method.
603
+ extra_headers: Headers | None = None,
604
+ extra_query: Query | None = None,
605
+ extra_body: Body | None = None,
606
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
607
+ ) -> VerifyProfileCreateTemplateResponse:
608
+ """
609
+ Create a new Verify profile message template.
610
+
611
+ Args:
612
+ text: The text content of the message template.
613
+
614
+ extra_headers: Send extra headers
615
+
616
+ extra_query: Add additional query parameters to the request
617
+
618
+ extra_body: Add additional JSON properties to the request
619
+
620
+ timeout: Override the client-level default timeout for this request, in seconds
621
+ """
622
+ return await self._post(
623
+ "/verify_profiles/templates",
624
+ body=await async_maybe_transform(
625
+ {"text": text}, verify_profile_create_template_params.VerifyProfileCreateTemplateParams
626
+ ),
627
+ options=make_request_options(
628
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
629
+ ),
630
+ cast_to=VerifyProfileCreateTemplateResponse,
631
+ )
632
+
514
633
  async def retrieve_templates(
515
634
  self,
516
635
  *,
@@ -530,6 +649,45 @@ class AsyncVerifyProfilesResource(AsyncAPIResource):
530
649
  cast_to=VerifyProfileRetrieveTemplatesResponse,
531
650
  )
532
651
 
652
+ async def update_template(
653
+ self,
654
+ template_id: str,
655
+ *,
656
+ text: str,
657
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
658
+ # The extra values given here take precedence over values defined on the client or passed to this method.
659
+ extra_headers: Headers | None = None,
660
+ extra_query: Query | None = None,
661
+ extra_body: Body | None = None,
662
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
663
+ ) -> VerifyProfileUpdateTemplateResponse:
664
+ """
665
+ Update an existing Verify profile message template.
666
+
667
+ Args:
668
+ text: The text content of the message template.
669
+
670
+ extra_headers: Send extra headers
671
+
672
+ extra_query: Add additional query parameters to the request
673
+
674
+ extra_body: Add additional JSON properties to the request
675
+
676
+ timeout: Override the client-level default timeout for this request, in seconds
677
+ """
678
+ if not template_id:
679
+ raise ValueError(f"Expected a non-empty value for `template_id` but received {template_id!r}")
680
+ return await self._patch(
681
+ f"/verify_profiles/templates/{template_id}",
682
+ body=await async_maybe_transform(
683
+ {"text": text}, verify_profile_update_template_params.VerifyProfileUpdateTemplateParams
684
+ ),
685
+ options=make_request_options(
686
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
687
+ ),
688
+ cast_to=VerifyProfileUpdateTemplateResponse,
689
+ )
690
+
533
691
 
534
692
  class VerifyProfilesResourceWithRawResponse:
535
693
  def __init__(self, verify_profiles: VerifyProfilesResource) -> None:
@@ -550,9 +708,15 @@ class VerifyProfilesResourceWithRawResponse:
550
708
  self.delete = to_raw_response_wrapper(
551
709
  verify_profiles.delete,
552
710
  )
711
+ self.create_template = to_raw_response_wrapper(
712
+ verify_profiles.create_template,
713
+ )
553
714
  self.retrieve_templates = to_raw_response_wrapper(
554
715
  verify_profiles.retrieve_templates,
555
716
  )
717
+ self.update_template = to_raw_response_wrapper(
718
+ verify_profiles.update_template,
719
+ )
556
720
 
557
721
 
558
722
  class AsyncVerifyProfilesResourceWithRawResponse:
@@ -574,9 +738,15 @@ class AsyncVerifyProfilesResourceWithRawResponse:
574
738
  self.delete = async_to_raw_response_wrapper(
575
739
  verify_profiles.delete,
576
740
  )
741
+ self.create_template = async_to_raw_response_wrapper(
742
+ verify_profiles.create_template,
743
+ )
577
744
  self.retrieve_templates = async_to_raw_response_wrapper(
578
745
  verify_profiles.retrieve_templates,
579
746
  )
747
+ self.update_template = async_to_raw_response_wrapper(
748
+ verify_profiles.update_template,
749
+ )
580
750
 
581
751
 
582
752
  class VerifyProfilesResourceWithStreamingResponse:
@@ -598,9 +768,15 @@ class VerifyProfilesResourceWithStreamingResponse:
598
768
  self.delete = to_streamed_response_wrapper(
599
769
  verify_profiles.delete,
600
770
  )
771
+ self.create_template = to_streamed_response_wrapper(
772
+ verify_profiles.create_template,
773
+ )
601
774
  self.retrieve_templates = to_streamed_response_wrapper(
602
775
  verify_profiles.retrieve_templates,
603
776
  )
777
+ self.update_template = to_streamed_response_wrapper(
778
+ verify_profiles.update_template,
779
+ )
604
780
 
605
781
 
606
782
  class AsyncVerifyProfilesResourceWithStreamingResponse:
@@ -622,6 +798,12 @@ class AsyncVerifyProfilesResourceWithStreamingResponse:
622
798
  self.delete = async_to_streamed_response_wrapper(
623
799
  verify_profiles.delete,
624
800
  )
801
+ self.create_template = async_to_streamed_response_wrapper(
802
+ verify_profiles.create_template,
803
+ )
625
804
  self.retrieve_templates = async_to_streamed_response_wrapper(
626
805
  verify_profiles.retrieve_templates,
627
806
  )
807
+ self.update_template = async_to_streamed_response_wrapper(
808
+ verify_profiles.update_template,
809
+ )
@@ -0,0 +1,198 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from .._types import Body, Query, Headers, NotGiven, not_given
8
+ from .._compat import cached_property
9
+ from .._resource import SyncAPIResource, AsyncAPIResource
10
+ from .._response import (
11
+ to_raw_response_wrapper,
12
+ to_streamed_response_wrapper,
13
+ async_to_raw_response_wrapper,
14
+ async_to_streamed_response_wrapper,
15
+ )
16
+ from .._base_client import make_request_options
17
+ from ..types.well_known_retrieve_protected_resource_metadata_response import (
18
+ WellKnownRetrieveProtectedResourceMetadataResponse,
19
+ )
20
+ from ..types.well_known_retrieve_authorization_server_metadata_response import (
21
+ WellKnownRetrieveAuthorizationServerMetadataResponse,
22
+ )
23
+
24
+ __all__ = ["WellKnownResource", "AsyncWellKnownResource"]
25
+
26
+
27
+ class WellKnownResource(SyncAPIResource):
28
+ @cached_property
29
+ def with_raw_response(self) -> WellKnownResourceWithRawResponse:
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 WellKnownResourceWithRawResponse(self)
37
+
38
+ @cached_property
39
+ def with_streaming_response(self) -> WellKnownResourceWithStreamingResponse:
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 WellKnownResourceWithStreamingResponse(self)
46
+
47
+ def retrieve_authorization_server_metadata(
48
+ self,
49
+ *,
50
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
51
+ # The extra values given here take precedence over values defined on the client or passed to this method.
52
+ extra_headers: Headers | None = None,
53
+ extra_query: Query | None = None,
54
+ extra_body: Body | None = None,
55
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
56
+ ) -> WellKnownRetrieveAuthorizationServerMetadataResponse:
57
+ """OAuth 2.0 Authorization Server Metadata (RFC 8414)"""
58
+ return self._get(
59
+ "/.well-known/oauth-authorization-server"
60
+ if self._client._base_url_overridden
61
+ else "https://api.telnyx.com/.well-known/oauth-authorization-server",
62
+ options=make_request_options(
63
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
64
+ ),
65
+ cast_to=WellKnownRetrieveAuthorizationServerMetadataResponse,
66
+ )
67
+
68
+ def retrieve_protected_resource_metadata(
69
+ self,
70
+ *,
71
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
72
+ # The extra values given here take precedence over values defined on the client or passed to this method.
73
+ extra_headers: Headers | None = None,
74
+ extra_query: Query | None = None,
75
+ extra_body: Body | None = None,
76
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
77
+ ) -> WellKnownRetrieveProtectedResourceMetadataResponse:
78
+ """OAuth 2.0 Protected Resource Metadata for resource discovery"""
79
+ return self._get(
80
+ "/.well-known/oauth-protected-resource"
81
+ if self._client._base_url_overridden
82
+ else "https://api.telnyx.com/.well-known/oauth-protected-resource",
83
+ options=make_request_options(
84
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
85
+ ),
86
+ cast_to=WellKnownRetrieveProtectedResourceMetadataResponse,
87
+ )
88
+
89
+
90
+ class AsyncWellKnownResource(AsyncAPIResource):
91
+ @cached_property
92
+ def with_raw_response(self) -> AsyncWellKnownResourceWithRawResponse:
93
+ """
94
+ This property can be used as a prefix for any HTTP method call to return
95
+ the raw response object instead of the parsed content.
96
+
97
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#accessing-raw-response-data-eg-headers
98
+ """
99
+ return AsyncWellKnownResourceWithRawResponse(self)
100
+
101
+ @cached_property
102
+ def with_streaming_response(self) -> AsyncWellKnownResourceWithStreamingResponse:
103
+ """
104
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
105
+
106
+ For more information, see https://www.github.com/team-telnyx/telnyx-python#with_streaming_response
107
+ """
108
+ return AsyncWellKnownResourceWithStreamingResponse(self)
109
+
110
+ async def retrieve_authorization_server_metadata(
111
+ self,
112
+ *,
113
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
114
+ # The extra values given here take precedence over values defined on the client or passed to this method.
115
+ extra_headers: Headers | None = None,
116
+ extra_query: Query | None = None,
117
+ extra_body: Body | None = None,
118
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
119
+ ) -> WellKnownRetrieveAuthorizationServerMetadataResponse:
120
+ """OAuth 2.0 Authorization Server Metadata (RFC 8414)"""
121
+ return await self._get(
122
+ "/.well-known/oauth-authorization-server"
123
+ if self._client._base_url_overridden
124
+ else "https://api.telnyx.com/.well-known/oauth-authorization-server",
125
+ options=make_request_options(
126
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
127
+ ),
128
+ cast_to=WellKnownRetrieveAuthorizationServerMetadataResponse,
129
+ )
130
+
131
+ async def retrieve_protected_resource_metadata(
132
+ self,
133
+ *,
134
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
135
+ # The extra values given here take precedence over values defined on the client or passed to this method.
136
+ extra_headers: Headers | None = None,
137
+ extra_query: Query | None = None,
138
+ extra_body: Body | None = None,
139
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
140
+ ) -> WellKnownRetrieveProtectedResourceMetadataResponse:
141
+ """OAuth 2.0 Protected Resource Metadata for resource discovery"""
142
+ return await self._get(
143
+ "/.well-known/oauth-protected-resource"
144
+ if self._client._base_url_overridden
145
+ else "https://api.telnyx.com/.well-known/oauth-protected-resource",
146
+ options=make_request_options(
147
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
148
+ ),
149
+ cast_to=WellKnownRetrieveProtectedResourceMetadataResponse,
150
+ )
151
+
152
+
153
+ class WellKnownResourceWithRawResponse:
154
+ def __init__(self, well_known: WellKnownResource) -> None:
155
+ self._well_known = well_known
156
+
157
+ self.retrieve_authorization_server_metadata = to_raw_response_wrapper(
158
+ well_known.retrieve_authorization_server_metadata,
159
+ )
160
+ self.retrieve_protected_resource_metadata = to_raw_response_wrapper(
161
+ well_known.retrieve_protected_resource_metadata,
162
+ )
163
+
164
+
165
+ class AsyncWellKnownResourceWithRawResponse:
166
+ def __init__(self, well_known: AsyncWellKnownResource) -> None:
167
+ self._well_known = well_known
168
+
169
+ self.retrieve_authorization_server_metadata = async_to_raw_response_wrapper(
170
+ well_known.retrieve_authorization_server_metadata,
171
+ )
172
+ self.retrieve_protected_resource_metadata = async_to_raw_response_wrapper(
173
+ well_known.retrieve_protected_resource_metadata,
174
+ )
175
+
176
+
177
+ class WellKnownResourceWithStreamingResponse:
178
+ def __init__(self, well_known: WellKnownResource) -> None:
179
+ self._well_known = well_known
180
+
181
+ self.retrieve_authorization_server_metadata = to_streamed_response_wrapper(
182
+ well_known.retrieve_authorization_server_metadata,
183
+ )
184
+ self.retrieve_protected_resource_metadata = to_streamed_response_wrapper(
185
+ well_known.retrieve_protected_resource_metadata,
186
+ )
187
+
188
+
189
+ class AsyncWellKnownResourceWithStreamingResponse:
190
+ def __init__(self, well_known: AsyncWellKnownResource) -> None:
191
+ self._well_known = well_known
192
+
193
+ self.retrieve_authorization_server_metadata = async_to_streamed_response_wrapper(
194
+ well_known.retrieve_authorization_server_metadata,
195
+ )
196
+ self.retrieve_protected_resource_metadata = async_to_streamed_response_wrapper(
197
+ well_known.retrieve_protected_resource_metadata,
198
+ )
telnyx/types/__init__.py CHANGED
@@ -112,6 +112,7 @@ from .ip_delete_response import IPDeleteResponse as IPDeleteResponse
112
112
  from .ip_update_response import IPUpdateResponse as IPUpdateResponse
113
113
  from .number_block_order import NumberBlockOrder as NumberBlockOrder
114
114
  from .number_reservation import NumberReservation as NumberReservation
115
+ from .oauth_token_params import OAuthTokenParams as OAuthTokenParams
115
116
  from .porting_order_misc import PortingOrderMisc as PortingOrderMisc
116
117
  from .porting_order_type import PortingOrderType as PortingOrderType
117
118
  from .rcs_agent_response import RcsAgentResponse as RcsAgentResponse
@@ -138,6 +139,7 @@ from .media_upload_params import MediaUploadParams as MediaUploadParams
138
139
  from .message_send_params import MessageSendParams as MessageSendParams
139
140
  from .messsage_rcs_params import MesssageRcsParams as MesssageRcsParams
140
141
  from .network_list_params import NetworkListParams as NetworkListParams
142
+ from .oauth_grants_params import OAuthGrantsParams as OAuthGrantsParams
141
143
  from .outbound_fqdn_param import OutboundFqdnParam as OutboundFqdnParam
142
144
  from .portout_list_params import PortoutListParams as PortoutListParams
143
145
  from .telnyx_campaign_csp import TelnyxCampaignCsp as TelnyxCampaignCsp
@@ -156,6 +158,7 @@ from .notification_channel import NotificationChannel as NotificationChannel
156
158
  from .notification_profile import NotificationProfile as NotificationProfile
157
159
  from .notification_setting import NotificationSetting as NotificationSetting
158
160
  from .number_pool_settings import NumberPoolSettings as NumberPoolSettings
161
+ from .oauth_token_response import OAuthTokenResponse as OAuthTokenResponse
159
162
  from .rcs_suggestion_param import RcsSuggestionParam as RcsSuggestionParam
160
163
  from .region_list_response import RegionListResponse as RegionListResponse
161
164
  from .room_create_response import RoomCreateResponse as RoomCreateResponse
@@ -187,6 +190,8 @@ from .messsage_rcs_response import MesssageRcsResponse as MesssageRcsResponse
187
190
  from .network_create_params import NetworkCreateParams as NetworkCreateParams
188
191
  from .network_list_response import NetworkListResponse as NetworkListResponse
189
192
  from .network_update_params import NetworkUpdateParams as NetworkUpdateParams
193
+ from .oauth_grants_response import OAuthGrantsResponse as OAuthGrantsResponse
194
+ from .oauth_register_params import OAuthRegisterParams as OAuthRegisterParams
190
195
  from .phone_number_campaign import PhoneNumberCampaign as PhoneNumberCampaign
191
196
  from .phone_number_detailed import PhoneNumberDetailed as PhoneNumberDetailed
192
197
  from .portout_list_response import PortoutListResponse as PortoutListResponse
@@ -237,6 +242,10 @@ from .message_schedule_params import MessageScheduleParams as MessageSchedulePar
237
242
  from .network_create_response import NetworkCreateResponse as NetworkCreateResponse
238
243
  from .network_delete_response import NetworkDeleteResponse as NetworkDeleteResponse
239
244
  from .network_update_response import NetworkUpdateResponse as NetworkUpdateResponse
245
+ from .oauth_grant_list_params import OAuthGrantListParams as OAuthGrantListParams
246
+ from .oauth_introspect_params import OAuthIntrospectParams as OAuthIntrospectParams
247
+ from .oauth_register_response import OAuthRegisterResponse as OAuthRegisterResponse
248
+ from .oauth_retrieve_response import OAuthRetrieveResponse as OAuthRetrieveResponse
240
249
  from .outbound_call_recording import OutboundCallRecording as OutboundCallRecording
241
250
  from .porting_order_documents import PortingOrderDocuments as PortingOrderDocuments
242
251
  from .porting_order_messaging import PortingOrderMessaging as PortingOrderMessaging
@@ -265,6 +274,7 @@ from .document_upload_response import DocumentUploadResponse as DocumentUploadRe
265
274
  from .fax_failed_webhook_event import FaxFailedWebhookEvent as FaxFailedWebhookEvent
266
275
  from .fax_queued_webhook_event import FaxQueuedWebhookEvent as FaxQueuedWebhookEvent
267
276
  from .number_order_list_params import NumberOrderListParams as NumberOrderListParams
277
+ from .oauth_client_list_params import OAuthClientListParams as OAuthClientListParams
268
278
  from .ota_update_list_response import OtaUpdateListResponse as OtaUpdateListResponse
269
279
  from .outbound_message_payload import OutboundMessagePayload as OutboundMessagePayload
270
280
  from .phone_number_list_params import PhoneNumberListParams as PhoneNumberListParams
@@ -296,6 +306,8 @@ from .message_retrieve_response import MessageRetrieveResponse as MessageRetriev
296
306
  from .message_schedule_response import MessageScheduleResponse as MessageScheduleResponse
297
307
  from .network_retrieve_response import NetworkRetrieveResponse as NetworkRetrieveResponse
298
308
  from .number_order_phone_number import NumberOrderPhoneNumber as NumberOrderPhoneNumber
309
+ from .oauth_grant_list_response import OAuthGrantListResponse as OAuthGrantListResponse
310
+ from .oauth_introspect_response import OAuthIntrospectResponse as OAuthIntrospectResponse
299
311
  from .porting_order_list_params import PortingOrderListParams as PortingOrderListParams
300
312
  from .porting_order_requirement import PortingOrderRequirement as PortingOrderRequirement
301
313
  from .portout_retrieve_response import PortoutRetrieveResponse as PortoutRetrieveResponse
@@ -319,6 +331,9 @@ from .number_order_create_params import NumberOrderCreateParams as NumberOrderCr
319
331
  from .number_order_list_response import NumberOrderListResponse as NumberOrderListResponse
320
332
  from .number_order_update_params import NumberOrderUpdateParams as NumberOrderUpdateParams
321
333
  from .number_pool_settings_param import NumberPoolSettingsParam as NumberPoolSettingsParam
334
+ from .oauth_client_create_params import OAuthClientCreateParams as OAuthClientCreateParams
335
+ from .oauth_client_list_response import OAuthClientListResponse as OAuthClientListResponse
336
+ from .oauth_client_update_params import OAuthClientUpdateParams as OAuthClientUpdateParams
322
337
  from .phone_number_list_response import PhoneNumberListResponse as PhoneNumberListResponse
323
338
  from .phone_number_update_params import PhoneNumberUpdateParams as PhoneNumberUpdateParams
324
339
  from .room_recording_list_params import RoomRecordingListParams as RoomRecordingListParams
@@ -353,6 +368,7 @@ from .ip_connection_list_response import IPConnectionListResponse as IPConnectio
353
368
  from .ip_connection_update_params import IPConnectionUpdateParams as IPConnectionUpdateParams
354
369
  from .ledger_billing_group_report import LedgerBillingGroupReport as LedgerBillingGroupReport
355
370
  from .managed_account_list_params import ManagedAccountListParams as ManagedAccountListParams
371
+ from .oauth_grant_delete_response import OAuthGrantDeleteResponse as OAuthGrantDeleteResponse
356
372
  from .porting_order_create_params import PortingOrderCreateParams as PortingOrderCreateParams
357
373
  from .porting_order_list_response import PortingOrderListResponse as PortingOrderListResponse
358
374
  from .porting_order_update_params import PortingOrderUpdateParams as PortingOrderUpdateParams
@@ -377,6 +393,9 @@ from .messaging_optout_list_params import MessagingOptoutListParams as Messaging
377
393
  from .network_coverage_list_params import NetworkCoverageListParams as NetworkCoverageListParams
378
394
  from .number_order_create_response import NumberOrderCreateResponse as NumberOrderCreateResponse
379
395
  from .number_order_update_response import NumberOrderUpdateResponse as NumberOrderUpdateResponse
396
+ from .oauth_client_create_response import OAuthClientCreateResponse as OAuthClientCreateResponse
397
+ from .oauth_client_update_response import OAuthClientUpdateResponse as OAuthClientUpdateResponse
398
+ from .oauth_retrieve_jwks_response import OAuthRetrieveJwksResponse as OAuthRetrieveJwksResponse
380
399
  from .ota_update_retrieve_response import OtaUpdateRetrieveResponse as OtaUpdateRetrieveResponse
381
400
  from .partner_campaign_list_params import PartnerCampaignListParams as PartnerCampaignListParams
382
401
  from .phone_number_delete_response import PhoneNumberDeleteResponse as PhoneNumberDeleteResponse
@@ -437,6 +456,7 @@ from .message_send_long_code_params import MessageSendLongCodeParams as MessageS
437
456
  from .messaging_profile_list_params import MessagingProfileListParams as MessagingProfileListParams
438
457
  from .number_lookup_retrieve_params import NumberLookupRetrieveParams as NumberLookupRetrieveParams
439
458
  from .numbers_feature_create_params import NumbersFeatureCreateParams as NumbersFeatureCreateParams
459
+ from .oauth_grant_retrieve_response import OAuthGrantRetrieveResponse as OAuthGrantRetrieveResponse
440
460
  from .outbound_call_recording_param import OutboundCallRecordingParam as OutboundCallRecordingParam
441
461
  from .phone_number_slim_list_params import PhoneNumberSlimListParams as PhoneNumberSlimListParams
442
462
  from .porting_order_create_response import PortingOrderCreateResponse as PortingOrderCreateResponse
@@ -465,6 +485,7 @@ from .notification_event_list_params import NotificationEventListParams as Notif
465
485
  from .number_block_order_list_params import NumberBlockOrderListParams as NumberBlockOrderListParams
466
486
  from .number_order_retrieve_response import NumberOrderRetrieveResponse as NumberOrderRetrieveResponse
467
487
  from .number_reservation_list_params import NumberReservationListParams as NumberReservationListParams
488
+ from .oauth_client_retrieve_response import OAuthClientRetrieveResponse as OAuthClientRetrieveResponse
468
489
  from .partner_campaign_list_response import PartnerCampaignListResponse as PartnerCampaignListResponse
469
490
  from .partner_campaign_update_params import PartnerCampaignUpdateParams as PartnerCampaignUpdateParams
470
491
  from .phone_number_retrieve_response import PhoneNumberRetrieveResponse as PhoneNumberRetrieveResponse
@@ -522,6 +543,7 @@ from .messaging_profile_update_params import MessagingProfileUpdateParams as Mes
522
543
  from .number_lookup_retrieve_response import NumberLookupRetrieveResponse as NumberLookupRetrieveResponse
523
544
  from .number_order_with_phone_numbers import NumberOrderWithPhoneNumbers as NumberOrderWithPhoneNumbers
524
545
  from .numbers_feature_create_response import NumbersFeatureCreateResponse as NumbersFeatureCreateResponse
546
+ from .oauth_retrieve_authorize_params import OAuthRetrieveAuthorizeParams as OAuthRetrieveAuthorizeParams
525
547
  from .phone_number_slim_list_response import PhoneNumberSlimListResponse as PhoneNumberSlimListResponse
526
548
  from .porting_order_end_user_location import PortingOrderEndUserLocation as PortingOrderEndUserLocation
527
549
  from .porting_order_retrieve_response import PortingOrderRetrieveResponse as PortingOrderRetrieveResponse
@@ -794,6 +816,12 @@ from .text_to_speech_generate_speech_params import TextToSpeechGenerateSpeechPar
794
816
  from .verification_trigger_flashcall_params import (
795
817
  VerificationTriggerFlashcallParams as VerificationTriggerFlashcallParams,
796
818
  )
819
+ from .verify_profile_create_template_params import (
820
+ VerifyProfileCreateTemplateParams as VerifyProfileCreateTemplateParams,
821
+ )
822
+ from .verify_profile_update_template_params import (
823
+ VerifyProfileUpdateTemplateParams as VerifyProfileUpdateTemplateParams,
824
+ )
797
825
  from .virtual_cross_connect_create_response import (
798
826
  VirtualCrossConnectCreateResponse as VirtualCrossConnectCreateResponse,
799
827
  )
@@ -932,6 +960,12 @@ from .sim_card_order_preview_preview_response import (
932
960
  from .sub_number_order_regulatory_requirement import (
933
961
  SubNumberOrderRegulatoryRequirement as SubNumberOrderRegulatoryRequirement,
934
962
  )
963
+ from .verify_profile_create_template_response import (
964
+ VerifyProfileCreateTemplateResponse as VerifyProfileCreateTemplateResponse,
965
+ )
966
+ from .verify_profile_update_template_response import (
967
+ VerifyProfileUpdateTemplateResponse as VerifyProfileUpdateTemplateResponse,
968
+ )
935
969
  from .virtual_cross_connect_retrieve_response import (
936
970
  VirtualCrossConnectRetrieveResponse as VirtualCrossConnectRetrieveResponse,
937
971
  )
@@ -1295,9 +1329,15 @@ from .phone_numbers_regulatory_requirement_retrieve_response import (
1295
1329
  from .messaging_hosted_number_order_check_eligibility_response import (
1296
1330
  MessagingHostedNumberOrderCheckEligibilityResponse as MessagingHostedNumberOrderCheckEligibilityResponse,
1297
1331
  )
1332
+ from .well_known_retrieve_protected_resource_metadata_response import (
1333
+ WellKnownRetrieveProtectedResourceMetadataResponse as WellKnownRetrieveProtectedResourceMetadataResponse,
1334
+ )
1298
1335
  from .number_order_phone_number_update_requirement_group_params import (
1299
1336
  NumberOrderPhoneNumberUpdateRequirementGroupParams as NumberOrderPhoneNumberUpdateRequirementGroupParams,
1300
1337
  )
1338
+ from .well_known_retrieve_authorization_server_metadata_response import (
1339
+ WellKnownRetrieveAuthorizationServerMetadataResponse as WellKnownRetrieveAuthorizationServerMetadataResponse,
1340
+ )
1301
1341
  from .customer_service_record_verify_phone_number_coverage_params import (
1302
1342
  CustomerServiceRecordVerifyPhoneNumberCoverageParams as CustomerServiceRecordVerifyPhoneNumberCoverageParams,
1303
1343
  )
@@ -67,6 +67,7 @@ from .transcription_settings_param import TranscriptionSettingsParam as Transcri
67
67
  from .chat_create_completion_params import ChatCreateCompletionParams as ChatCreateCompletionParams
68
68
  from .conversation_retrieve_response import ConversationRetrieveResponse as ConversationRetrieveResponse
69
69
  from .inference_embedding_bucket_ids import InferenceEmbeddingBucketIDs as InferenceEmbeddingBucketIDs
70
+ from .conversation_add_message_params import ConversationAddMessageParams as ConversationAddMessageParams
70
71
  from .embedding_similarity_search_params import EmbeddingSimilaritySearchParams as EmbeddingSimilaritySearchParams
71
72
  from .embedding_similarity_search_response import EmbeddingSimilaritySearchResponse as EmbeddingSimilaritySearchResponse
72
73
  from .inference_embedding_bucket_ids_param import InferenceEmbeddingBucketIDsParam as InferenceEmbeddingBucketIDsParam
@@ -6,13 +6,13 @@ from typing import Dict, Union, Iterable
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
- from ...._types import SequenceNotStr
10
- from ...._utils import PropertyInfo
9
+ from ..._types import SequenceNotStr
10
+ from ..._utils import PropertyInfo
11
11
 
12
- __all__ = ["MessageCreateParams"]
12
+ __all__ = ["ConversationAddMessageParams"]
13
13
 
14
14
 
15
- class MessageCreateParams(TypedDict, total=False):
15
+ class ConversationAddMessageParams(TypedDict, total=False):
16
16
  role: Required[str]
17
17
 
18
18
  content: str
@@ -7,7 +7,6 @@ from .insight_list_params import InsightListParams as InsightListParams
7
7
  from .insight_create_params import InsightCreateParams as InsightCreateParams
8
8
  from .insight_list_response import InsightListResponse as InsightListResponse
9
9
  from .insight_update_params import InsightUpdateParams as InsightUpdateParams
10
- from .message_create_params import MessageCreateParams as MessageCreateParams
11
10
  from .message_list_response import MessageListResponse as MessageListResponse
12
11
  from .insight_template_group import InsightTemplateGroup as InsightTemplateGroup
13
12
  from .insight_template_detail import InsightTemplateDetail as InsightTemplateDetail
@@ -27,6 +27,8 @@ class Header(BaseModel):
27
27
  Note that we support mustache templating for the value. For example you can use
28
28
  `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
29
29
  value of the integration secret as the bearer token.
30
+ [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
31
+ will be automatically added to the request.
30
32
  """
31
33
 
32
34
 
@@ -29,6 +29,8 @@ class Header(TypedDict, total=False):
29
29
  Note that we support mustache templating for the value. For example you can use
30
30
  `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
31
31
  value of the integration secret as the bearer token.
32
+ [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
33
+ will be automatically added to the request.
32
34
  """
33
35
 
34
36