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,40 @@
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__ = ["ConferenceSpeakEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ conference_id: Optional[str] = None
14
+ """ID of the conference the text was spoken in."""
15
+
16
+ connection_id: Optional[str] = None
17
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
18
+
19
+ creator_call_session_id: Optional[str] = None
20
+ """ID that is unique to the call session that started the conference."""
21
+
22
+ occurred_at: Optional[datetime] = None
23
+ """ISO 8601 datetime of when the event occurred."""
24
+
25
+
26
+ class Data(BaseModel):
27
+ id: Optional[str] = None
28
+ """Identifies the type of resource."""
29
+
30
+ event_type: Optional[Literal["conference.speak.ended"]] = None
31
+ """The type of event being delivered."""
32
+
33
+ payload: Optional[DataPayload] = None
34
+
35
+ record_type: Optional[Literal["event"]] = None
36
+ """Identifies the type of the resource."""
37
+
38
+
39
+ class ConferenceSpeakEndedWebhookEvent(BaseModel):
40
+ data: Optional[Data] = None
@@ -0,0 +1,40 @@
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__ = ["ConferenceSpeakStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ conference_id: Optional[str] = None
14
+ """ID of the conference the text was spoken in."""
15
+
16
+ connection_id: Optional[str] = None
17
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
18
+
19
+ creator_call_session_id: Optional[str] = None
20
+ """ID that is unique to the call session that started the conference."""
21
+
22
+ occurred_at: Optional[datetime] = None
23
+ """ISO 8601 datetime of when the event occurred."""
24
+
25
+
26
+ class Data(BaseModel):
27
+ id: Optional[str] = None
28
+ """Identifies the type of resource."""
29
+
30
+ event_type: Optional[Literal["conference.speak.started"]] = None
31
+ """The type of event being delivered."""
32
+
33
+ payload: Optional[DataPayload] = None
34
+
35
+ record_type: Optional[Literal["event"]] = None
36
+ """Identifies the type of the resource."""
37
+
38
+
39
+ class ConferenceSpeakStartedWebhookEvent(BaseModel):
40
+ data: Optional[Data] = None
@@ -10,6 +10,8 @@ __all__ = ["CountryCoverageRetrieveCountryResponse", "Data", "DataLocal", "DataT
10
10
  class DataLocal(BaseModel):
11
11
  features: Optional[List[str]] = None
12
12
 
13
+ full_pstn_replacement: Optional[bool] = None
14
+
13
15
  international_sms: Optional[bool] = None
14
16
 
15
17
  p2p: Optional[bool] = None
@@ -22,6 +24,8 @@ class DataLocal(BaseModel):
22
24
  class DataTollFree(BaseModel):
23
25
  features: Optional[List[str]] = None
24
26
 
27
+ full_pstn_replacement: Optional[bool] = None
28
+
25
29
  international_sms: Optional[bool] = None
26
30
 
27
31
  p2p: Optional[bool] = None
@@ -59,6 +63,9 @@ class Data(BaseModel):
59
63
  quickship: Optional[bool] = None
60
64
  """Supports quickship"""
61
65
 
66
+ region: Optional[str] = None
67
+ """Geographic region (e.g., AMER, EMEA, APAC)"""
68
+
62
69
  reservable: Optional[bool] = None
63
70
  """Supports reservable"""
64
71
 
@@ -10,6 +10,8 @@ __all__ = ["CountryCoverageRetrieveResponse", "Data", "DataLocal", "DataTollFree
10
10
  class DataLocal(BaseModel):
11
11
  features: Optional[List[str]] = None
12
12
 
13
+ full_pstn_replacement: Optional[bool] = None
14
+
13
15
  international_sms: Optional[bool] = None
14
16
 
15
17
  p2p: Optional[bool] = None
@@ -22,6 +24,8 @@ class DataLocal(BaseModel):
22
24
  class DataTollFree(BaseModel):
23
25
  features: Optional[List[str]] = None
24
26
 
27
+ full_pstn_replacement: Optional[bool] = None
28
+
25
29
  international_sms: Optional[bool] = None
26
30
 
27
31
  p2p: Optional[bool] = None
@@ -59,6 +63,9 @@ class Data(BaseModel):
59
63
  quickship: Optional[bool] = None
60
64
  """Supports quickship"""
61
65
 
66
+ region: Optional[str] = None
67
+ """Geographic region (e.g., AMER, EMEA, APAC)"""
68
+
62
69
  reservable: Optional[bool] = None
63
70
  """Supports reservable"""
64
71
 
@@ -0,0 +1,55 @@
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__ = ["CustomerServiceRecordStatusChangedWebhookEvent", "Data", "DataPayload", "Meta"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ id: Optional[str] = None
14
+ """Uniquely identifies the customer service record."""
15
+
16
+ phone_number: Optional[str] = None
17
+ """The phone number of the customer service record."""
18
+
19
+ status: Optional[Literal["pending", "completed", "failed"]] = None
20
+ """The status of the customer service record"""
21
+
22
+ updated_at: Optional[datetime] = None
23
+ """
24
+ ISO 8601 formatted date indicating the last time where the resource was updated.
25
+ """
26
+
27
+
28
+ class Data(BaseModel):
29
+ id: Optional[str] = None
30
+ """Uniquely identifies the callback event."""
31
+
32
+ event_type: Optional[Literal["customer_service_record.status_changed"]] = None
33
+ """The type of the callback event."""
34
+
35
+ occurred_at: Optional[datetime] = None
36
+ """ISO 8601 formatted date indicating when the callback event occurred."""
37
+
38
+ payload: Optional[DataPayload] = None
39
+
40
+ record_type: Optional[Literal["event"]] = None
41
+ """Identifies the type of the resource."""
42
+
43
+
44
+ class Meta(BaseModel):
45
+ attempt: Optional[int] = None
46
+ """The number of times the callback webhook has been attempted."""
47
+
48
+ delivered_to: Optional[str] = None
49
+ """The URL that the callback webhook was delivered to."""
50
+
51
+
52
+ class CustomerServiceRecordStatusChangedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
54
+
55
+ meta: Optional[Meta] = None
@@ -0,0 +1,40 @@
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
+ from .outbound_message_payload import OutboundMessagePayload
9
+
10
+ __all__ = ["DeliveryUpdateWebhookEvent", "Data", "Meta"]
11
+
12
+
13
+ class Data(BaseModel):
14
+ id: Optional[str] = None
15
+ """Identifies the type of resource."""
16
+
17
+ event_type: Optional[Literal["message.sent", "message.finalized"]] = None
18
+ """The type of event being delivered."""
19
+
20
+ occurred_at: Optional[datetime] = None
21
+ """ISO 8601 formatted date indicating when the resource was created."""
22
+
23
+ payload: Optional[OutboundMessagePayload] = None
24
+
25
+ record_type: Optional[Literal["event"]] = None
26
+ """Identifies the type of the resource."""
27
+
28
+
29
+ class Meta(BaseModel):
30
+ attempt: Optional[int] = None
31
+ """Number of attempts to deliver the webhook event."""
32
+
33
+ delivered_to: Optional[str] = None
34
+ """The webhook URL the event was delivered to."""
35
+
36
+
37
+ class DeliveryUpdateWebhookEvent(BaseModel):
38
+ data: Optional[Data] = None
39
+
40
+ meta: Optional[Meta] = None
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from typing_extensions import Required, Annotated, TypeAlias, TypedDict
7
+
8
+ from .._types import Base64FileInput
9
+ from .._utils import PropertyInfo
10
+
11
+ __all__ = ["DocumentUploadJsonParams", "DocServiceDocumentUploadURL", "DocServiceDocumentUploadInline"]
12
+
13
+
14
+ class DocServiceDocumentUploadURL(TypedDict, total=False):
15
+ url: Required[str]
16
+ """
17
+ If the file is already hosted publicly, you can provide a URL and have the
18
+ documents service fetch it for you.
19
+ """
20
+
21
+ customer_reference: str
22
+ """Optional reference string for customer tracking."""
23
+
24
+ filename: str
25
+ """The filename of the document."""
26
+
27
+
28
+ class DocServiceDocumentUploadInline(TypedDict, total=False):
29
+ file: Required[Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]]
30
+ """The Base64 encoded contents of the file you are uploading."""
31
+
32
+ customer_reference: str
33
+ """A customer reference string for customer look ups."""
34
+
35
+ filename: str
36
+ """The filename of the document."""
37
+
38
+
39
+ DocumentUploadJsonParams: TypeAlias = Union[DocServiceDocumentUploadURL, DocServiceDocumentUploadInline]
@@ -0,0 +1,12 @@
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
+ from .doc_service_document import DocServiceDocument
7
+
8
+ __all__ = ["DocumentUploadJsonResponse"]
9
+
10
+
11
+ class DocumentUploadJsonResponse(BaseModel):
12
+ data: Optional[DocServiceDocument] = None
@@ -0,0 +1,69 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["FaxDeliveredWebhookEvent", "Payload"]
11
+
12
+
13
+ class Payload(BaseModel):
14
+ call_duration_secs: Optional[int] = None
15
+ """The duration of the call in seconds."""
16
+
17
+ client_state: Optional[str] = None
18
+ """State received from a command."""
19
+
20
+ connection_id: Optional[str] = None
21
+ """The ID of the connection used to send the fax."""
22
+
23
+ direction: Optional[Literal["inbound", "outbound"]] = None
24
+ """The direction of the fax."""
25
+
26
+ fax_id: Optional[str] = None
27
+ """Identifies the fax."""
28
+
29
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
30
+ """The phone number, in E.164 format, the fax will be sent from."""
31
+
32
+ media_name: Optional[str] = None
33
+ """The media_name used for the fax's media.
34
+
35
+ Must point to a file previously uploaded to api.telnyx.com/v2/media by the same
36
+ user/organization. media_name and media_url/contents can't be submitted
37
+ together.
38
+ """
39
+
40
+ original_media_url: Optional[str] = None
41
+ """The original URL to the PDF used for the fax's media.
42
+
43
+ If media_name was supplied, this is omitted
44
+ """
45
+
46
+ page_count: Optional[int] = None
47
+ """Number of transferred pages"""
48
+
49
+ status: Optional[Literal["delivered"]] = None
50
+ """The status of the fax."""
51
+
52
+ to: Optional[str] = None
53
+ """The phone number, in E.164 format, the fax will be sent to or SIP URI"""
54
+
55
+ user_id: Optional[str] = None
56
+ """Identifier of the user to whom the fax belongs"""
57
+
58
+
59
+ class FaxDeliveredWebhookEvent(BaseModel):
60
+ id: Optional[str] = None
61
+ """Identifies the type of resource."""
62
+
63
+ event_type: Optional[Literal["fax.delivered"]] = None
64
+ """The type of event being delivered."""
65
+
66
+ payload: Optional[Payload] = None
67
+
68
+ record_type: Optional[Literal["event"]] = None
69
+ """Identifies the type of the resource."""
@@ -0,0 +1,66 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["FaxFailedWebhookEvent", "Payload"]
11
+
12
+
13
+ class Payload(BaseModel):
14
+ client_state: Optional[str] = None
15
+ """State received from a command."""
16
+
17
+ connection_id: Optional[str] = None
18
+ """The ID of the connection used to send the fax."""
19
+
20
+ direction: Optional[Literal["inbound", "outbound"]] = None
21
+ """The direction of the fax."""
22
+
23
+ failure_reason: Optional[Literal["rejected"]] = None
24
+ """Cause of the sending failure"""
25
+
26
+ fax_id: Optional[str] = None
27
+ """Identifies the fax."""
28
+
29
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
30
+ """The phone number, in E.164 format, the fax will be sent from."""
31
+
32
+ media_name: Optional[str] = None
33
+ """The media_name used for the fax's media.
34
+
35
+ Must point to a file previously uploaded to api.telnyx.com/v2/media by the same
36
+ user/organization. media_name and media_url/contents can't be submitted
37
+ together.
38
+ """
39
+
40
+ original_media_url: Optional[str] = None
41
+ """The original URL to the PDF used for the fax's media.
42
+
43
+ If media_name was supplied, this is omitted
44
+ """
45
+
46
+ status: Optional[Literal["failed"]] = None
47
+ """The status of the fax."""
48
+
49
+ to: Optional[str] = None
50
+ """The phone number, in E.164 format, the fax will be sent to or SIP URI"""
51
+
52
+ user_id: Optional[str] = None
53
+ """Identifier of the user to whom the fax belongs"""
54
+
55
+
56
+ class FaxFailedWebhookEvent(BaseModel):
57
+ id: Optional[str] = None
58
+ """Identifies the type of resource."""
59
+
60
+ event_type: Optional[Literal["fax.failed"]] = None
61
+ """The type of event being delivered."""
62
+
63
+ payload: Optional[Payload] = None
64
+
65
+ record_type: Optional[Literal["event"]] = None
66
+ """Identifies the type of the resource."""
@@ -0,0 +1,63 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["FaxMediaProcessedWebhookEvent", "Payload"]
11
+
12
+
13
+ class Payload(BaseModel):
14
+ client_state: Optional[str] = None
15
+ """State received from a command."""
16
+
17
+ connection_id: Optional[str] = None
18
+ """The ID of the connection used to send the fax."""
19
+
20
+ direction: Optional[Literal["inbound", "outbound"]] = None
21
+ """The direction of the fax."""
22
+
23
+ fax_id: Optional[str] = None
24
+ """Identifies the fax."""
25
+
26
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
27
+ """The phone number, in E.164 format, the fax will be sent from."""
28
+
29
+ media_name: Optional[str] = None
30
+ """The media_name used for the fax's media.
31
+
32
+ Must point to a file previously uploaded to api.telnyx.com/v2/media by the same
33
+ user/organization. media_name and media_url/contents can't be submitted
34
+ together.
35
+ """
36
+
37
+ original_media_url: Optional[str] = None
38
+ """The original URL to the PDF used for the fax's media.
39
+
40
+ If media_name was supplied, this is omitted
41
+ """
42
+
43
+ status: Optional[Literal["media.processed"]] = None
44
+ """The status of the fax."""
45
+
46
+ to: Optional[str] = None
47
+ """The phone number, in E.164 format, the fax will be sent to or SIP URI"""
48
+
49
+ user_id: Optional[str] = None
50
+ """Identifier of the user to whom the fax belongs"""
51
+
52
+
53
+ class FaxMediaProcessedWebhookEvent(BaseModel):
54
+ id: Optional[str] = None
55
+ """Identifies the type of resource."""
56
+
57
+ event_type: Optional[Literal["fax.media.processed"]] = None
58
+ """The type of event being delivered."""
59
+
60
+ payload: Optional[Payload] = None
61
+
62
+ record_type: Optional[Literal["event"]] = None
63
+ """Identifies the type of the resource."""
@@ -0,0 +1,63 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["FaxQueuedWebhookEvent", "Payload"]
11
+
12
+
13
+ class Payload(BaseModel):
14
+ client_state: Optional[str] = None
15
+ """State received from a command."""
16
+
17
+ connection_id: Optional[str] = None
18
+ """The ID of the connection used to send the fax."""
19
+
20
+ direction: Optional[Literal["inbound", "outbound"]] = None
21
+ """The direction of the fax."""
22
+
23
+ fax_id: Optional[str] = None
24
+ """Identifies the fax."""
25
+
26
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
27
+ """The phone number, in E.164 format, the fax will be sent from."""
28
+
29
+ media_name: Optional[str] = None
30
+ """The media_name used for the fax's media.
31
+
32
+ Must point to a file previously uploaded to api.telnyx.com/v2/media by the same
33
+ user/organization. media_name and media_url/contents can't be submitted
34
+ together.
35
+ """
36
+
37
+ original_media_url: Optional[str] = None
38
+ """The original URL to the PDF used for the fax's media.
39
+
40
+ If media_name was supplied, this is omitted
41
+ """
42
+
43
+ status: Optional[Literal["queued"]] = None
44
+ """The status of the fax."""
45
+
46
+ to: Optional[str] = None
47
+ """The phone number, in E.164 format, the fax will be sent to or SIP URI"""
48
+
49
+ user_id: Optional[str] = None
50
+ """Identifier of the user to whom the fax belongs"""
51
+
52
+
53
+ class FaxQueuedWebhookEvent(BaseModel):
54
+ id: Optional[str] = None
55
+ """Identifies the type of resource."""
56
+
57
+ event_type: Optional[Literal["fax.queued"]] = None
58
+ """The type of event being delivered."""
59
+
60
+ payload: Optional[Payload] = None
61
+
62
+ record_type: Optional[Literal["event"]] = None
63
+ """Identifies the type of the resource."""
@@ -0,0 +1,63 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["FaxSendingStartedWebhookEvent", "Payload"]
11
+
12
+
13
+ class Payload(BaseModel):
14
+ client_state: Optional[str] = None
15
+ """State received from a command."""
16
+
17
+ connection_id: Optional[str] = None
18
+ """The ID of the connection used to send the fax."""
19
+
20
+ direction: Optional[Literal["inbound", "outbound"]] = None
21
+ """The direction of the fax."""
22
+
23
+ fax_id: Optional[str] = None
24
+ """Identifies the fax."""
25
+
26
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
27
+ """The phone number, in E.164 format, the fax will be sent from."""
28
+
29
+ media_name: Optional[str] = None
30
+ """The media_name used for the fax's media.
31
+
32
+ Must point to a file previously uploaded to api.telnyx.com/v2/media by the same
33
+ user/organization. media_name and media_url/contents can't be submitted
34
+ together.
35
+ """
36
+
37
+ original_media_url: Optional[str] = None
38
+ """The original URL to the PDF used for the fax's media.
39
+
40
+ If media_name was supplied, this is omitted
41
+ """
42
+
43
+ status: Optional[Literal["sending"]] = None
44
+ """The status of the fax."""
45
+
46
+ to: Optional[str] = None
47
+ """The phone number, in E.164 format, the fax will be sent to or SIP URI"""
48
+
49
+ user_id: Optional[str] = None
50
+ """Identifier of the user to whom the fax belongs"""
51
+
52
+
53
+ class FaxSendingStartedWebhookEvent(BaseModel):
54
+ id: Optional[str] = None
55
+ """Identifies the type of resource."""
56
+
57
+ event_type: Optional[Literal["fax.sending.started"]] = None
58
+ """The type of event being delivered."""
59
+
60
+ payload: Optional[Payload] = None
61
+
62
+ record_type: Optional[Literal["event"]] = None
63
+ """Identifies the type of the resource."""