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,227 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, 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
+ from .messaging_error import MessagingError
11
+
12
+ __all__ = [
13
+ "InboundMessageWebhookEvent",
14
+ "Data",
15
+ "DataPayload",
16
+ "DataPayloadCc",
17
+ "DataPayloadCost",
18
+ "DataPayloadCostBreakdown",
19
+ "DataPayloadCostBreakdownCarrierFee",
20
+ "DataPayloadCostBreakdownRate",
21
+ "DataPayloadFrom",
22
+ "DataPayloadMedia",
23
+ "DataPayloadTo",
24
+ ]
25
+
26
+
27
+ class DataPayloadCc(BaseModel):
28
+ carrier: Optional[str] = None
29
+ """The carrier of the receiver."""
30
+
31
+ line_type: Optional[Literal["Wireline", "Wireless", "VoWiFi", "VoIP", "Pre-Paid Wireless", ""]] = None
32
+ """The line-type of the receiver."""
33
+
34
+ phone_number: Optional[str] = None
35
+ """Receiving address (+E.164 formatted phone number or short code)."""
36
+
37
+ status: Optional[
38
+ Literal["queued", "sending", "sent", "delivered", "sending_failed", "delivery_failed", "delivery_unconfirmed"]
39
+ ] = None
40
+
41
+
42
+ class DataPayloadCost(BaseModel):
43
+ amount: Optional[str] = None
44
+ """The amount deducted from your account."""
45
+
46
+ currency: Optional[str] = None
47
+ """The ISO 4217 currency identifier."""
48
+
49
+
50
+ class DataPayloadCostBreakdownCarrierFee(BaseModel):
51
+ amount: Optional[str] = None
52
+ """The carrier fee amount."""
53
+
54
+ currency: Optional[str] = None
55
+ """The ISO 4217 currency identifier."""
56
+
57
+
58
+ class DataPayloadCostBreakdownRate(BaseModel):
59
+ amount: Optional[str] = None
60
+ """The rate amount applied."""
61
+
62
+ currency: Optional[str] = None
63
+ """The ISO 4217 currency identifier."""
64
+
65
+
66
+ class DataPayloadCostBreakdown(BaseModel):
67
+ carrier_fee: Optional[DataPayloadCostBreakdownCarrierFee] = None
68
+
69
+ rate: Optional[DataPayloadCostBreakdownRate] = None
70
+
71
+
72
+ class DataPayloadFrom(BaseModel):
73
+ carrier: Optional[str] = None
74
+ """The carrier of the sender."""
75
+
76
+ line_type: Optional[Literal["Wireline", "Wireless", "VoWiFi", "VoIP", "Pre-Paid Wireless", ""]] = None
77
+ """The line-type of the sender."""
78
+
79
+ phone_number: Optional[str] = None
80
+ """
81
+ Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short
82
+ code).
83
+ """
84
+
85
+ status: Optional[Literal["received", "delivered"]] = None
86
+
87
+
88
+ class DataPayloadMedia(BaseModel):
89
+ content_type: Optional[str] = None
90
+ """The MIME type of the requested media."""
91
+
92
+ hash_sha256: Optional[str] = None
93
+ """The SHA256 hash of the requested media."""
94
+
95
+ size: Optional[int] = None
96
+ """The size of the requested media."""
97
+
98
+ url: Optional[str] = None
99
+ """The url of the media requested to be sent."""
100
+
101
+
102
+ class DataPayloadTo(BaseModel):
103
+ carrier: Optional[str] = None
104
+ """The carrier of the receiver."""
105
+
106
+ line_type: Optional[Literal["Wireline", "Wireless", "VoWiFi", "VoIP", "Pre-Paid Wireless", ""]] = None
107
+ """The line-type of the receiver."""
108
+
109
+ phone_number: Optional[str] = None
110
+ """Receiving address (+E.164 formatted phone number or short code)."""
111
+
112
+ status: Optional[
113
+ Literal[
114
+ "queued",
115
+ "sending",
116
+ "sent",
117
+ "delivered",
118
+ "sending_failed",
119
+ "delivery_failed",
120
+ "delivery_unconfirmed",
121
+ "webhook_delivered",
122
+ ]
123
+ ] = None
124
+
125
+
126
+ class DataPayload(BaseModel):
127
+ id: Optional[str] = None
128
+ """Identifies the type of resource."""
129
+
130
+ cc: Optional[List[DataPayloadCc]] = None
131
+
132
+ completed_at: Optional[datetime] = None
133
+ """Not used for inbound messages."""
134
+
135
+ cost: Optional[DataPayloadCost] = None
136
+
137
+ cost_breakdown: Optional[DataPayloadCostBreakdown] = None
138
+ """Detailed breakdown of the message cost components."""
139
+
140
+ direction: Optional[Literal["inbound"]] = None
141
+ """The direction of the message.
142
+
143
+ Inbound messages are sent to you whereas outbound messages are sent from you.
144
+ """
145
+
146
+ encoding: Optional[str] = None
147
+ """Encoding scheme used for the message body."""
148
+
149
+ errors: Optional[List[MessagingError]] = None
150
+ """
151
+ These errors may point at addressees when referring to unsuccessful/unconfirmed
152
+ delivery statuses.
153
+ """
154
+
155
+ from_: Optional[DataPayloadFrom] = FieldInfo(alias="from", default=None)
156
+
157
+ media: Optional[List[DataPayloadMedia]] = None
158
+
159
+ messaging_profile_id: Optional[str] = None
160
+ """Unique identifier for a messaging profile."""
161
+
162
+ parts: Optional[int] = None
163
+ """Number of parts into which the message's body must be split."""
164
+
165
+ received_at: Optional[datetime] = None
166
+ """ISO 8601 formatted date indicating when the message request was received."""
167
+
168
+ record_type: Optional[Literal["message"]] = None
169
+ """Identifies the type of the resource."""
170
+
171
+ sent_at: Optional[datetime] = None
172
+ """Not used for inbound messages."""
173
+
174
+ tags: Optional[List[str]] = None
175
+ """Tags associated with the resource."""
176
+
177
+ tcr_campaign_billable: Optional[bool] = None
178
+ """Indicates whether the TCR campaign is billable."""
179
+
180
+ tcr_campaign_id: Optional[str] = None
181
+ """The Campaign Registry (TCR) campaign ID associated with the message."""
182
+
183
+ tcr_campaign_registered: Optional[str] = None
184
+ """The registration status of the TCR campaign."""
185
+
186
+ text: Optional[str] = None
187
+ """Message body (i.e., content) as a non-empty string.
188
+
189
+ **Required for SMS**
190
+ """
191
+
192
+ to: Optional[List[DataPayloadTo]] = None
193
+
194
+ type: Optional[Literal["SMS", "MMS"]] = None
195
+ """The type of message. This value can be either 'sms' or 'mms'."""
196
+
197
+ valid_until: Optional[datetime] = None
198
+ """Not used for inbound messages."""
199
+
200
+ webhook_failover_url: Optional[str] = None
201
+ """
202
+ The failover URL where webhooks related to this message will be sent if sending
203
+ to the primary URL fails.
204
+ """
205
+
206
+ webhook_url: Optional[str] = None
207
+ """The URL where webhooks related to this message will be sent."""
208
+
209
+
210
+ class Data(BaseModel):
211
+ id: Optional[str] = None
212
+ """Identifies the type of resource."""
213
+
214
+ event_type: Optional[Literal["message.received"]] = None
215
+ """The type of event being delivered."""
216
+
217
+ occurred_at: Optional[datetime] = None
218
+ """ISO 8601 formatted date indicating when the resource was created."""
219
+
220
+ payload: Optional[DataPayload] = None
221
+
222
+ record_type: Optional[Literal["event"]] = None
223
+ """Identifies the type of the resource."""
224
+
225
+
226
+ class InboundMessageWebhookEvent(BaseModel):
227
+ data: Optional[Data] = None
@@ -2,6 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .filter import Filter as Filter
6
+ from .filter_param import FilterParam as FilterParam
5
7
  from .usage_report_retrieve_speech_to_text_params import (
6
8
  UsageReportRetrieveSpeechToTextParams as UsageReportRetrieveSpeechToTextParams,
7
9
  )
@@ -9,8 +9,12 @@ from .voice_delete_response import VoiceDeleteResponse as VoiceDeleteResponse
9
9
  from .messaging_create_params import MessagingCreateParams as MessagingCreateParams
10
10
  from .messaging_list_response import MessagingListResponse as MessagingListResponse
11
11
  from .voice_retrieve_response import VoiceRetrieveResponse as VoiceRetrieveResponse
12
+ from .batch_csv_pagination_meta import BatchCsvPaginationMeta as BatchCsvPaginationMeta
13
+ from .cdr_detailed_req_response import CdrDetailedReqResponse as CdrDetailedReqResponse
12
14
  from .messaging_create_response import MessagingCreateResponse as MessagingCreateResponse
13
15
  from .messaging_delete_response import MessagingDeleteResponse as MessagingDeleteResponse
16
+ from .mdr_detail_report_response import MdrDetailReportResponse as MdrDetailReportResponse
17
+ from .stt_detail_report_response import SttDetailReportResponse as SttDetailReportResponse
14
18
  from .messaging_retrieve_response import MessagingRetrieveResponse as MessagingRetrieveResponse
15
19
  from .speech_to_text_create_params import SpeechToTextCreateParams as SpeechToTextCreateParams
16
20
  from .speech_to_text_list_response import SpeechToTextListResponse as SpeechToTextListResponse
@@ -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__ = ["BatchCsvPaginationMeta"]
8
+
9
+
10
+ class BatchCsvPaginationMeta(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
@@ -0,0 +1,63 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..filter import Filter
6
+ from ....._models import BaseModel
7
+
8
+ __all__ = ["CdrDetailedReqResponse"]
9
+
10
+
11
+ class CdrDetailedReqResponse(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique identifier for the report"""
14
+
15
+ call_types: Optional[List[int]] = None
16
+ """List of call types (Inbound = 1, Outbound = 2)"""
17
+
18
+ connections: Optional[List[int]] = None
19
+ """List of connections"""
20
+
21
+ created_at: Optional[str] = None
22
+ """Creation date of the report"""
23
+
24
+ end_time: Optional[str] = None
25
+ """End time in ISO format"""
26
+
27
+ filters: Optional[List[Filter]] = None
28
+ """List of filters"""
29
+
30
+ managed_accounts: Optional[List[str]] = None
31
+ """List of managed accounts"""
32
+
33
+ record_type: Optional[str] = None
34
+
35
+ record_types: Optional[List[int]] = None
36
+ """List of record types (Complete = 1, Incomplete = 2, Errors = 3)"""
37
+
38
+ report_name: Optional[str] = None
39
+ """Name of the report"""
40
+
41
+ report_url: Optional[str] = None
42
+ """URL to download the report"""
43
+
44
+ retry: Optional[int] = None
45
+ """Number of retries"""
46
+
47
+ source: Optional[str] = None
48
+ """Source of the report.
49
+
50
+ Valid values: calls (default), call-control, fax-api, webrtc
51
+ """
52
+
53
+ start_time: Optional[str] = None
54
+ """Start time in ISO format"""
55
+
56
+ status: Optional[int] = None
57
+ """Status of the report (Pending = 1, Complete = 2, Failed = 3, Expired = 4)"""
58
+
59
+ timezone: Optional[str] = None
60
+ """Timezone for the report"""
61
+
62
+ updated_at: Optional[str] = None
63
+ """Last update date of the report"""
@@ -0,0 +1,42 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..filter import Filter
8
+ from ....._models import BaseModel
9
+
10
+ __all__ = ["MdrDetailReportResponse"]
11
+
12
+
13
+ class MdrDetailReportResponse(BaseModel):
14
+ id: Optional[str] = None
15
+ """Identifies the resource"""
16
+
17
+ connections: Optional[List[int]] = None
18
+
19
+ created_at: Optional[datetime] = None
20
+
21
+ directions: Optional[List[Literal["INBOUND", "OUTBOUND"]]] = None
22
+
23
+ end_date: Optional[datetime] = None
24
+
25
+ filters: Optional[List[Filter]] = None
26
+
27
+ profiles: Optional[List[str]] = None
28
+ """List of messaging profile IDs"""
29
+
30
+ record_type: Optional[str] = None
31
+
32
+ record_types: Optional[List[Literal["INCOMPLETE", "COMPLETED", "ERRORS"]]] = None
33
+
34
+ report_name: Optional[str] = None
35
+
36
+ report_url: Optional[str] = None
37
+
38
+ start_date: Optional[datetime] = None
39
+
40
+ status: Optional[Literal["PENDING", "COMPLETE", "FAILED", "EXPIRED"]] = None
41
+
42
+ updated_at: Optional[datetime] = None
@@ -4,12 +4,13 @@ from __future__ import annotations
4
4
 
5
5
  from typing import Union, Iterable
6
6
  from datetime import datetime
7
- from typing_extensions import Literal, Required, Annotated, TypedDict
7
+ from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
9
  from ....._types import SequenceNotStr
10
10
  from ....._utils import PropertyInfo
11
+ from ..filter_param import FilterParam
11
12
 
12
- __all__ = ["MessagingCreateParams", "Filter"]
13
+ __all__ = ["MessagingCreateParams"]
13
14
 
14
15
 
15
16
  class MessagingCreateParams(TypedDict, total=False):
@@ -29,7 +30,7 @@ class MessagingCreateParams(TypedDict, total=False):
29
30
  directions: Iterable[int]
30
31
  """List of directions to filter by (Inbound = 1, Outbound = 2)"""
31
32
 
32
- filters: Iterable[Filter]
33
+ filters: Iterable[FilterParam]
33
34
  """List of filters to apply"""
34
35
 
35
36
  include_message_body: bool
@@ -52,26 +53,3 @@ class MessagingCreateParams(TypedDict, total=False):
52
53
 
53
54
  timezone: str
54
55
  """Timezone for the report"""
55
-
56
-
57
- class Filter(TypedDict, total=False):
58
- billing_group: str
59
- """Billing group UUID to filter by"""
60
-
61
- cld: str
62
- """Called line identification (destination number)"""
63
-
64
- cld_filter: Literal["contains", "starts_with", "ends_with"]
65
- """Filter type for CLD matching"""
66
-
67
- cli: str
68
- """Calling line identification (caller ID)"""
69
-
70
- cli_filter: Literal["contains", "starts_with", "ends_with"]
71
- """Filter type for CLI matching"""
72
-
73
- filter_type: Literal["and", "or"]
74
- """Logical operator for combining filters"""
75
-
76
- tags_list: str
77
- """Tag name to filter by"""
@@ -1,68 +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
4
- from datetime import datetime
5
- from typing_extensions import Literal
3
+ from typing import Optional
6
4
 
7
5
  from ....._models import BaseModel
6
+ from .mdr_detail_report_response import MdrDetailReportResponse
8
7
 
9
- __all__ = ["MessagingCreateResponse", "Data", "DataFilter"]
10
-
11
-
12
- class DataFilter(BaseModel):
13
- billing_group: Optional[str] = None
14
- """Billing group UUID to filter by"""
15
-
16
- cld: Optional[str] = None
17
- """Called line identification (destination number)"""
18
-
19
- cld_filter: Optional[Literal["contains", "starts_with", "ends_with"]] = None
20
- """Filter type for CLD matching"""
21
-
22
- cli: Optional[str] = None
23
- """Calling line identification (caller ID)"""
24
-
25
- cli_filter: Optional[Literal["contains", "starts_with", "ends_with"]] = None
26
- """Filter type for CLI matching"""
27
-
28
- filter_type: Optional[Literal["and", "or"]] = None
29
- """Logical operator for combining filters"""
30
-
31
- tags_list: Optional[str] = None
32
- """Tag name to filter by"""
33
-
34
-
35
- class Data(BaseModel):
36
- id: Optional[str] = None
37
- """Identifies the resource"""
38
-
39
- connections: Optional[List[int]] = None
40
-
41
- created_at: Optional[datetime] = None
42
-
43
- directions: Optional[List[Literal["INBOUND", "OUTBOUND"]]] = None
44
-
45
- end_date: Optional[datetime] = None
46
-
47
- filters: Optional[List[DataFilter]] = None
48
-
49
- profiles: Optional[List[str]] = None
50
- """List of messaging profile IDs"""
51
-
52
- record_type: Optional[str] = None
53
-
54
- record_types: Optional[List[Literal["INCOMPLETE", "COMPLETED", "ERRORS"]]] = None
55
-
56
- report_name: Optional[str] = None
57
-
58
- report_url: Optional[str] = None
59
-
60
- start_date: Optional[datetime] = None
61
-
62
- status: Optional[Literal["PENDING", "COMPLETE", "FAILED", "EXPIRED"]] = None
63
-
64
- updated_at: Optional[datetime] = None
8
+ __all__ = ["MessagingCreateResponse"]
65
9
 
66
10
 
67
11
  class MessagingCreateResponse(BaseModel):
68
- data: Optional[Data] = None
12
+ data: Optional[MdrDetailReportResponse] = None
@@ -1,68 +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
4
- from datetime import datetime
5
- from typing_extensions import Literal
3
+ from typing import Optional
6
4
 
7
5
  from ....._models import BaseModel
6
+ from .mdr_detail_report_response import MdrDetailReportResponse
8
7
 
9
- __all__ = ["MessagingDeleteResponse", "Data", "DataFilter"]
10
-
11
-
12
- class DataFilter(BaseModel):
13
- billing_group: Optional[str] = None
14
- """Billing group UUID to filter by"""
15
-
16
- cld: Optional[str] = None
17
- """Called line identification (destination number)"""
18
-
19
- cld_filter: Optional[Literal["contains", "starts_with", "ends_with"]] = None
20
- """Filter type for CLD matching"""
21
-
22
- cli: Optional[str] = None
23
- """Calling line identification (caller ID)"""
24
-
25
- cli_filter: Optional[Literal["contains", "starts_with", "ends_with"]] = None
26
- """Filter type for CLI matching"""
27
-
28
- filter_type: Optional[Literal["and", "or"]] = None
29
- """Logical operator for combining filters"""
30
-
31
- tags_list: Optional[str] = None
32
- """Tag name to filter by"""
33
-
34
-
35
- class Data(BaseModel):
36
- id: Optional[str] = None
37
- """Identifies the resource"""
38
-
39
- connections: Optional[List[int]] = None
40
-
41
- created_at: Optional[datetime] = None
42
-
43
- directions: Optional[List[Literal["INBOUND", "OUTBOUND"]]] = None
44
-
45
- end_date: Optional[datetime] = None
46
-
47
- filters: Optional[List[DataFilter]] = None
48
-
49
- profiles: Optional[List[str]] = None
50
- """List of messaging profile IDs"""
51
-
52
- record_type: Optional[str] = None
53
-
54
- record_types: Optional[List[Literal["INCOMPLETE", "COMPLETED", "ERRORS"]]] = None
55
-
56
- report_name: Optional[str] = None
57
-
58
- report_url: Optional[str] = None
59
-
60
- start_date: Optional[datetime] = None
61
-
62
- status: Optional[Literal["PENDING", "COMPLETE", "FAILED", "EXPIRED"]] = None
63
-
64
- updated_at: Optional[datetime] = None
8
+ __all__ = ["MessagingDeleteResponse"]
65
9
 
66
10
 
67
11
  class MessagingDeleteResponse(BaseModel):
68
- data: Optional[Data] = None
12
+ data: Optional[MdrDetailReportResponse] = None
@@ -1,80 +1,15 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
6
4
 
7
5
  from ....._models import BaseModel
6
+ from .batch_csv_pagination_meta import BatchCsvPaginationMeta
7
+ from .mdr_detail_report_response import MdrDetailReportResponse
8
8
 
9
- __all__ = ["MessagingListResponse", "Data", "DataFilter", "Meta"]
10
-
11
-
12
- class DataFilter(BaseModel):
13
- billing_group: Optional[str] = None
14
- """Billing group UUID to filter by"""
15
-
16
- cld: Optional[str] = None
17
- """Called line identification (destination number)"""
18
-
19
- cld_filter: Optional[Literal["contains", "starts_with", "ends_with"]] = None
20
- """Filter type for CLD matching"""
21
-
22
- cli: Optional[str] = None
23
- """Calling line identification (caller ID)"""
24
-
25
- cli_filter: Optional[Literal["contains", "starts_with", "ends_with"]] = None
26
- """Filter type for CLI matching"""
27
-
28
- filter_type: Optional[Literal["and", "or"]] = None
29
- """Logical operator for combining filters"""
30
-
31
- tags_list: Optional[str] = None
32
- """Tag name to filter by"""
33
-
34
-
35
- class Data(BaseModel):
36
- id: Optional[str] = None
37
- """Identifies the resource"""
38
-
39
- connections: Optional[List[int]] = None
40
-
41
- created_at: Optional[datetime] = None
42
-
43
- directions: Optional[List[Literal["INBOUND", "OUTBOUND"]]] = None
44
-
45
- end_date: Optional[datetime] = None
46
-
47
- filters: Optional[List[DataFilter]] = None
48
-
49
- profiles: Optional[List[str]] = None
50
- """List of messaging profile IDs"""
51
-
52
- record_type: Optional[str] = None
53
-
54
- record_types: Optional[List[Literal["INCOMPLETE", "COMPLETED", "ERRORS"]]] = None
55
-
56
- report_name: Optional[str] = None
57
-
58
- report_url: Optional[str] = None
59
-
60
- start_date: Optional[datetime] = None
61
-
62
- status: Optional[Literal["PENDING", "COMPLETE", "FAILED", "EXPIRED"]] = None
63
-
64
- updated_at: Optional[datetime] = None
65
-
66
-
67
- class Meta(BaseModel):
68
- page_number: Optional[int] = None
69
-
70
- page_size: Optional[int] = None
71
-
72
- total_pages: Optional[int] = None
73
-
74
- total_results: Optional[int] = None
9
+ __all__ = ["MessagingListResponse"]
75
10
 
76
11
 
77
12
  class MessagingListResponse(BaseModel):
78
- data: Optional[List[Data]] = None
13
+ data: Optional[List[MdrDetailReportResponse]] = None
79
14
 
80
- meta: Optional[Meta] = None
15
+ meta: Optional[BatchCsvPaginationMeta] = None