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
@@ -2,14 +2,15 @@
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__ = ["ActionMuteParams"]
9
10
 
10
11
 
11
12
  class ActionMuteParams(TypedDict, total=False):
12
- call_control_ids: List[str]
13
+ call_control_ids: SequenceNotStr[str]
13
14
  """Array of unique identifiers and tokens for controlling the call.
14
15
 
15
16
  When empty all participants will be muted.
@@ -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 TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
8
  from ..calls.loopcount_param import LoopcountParam
9
9
 
10
10
  __all__ = ["ActionPlayParams"]
@@ -17,7 +17,7 @@ class ActionPlayParams(TypedDict, total=False):
17
17
  media_name and audio_url cannot be used together in one request.
18
18
  """
19
19
 
20
- call_control_ids: List[str]
20
+ call_control_ids: SequenceNotStr[str]
21
21
  """
22
22
  List of call control ids identifying participants the audio file should be
23
23
  played to. If not given, the audio file will be played to the entire conference.
@@ -2,9 +2,10 @@
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, Required, TypeAlias, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
8
9
  from ..calls.aws_voice_settings_param import AwsVoiceSettingsParam
9
10
  from ..calls.telnyx_voice_settings_param import TelnyxVoiceSettingsParam
10
11
  from ..calls.eleven_labs_voice_settings_param import ElevenLabsVoiceSettingsParam
@@ -47,7 +48,7 @@ class ActionSpeakParams(TypedDict, total=False):
47
48
  female).
48
49
  """
49
50
 
50
- call_control_ids: List[str]
51
+ call_control_ids: SequenceNotStr[str]
51
52
  """Call Control IDs of participants who will hear the spoken text.
52
53
 
53
54
  When empty all participants will hear the spoken text.
@@ -2,14 +2,15 @@
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__ = ["ActionStopParams"]
9
10
 
10
11
 
11
12
  class ActionStopParams(TypedDict, total=False):
12
- call_control_ids: List[str]
13
+ call_control_ids: SequenceNotStr[str]
13
14
  """
14
15
  List of call control ids identifying participants the audio file should stop be
15
16
  played to. If not given, the audio will be stoped to the entire conference.
@@ -2,14 +2,15 @@
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__ = ["ActionUnholdParams"]
9
10
 
10
11
 
11
12
  class ActionUnholdParams(TypedDict, total=False):
12
- call_control_ids: Required[List[str]]
13
+ call_control_ids: Required[SequenceNotStr[str]]
13
14
  """List of unique identifiers and tokens for controlling the call.
14
15
 
15
16
  Enter each call control ID to be unheld.
@@ -2,14 +2,15 @@
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__ = ["ActionUnmuteParams"]
9
10
 
10
11
 
11
12
  class ActionUnmuteParams(TypedDict, total=False):
12
- call_control_ids: List[str]
13
+ call_control_ids: SequenceNotStr[str]
13
14
  """List of unique identifiers and tokens for controlling the call.
14
15
 
15
16
  Enter each call control ID to be unmuted. When empty all participants will be
@@ -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 Literal, Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["ActionUpdateParams"]
9
10
 
10
11
 
@@ -29,7 +30,7 @@ class ActionUpdateParams(TypedDict, total=False):
29
30
  has already been executed.
30
31
  """
31
32
 
32
- whisper_call_control_ids: List[str]
33
+ whisper_call_control_ids: SequenceNotStr[str]
33
34
  """Array of unique call_control_ids the supervisor can whisper to.
34
35
 
35
36
  If none provided, the supervisor will join the conference as a monitoring
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .dtmf_type import DtmfType
9
10
  from .encrypted_media import EncryptedMedia
10
11
  from .anchorsite_override import AnchorsiteOverride
@@ -96,7 +97,7 @@ class CredentialConnectionCreateParams(TypedDict, total=False):
96
97
  account (internal).
97
98
  """
98
99
 
99
- tags: List[str]
100
+ tags: SequenceNotStr[str]
100
101
  """Tags associated with the connection."""
101
102
 
102
103
  webhook_api_version: Literal["1", "2", "texml"]
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .dtmf_type import DtmfType
9
10
  from .encrypted_media import EncryptedMedia
10
11
  from .anchorsite_override import AnchorsiteOverride
@@ -89,7 +90,7 @@ class CredentialConnectionUpdateParams(TypedDict, total=False):
89
90
  account (internal).
90
91
  """
91
92
 
92
- tags: List[str]
93
+ tags: SequenceNotStr[str]
93
94
  """Tags associated with the connection."""
94
95
 
95
96
  user_name: str
@@ -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 Literal, TypedDict
7
6
 
7
+ from .._types import SequenceNotStr
8
+
8
9
  __all__ = ["CredentialInboundParam"]
9
10
 
10
11
 
@@ -21,7 +22,7 @@ class CredentialInboundParam(TypedDict, total=False):
21
22
  associated with this connection.
22
23
  """
23
24
 
24
- codecs: List[str]
25
+ codecs: SequenceNotStr[str]
25
26
  """
26
27
  Defines the list of codecs that Telnyx will send for inbound calls to a specific
27
28
  number on your portal account, in priority order. This only works when the
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .._models import BaseModel
4
+
5
+ __all__ = ["CustomSipHeader"]
6
+
7
+
8
+ class CustomSipHeader(BaseModel):
9
+ name: str
10
+ """The name of the header to add."""
11
+
12
+ value: str
13
+ """The value of the header."""
@@ -6,6 +6,7 @@ from typing import List, Union
6
6
  from datetime import datetime
7
7
  from typing_extensions import Literal, Annotated, TypedDict
8
8
 
9
+ from .._types import SequenceNotStr
9
10
  from .._utils import PropertyInfo
10
11
 
11
12
  __all__ = [
@@ -49,7 +50,7 @@ class FilterCreatedAt(TypedDict, total=False):
49
50
  _FilterPhoneNumberReservedKeywords = TypedDict(
50
51
  "_FilterPhoneNumberReservedKeywords",
51
52
  {
52
- "in": List[str],
53
+ "in": SequenceNotStr[str],
53
54
  },
54
55
  total=False,
55
56
  )
@@ -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
@@ -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__ = ["CustomerServiceRecordVerifyPhoneNumberCoverageParams"]
9
10
 
10
11
 
11
12
  class CustomerServiceRecordVerifyPhoneNumberCoverageParams(TypedDict, total=False):
12
- phone_numbers: Required[List[str]]
13
+ phone_numbers: Required[SequenceNotStr[str]]
13
14
  """The phone numbers list to be verified."""
@@ -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
@@ -2,9 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union
5
+ from typing import Dict, Union
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
9
+
8
10
  __all__ = ["DetailRecordListParams", "Filter", "Page"]
9
11
 
10
12
 
@@ -22,7 +24,7 @@ class DetailRecordListParams(TypedDict, total=False):
22
24
  Originally: page[number], page[size]
23
25
  """
24
26
 
25
- sort: List[str]
27
+ sort: SequenceNotStr[str]
26
28
  """Specifies the sort order for results. <br/>Example: sort=-created_at"""
27
29
 
28
30
 
@@ -6,6 +6,7 @@ from typing import List, Union
6
6
  from datetime import datetime
7
7
  from typing_extensions import Literal, Annotated, TypedDict
8
8
 
9
+ from .._types import SequenceNotStr
9
10
  from .._utils import PropertyInfo
10
11
 
11
12
  __all__ = ["DocumentListParams", "Filter", "FilterCreatedAt", "FilterCustomerReference", "FilterFilename", "Page"]
@@ -43,7 +44,7 @@ class FilterCreatedAt(TypedDict, total=False):
43
44
  _FilterCustomerReferenceReservedKeywords = TypedDict(
44
45
  "_FilterCustomerReferenceReservedKeywords",
45
46
  {
46
- "in": List[str],
47
+ "in": SequenceNotStr[str],
47
48
  },
48
49
  total=False,
49
50
  )
@@ -2,9 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
9
+
8
10
  __all__ = ["ExternalConnectionCreateParams", "Outbound", "Inbound"]
9
11
 
10
12
 
@@ -19,7 +21,7 @@ class ExternalConnectionCreateParams(TypedDict, total=False):
19
21
 
20
22
  inbound: Inbound
21
23
 
22
- tags: List[str]
24
+ tags: SequenceNotStr[str]
23
25
  """Tags associated with the connection."""
24
26
 
25
27
  webhook_event_failover_url: Optional[str]
@@ -2,9 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
9
+
8
10
  __all__ = ["ExternalConnectionUpdateParams", "Outbound", "Inbound"]
9
11
 
10
12
 
@@ -16,7 +18,7 @@ class ExternalConnectionUpdateParams(TypedDict, total=False):
16
18
 
17
19
  inbound: Inbound
18
20
 
19
- tags: List[str]
21
+ tags: SequenceNotStr[str]
20
22
  """Tags associated with the connection."""
21
23
 
22
24
  webhook_event_failover_url: Optional[str]
@@ -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__ = ["CivicAddressListParams", "Filter"]
9
10
 
10
11
 
@@ -17,5 +18,5 @@ class CivicAddressListParams(TypedDict, total=False):
17
18
 
18
19
 
19
20
  class Filter(TypedDict, total=False):
20
- country: List[str]
21
+ country: SequenceNotStr[str]
21
22
  """The country (or countries) to filter addresses by."""
@@ -5,11 +5,13 @@ from __future__ import annotations
5
5
  from typing import List
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
9
+
8
10
  __all__ = ["UploadCreateParams"]
9
11
 
10
12
 
11
13
  class UploadCreateParams(TypedDict, total=False):
12
- number_ids: Required[List[str]]
14
+ number_ids: Required[SequenceNotStr[str]]
13
15
 
14
16
  additional_usages: List[Literal["calling_user_assignment", "first_party_app_assignment"]]
15
17
 
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .anchorsite_override import AnchorsiteOverride
9
10
 
10
11
  __all__ = ["FaxApplicationCreateParams", "Inbound", "Outbound"]
@@ -34,7 +35,7 @@ class FaxApplicationCreateParams(TypedDict, total=False):
34
35
 
35
36
  outbound: Outbound
36
37
 
37
- tags: List[str]
38
+ tags: SequenceNotStr[str]
38
39
  """Tags associated with the Fax Application."""
39
40
 
40
41
  webhook_event_failover_url: Optional[str]
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .anchorsite_override import AnchorsiteOverride
9
10
 
10
11
  __all__ = ["FaxApplicationUpdateParams", "Inbound", "Outbound"]
@@ -40,7 +41,7 @@ class FaxApplicationUpdateParams(TypedDict, total=False):
40
41
 
41
42
  outbound: Outbound
42
43
 
43
- tags: List[str]
44
+ tags: SequenceNotStr[str]
44
45
  """Tags associated with the Fax Application."""
45
46
 
46
47
  webhook_event_failover_url: Optional[str]
@@ -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."""