telnyx 3.6.0a0__py3-none-any.whl → 3.7.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 (212) hide show
  1. telnyx/_client.py +3 -754
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/advanced_orders.py +63 -63
  4. telnyx/resources/ai/assistants/assistants.py +15 -17
  5. telnyx/resources/ai/assistants/versions.py +13 -15
  6. telnyx/resources/brand/brand.py +8 -4
  7. telnyx/resources/calls/actions.py +10 -6
  8. telnyx/resources/calls/calls.py +16 -2
  9. telnyx/resources/documents.py +242 -37
  10. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
  11. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
  12. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  13. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  14. telnyx/resources/outbound_voice_profiles.py +24 -4
  15. telnyx/resources/sim_cards/actions.py +12 -12
  16. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  17. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  18. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  19. telnyx/resources/verify_profiles.py +9 -10
  20. telnyx/resources/webhooks.py +19 -0
  21. telnyx/types/__init__.py +18 -15
  22. telnyx/types/access_ip_address_list_response.py +3 -12
  23. telnyx/types/access_ip_range_list_response.py +3 -12
  24. telnyx/types/addresses/action_validate_response.py +8 -3
  25. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  26. telnyx/types/ai/__init__.py +1 -3
  27. telnyx/types/ai/assistant_import_params.py +1 -1
  28. telnyx/types/ai/assistants/__init__.py +0 -3
  29. telnyx/types/ai/assistants_list.py +4 -88
  30. telnyx/types/ai/import_metadata.py +1 -1
  31. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  32. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  33. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  34. telnyx/types/ai/voice_settings.py +49 -2
  35. telnyx/types/ai/voice_settings_param.py +49 -2
  36. telnyx/types/brand_create_params.py +2 -1
  37. telnyx/types/brand_update_params.py +2 -1
  38. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  39. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  40. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  41. telnyx/types/call_answered_webhook_event1.py +75 -0
  42. telnyx/types/call_bridged_webhook_event1.py +58 -0
  43. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  44. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  45. telnyx/types/call_dial_params.py +10 -1
  46. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  47. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  48. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  49. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  50. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  51. telnyx/types/call_hangup_webhook_event1.py +150 -0
  52. telnyx/types/call_initiated_webhook_event1.py +96 -0
  53. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  54. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  55. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  56. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  57. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  58. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  59. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  60. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  61. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  62. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  63. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  64. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  65. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  66. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  67. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  68. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  69. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  70. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  71. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  72. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  73. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  74. telnyx/types/calls/__init__.py +1 -0
  75. telnyx/types/calls/action_start_streaming_params.py +2 -1
  76. telnyx/types/calls/action_start_transcription_params.py +160 -6
  77. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  78. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  79. telnyx/types/calls/transcription_start_request_param.py +161 -6
  80. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  81. telnyx/types/conference_created_webhook_event1.py +53 -0
  82. telnyx/types/conference_ended_webhook_event1.py +56 -0
  83. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  84. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  85. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  86. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  87. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  88. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  89. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  90. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  91. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  92. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  93. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  94. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  95. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  96. telnyx/types/country_coverage_retrieve_response.py +7 -0
  97. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  98. telnyx/types/delivery_update_webhook_event1.py +40 -0
  99. telnyx/types/document_upload_json_params.py +39 -0
  100. telnyx/types/document_upload_json_response.py +12 -0
  101. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  102. telnyx/types/fax_failed_webhook_event1.py +66 -0
  103. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  104. telnyx/types/fax_queued_webhook_event1.py +63 -0
  105. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  106. telnyx/types/inbound_message_webhook_event1.py +227 -0
  107. telnyx/types/legacy/reporting/__init__.py +2 -0
  108. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
  109. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  110. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  111. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  112. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
  113. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
  114. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
  115. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
  116. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
  117. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
  118. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
  119. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
  120. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
  121. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  122. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
  123. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
  124. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
  125. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
  126. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
  127. telnyx/types/legacy/reporting/filter.py +31 -0
  128. telnyx/types/legacy/reporting/filter_param.py +30 -0
  129. telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
  130. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  131. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  132. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
  133. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
  134. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
  135. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
  136. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  137. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
  138. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
  139. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
  140. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
  141. telnyx/types/message_template.py +12 -0
  142. telnyx/types/messaging_profile.py +3 -0
  143. telnyx/types/messaging_profile_create_params.py +3 -0
  144. telnyx/types/messaging_profile_update_params.py +3 -0
  145. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  146. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  147. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  148. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  149. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  150. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  151. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  152. telnyx/types/oauth_client.py +59 -0
  153. telnyx/types/oauth_client_create_response.py +4 -55
  154. telnyx/types/oauth_client_list_response.py +5 -69
  155. telnyx/types/oauth_client_retrieve_response.py +4 -55
  156. telnyx/types/oauth_client_update_response.py +4 -55
  157. telnyx/types/oauth_grant.py +29 -0
  158. telnyx/types/oauth_grant_delete_response.py +4 -25
  159. telnyx/types/oauth_grant_list_response.py +5 -39
  160. telnyx/types/oauth_grant_retrieve_response.py +4 -25
  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_numbers/phone_numbers_job.py +3 -36
  171. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  172. telnyx/types/report_list_mdrs_response.py +3 -12
  173. telnyx/types/reports/__init__.py +1 -0
  174. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  175. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  176. telnyx/types/requirement_group.py +2 -2
  177. telnyx/types/requirement_group_list_params.py +1 -1
  178. telnyx/types/shared/__init__.py +1 -0
  179. telnyx/types/{error.py → shared/api_error.py} +3 -3
  180. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  181. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  182. telnyx/types/streaming_started_webhook_event1.py +53 -0
  183. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  184. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  185. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  186. telnyx/types/transcription_webhook_event1.py +72 -0
  187. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  188. telnyx/types/verifications/__init__.py +1 -0
  189. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  190. telnyx/types/verifications/verify_meta.py +17 -0
  191. telnyx/types/verified_number_create_params.py +10 -0
  192. telnyx/types/verify_profile.py +18 -3
  193. telnyx/types/verify_profile_list_response.py +4 -13
  194. telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
  195. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  196. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/METADATA +4 -4
  197. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/RECORD +199 -125
  198. telnyx/types/ai/assistant_create_response.py +0 -92
  199. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  200. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  201. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  202. telnyx/types/ai/assistants/version_update_response.py +0 -92
  203. telnyx/types/client_create_bucket_params.py +0 -13
  204. telnyx/types/client_delete_objects_params.py +0 -20
  205. telnyx/types/client_get_object_params.py +0 -15
  206. telnyx/types/client_list_objects_params.py +0 -13
  207. telnyx/types/client_put_object_params.py +0 -20
  208. telnyx/types/list_buckets_response.py +0 -20
  209. telnyx/types/list_objects_response.py +0 -24
  210. telnyx/types/verify_profile_update_template_response.py +0 -17
  211. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/WHEEL +0 -0
  212. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,70 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["StreamingFailedWebhookEvent", "Data", "DataPayload", "DataPayloadStreamParams"]
10
+
11
+
12
+ class DataPayloadStreamParams(BaseModel):
13
+ stream_url: Optional[str] = None
14
+ """The destination WebSocket address where the stream is going to be delivered."""
15
+
16
+ track: Optional[Literal["inbound_track", "outbound_track", "both_tracks"]] = None
17
+ """Specifies which track should be streamed."""
18
+
19
+
20
+ class DataPayload(BaseModel):
21
+ call_control_id: Optional[str] = None
22
+ """Call ID used to issue commands via Call Control API."""
23
+
24
+ call_leg_id: Optional[str] = None
25
+ """ID that is unique to the call and can be used to correlate webhook events."""
26
+
27
+ call_session_id: Optional[str] = None
28
+ """
29
+ ID that is unique to the call session and can be used to correlate webhook
30
+ events. Call session is a group of related call legs that logically belong to
31
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
32
+ """
33
+
34
+ client_state: Optional[str] = None
35
+ """State received from a command."""
36
+
37
+ connection_id: Optional[str] = None
38
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
39
+
40
+ failure_reason: Optional[str] = None
41
+ """A short description explaning why the media streaming failed."""
42
+
43
+ stream_id: Optional[str] = None
44
+ """Identifies the streaming."""
45
+
46
+ stream_params: Optional[DataPayloadStreamParams] = None
47
+ """Streaming parameters as they were originally given to the Call Control API."""
48
+
49
+ stream_type: Optional[Literal["websocket", "dialogflow"]] = None
50
+ """The type of stream connection the stream is performing."""
51
+
52
+
53
+ class Data(BaseModel):
54
+ id: Optional[str] = None
55
+ """Identifies the type of resource."""
56
+
57
+ event_type: Optional[Literal["streaming.failed"]] = None
58
+ """The type of event being delivered."""
59
+
60
+ occurred_at: Optional[datetime] = None
61
+ """ISO 8601 datetime of when the event occurred."""
62
+
63
+ payload: Optional[DataPayload] = None
64
+
65
+ record_type: Optional[Literal["event"]] = None
66
+ """Identifies the resource."""
67
+
68
+
69
+ class StreamingFailedWebhookEvent(BaseModel):
70
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["StreamingStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.started"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class StreamingStartedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["StreamingStoppedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.stopped"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class StreamingStoppedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Iterable
5
6
  from typing_extensions import Literal, Required, Annotated, TypedDict
6
7
 
7
8
  from ...._utils import PropertyInfo
8
9
 
9
- __all__ = ["CallCallsParams"]
10
+ __all__ = ["CallCallsParams", "CustomHeader"]
10
11
 
11
12
 
12
13
  class CallCallsParams(TypedDict, total=False):
@@ -59,6 +60,12 @@ class CallCallsParams(TypedDict, total=False):
59
60
  cancel_playback_on_machine_detection: Annotated[bool, PropertyInfo(alias="CancelPlaybackOnMachineDetection")]
60
61
  """Whether to cancel ongoing playback on `machine` detection. Defaults to `true`."""
61
62
 
63
+ custom_headers: Annotated[Iterable[CustomHeader], PropertyInfo(alias="CustomHeaders")]
64
+ """Custom HTTP headers to be sent with the call.
65
+
66
+ Each header should be an object with 'name' and 'value' properties.
67
+ """
68
+
62
69
  detection_mode: Annotated[Literal["Premium", "Regular"], PropertyInfo(alias="DetectionMode")]
63
70
  """Allows you to chose between Premium and Standard detections."""
64
71
 
@@ -167,3 +174,11 @@ class CallCallsParams(TypedDict, total=False):
167
174
 
168
175
  The default value is inherited from TeXML Application setting.
169
176
  """
177
+
178
+
179
+ class CustomHeader(TypedDict, total=False):
180
+ name: Required[str]
181
+ """The name of the custom header"""
182
+
183
+ value: Required[str]
184
+ """The value of the custom header"""
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Iterable
5
6
  from typing_extensions import Literal, Required, Annotated, TypedDict
6
7
 
7
8
  from ....._utils import PropertyInfo
8
9
 
9
- __all__ = ["ParticipantParticipantsParams"]
10
+ __all__ = ["ParticipantParticipantsParams", "CustomHeader"]
10
11
 
11
12
 
12
13
  class ParticipantParticipantsParams(TypedDict, total=False):
@@ -113,6 +114,12 @@ class ParticipantParticipantsParams(TypedDict, total=False):
113
114
  Defaults to `trim-silence`.
114
115
  """
115
116
 
117
+ custom_headers: Annotated[Iterable[CustomHeader], PropertyInfo(alias="CustomHeaders")]
118
+ """Custom HTTP headers to be sent with the call.
119
+
120
+ Each header should be an object with 'name' and 'value' properties.
121
+ """
122
+
116
123
  early_media: Annotated[bool, PropertyInfo(alias="EarlyMedia")]
117
124
  """
118
125
  Whether participant shall be bridged to conference before the participant
@@ -249,3 +256,11 @@ class ParticipantParticipantsParams(TypedDict, total=False):
249
256
  The URL to call for an audio file to play while the participant is waiting for
250
257
  the conference to start.
251
258
  """
259
+
260
+
261
+ class CustomHeader(TypedDict, total=False):
262
+ name: Required[str]
263
+ """The name of the custom header"""
264
+
265
+ value: Required[str]
266
+ """The value of the custom header"""
@@ -0,0 +1,72 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["TranscriptionWebhookEvent", "Data", "DataPayload", "DataPayloadTranscriptionData"]
10
+
11
+
12
+ class DataPayloadTranscriptionData(BaseModel):
13
+ confidence: Optional[float] = None
14
+ """Speech recognition confidence level."""
15
+
16
+ is_final: Optional[bool] = None
17
+ """When false, it means that this is an interim result."""
18
+
19
+ transcript: Optional[str] = None
20
+ """Recognized text."""
21
+
22
+ transcription_track: Optional[Literal["inbound", "outbound"]] = None
23
+ """Indicates which leg of the call has been transcribed.
24
+
25
+ This is only available when `transcription_engine` is set to `B`.
26
+ """
27
+
28
+
29
+ class DataPayload(BaseModel):
30
+ call_control_id: Optional[str] = None
31
+ """Unique identifier and token for controlling the call."""
32
+
33
+ call_leg_id: Optional[str] = None
34
+ """ID that is unique to the call and can be used to correlate webhook events."""
35
+
36
+ call_session_id: Optional[str] = None
37
+ """
38
+ ID that is unique to the call session and can be used to correlate webhook
39
+ events. Call session is a group of related call legs that logically belong to
40
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
41
+ """
42
+
43
+ client_state: Optional[str] = None
44
+ """Use this field to add state to every subsequent webhook.
45
+
46
+ It must be a valid Base-64 encoded string.
47
+ """
48
+
49
+ connection_id: Optional[str] = None
50
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
51
+
52
+ transcription_data: Optional[DataPayloadTranscriptionData] = None
53
+
54
+
55
+ class Data(BaseModel):
56
+ id: Optional[str] = None
57
+ """Identifies the type of resource."""
58
+
59
+ event_type: Optional[Literal["call.transcription"]] = None
60
+ """The type of event being delivered."""
61
+
62
+ occurred_at: Optional[datetime] = None
63
+ """ISO 8601 datetime of when the event occurred."""
64
+
65
+ payload: Optional[DataPayload] = None
66
+
67
+ record_type: Optional[Literal["event"]] = None
68
+ """Identifies the type of the resource."""
69
+
70
+
71
+ class TranscriptionWebhookEvent(BaseModel):
72
+ data: Optional[Data] = None
@@ -0,0 +1,138 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Union
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .fax_failed_webhook_event import FaxFailedWebhookEvent
7
+ from .fax_queued_webhook_event import FaxQueuedWebhookEvent
8
+ from .call_hangup_webhook_event import CallHangupWebhookEvent
9
+ from .call_bridged_webhook_event import CallBridgedWebhookEvent
10
+ from .call_answered_webhook_event import CallAnsweredWebhookEvent
11
+ from .call_enqueued_webhook_event import CallEnqueuedWebhookEvent
12
+ from .fax_delivered_webhook_event import FaxDeliveredWebhookEvent
13
+ from .transcription_webhook_event import TranscriptionWebhookEvent
14
+ from .call_initiated_webhook_event import CallInitiatedWebhookEvent
15
+ from .call_left_queue_webhook_event import CallLeftQueueWebhookEvent
16
+ from .delivery_update_webhook_event import DeliveryUpdateWebhookEvent
17
+ from .inbound_message_webhook_event import InboundMessageWebhookEvent
18
+ from .call_speak_ended_webhook_event import CallSpeakEndedWebhookEvent
19
+ from .conference_ended_webhook_event import ConferenceEndedWebhookEvent
20
+ from .streaming_failed_webhook_event import StreamingFailedWebhookEvent
21
+ from .call_fork_started_webhook_event import CallForkStartedWebhookEvent
22
+ from .call_fork_stopped_webhook_event import CallForkStoppedWebhookEvent
23
+ from .call_gather_ended_webhook_event import CallGatherEndedWebhookEvent
24
+ from .call_refer_failed_webhook_event import CallReferFailedWebhookEvent
25
+ from .streaming_started_webhook_event import StreamingStartedWebhookEvent
26
+ from .streaming_stopped_webhook_event import StreamingStoppedWebhookEvent
27
+ from .call_dtmf_received_webhook_event import CallDtmfReceivedWebhookEvent
28
+ from .call_refer_started_webhook_event import CallReferStartedWebhookEvent
29
+ from .call_siprec_failed_webhook_event import CallSiprecFailedWebhookEvent
30
+ from .call_speak_started_webhook_event import CallSpeakStartedWebhookEvent
31
+ from .conference_created_webhook_event import ConferenceCreatedWebhookEvent
32
+ from .call_playback_ended_webhook_event import CallPlaybackEndedWebhookEvent
33
+ from .call_siprec_started_webhook_event import CallSiprecStartedWebhookEvent
34
+ from .call_siprec_stopped_webhook_event import CallSiprecStoppedWebhookEvent
35
+ from .fax_media_processed_webhook_event import FaxMediaProcessedWebhookEvent
36
+ from .fax_sending_started_webhook_event import FaxSendingStartedWebhookEvent
37
+ from .replaced_link_click_webhook_event import ReplacedLinkClickWebhookEvent
38
+ from .call_ai_gather_ended_webhook_event import CallAIGatherEndedWebhookEvent
39
+ from .call_recording_error_webhook_event import CallRecordingErrorWebhookEvent
40
+ from .call_recording_saved_webhook_event import CallRecordingSavedWebhookEvent
41
+ from .call_refer_completed_webhook_event import CallReferCompletedWebhookEvent
42
+ from .call_playback_started_webhook_event import CallPlaybackStartedWebhookEvent
43
+ from .call_streaming_failed_webhook_event import CallStreamingFailedWebhookEvent
44
+ from .call_streaming_started_webhook_event import CallStreamingStartedWebhookEvent
45
+ from .call_streaming_stopped_webhook_event import CallStreamingStoppedWebhookEvent
46
+ from .campaign_status_update_webhook_event import CampaignStatusUpdateWebhookEvent
47
+ from .conference_speak_ended_webhook_event import ConferenceSpeakEndedWebhookEvent
48
+ from .call_conversation_ended_webhook_event import CallConversationEndedWebhookEvent
49
+ from .conference_floor_changed_webhook_event import ConferenceFloorChangedWebhookEvent
50
+ from .conference_speak_started_webhook_event import ConferenceSpeakStartedWebhookEvent
51
+ from .conference_playback_ended_webhook_event import ConferencePlaybackEndedWebhookEvent
52
+ from .conference_recording_saved_webhook_event import ConferenceRecordingSavedWebhookEvent
53
+ from .number_order_status_update_webhook_event import NumberOrderStatusUpdateWebhookEvent
54
+ from .call_machine_greeting_ended_webhook_event import CallMachineGreetingEndedWebhookEvent
55
+ from .conference_participant_left_webhook_event import ConferenceParticipantLeftWebhookEvent
56
+ from .conference_playback_started_webhook_event import ConferencePlaybackStartedWebhookEvent
57
+ from .call_machine_detection_ended_webhook_event import CallMachineDetectionEndedWebhookEvent
58
+ from .conference_participant_joined_webhook_event import ConferenceParticipantJoinedWebhookEvent
59
+ from .call_ai_gather_partial_results_webhook_event import CallAIGatherPartialResultsWebhookEvent
60
+ from .call_recording_transcription_saved_webhook_event import CallRecordingTranscriptionSavedWebhookEvent
61
+ from .conference_participant_speak_ended_webhook_event import ConferenceParticipantSpeakEndedWebhookEvent
62
+ from .call_machine_premium_greeting_ended_webhook_event import CallMachinePremiumGreetingEndedWebhookEvent
63
+ from .call_conversation_insights_generated_webhook_event import CallConversationInsightsGeneratedWebhookEvent
64
+ from .call_machine_premium_detection_ended_webhook_event import CallMachinePremiumDetectionEndedWebhookEvent
65
+ from .conference_participant_speak_started_webhook_event import ConferenceParticipantSpeakStartedWebhookEvent
66
+ from .conference_participant_playback_ended_webhook_event import ConferenceParticipantPlaybackEndedWebhookEvent
67
+ from .call_ai_gather_message_history_updated_webhook_event import CallAIGatherMessageHistoryUpdatedWebhookEvent
68
+ from .customer_service_record_status_changed_webhook_event import CustomerServiceRecordStatusChangedWebhookEvent
69
+ from .conference_participant_playback_started_webhook_event import ConferenceParticipantPlaybackStartedWebhookEvent
70
+
71
+ __all__ = ["UnsafeUnwrapWebhookEvent"]
72
+
73
+ UnsafeUnwrapWebhookEvent: TypeAlias = Union[
74
+ CallAIGatherEndedWebhookEvent,
75
+ CallAIGatherMessageHistoryUpdatedWebhookEvent,
76
+ CallAIGatherPartialResultsWebhookEvent,
77
+ CustomerServiceRecordStatusChangedWebhookEvent,
78
+ CallAnsweredWebhookEvent,
79
+ CallBridgedWebhookEvent,
80
+ CallConversationEndedWebhookEvent,
81
+ CallConversationInsightsGeneratedWebhookEvent,
82
+ CallDtmfReceivedWebhookEvent,
83
+ CallEnqueuedWebhookEvent,
84
+ CallForkStartedWebhookEvent,
85
+ CallForkStoppedWebhookEvent,
86
+ CallGatherEndedWebhookEvent,
87
+ CallHangupWebhookEvent,
88
+ CallInitiatedWebhookEvent,
89
+ CallLeftQueueWebhookEvent,
90
+ CallMachineDetectionEndedWebhookEvent,
91
+ CallMachineGreetingEndedWebhookEvent,
92
+ CallMachinePremiumDetectionEndedWebhookEvent,
93
+ CallMachinePremiumGreetingEndedWebhookEvent,
94
+ CallPlaybackEndedWebhookEvent,
95
+ CallPlaybackStartedWebhookEvent,
96
+ CallRecordingErrorWebhookEvent,
97
+ CallRecordingSavedWebhookEvent,
98
+ CallRecordingTranscriptionSavedWebhookEvent,
99
+ CallReferCompletedWebhookEvent,
100
+ CallReferFailedWebhookEvent,
101
+ CallReferStartedWebhookEvent,
102
+ CallSiprecFailedWebhookEvent,
103
+ CallSiprecStartedWebhookEvent,
104
+ CallSiprecStoppedWebhookEvent,
105
+ CallSpeakEndedWebhookEvent,
106
+ CallSpeakStartedWebhookEvent,
107
+ CallStreamingFailedWebhookEvent,
108
+ CallStreamingStartedWebhookEvent,
109
+ CallStreamingStoppedWebhookEvent,
110
+ CampaignStatusUpdateWebhookEvent,
111
+ ConferenceCreatedWebhookEvent,
112
+ ConferenceEndedWebhookEvent,
113
+ ConferenceFloorChangedWebhookEvent,
114
+ ConferenceParticipantJoinedWebhookEvent,
115
+ ConferenceParticipantLeftWebhookEvent,
116
+ ConferenceParticipantPlaybackEndedWebhookEvent,
117
+ ConferenceParticipantPlaybackStartedWebhookEvent,
118
+ ConferenceParticipantSpeakEndedWebhookEvent,
119
+ ConferenceParticipantSpeakStartedWebhookEvent,
120
+ ConferencePlaybackEndedWebhookEvent,
121
+ ConferencePlaybackStartedWebhookEvent,
122
+ ConferenceRecordingSavedWebhookEvent,
123
+ ConferenceSpeakEndedWebhookEvent,
124
+ ConferenceSpeakStartedWebhookEvent,
125
+ DeliveryUpdateWebhookEvent,
126
+ FaxDeliveredWebhookEvent,
127
+ FaxFailedWebhookEvent,
128
+ FaxMediaProcessedWebhookEvent,
129
+ FaxQueuedWebhookEvent,
130
+ FaxSendingStartedWebhookEvent,
131
+ InboundMessageWebhookEvent,
132
+ NumberOrderStatusUpdateWebhookEvent,
133
+ ReplacedLinkClickWebhookEvent,
134
+ StreamingFailedWebhookEvent,
135
+ StreamingStartedWebhookEvent,
136
+ StreamingStoppedWebhookEvent,
137
+ TranscriptionWebhookEvent,
138
+ ]
@@ -2,5 +2,6 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .verify_meta import VerifyMeta as VerifyMeta
5
6
  from .action_verify_params import ActionVerifyParams as ActionVerifyParams
6
7
  from .by_phone_number_list_response import ByPhoneNumberListResponse as ByPhoneNumberListResponse
@@ -1,24 +1,15 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
3
+ from typing import List
4
4
 
5
5
  from ..._models import BaseModel
6
+ from .verify_meta import VerifyMeta
6
7
  from ..verification import Verification
7
8
 
8
- __all__ = ["ByPhoneNumberListResponse", "Meta"]
9
-
10
-
11
- class Meta(BaseModel):
12
- page_number: Optional[int] = None
13
-
14
- page_size: Optional[int] = None
15
-
16
- total_pages: Optional[int] = None
17
-
18
- total_results: Optional[int] = None
9
+ __all__ = ["ByPhoneNumberListResponse"]
19
10
 
20
11
 
21
12
  class ByPhoneNumberListResponse(BaseModel):
22
13
  data: List[Verification]
23
14
 
24
- meta: Meta
15
+ meta: VerifyMeta
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["VerifyMeta"]
8
+
9
+
10
+ class VerifyMeta(BaseModel):
11
+ page_number: Optional[int] = None
12
+
13
+ page_size: Optional[int] = None
14
+
15
+ total_pages: Optional[int] = None
16
+
17
+ total_results: Optional[int] = None
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Optional
5
6
  from typing_extensions import Literal, Required, TypedDict
6
7
 
7
8
  __all__ = ["VerifiedNumberCreateParams"]
@@ -12,3 +13,12 @@ class VerifiedNumberCreateParams(TypedDict, total=False):
12
13
 
13
14
  verification_method: Required[Literal["sms", "call"]]
14
15
  """Verification method."""
16
+
17
+ extension: Optional[str]
18
+ """Optional DTMF extension sequence to dial after the call is answered.
19
+
20
+ This parameter enables verification of phone numbers behind IVR systems that
21
+ require extension dialing. Valid characters: digits 0-9, letters A-D, symbols \\**
22
+ and #. Pauses: w = 0.5 second pause, W = 1 second pause. Maximum length: 50
23
+ characters. Only works with 'call' verification method.
24
+ """
@@ -38,12 +38,17 @@ class Call(BaseModel):
38
38
  to `["*"]`, all destinations will be allowed.
39
39
  """
40
40
 
41
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
42
41
  if TYPE_CHECKING:
42
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
43
+ # value to this field, so for compatibility we avoid doing it at runtime.
44
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
45
+
43
46
  # Stub to indicate that arbitrary properties are accepted.
44
47
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
45
48
  # `getattr(obj, '$type')`
46
49
  def __getattr__(self, attr: str) -> object: ...
50
+ else:
51
+ __pydantic_extra__: Dict[str, object]
47
52
 
48
53
 
49
54
  class Flashcall(BaseModel):
@@ -55,12 +60,17 @@ class Flashcall(BaseModel):
55
60
  identity.
56
61
  """
57
62
 
58
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
59
63
  if TYPE_CHECKING:
64
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
65
+ # value to this field, so for compatibility we avoid doing it at runtime.
66
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
67
+
60
68
  # Stub to indicate that arbitrary properties are accepted.
61
69
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
62
70
  # `getattr(obj, '$type')`
63
71
  def __getattr__(self, attr: str) -> object: ...
72
+ else:
73
+ __pydantic_extra__: Dict[str, object]
64
74
 
65
75
 
66
76
  class SMS(BaseModel):
@@ -97,12 +107,17 @@ class SMS(BaseModel):
97
107
  to `["*"]`, all destinations will be allowed.
98
108
  """
99
109
 
100
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
101
110
  if TYPE_CHECKING:
111
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
112
+ # value to this field, so for compatibility we avoid doing it at runtime.
113
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
114
+
102
115
  # Stub to indicate that arbitrary properties are accepted.
103
116
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
104
117
  # `getattr(obj, '$type')`
105
118
  def __getattr__(self, attr: str) -> object: ...
119
+ else:
120
+ __pydantic_extra__: Dict[str, object]
106
121
 
107
122
 
108
123
  class VerifyProfile(BaseModel):
@@ -1,24 +1,15 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
3
+ from typing import List
4
4
 
5
5
  from .._models import BaseModel
6
6
  from .verify_profile import VerifyProfile
7
+ from .verifications.verify_meta import VerifyMeta
7
8
 
8
- __all__ = ["VerifyProfileListResponse", "Meta"]
9
-
10
-
11
- class Meta(BaseModel):
12
- page_number: Optional[int] = None
13
-
14
- page_size: Optional[int] = None
15
-
16
- total_pages: Optional[int] = None
17
-
18
- total_results: Optional[int] = None
9
+ __all__ = ["VerifyProfileListResponse"]
19
10
 
20
11
 
21
12
  class VerifyProfileListResponse(BaseModel):
22
13
  data: List[VerifyProfile]
23
14
 
24
- meta: Meta
15
+ meta: VerifyMeta
@@ -4,14 +4,10 @@ from typing import Optional
4
4
 
5
5
  from .._models import BaseModel
6
6
 
7
- __all__ = ["VerifyProfileCreateTemplateResponse", "Data"]
7
+ __all__ = ["VerifyProfileMessageTemplateResponse"]
8
8
 
9
9
 
10
- class Data(BaseModel):
10
+ class VerifyProfileMessageTemplateResponse(BaseModel):
11
11
  id: Optional[str] = None
12
12
 
13
13
  text: Optional[str] = None
14
-
15
-
16
- class VerifyProfileCreateTemplateResponse(BaseModel):
17
- data: Optional[Data] = None
@@ -1,17 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
3
+ from typing import List
4
4
 
5
5
  from .._models import BaseModel
6
+ from .verify_profile_message_template_response import VerifyProfileMessageTemplateResponse
6
7
 
7
- __all__ = ["VerifyProfileRetrieveTemplatesResponse", "Data"]
8
-
9
-
10
- class Data(BaseModel):
11
- id: Optional[str] = None
12
-
13
- text: Optional[str] = None
8
+ __all__ = ["VerifyProfileRetrieveTemplatesResponse"]
14
9
 
15
10
 
16
11
  class VerifyProfileRetrieveTemplatesResponse(BaseModel):
17
- data: List[Data]
12
+ data: List[VerifyProfileMessageTemplateResponse]