telnyx 3.2.0a0__py3-none-any.whl → 3.4.0a0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of telnyx might be problematic. Click here for more details.

Files changed (226) hide show
  1. telnyx/_base_client.py +3 -3
  2. telnyx/_client.py +5 -0
  3. telnyx/_compat.py +48 -48
  4. telnyx/_models.py +40 -40
  5. telnyx/_types.py +35 -1
  6. telnyx/_utils/__init__.py +9 -2
  7. telnyx/_utils/_compat.py +45 -0
  8. telnyx/_utils/_datetime_parse.py +136 -0
  9. telnyx/_utils/_transform.py +11 -1
  10. telnyx/_utils/_typing.py +6 -1
  11. telnyx/_utils/_utils.py +0 -1
  12. telnyx/_version.py +1 -1
  13. telnyx/resources/__init__.py +3 -0
  14. telnyx/resources/actions/purchase.py +3 -4
  15. telnyx/resources/actions/register.py +5 -6
  16. telnyx/resources/ai/chat.py +4 -4
  17. telnyx/resources/ai/clusters.py +3 -5
  18. telnyx/resources/ai/conversations/messages.py +4 -4
  19. telnyx/resources/ai/embeddings/embeddings.py +3 -4
  20. telnyx/resources/call_control_applications.py +4 -4
  21. telnyx/resources/calls/calls.py +4 -4
  22. telnyx/resources/campaign_builder/campaign_builder.py +6 -6
  23. telnyx/resources/conferences/actions.py +19 -20
  24. telnyx/resources/credential_connections/credential_connections.py +6 -6
  25. telnyx/resources/customer_service_records.py +3 -5
  26. telnyx/resources/detail_records.py +3 -5
  27. telnyx/resources/external_connections/external_connections.py +6 -6
  28. telnyx/resources/external_connections/uploads.py +3 -3
  29. telnyx/resources/fax_applications.py +6 -6
  30. telnyx/resources/fqdn_connections.py +6 -6
  31. telnyx/resources/ip_connections.py +6 -6
  32. telnyx/resources/messages/messages.py +16 -16
  33. telnyx/resources/messaging/rcs/rcs.py +3 -5
  34. telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +8 -8
  35. telnyx/resources/messaging_numbers_bulk_updates.py +3 -5
  36. telnyx/resources/messaging_profiles/autoresp_configs.py +5 -6
  37. telnyx/resources/messaging_profiles/messaging_profiles.py +6 -6
  38. telnyx/resources/numbers_features.py +3 -5
  39. telnyx/resources/outbound_voice_profiles.py +10 -10
  40. telnyx/resources/phone_numbers/actions.py +3 -5
  41. telnyx/resources/phone_numbers/jobs.py +10 -10
  42. telnyx/resources/phone_numbers/phone_numbers.py +3 -4
  43. telnyx/resources/portability_checks.py +3 -5
  44. telnyx/resources/porting_orders/porting_orders.py +4 -4
  45. telnyx/resources/porting_orders/verification_codes.py +4 -4
  46. telnyx/resources/recordings/actions.py +3 -5
  47. telnyx/resources/reports/mdr_usage_reports.py +4 -4
  48. telnyx/resources/reports/reports.py +3 -4
  49. telnyx/resources/rooms/sessions/actions.py +14 -14
  50. telnyx/resources/sim_cards/actions.py +5 -7
  51. telnyx/resources/sim_cards/sim_cards.py +5 -6
  52. telnyx/resources/texml_applications.py +5 -6
  53. telnyx/resources/usage_reports.py +7 -8
  54. telnyx/resources/webhooks.py +34 -0
  55. telnyx/resources/wireless_blocklists.py +5 -6
  56. telnyx/types/__init__.py +115 -4
  57. telnyx/types/actions/purchase_create_params.py +3 -2
  58. telnyx/types/actions/register_create_params.py +4 -3
  59. telnyx/types/ai/chat_create_completion_params.py +3 -2
  60. telnyx/types/ai/cluster_compute_params.py +3 -2
  61. telnyx/types/ai/conversations/message_create_params.py +3 -2
  62. telnyx/types/ai/embedding_list_params.py +3 -2
  63. telnyx/types/ai/inference_embedding_bucket_ids_param.py +3 -2
  64. telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +6 -4
  65. telnyx/types/bundle_pricing/billing_bundle_list_params.py +4 -3
  66. telnyx/types/bundle_pricing/user_bundle_list_params.py +4 -3
  67. telnyx/types/bundle_pricing/user_bundle_list_unused_params.py +4 -3
  68. telnyx/types/call_ai_gather_ended_webhook_event.py +78 -0
  69. telnyx/types/call_ai_gather_message_history_updated_webhook_event.py +69 -0
  70. telnyx/types/call_ai_gather_partial_results_webhook_event.py +75 -0
  71. telnyx/types/call_answered_webhook_event.py +75 -0
  72. telnyx/types/call_bridged_webhook_event.py +58 -0
  73. telnyx/types/call_control_application_update_params.py +3 -2
  74. telnyx/types/call_conversation_ended_webhook_event.py +84 -0
  75. telnyx/types/call_conversation_insights_generated_webhook_event.py +67 -0
  76. telnyx/types/call_dial_params.py +4 -3
  77. telnyx/types/call_dtmf_received_webhook_event.py +61 -0
  78. telnyx/types/call_enqueued_webhook_event.py +59 -0
  79. telnyx/types/call_fork_started_webhook_event.py +53 -0
  80. telnyx/types/call_fork_stopped_webhook_event.py +53 -0
  81. telnyx/types/call_gather_ended_webhook_event.py +64 -0
  82. telnyx/types/call_hangup_webhook_event.py +150 -0
  83. telnyx/types/call_initiated_webhook_event.py +96 -0
  84. telnyx/types/call_left_queue_webhook_event.py +62 -0
  85. telnyx/types/call_machine_detection_ended_webhook_event.py +61 -0
  86. telnyx/types/call_machine_greeting_ended_webhook_event.py +61 -0
  87. telnyx/types/call_machine_premium_detection_ended_webhook_event.py +63 -0
  88. telnyx/types/call_machine_premium_greeting_ended_webhook_event.py +61 -0
  89. telnyx/types/call_playback_ended_webhook_event.py +70 -0
  90. telnyx/types/call_playback_started_webhook_event.py +62 -0
  91. telnyx/types/call_recording_error_webhook_event.py +60 -0
  92. telnyx/types/call_recording_saved_webhook_event.py +94 -0
  93. telnyx/types/call_recording_transcription_saved_webhook_event.py +71 -0
  94. telnyx/types/call_refer_completed_webhook_event.py +61 -0
  95. telnyx/types/call_refer_failed_webhook_event.py +61 -0
  96. telnyx/types/call_refer_started_webhook_event.py +61 -0
  97. telnyx/types/call_siprec_failed_webhook_event.py +53 -0
  98. telnyx/types/call_siprec_started_webhook_event.py +50 -0
  99. telnyx/types/call_siprec_stopped_webhook_event.py +53 -0
  100. telnyx/types/call_speak_ended_webhook_event.py +53 -0
  101. telnyx/types/call_speak_started_webhook_event.py +50 -0
  102. telnyx/types/call_streaming_failed_webhook_event.py +70 -0
  103. telnyx/types/call_streaming_started_webhook_event.py +53 -0
  104. telnyx/types/call_streaming_stopped_webhook_event.py +53 -0
  105. telnyx/types/calls/transcription_engine_a_config_param.py +4 -3
  106. telnyx/types/campaign_builder_create_params.py +4 -3
  107. telnyx/types/campaign_status_update_webhook_event.py +26 -0
  108. telnyx/types/conference_created_webhook_event.py +53 -0
  109. telnyx/types/conference_ended_webhook_event.py +56 -0
  110. telnyx/types/conference_floor_changed_webhook_event.py +45 -0
  111. telnyx/types/conference_participant_joined_webhook_event.py +53 -0
  112. telnyx/types/conference_participant_left_webhook_event.py +53 -0
  113. telnyx/types/conference_participant_playback_ended_webhook_event.py +65 -0
  114. telnyx/types/conference_participant_playback_started_webhook_event.py +65 -0
  115. telnyx/types/conference_participant_speak_ended_webhook_event.py +56 -0
  116. telnyx/types/conference_participant_speak_started_webhook_event.py +56 -0
  117. telnyx/types/conference_playback_ended_webhook_event.py +49 -0
  118. telnyx/types/conference_playback_started_webhook_event.py +49 -0
  119. telnyx/types/conference_recording_saved_webhook_event.py +103 -0
  120. telnyx/types/conference_speak_ended_webhook_event.py +40 -0
  121. telnyx/types/conference_speak_started_webhook_event.py +40 -0
  122. telnyx/types/conferences/action_hold_params.py +3 -2
  123. telnyx/types/conferences/action_join_params.py +3 -2
  124. telnyx/types/conferences/action_mute_params.py +3 -2
  125. telnyx/types/conferences/action_play_params.py +2 -2
  126. telnyx/types/conferences/action_speak_params.py +3 -2
  127. telnyx/types/conferences/action_stop_params.py +3 -2
  128. telnyx/types/conferences/action_unhold_params.py +3 -2
  129. telnyx/types/conferences/action_unmute_params.py +3 -2
  130. telnyx/types/conferences/action_update_params.py +3 -2
  131. telnyx/types/credential_connection_create_params.py +3 -2
  132. telnyx/types/credential_connection_update_params.py +3 -2
  133. telnyx/types/credential_inbound_param.py +3 -2
  134. telnyx/types/custom_sip_header.py +13 -0
  135. telnyx/types/customer_service_record_list_params.py +2 -1
  136. telnyx/types/customer_service_record_status_changed_webhook_event.py +55 -0
  137. telnyx/types/customer_service_record_verify_phone_number_coverage_params.py +3 -2
  138. telnyx/types/delivery_update_webhook_event.py +40 -0
  139. telnyx/types/detail_record_list_params.py +4 -2
  140. telnyx/types/document_list_params.py +2 -1
  141. telnyx/types/external_connection_create_params.py +4 -2
  142. telnyx/types/external_connection_update_params.py +4 -2
  143. telnyx/types/external_connections/civic_address_list_params.py +3 -2
  144. telnyx/types/external_connections/upload_create_params.py +3 -1
  145. telnyx/types/fax_application_create_params.py +3 -2
  146. telnyx/types/fax_application_update_params.py +3 -2
  147. telnyx/types/fax_delivered_webhook_event.py +69 -0
  148. telnyx/types/fax_failed_webhook_event.py +66 -0
  149. telnyx/types/fax_media_processed_webhook_event.py +63 -0
  150. telnyx/types/fax_queued_webhook_event.py +63 -0
  151. telnyx/types/fax_sending_started_webhook_event.py +63 -0
  152. telnyx/types/fqdn_connection_create_params.py +3 -2
  153. telnyx/types/fqdn_connection_update_params.py +3 -2
  154. telnyx/types/inbound_fqdn_param.py +4 -2
  155. telnyx/types/inbound_ip_param.py +3 -2
  156. telnyx/types/inbound_message_webhook_event.py +227 -0
  157. telnyx/types/ip_connection_create_params.py +4 -3
  158. telnyx/types/ip_connection_update_params.py +3 -2
  159. telnyx/types/media_list_params.py +3 -2
  160. telnyx/types/message_schedule_params.py +3 -2
  161. telnyx/types/message_send_group_mms_params.py +3 -3
  162. telnyx/types/message_send_long_code_params.py +2 -2
  163. telnyx/types/message_send_number_pool_params.py +3 -2
  164. telnyx/types/message_send_params.py +3 -2
  165. telnyx/types/message_send_short_code_params.py +2 -2
  166. telnyx/types/messaging/rc_list_bulk_capabilities_params.py +3 -2
  167. telnyx/types/messaging_hosted_number_order_check_eligibility_params.py +3 -2
  168. telnyx/types/messaging_hosted_number_order_create_params.py +3 -2
  169. telnyx/types/messaging_hosted_number_order_create_verification_codes_params.py +3 -2
  170. telnyx/types/messaging_numbers_bulk_update_create_params.py +3 -2
  171. telnyx/types/messaging_profile_create_params.py +3 -2
  172. telnyx/types/messaging_profile_update_params.py +3 -2
  173. telnyx/types/messaging_profiles/autoresp_config_create_params.py +3 -2
  174. telnyx/types/messaging_profiles/autoresp_config_update_params.py +3 -2
  175. telnyx/types/messsage_rcs_params.py +2 -2
  176. telnyx/types/number_order_status_update_webhook_event.py +12 -0
  177. telnyx/types/numbers_feature_create_params.py +3 -2
  178. telnyx/types/outbound_call_recording_param.py +3 -2
  179. telnyx/types/outbound_voice_profile_create_params.py +4 -3
  180. telnyx/types/outbound_voice_profile_update_params.py +4 -3
  181. telnyx/types/phone_number_list_params.py +3 -2
  182. telnyx/types/phone_number_slim_list_params.py +3 -2
  183. telnyx/types/phone_number_update_params.py +3 -2
  184. telnyx/types/phone_numbers/action_verify_ownership_params.py +3 -2
  185. telnyx/types/phone_numbers/job_delete_batch_params.py +3 -2
  186. telnyx/types/phone_numbers/job_update_batch_params.py +3 -3
  187. telnyx/types/phone_numbers/job_update_emergency_settings_batch_params.py +4 -2
  188. telnyx/types/portability_check_run_params.py +3 -2
  189. telnyx/types/porting/export_porting_orders_csv_report_param.py +2 -1
  190. telnyx/types/porting_order_create_params.py +3 -2
  191. telnyx/types/porting_order_phone_number_configuration_param.py +3 -2
  192. telnyx/types/porting_orders/action_requirement_list_params.py +3 -2
  193. telnyx/types/porting_orders/phone_number_block_list_params.py +5 -3
  194. telnyx/types/porting_orders/phone_number_configuration_list_params.py +3 -2
  195. telnyx/types/porting_orders/verification_code_send_params.py +3 -2
  196. telnyx/types/portout_list_params.py +2 -1
  197. telnyx/types/portouts/export_portouts_csv_report_param.py +3 -2
  198. telnyx/types/recordings/action_delete_params.py +3 -2
  199. telnyx/types/replaced_link_click_webhook_event.py +32 -0
  200. telnyx/types/report_list_wdrs_params.py +3 -2
  201. telnyx/types/reports/mdr_usage_report_fetch_sync_params.py +3 -2
  202. telnyx/types/rooms/sessions/action_kick_params.py +5 -3
  203. telnyx/types/rooms/sessions/action_mute_params.py +5 -3
  204. telnyx/types/rooms/sessions/action_unmute_params.py +5 -3
  205. telnyx/types/sim_card_list_params.py +2 -1
  206. telnyx/types/sim_card_update_params.py +3 -3
  207. telnyx/types/sim_cards/action_bulk_set_public_ips_params.py +3 -2
  208. telnyx/types/sim_cards/action_validate_registration_codes_params.py +3 -2
  209. telnyx/types/sip_header.py +15 -0
  210. telnyx/types/streaming_failed_webhook_event.py +70 -0
  211. telnyx/types/streaming_started_webhook_event.py +53 -0
  212. telnyx/types/streaming_stopped_webhook_event.py +53 -0
  213. telnyx/types/texml_application_create_params.py +2 -2
  214. telnyx/types/texml_application_update_params.py +2 -2
  215. telnyx/types/transcription_webhook_event.py +72 -0
  216. telnyx/types/unwrap_webhook_event.py +138 -0
  217. telnyx/types/usage_report_list_params.py +5 -4
  218. telnyx/types/verify_profile_create_params.py +6 -4
  219. telnyx/types/verify_profile_update_params.py +6 -4
  220. telnyx/types/video_region_param.py +4 -2
  221. telnyx/types/wireless_blocklist_create_params.py +3 -2
  222. telnyx/types/wireless_blocklist_update_params.py +3 -2
  223. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/METADATA +1 -1
  224. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/RECORD +226 -156
  225. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/WHEEL +0 -0
  226. {telnyx-3.2.0a0.dist-info → telnyx-3.4.0a0.dist-info}/licenses/LICENSE +0 -0
@@ -6,6 +6,7 @@ from typing import List, Union
6
6
  from datetime import datetime
7
7
  from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
+ from ..._types import SequenceNotStr
9
10
  from ..._utils import PropertyInfo
10
11
 
11
12
  __all__ = ["ExportPortoutsCsvReportParam", "Filters"]
@@ -18,13 +19,13 @@ class Filters(TypedDict, total=False):
18
19
  created_at_lt: Annotated[Union[str, datetime], PropertyInfo(alias="created_at__lt", format="iso8601")]
19
20
  """The date and time the port-out was created before."""
20
21
 
21
- customer_reference_in: Annotated[List[str], PropertyInfo(alias="customer_reference__in")]
22
+ customer_reference_in: Annotated[SequenceNotStr[str], PropertyInfo(alias="customer_reference__in")]
22
23
  """The customer reference of the port-outs to include in the report."""
23
24
 
24
25
  end_user_name: str
25
26
  """The end user name of the port-outs to include in the report."""
26
27
 
27
- phone_numbers_overlaps: Annotated[List[str], PropertyInfo(alias="phone_numbers__overlaps")]
28
+ phone_numbers_overlaps: Annotated[SequenceNotStr[str], PropertyInfo(alias="phone_numbers__overlaps")]
28
29
  """A list of phone numbers that the port-outs phone numbers must overlap with."""
29
30
 
30
31
  status_in: Annotated[
@@ -2,12 +2,13 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["ActionDeleteParams"]
9
10
 
10
11
 
11
12
  class ActionDeleteParams(TypedDict, total=False):
12
- ids: Required[List[str]]
13
+ ids: Required[SequenceNotStr[str]]
13
14
  """List of call recording IDs to delete."""
@@ -0,0 +1,32 @@
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
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ReplacedLinkClickWebhookEvent", "Data"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ message_id: Optional[str] = None
13
+ """The message ID associated with the clicked link."""
14
+
15
+ record_type: Optional[str] = None
16
+ """Identifies the type of the resource."""
17
+
18
+ time_clicked: Optional[datetime] = None
19
+ """ISO 8601 formatted date indicating when the message request was received."""
20
+
21
+ to: Optional[str] = None
22
+ """
23
+ Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short
24
+ code).
25
+ """
26
+
27
+ url: Optional[str] = None
28
+ """The original link that was sent in the message."""
29
+
30
+
31
+ class ReplacedLinkClickWebhookEvent(BaseModel):
32
+ data: Optional[Data] = None
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
+
8
9
  __all__ = ["ReportListWdrsParams", "Page"]
9
10
 
10
11
 
@@ -42,7 +43,7 @@ class ReportListWdrsParams(TypedDict, total=False):
42
43
  sim_group_name: str
43
44
  """Sim group name"""
44
45
 
45
- sort: List[str]
46
+ sort: SequenceNotStr[str]
46
47
  """Field used to order the data.
47
48
 
48
49
  If no field is specified, default value is 'created_at'
@@ -2,10 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union
5
+ from typing import Union
6
6
  from datetime import datetime
7
7
  from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
+ from ..._types import SequenceNotStr
9
10
  from ..._utils import PropertyInfo
10
11
 
11
12
  __all__ = ["MdrUsageReportFetchSyncParams"]
@@ -16,6 +17,6 @@ class MdrUsageReportFetchSyncParams(TypedDict, total=False):
16
17
 
17
18
  end_date: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
18
19
 
19
- profiles: List[str]
20
+ profiles: SequenceNotStr[str]
20
21
 
21
22
  start_date: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
@@ -2,17 +2,19 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union
5
+ from typing import Union
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["ActionKickParams"]
9
11
 
10
12
 
11
13
  class ActionKickParams(TypedDict, total=False):
12
- exclude: List[str]
14
+ exclude: SequenceNotStr[str]
13
15
  """List of participant id to exclude from the action."""
14
16
 
15
- participants: Union[Literal["all"], List[str]]
17
+ participants: Union[Literal["all"], SequenceNotStr[str]]
16
18
  """
17
19
  Either a list of participant id to perform the action on, or the keyword "all"
18
20
  to perform the action on all participant.
@@ -2,17 +2,19 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union
5
+ from typing import Union
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["ActionMuteParams"]
9
11
 
10
12
 
11
13
  class ActionMuteParams(TypedDict, total=False):
12
- exclude: List[str]
14
+ exclude: SequenceNotStr[str]
13
15
  """List of participant id to exclude from the action."""
14
16
 
15
- participants: Union[Literal["all"], List[str]]
17
+ participants: Union[Literal["all"], SequenceNotStr[str]]
16
18
  """
17
19
  Either a list of participant id to perform the action on, or the keyword "all"
18
20
  to perform the action on all participant.
@@ -2,17 +2,19 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union
5
+ from typing import Union
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["ActionUnmuteParams"]
9
11
 
10
12
 
11
13
  class ActionUnmuteParams(TypedDict, total=False):
12
- exclude: List[str]
14
+ exclude: SequenceNotStr[str]
13
15
  """List of participant id to exclude from the action."""
14
16
 
15
- participants: Union[Literal["all"], List[str]]
17
+ participants: Union[Literal["all"], SequenceNotStr[str]]
16
18
  """
17
19
  Either a list of participant id to perform the action on, or the keyword "all"
18
20
  to perform the action on all participant.
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  from typing import List
6
6
  from typing_extensions import Literal, Annotated, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .._utils import PropertyInfo
9
10
 
10
11
  __all__ = ["SimCardListParams", "Filter", "Page"]
@@ -43,7 +44,7 @@ class Filter(TypedDict, total=False):
43
44
  status: List[Literal["enabled", "disabled", "standby", "data_limit_exceeded", "unauthorized_imei"]]
44
45
  """Filter by a SIM card's status."""
45
46
 
46
- tags: List[str]
47
+ tags: SequenceNotStr[str]
47
48
  """
48
49
  A list of SIM card tags to filter on.<br/><br/> If the SIM card contains
49
50
  <b><i>all</i></b> of the given <code>tags</code> they will be found.<br/><br/>
@@ -2,16 +2,16 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
8
  from .shared_params.sim_card_status import SimCardStatus
9
9
 
10
10
  __all__ = ["SimCardUpdateParams", "DataLimit"]
11
11
 
12
12
 
13
13
  class SimCardUpdateParams(TypedDict, total=False):
14
- authorized_imeis: List[str]
14
+ authorized_imeis: SequenceNotStr[str]
15
15
  """List of IMEIs authorized to use a given SIM card."""
16
16
 
17
17
  data_limit: DataLimit
@@ -26,7 +26,7 @@ class SimCardUpdateParams(TypedDict, total=False):
26
26
 
27
27
  status: SimCardStatus
28
28
 
29
- tags: List[str]
29
+ tags: SequenceNotStr[str]
30
30
  """Searchable tags associated with the SIM card"""
31
31
 
32
32
 
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["ActionBulkSetPublicIPsParams"]
9
10
 
10
11
 
11
12
  class ActionBulkSetPublicIPsParams(TypedDict, total=False):
12
- sim_card_ids: Required[List[str]]
13
+ sim_card_ids: Required[SequenceNotStr[str]]
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["ActionValidateRegistrationCodesParams"]
9
10
 
10
11
 
11
12
  class ActionValidateRegistrationCodesParams(TypedDict, total=False):
12
- registration_codes: List[str]
13
+ registration_codes: SequenceNotStr[str]
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["SipHeader"]
8
+
9
+
10
+ class SipHeader(BaseModel):
11
+ name: Literal["User-to-User"]
12
+ """The name of the header to add."""
13
+
14
+ value: str
15
+ """The value of the header."""
@@ -0,0 +1,70 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["StreamingFailedWebhookEvent", "Data", "DataPayload", "DataPayloadStreamParams"]
10
+
11
+
12
+ class DataPayloadStreamParams(BaseModel):
13
+ stream_url: Optional[str] = None
14
+ """The destination WebSocket address where the stream is going to be delivered."""
15
+
16
+ track: Optional[Literal["inbound_track", "outbound_track", "both_tracks"]] = None
17
+ """Specifies which track should be streamed."""
18
+
19
+
20
+ class DataPayload(BaseModel):
21
+ call_control_id: Optional[str] = None
22
+ """Call ID used to issue commands via Call Control API."""
23
+
24
+ call_leg_id: Optional[str] = None
25
+ """ID that is unique to the call and can be used to correlate webhook events."""
26
+
27
+ call_session_id: Optional[str] = None
28
+ """
29
+ ID that is unique to the call session and can be used to correlate webhook
30
+ events. Call session is a group of related call legs that logically belong to
31
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
32
+ """
33
+
34
+ client_state: Optional[str] = None
35
+ """State received from a command."""
36
+
37
+ connection_id: Optional[str] = None
38
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
39
+
40
+ failure_reason: Optional[str] = None
41
+ """A short description explaning why the media streaming failed."""
42
+
43
+ stream_id: Optional[str] = None
44
+ """Identifies the streaming."""
45
+
46
+ stream_params: Optional[DataPayloadStreamParams] = None
47
+ """Streaming parameters as they were originally given to the Call Control API."""
48
+
49
+ stream_type: Optional[Literal["websocket", "dialogflow"]] = None
50
+ """The type of stream connection the stream is performing."""
51
+
52
+
53
+ class Data(BaseModel):
54
+ id: Optional[str] = None
55
+ """Identifies the type of resource."""
56
+
57
+ event_type: Optional[Literal["streaming.failed"]] = None
58
+ """The type of event being delivered."""
59
+
60
+ occurred_at: Optional[datetime] = None
61
+ """ISO 8601 datetime of when the event occurred."""
62
+
63
+ payload: Optional[DataPayload] = None
64
+
65
+ record_type: Optional[Literal["event"]] = None
66
+ """Identifies the resource."""
67
+
68
+
69
+ class StreamingFailedWebhookEvent(BaseModel):
70
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["StreamingStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.started"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class StreamingStartedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["StreamingStoppedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.stopped"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class StreamingStoppedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -2,9 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
8
  from .dtmf_type import DtmfType
9
9
  from .anchorsite_override import AnchorsiteOverride
10
10
 
@@ -56,7 +56,7 @@ class TexmlApplicationCreateParams(TypedDict, total=False):
56
56
  status_callback_method: Literal["get", "post"]
57
57
  """HTTP request method Telnyx should use when requesting the status_callback URL."""
58
58
 
59
- tags: List[str]
59
+ tags: SequenceNotStr[str]
60
60
  """Tags associated with the Texml Application."""
61
61
 
62
62
  voice_fallback_url: str
@@ -2,9 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
8
  from .dtmf_type import DtmfType
9
9
  from .anchorsite_override import AnchorsiteOverride
10
10
 
@@ -56,7 +56,7 @@ class TexmlApplicationUpdateParams(TypedDict, total=False):
56
56
  status_callback_method: Literal["get", "post"]
57
57
  """HTTP request method Telnyx should use when requesting the status_callback URL."""
58
58
 
59
- tags: List[str]
59
+ tags: SequenceNotStr[str]
60
60
  """Tags associated with the Texml Application."""
61
61
 
62
62
  voice_fallback_url: str
@@ -0,0 +1,72 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["TranscriptionWebhookEvent", "Data", "DataPayload", "DataPayloadTranscriptionData"]
10
+
11
+
12
+ class DataPayloadTranscriptionData(BaseModel):
13
+ confidence: Optional[float] = None
14
+ """Speech recognition confidence level."""
15
+
16
+ is_final: Optional[bool] = None
17
+ """When false, it means that this is an interim result."""
18
+
19
+ transcript: Optional[str] = None
20
+ """Recognized text."""
21
+
22
+ transcription_track: Optional[Literal["inbound", "outbound"]] = None
23
+ """Indicates which leg of the call has been transcribed.
24
+
25
+ This is only available when `transcription_engine` is set to `B`.
26
+ """
27
+
28
+
29
+ class DataPayload(BaseModel):
30
+ call_control_id: Optional[str] = None
31
+ """Unique identifier and token for controlling the call."""
32
+
33
+ call_leg_id: Optional[str] = None
34
+ """ID that is unique to the call and can be used to correlate webhook events."""
35
+
36
+ call_session_id: Optional[str] = None
37
+ """
38
+ ID that is unique to the call session and can be used to correlate webhook
39
+ events. Call session is a group of related call legs that logically belong to
40
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
41
+ """
42
+
43
+ client_state: Optional[str] = None
44
+ """Use this field to add state to every subsequent webhook.
45
+
46
+ It must be a valid Base-64 encoded string.
47
+ """
48
+
49
+ connection_id: Optional[str] = None
50
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
51
+
52
+ transcription_data: Optional[DataPayloadTranscriptionData] = None
53
+
54
+
55
+ class Data(BaseModel):
56
+ id: Optional[str] = None
57
+ """Identifies the type of resource."""
58
+
59
+ event_type: Optional[Literal["call.transcription"]] = None
60
+ """The type of event being delivered."""
61
+
62
+ occurred_at: Optional[datetime] = None
63
+ """ISO 8601 datetime of when the event occurred."""
64
+
65
+ payload: Optional[DataPayload] = None
66
+
67
+ record_type: Optional[Literal["event"]] = None
68
+ """Identifies the type of the resource."""
69
+
70
+
71
+ class TranscriptionWebhookEvent(BaseModel):
72
+ data: Optional[Data] = None