telnyx 3.7.0a0__py3-none-any.whl → 3.8.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 (214) hide show
  1. telnyx/__init__.py +2 -0
  2. telnyx/_client.py +25 -756
  3. telnyx/_exceptions.py +4 -0
  4. telnyx/_version.py +1 -1
  5. telnyx/resources/advanced_orders.py +63 -63
  6. telnyx/resources/ai/assistants/assistants.py +15 -17
  7. telnyx/resources/ai/assistants/versions.py +13 -15
  8. telnyx/resources/brand/brand.py +8 -4
  9. telnyx/resources/calls/actions.py +10 -6
  10. telnyx/resources/calls/calls.py +16 -2
  11. telnyx/resources/documents.py +242 -37
  12. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
  13. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
  14. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  15. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  16. telnyx/resources/outbound_voice_profiles.py +24 -4
  17. telnyx/resources/sim_cards/actions.py +12 -12
  18. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  19. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  20. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  21. telnyx/resources/verify_profiles.py +9 -10
  22. telnyx/resources/webhooks.py +57 -3
  23. telnyx/types/__init__.py +18 -15
  24. telnyx/types/access_ip_address_list_response.py +3 -12
  25. telnyx/types/access_ip_range_list_response.py +3 -12
  26. telnyx/types/addresses/action_validate_response.py +7 -2
  27. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  28. telnyx/types/ai/__init__.py +1 -3
  29. telnyx/types/ai/assistant_import_params.py +1 -1
  30. telnyx/types/ai/assistants/__init__.py +0 -3
  31. telnyx/types/ai/assistants_list.py +4 -88
  32. telnyx/types/ai/import_metadata.py +1 -1
  33. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  34. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  35. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  36. telnyx/types/ai/voice_settings.py +49 -2
  37. telnyx/types/ai/voice_settings_param.py +49 -2
  38. telnyx/types/brand_create_params.py +2 -1
  39. telnyx/types/brand_update_params.py +2 -1
  40. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  41. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  42. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  43. telnyx/types/call_answered_webhook_event1.py +75 -0
  44. telnyx/types/call_bridged_webhook_event1.py +58 -0
  45. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  46. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  47. telnyx/types/call_dial_params.py +10 -1
  48. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  49. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  50. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  51. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  52. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  53. telnyx/types/call_hangup_webhook_event1.py +150 -0
  54. telnyx/types/call_initiated_webhook_event1.py +96 -0
  55. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  56. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  57. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  58. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  59. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  60. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  61. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  62. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  63. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  64. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  65. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  66. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  67. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  68. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  69. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  70. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  71. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  72. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  73. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  74. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  75. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  76. telnyx/types/calls/__init__.py +1 -0
  77. telnyx/types/calls/action_start_streaming_params.py +2 -1
  78. telnyx/types/calls/action_start_transcription_params.py +160 -6
  79. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  80. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  81. telnyx/types/calls/transcription_start_request_param.py +161 -6
  82. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  83. telnyx/types/conference_created_webhook_event1.py +53 -0
  84. telnyx/types/conference_ended_webhook_event1.py +56 -0
  85. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  86. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  87. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  88. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  89. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  90. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  91. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  92. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  93. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  94. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  95. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  96. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  97. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  98. telnyx/types/country_coverage_retrieve_response.py +7 -0
  99. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  100. telnyx/types/delivery_update_webhook_event1.py +40 -0
  101. telnyx/types/document_upload_json_params.py +39 -0
  102. telnyx/types/document_upload_json_response.py +12 -0
  103. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  104. telnyx/types/fax_failed_webhook_event1.py +66 -0
  105. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  106. telnyx/types/fax_queued_webhook_event1.py +63 -0
  107. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  108. telnyx/types/inbound_message_webhook_event1.py +227 -0
  109. telnyx/types/legacy/reporting/__init__.py +2 -0
  110. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
  111. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  112. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  113. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  114. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
  115. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
  116. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
  117. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
  118. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
  119. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
  120. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
  121. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
  122. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
  123. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  124. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
  125. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
  126. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
  127. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
  128. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
  129. telnyx/types/legacy/reporting/filter.py +31 -0
  130. telnyx/types/legacy/reporting/filter_param.py +30 -0
  131. telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
  132. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  133. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  134. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
  135. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
  136. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
  137. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
  138. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  139. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
  140. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
  141. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
  142. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
  143. telnyx/types/message_template.py +12 -0
  144. telnyx/types/messaging_profile.py +3 -0
  145. telnyx/types/messaging_profile_create_params.py +3 -0
  146. telnyx/types/messaging_profile_update_params.py +3 -0
  147. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  148. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  149. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  150. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  151. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  152. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  153. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  154. telnyx/types/oauth_client.py +59 -0
  155. telnyx/types/oauth_client_create_response.py +4 -55
  156. telnyx/types/oauth_client_list_response.py +5 -69
  157. telnyx/types/oauth_client_retrieve_response.py +4 -55
  158. telnyx/types/oauth_client_update_response.py +4 -55
  159. telnyx/types/oauth_grant.py +29 -0
  160. telnyx/types/oauth_grant_delete_response.py +4 -25
  161. telnyx/types/oauth_grant_list_response.py +5 -39
  162. telnyx/types/oauth_grant_retrieve_response.py +4 -25
  163. telnyx/types/outbound_voice_profile.py +27 -1
  164. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  165. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  166. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  167. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  168. telnyx/types/pagination_meta_oauth.py +21 -0
  169. telnyx/types/phone_number_blocks/__init__.py +1 -0
  170. telnyx/types/phone_number_blocks/job.py +3 -34
  171. telnyx/types/phone_number_blocks/job_error.py +32 -0
  172. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  173. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  174. telnyx/types/report_list_mdrs_response.py +3 -12
  175. telnyx/types/reports/__init__.py +1 -0
  176. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  177. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  178. telnyx/types/requirement_group.py +2 -2
  179. telnyx/types/requirement_group_list_params.py +1 -1
  180. telnyx/types/shared/__init__.py +1 -0
  181. telnyx/types/{api_error.py → shared/api_error.py} +1 -1
  182. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  183. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  184. telnyx/types/streaming_started_webhook_event1.py +53 -0
  185. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  186. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  187. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  188. telnyx/types/transcription_webhook_event1.py +72 -0
  189. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  190. telnyx/types/verifications/__init__.py +1 -0
  191. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  192. telnyx/types/verifications/verify_meta.py +17 -0
  193. telnyx/types/verified_number_create_params.py +10 -0
  194. telnyx/types/verify_profile.py +18 -3
  195. telnyx/types/verify_profile_list_response.py +4 -13
  196. telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
  197. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  198. {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/METADATA +6 -4
  199. {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/RECORD +201 -127
  200. telnyx/types/ai/assistant_create_response.py +0 -92
  201. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  202. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  203. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  204. telnyx/types/ai/assistants/version_update_response.py +0 -92
  205. telnyx/types/client_create_bucket_params.py +0 -13
  206. telnyx/types/client_delete_objects_params.py +0 -20
  207. telnyx/types/client_get_object_params.py +0 -15
  208. telnyx/types/client_list_objects_params.py +0 -13
  209. telnyx/types/client_put_object_params.py +0 -20
  210. telnyx/types/list_buckets_response.py +0 -20
  211. telnyx/types/list_objects_response.py +0 -24
  212. telnyx/types/verify_profile_update_template_response.py +0 -17
  213. {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/WHEEL +0 -0
  214. {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,94 @@
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__ = [
10
+ "CallRecordingSavedWebhookEvent",
11
+ "Data",
12
+ "DataPayload",
13
+ "DataPayloadPublicRecordingURLs",
14
+ "DataPayloadRecordingURLs",
15
+ ]
16
+
17
+
18
+ class DataPayloadPublicRecordingURLs(BaseModel):
19
+ mp3: Optional[str] = None
20
+ """Recording URL in requested `mp3` format."""
21
+
22
+ wav: Optional[str] = None
23
+ """Recording URL in requested `wav` format."""
24
+
25
+
26
+ class DataPayloadRecordingURLs(BaseModel):
27
+ mp3: Optional[str] = None
28
+ """Recording URL in requested `mp3` format."""
29
+
30
+ wav: Optional[str] = None
31
+ """Recording URL in requested `wav` format."""
32
+
33
+
34
+ class DataPayload(BaseModel):
35
+ call_leg_id: Optional[str] = None
36
+ """ID that is unique to the call and can be used to correlate webhook events."""
37
+
38
+ call_session_id: Optional[str] = None
39
+ """
40
+ ID that is unique to the call session and can be used to correlate webhook
41
+ events. Call session is a group of related call legs that logically belong to
42
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
43
+ """
44
+
45
+ channels: Optional[Literal["single", "dual"]] = None
46
+ """Whether recording was recorded in `single` or `dual` channel."""
47
+
48
+ client_state: Optional[str] = None
49
+ """State received from a command."""
50
+
51
+ connection_id: Optional[str] = None
52
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
53
+
54
+ public_recording_urls: Optional[DataPayloadPublicRecordingURLs] = None
55
+ """Recording URLs in requested format.
56
+
57
+ The URL is valid for as long as the file exists. For security purposes, this
58
+ feature is activated on a per request basis. Please contact customer support
59
+ with your Account ID to request activation.
60
+ """
61
+
62
+ recording_ended_at: Optional[datetime] = None
63
+ """ISO 8601 datetime of when recording ended."""
64
+
65
+ recording_started_at: Optional[datetime] = None
66
+ """ISO 8601 datetime of when recording started."""
67
+
68
+ recording_urls: Optional[DataPayloadRecordingURLs] = None
69
+ """Recording URLs in requested format.
70
+
71
+ These URLs are valid for 10 minutes. After 10 minutes, you may retrieve
72
+ recordings via API using Reports -> Call Recordings documentation, or via
73
+ Mission Control under Reporting -> Recordings.
74
+ """
75
+
76
+
77
+ class Data(BaseModel):
78
+ id: Optional[str] = None
79
+ """Identifies the type of resource."""
80
+
81
+ event_type: Optional[Literal["call.recording.saved"]] = None
82
+ """The type of event being delivered."""
83
+
84
+ occurred_at: Optional[datetime] = None
85
+ """ISO 8601 datetime of when the event occurred."""
86
+
87
+ payload: Optional[DataPayload] = None
88
+
89
+ record_type: Optional[Literal["event"]] = None
90
+ """Identifies the type of the resource."""
91
+
92
+
93
+ class CallRecordingSavedWebhookEvent(BaseModel):
94
+ data: Optional[Data] = None
@@ -0,0 +1,71 @@
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__ = ["CallRecordingTranscriptionSavedWebhookEvent", "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
+ calling_party_type: Optional[Literal["pstn", "sip"]] = None
27
+ """The type of calling party connection."""
28
+
29
+ client_state: Optional[str] = None
30
+ """State received from a command."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ recording_id: Optional[str] = None
36
+ """
37
+ ID that is unique to the recording session and can be used to correlate webhook
38
+ events.
39
+ """
40
+
41
+ recording_transcription_id: Optional[str] = None
42
+ """
43
+ ID that is unique to the transcription process and can be used to correlate
44
+ webhook events.
45
+ """
46
+
47
+ status: Optional[Literal["completed"]] = None
48
+ """The transcription status."""
49
+
50
+ transcription_text: Optional[str] = None
51
+ """The transcribed text"""
52
+
53
+
54
+ class Data(BaseModel):
55
+ id: Optional[str] = None
56
+ """Identifies the type of resource."""
57
+
58
+ event_type: Optional[Literal["call.recording.transcription.saved"]] = None
59
+ """The type of event being delivered."""
60
+
61
+ occurred_at: Optional[datetime] = None
62
+ """ISO 8601 datetime of when the event occurred."""
63
+
64
+ payload: Optional[DataPayload] = None
65
+
66
+ record_type: Optional[Literal["event"]] = None
67
+ """Identifies the type of the resource."""
68
+
69
+
70
+ class CallRecordingTranscriptionSavedWebhookEvent(BaseModel):
71
+ data: Optional[Data] = None
@@ -0,0 +1,61 @@
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 pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallReferCompletedWebhookEvent", "Data", "DataPayload"]
12
+
13
+
14
+ class DataPayload(BaseModel):
15
+ call_control_id: Optional[str] = None
16
+ """Unique ID for controlling the call."""
17
+
18
+ call_leg_id: Optional[str] = None
19
+ """ID that is unique to the call and can be used to correlate webhook events."""
20
+
21
+ call_session_id: Optional[str] = None
22
+ """
23
+ ID that is unique to the call session and can be used to correlate webhook
24
+ events. Call session is a group of related call legs that logically belong to
25
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
26
+ """
27
+
28
+ client_state: Optional[str] = None
29
+ """State received from a command."""
30
+
31
+ connection_id: Optional[str] = None
32
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
33
+
34
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
35
+ """Number or SIP URI placing the call."""
36
+
37
+ sip_notify_response: Optional[int] = None
38
+ """SIP NOTIFY event status for tracking the REFER attempt."""
39
+
40
+ to: Optional[str] = None
41
+ """Destination number or SIP URI of the call."""
42
+
43
+
44
+ class Data(BaseModel):
45
+ id: Optional[str] = None
46
+ """Identifies the type of resource."""
47
+
48
+ event_type: Optional[Literal["call.refer.completed"]] = None
49
+ """The type of event being delivered."""
50
+
51
+ occurred_at: Optional[datetime] = None
52
+ """ISO 8601 datetime of when the event occurred."""
53
+
54
+ payload: Optional[DataPayload] = None
55
+
56
+ record_type: Optional[Literal["event"]] = None
57
+ """Identifies the type of the resource."""
58
+
59
+
60
+ class CallReferCompletedWebhookEvent(BaseModel):
61
+ data: Optional[Data] = None
@@ -0,0 +1,61 @@
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 pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallReferFailedWebhookEvent", "Data", "DataPayload"]
12
+
13
+
14
+ class DataPayload(BaseModel):
15
+ call_control_id: Optional[str] = None
16
+ """Unique ID for controlling the call."""
17
+
18
+ call_leg_id: Optional[str] = None
19
+ """ID that is unique to the call and can be used to correlate webhook events."""
20
+
21
+ call_session_id: Optional[str] = None
22
+ """
23
+ ID that is unique to the call session and can be used to correlate webhook
24
+ events. Call session is a group of related call legs that logically belong to
25
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
26
+ """
27
+
28
+ client_state: Optional[str] = None
29
+ """State received from a command."""
30
+
31
+ connection_id: Optional[str] = None
32
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
33
+
34
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
35
+ """Number or SIP URI placing the call."""
36
+
37
+ sip_notify_response: Optional[int] = None
38
+ """SIP NOTIFY event status for tracking the REFER attempt."""
39
+
40
+ to: Optional[str] = None
41
+ """Destination number or SIP URI of the call."""
42
+
43
+
44
+ class Data(BaseModel):
45
+ id: Optional[str] = None
46
+ """Identifies the type of resource."""
47
+
48
+ event_type: Optional[Literal["call.refer.failed"]] = None
49
+ """The type of event being delivered."""
50
+
51
+ occurred_at: Optional[datetime] = None
52
+ """ISO 8601 datetime of when the event occurred."""
53
+
54
+ payload: Optional[DataPayload] = None
55
+
56
+ record_type: Optional[Literal["event"]] = None
57
+ """Identifies the type of the resource."""
58
+
59
+
60
+ class CallReferFailedWebhookEvent(BaseModel):
61
+ data: Optional[Data] = None
@@ -0,0 +1,61 @@
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 pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["CallReferStartedWebhookEvent", "Data", "DataPayload"]
12
+
13
+
14
+ class DataPayload(BaseModel):
15
+ call_control_id: Optional[str] = None
16
+ """Unique ID for controlling the call."""
17
+
18
+ call_leg_id: Optional[str] = None
19
+ """ID that is unique to the call and can be used to correlate webhook events."""
20
+
21
+ call_session_id: Optional[str] = None
22
+ """
23
+ ID that is unique to the call session and can be used to correlate webhook
24
+ events. Call session is a group of related call legs that logically belong to
25
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
26
+ """
27
+
28
+ client_state: Optional[str] = None
29
+ """State received from a command."""
30
+
31
+ connection_id: Optional[str] = None
32
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
33
+
34
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
35
+ """Number or SIP URI placing the call."""
36
+
37
+ sip_notify_response: Optional[int] = None
38
+ """SIP NOTIFY event status for tracking the REFER attempt."""
39
+
40
+ to: Optional[str] = None
41
+ """Destination number or SIP URI of the call."""
42
+
43
+
44
+ class Data(BaseModel):
45
+ id: Optional[str] = None
46
+ """Identifies the type of resource."""
47
+
48
+ event_type: Optional[Literal["call.refer.started"]] = None
49
+ """The type of event being delivered."""
50
+
51
+ occurred_at: Optional[datetime] = None
52
+ """ISO 8601 datetime of when the event occurred."""
53
+
54
+ payload: Optional[DataPayload] = None
55
+
56
+ record_type: Optional[Literal["event"]] = None
57
+ """Identifies the type of the resource."""
58
+
59
+
60
+ class CallReferStartedWebhookEvent(BaseModel):
61
+ 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__ = ["CallSiprecFailedWebhookEvent", "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
+ failure_cause: Optional[str] = None
33
+ """Q850 reason why siprec session failed."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["siprec.failed"]] = 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 resource."""
50
+
51
+
52
+ class CallSiprecFailedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,50 @@
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__ = ["CallSiprecStartedWebhookEvent", "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
+
33
+ class Data(BaseModel):
34
+ id: Optional[str] = None
35
+ """Identifies the type of resource."""
36
+
37
+ event_type: Optional[Literal["siprec.started"]] = None
38
+ """The type of event being delivered."""
39
+
40
+ occurred_at: Optional[datetime] = None
41
+ """ISO 8601 datetime of when the event occurred."""
42
+
43
+ payload: Optional[DataPayload] = None
44
+
45
+ record_type: Optional[Literal["event"]] = None
46
+ """Identifies the type of the resource."""
47
+
48
+
49
+ class CallSiprecStartedWebhookEvent(BaseModel):
50
+ 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__ = ["CallSiprecStoppedWebhookEvent", "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
+ hangup_cause: Optional[str] = None
33
+ """Q850 reason why the SIPREC session was stopped."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["siprec.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 CallSiprecStoppedWebhookEvent(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__ = ["CallSpeakEndedWebhookEvent", "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
+ status: Optional[Literal["completed", "call_hangup", "cancelled_amd"]] = None
33
+ """Reflects how the command ended."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["call.speak.ended"]] = 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 CallSpeakEndedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,50 @@
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__ = ["CallSpeakStartedWebhookEvent", "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
+
33
+ class Data(BaseModel):
34
+ id: Optional[str] = None
35
+ """Identifies the type of resource."""
36
+
37
+ event_type: Optional[Literal["call.speak.started"]] = None
38
+ """The type of event being delivered."""
39
+
40
+ occurred_at: Optional[datetime] = None
41
+ """ISO 8601 datetime of when the event occurred."""
42
+
43
+ payload: Optional[DataPayload] = None
44
+
45
+ record_type: Optional[Literal["event"]] = None
46
+ """Identifies the type of the resource."""
47
+
48
+
49
+ class CallSpeakStartedWebhookEvent(BaseModel):
50
+ data: Optional[Data] = None
@@ -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__ = ["CallStreamingFailedWebhookEvent", "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 CallStreamingFailedWebhookEvent(BaseModel):
70
+ data: Optional[Data] = None