telnyx 3.7.0a0__py3-none-any.whl → 3.9.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 (215) hide show
  1. telnyx/__init__.py +2 -0
  2. telnyx/_client.py +25 -756
  3. telnyx/_exceptions.py +4 -0
  4. telnyx/_version.py +1 -1
  5. telnyx/resources/__init__.py +3 -1
  6. telnyx/resources/advanced_orders.py +63 -63
  7. telnyx/resources/ai/assistants/assistants.py +15 -17
  8. telnyx/resources/ai/assistants/versions.py +13 -15
  9. telnyx/resources/brand/brand.py +8 -4
  10. telnyx/resources/calls/actions.py +10 -6
  11. telnyx/resources/calls/calls.py +16 -2
  12. telnyx/resources/documents.py +242 -37
  13. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
  14. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
  15. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  16. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  17. telnyx/resources/outbound_voice_profiles.py +24 -4
  18. telnyx/resources/sim_cards/actions.py +12 -12
  19. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  20. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  21. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  22. telnyx/resources/verify_profiles.py +9 -10
  23. telnyx/resources/webhooks.py +152 -4
  24. telnyx/types/__init__.py +18 -15
  25. telnyx/types/access_ip_address_list_response.py +3 -12
  26. telnyx/types/access_ip_range_list_response.py +3 -12
  27. telnyx/types/addresses/action_validate_response.py +7 -2
  28. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  29. telnyx/types/ai/__init__.py +1 -3
  30. telnyx/types/ai/assistant_import_params.py +1 -1
  31. telnyx/types/ai/assistants/__init__.py +0 -3
  32. telnyx/types/ai/assistants_list.py +4 -88
  33. telnyx/types/ai/import_metadata.py +1 -1
  34. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  35. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  36. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  37. telnyx/types/ai/voice_settings.py +49 -2
  38. telnyx/types/ai/voice_settings_param.py +49 -2
  39. telnyx/types/brand_create_params.py +2 -1
  40. telnyx/types/brand_update_params.py +2 -1
  41. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  42. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  43. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  44. telnyx/types/call_answered_webhook_event1.py +75 -0
  45. telnyx/types/call_bridged_webhook_event1.py +58 -0
  46. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  47. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  48. telnyx/types/call_dial_params.py +10 -1
  49. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  50. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  51. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  52. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  53. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  54. telnyx/types/call_hangup_webhook_event1.py +150 -0
  55. telnyx/types/call_initiated_webhook_event1.py +96 -0
  56. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  57. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  58. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  59. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  60. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  61. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  62. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  63. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  64. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  65. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  66. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  67. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  68. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  69. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  70. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  71. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  72. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  73. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  74. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  75. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  76. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  77. telnyx/types/calls/__init__.py +1 -0
  78. telnyx/types/calls/action_start_streaming_params.py +2 -1
  79. telnyx/types/calls/action_start_transcription_params.py +160 -6
  80. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  81. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  82. telnyx/types/calls/transcription_start_request_param.py +161 -6
  83. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  84. telnyx/types/conference_created_webhook_event1.py +53 -0
  85. telnyx/types/conference_ended_webhook_event1.py +56 -0
  86. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  87. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  88. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  89. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  90. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  91. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  92. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  93. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  94. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  95. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  96. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  97. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  98. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  99. telnyx/types/country_coverage_retrieve_response.py +7 -0
  100. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  101. telnyx/types/delivery_update_webhook_event1.py +40 -0
  102. telnyx/types/document_upload_json_params.py +39 -0
  103. telnyx/types/document_upload_json_response.py +12 -0
  104. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  105. telnyx/types/fax_failed_webhook_event1.py +66 -0
  106. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  107. telnyx/types/fax_queued_webhook_event1.py +63 -0
  108. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  109. telnyx/types/inbound_message_webhook_event1.py +227 -0
  110. telnyx/types/legacy/reporting/__init__.py +2 -0
  111. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
  112. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  113. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  114. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  115. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
  116. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
  117. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
  118. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
  119. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
  120. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
  121. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
  122. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
  123. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
  124. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  125. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
  126. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
  127. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
  128. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
  129. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
  130. telnyx/types/legacy/reporting/filter.py +31 -0
  131. telnyx/types/legacy/reporting/filter_param.py +30 -0
  132. telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
  133. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  134. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  135. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
  136. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
  137. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
  138. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
  139. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  140. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
  141. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
  142. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
  143. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
  144. telnyx/types/message_template.py +12 -0
  145. telnyx/types/messaging_profile.py +3 -0
  146. telnyx/types/messaging_profile_create_params.py +3 -0
  147. telnyx/types/messaging_profile_update_params.py +3 -0
  148. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  149. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  150. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  151. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  152. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  153. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  154. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  155. telnyx/types/oauth_client.py +59 -0
  156. telnyx/types/oauth_client_create_response.py +4 -55
  157. telnyx/types/oauth_client_list_response.py +5 -69
  158. telnyx/types/oauth_client_retrieve_response.py +4 -55
  159. telnyx/types/oauth_client_update_response.py +4 -55
  160. telnyx/types/oauth_grant.py +29 -0
  161. telnyx/types/oauth_grant_delete_response.py +4 -25
  162. telnyx/types/oauth_grant_list_response.py +5 -39
  163. telnyx/types/oauth_grant_retrieve_response.py +4 -25
  164. telnyx/types/outbound_voice_profile.py +27 -1
  165. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  166. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  167. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  168. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  169. telnyx/types/pagination_meta_oauth.py +21 -0
  170. telnyx/types/phone_number_blocks/__init__.py +1 -0
  171. telnyx/types/phone_number_blocks/job.py +3 -34
  172. telnyx/types/phone_number_blocks/job_error.py +32 -0
  173. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  174. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  175. telnyx/types/report_list_mdrs_response.py +3 -12
  176. telnyx/types/reports/__init__.py +1 -0
  177. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  178. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  179. telnyx/types/requirement_group.py +2 -2
  180. telnyx/types/requirement_group_list_params.py +1 -1
  181. telnyx/types/shared/__init__.py +1 -0
  182. telnyx/types/{api_error.py → shared/api_error.py} +1 -1
  183. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  184. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  185. telnyx/types/streaming_started_webhook_event1.py +53 -0
  186. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  187. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  188. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  189. telnyx/types/transcription_webhook_event1.py +72 -0
  190. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  191. telnyx/types/verifications/__init__.py +1 -0
  192. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  193. telnyx/types/verifications/verify_meta.py +17 -0
  194. telnyx/types/verified_number_create_params.py +10 -0
  195. telnyx/types/verify_profile.py +18 -3
  196. telnyx/types/verify_profile_list_response.py +4 -13
  197. telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
  198. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  199. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/METADATA +9 -5
  200. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/RECORD +202 -128
  201. telnyx/types/ai/assistant_create_response.py +0 -92
  202. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  203. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  204. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  205. telnyx/types/ai/assistants/version_update_response.py +0 -92
  206. telnyx/types/client_create_bucket_params.py +0 -13
  207. telnyx/types/client_delete_objects_params.py +0 -20
  208. telnyx/types/client_get_object_params.py +0 -15
  209. telnyx/types/client_list_objects_params.py +0 -13
  210. telnyx/types/client_put_object_params.py +0 -20
  211. telnyx/types/list_buckets_response.py +0 -20
  212. telnyx/types/list_objects_response.py +0 -24
  213. telnyx/types/verify_profile_update_template_response.py +0 -17
  214. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/WHEEL +0 -0
  215. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/licenses/LICENSE +0 -0
@@ -5,49 +5,16 @@ from datetime import datetime
5
5
  from typing_extensions import Literal
6
6
 
7
7
  from ..._models import BaseModel
8
+ from ..phone_number_blocks.job_error import JobError
8
9
 
9
- __all__ = [
10
- "PhoneNumbersJob",
11
- "FailedOperation",
12
- "FailedOperationError",
13
- "FailedOperationErrorMeta",
14
- "FailedOperationErrorSource",
15
- "PendingOperation",
16
- "PhoneNumber",
17
- "SuccessfulOperation",
18
- ]
19
-
20
-
21
- class FailedOperationErrorMeta(BaseModel):
22
- url: Optional[str] = None
23
- """URL with additional information on the error."""
24
-
25
-
26
- class FailedOperationErrorSource(BaseModel):
27
- parameter: Optional[str] = None
28
- """Indicates which query parameter caused the error."""
29
-
30
- pointer: Optional[str] = None
31
- """JSON pointer (RFC6901) to the offending entity."""
32
-
33
-
34
- class FailedOperationError(BaseModel):
35
- code: str
36
-
37
- title: str
38
-
39
- detail: Optional[str] = None
40
-
41
- meta: Optional[FailedOperationErrorMeta] = None
42
-
43
- source: Optional[FailedOperationErrorSource] = None
10
+ __all__ = ["PhoneNumbersJob", "FailedOperation", "PendingOperation", "PhoneNumber", "SuccessfulOperation"]
44
11
 
45
12
 
46
13
  class FailedOperation(BaseModel):
47
14
  id: Optional[str] = None
48
15
  """The phone number's ID"""
49
16
 
50
- errors: Optional[List[FailedOperationError]] = None
17
+ errors: Optional[List[JobError]] = None
51
18
 
52
19
  phone_number: Optional[str] = None
53
20
  """The phone number in e164 format."""
@@ -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
@@ -5,8 +5,9 @@ from datetime import datetime
5
5
  from typing_extensions import Literal
6
6
 
7
7
  from .._models import BaseModel
8
+ from .reports.pagination_meta_reporting import PaginationMetaReporting
8
9
 
9
- __all__ = ["ReportListMdrsResponse", "Data", "Meta"]
10
+ __all__ = ["ReportListMdrsResponse", "Data"]
10
11
 
11
12
 
12
13
  class Data(BaseModel):
@@ -58,17 +59,7 @@ class Data(BaseModel):
58
59
  """Message status"""
59
60
 
60
61
 
61
- class Meta(BaseModel):
62
- page_number: Optional[int] = None
63
-
64
- page_size: Optional[int] = None
65
-
66
- total_pages: Optional[int] = None
67
-
68
- total_results: Optional[int] = None
69
-
70
-
71
62
  class ReportListMdrsResponse(BaseModel):
72
63
  data: Optional[List[Data]] = None
73
64
 
74
- meta: Optional[Meta] = None
65
+ meta: Optional[PaginationMetaReporting] = None
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from .mdr_usage_report import MdrUsageReport as MdrUsageReport
6
+ from .pagination_meta_reporting import PaginationMetaReporting as PaginationMetaReporting
6
7
  from .mdr_usage_report_list_params import MdrUsageReportListParams as MdrUsageReportListParams
7
8
  from .mdr_usage_report_create_params import MdrUsageReportCreateParams as MdrUsageReportCreateParams
8
9
  from .mdr_usage_report_list_response import MdrUsageReportListResponse as MdrUsageReportListResponse
@@ -4,21 +4,12 @@ from typing import List, Optional
4
4
 
5
5
  from ..._models import BaseModel
6
6
  from .mdr_usage_report import MdrUsageReport
7
+ from .pagination_meta_reporting import PaginationMetaReporting
7
8
 
8
- __all__ = ["MdrUsageReportListResponse", "Meta"]
9
-
10
-
11
- class Meta(BaseModel):
12
- page_number: Optional[int] = None
13
-
14
- page_size: Optional[int] = None
15
-
16
- total_pages: Optional[int] = None
17
-
18
- total_results: Optional[int] = None
9
+ __all__ = ["MdrUsageReportListResponse"]
19
10
 
20
11
 
21
12
  class MdrUsageReportListResponse(BaseModel):
22
13
  data: Optional[List[MdrUsageReport]] = None
23
14
 
24
- meta: Optional[Meta] = None
15
+ meta: Optional[PaginationMetaReporting] = None
@@ -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__ = ["PaginationMetaReporting"]
8
+
9
+
10
+ class PaginationMetaReporting(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
@@ -20,7 +20,7 @@ class RegulatoryRequirement(BaseModel):
20
20
 
21
21
  requirement_id: Optional[str] = None
22
22
 
23
- status: Optional[Literal["approved", "unapproved", "pending-approval", "declined"]] = None
23
+ status: Optional[Literal["approved", "unapproved", "pending-approval", "declined", "expired"]] = None
24
24
 
25
25
  updated_at: Optional[datetime] = None
26
26
 
@@ -42,6 +42,6 @@ class RequirementGroup(BaseModel):
42
42
 
43
43
  regulatory_requirements: Optional[List[RegulatoryRequirement]] = None
44
44
 
45
- status: Optional[Literal["approved", "unapproved", "pending-approval", "declined"]] = None
45
+ status: Optional[Literal["approved", "unapproved", "pending-approval", "declined", "expired"]] = None
46
46
 
47
47
  updated_at: Optional[datetime] = None
@@ -29,5 +29,5 @@ class Filter(TypedDict, total=False):
29
29
  phone_number_type: Literal["local", "toll_free", "mobile", "national", "shared_cost"]
30
30
  """Filter requirement groups by phone number type."""
31
31
 
32
- status: Literal["approved", "unapproved", "pending-approval", "declined"]
32
+ status: Literal["approved", "unapproved", "pending-approval", "declined", "expired"]
33
33
  """Filter requirement groups by status"""
@@ -1,6 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from .metadata import Metadata as Metadata
4
+ from .api_error import APIError as APIError
4
5
  from .short_code import ShortCode as ShortCode
5
6
  from .hosted_number import HostedNumber as HostedNumber
6
7
  from .sim_card_status import SimCardStatus as SimCardStatus
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import Dict, Optional
4
4
 
5
- from .._models import BaseModel
5
+ from ..._models import BaseModel
6
6
 
7
7
  __all__ = ["APIError", "Source"]
8
8
 
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["StreamBidirectionalSamplingRate"]
6
+
7
+ StreamBidirectionalSamplingRate: TypeAlias = Literal[8000, 16000, 22050, 24000, 48000]
@@ -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,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Iterable
5
6
  from typing_extensions import Literal, Required, Annotated, TypedDict
6
7
 
7
8
  from ...._utils import PropertyInfo
8
9
 
9
- __all__ = ["CallCallsParams"]
10
+ __all__ = ["CallCallsParams", "CustomHeader"]
10
11
 
11
12
 
12
13
  class CallCallsParams(TypedDict, total=False):
@@ -59,6 +60,12 @@ class CallCallsParams(TypedDict, total=False):
59
60
  cancel_playback_on_machine_detection: Annotated[bool, PropertyInfo(alias="CancelPlaybackOnMachineDetection")]
60
61
  """Whether to cancel ongoing playback on `machine` detection. Defaults to `true`."""
61
62
 
63
+ custom_headers: Annotated[Iterable[CustomHeader], PropertyInfo(alias="CustomHeaders")]
64
+ """Custom HTTP headers to be sent with the call.
65
+
66
+ Each header should be an object with 'name' and 'value' properties.
67
+ """
68
+
62
69
  detection_mode: Annotated[Literal["Premium", "Regular"], PropertyInfo(alias="DetectionMode")]
63
70
  """Allows you to chose between Premium and Standard detections."""
64
71
 
@@ -167,3 +174,11 @@ class CallCallsParams(TypedDict, total=False):
167
174
 
168
175
  The default value is inherited from TeXML Application setting.
169
176
  """
177
+
178
+
179
+ class CustomHeader(TypedDict, total=False):
180
+ name: Required[str]
181
+ """The name of the custom header"""
182
+
183
+ value: Required[str]
184
+ """The value of the custom header"""
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Iterable
5
6
  from typing_extensions import Literal, Required, Annotated, TypedDict
6
7
 
7
8
  from ....._utils import PropertyInfo
8
9
 
9
- __all__ = ["ParticipantParticipantsParams"]
10
+ __all__ = ["ParticipantParticipantsParams", "CustomHeader"]
10
11
 
11
12
 
12
13
  class ParticipantParticipantsParams(TypedDict, total=False):
@@ -113,6 +114,12 @@ class ParticipantParticipantsParams(TypedDict, total=False):
113
114
  Defaults to `trim-silence`.
114
115
  """
115
116
 
117
+ custom_headers: Annotated[Iterable[CustomHeader], PropertyInfo(alias="CustomHeaders")]
118
+ """Custom HTTP headers to be sent with the call.
119
+
120
+ Each header should be an object with 'name' and 'value' properties.
121
+ """
122
+
116
123
  early_media: Annotated[bool, PropertyInfo(alias="EarlyMedia")]
117
124
  """
118
125
  Whether participant shall be bridged to conference before the participant
@@ -249,3 +256,11 @@ class ParticipantParticipantsParams(TypedDict, total=False):
249
256
  The URL to call for an audio file to play while the participant is waiting for
250
257
  the conference to start.
251
258
  """
259
+
260
+
261
+ class CustomHeader(TypedDict, total=False):
262
+ name: Required[str]
263
+ """The name of the custom header"""
264
+
265
+ value: Required[str]
266
+ """The value of the custom header"""
@@ -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