telnyx 3.6.0a0__py3-none-any.whl → 3.7.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (212) hide show
  1. telnyx/_client.py +3 -754
  2. telnyx/_version.py +1 -1
  3. telnyx/resources/advanced_orders.py +63 -63
  4. telnyx/resources/ai/assistants/assistants.py +15 -17
  5. telnyx/resources/ai/assistants/versions.py +13 -15
  6. telnyx/resources/brand/brand.py +8 -4
  7. telnyx/resources/calls/actions.py +10 -6
  8. telnyx/resources/calls/calls.py +16 -2
  9. telnyx/resources/documents.py +242 -37
  10. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
  11. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
  12. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  13. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  14. telnyx/resources/outbound_voice_profiles.py +24 -4
  15. telnyx/resources/sim_cards/actions.py +12 -12
  16. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  17. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  18. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  19. telnyx/resources/verify_profiles.py +9 -10
  20. telnyx/resources/webhooks.py +19 -0
  21. telnyx/types/__init__.py +18 -15
  22. telnyx/types/access_ip_address_list_response.py +3 -12
  23. telnyx/types/access_ip_range_list_response.py +3 -12
  24. telnyx/types/addresses/action_validate_response.py +8 -3
  25. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  26. telnyx/types/ai/__init__.py +1 -3
  27. telnyx/types/ai/assistant_import_params.py +1 -1
  28. telnyx/types/ai/assistants/__init__.py +0 -3
  29. telnyx/types/ai/assistants_list.py +4 -88
  30. telnyx/types/ai/import_metadata.py +1 -1
  31. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  32. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  33. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  34. telnyx/types/ai/voice_settings.py +49 -2
  35. telnyx/types/ai/voice_settings_param.py +49 -2
  36. telnyx/types/brand_create_params.py +2 -1
  37. telnyx/types/brand_update_params.py +2 -1
  38. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  39. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  40. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  41. telnyx/types/call_answered_webhook_event1.py +75 -0
  42. telnyx/types/call_bridged_webhook_event1.py +58 -0
  43. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  44. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  45. telnyx/types/call_dial_params.py +10 -1
  46. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  47. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  48. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  49. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  50. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  51. telnyx/types/call_hangup_webhook_event1.py +150 -0
  52. telnyx/types/call_initiated_webhook_event1.py +96 -0
  53. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  54. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  55. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  56. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  57. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  58. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  59. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  60. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  61. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  62. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  63. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  64. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  65. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  66. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  67. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  68. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  69. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  70. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  71. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  72. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  73. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  74. telnyx/types/calls/__init__.py +1 -0
  75. telnyx/types/calls/action_start_streaming_params.py +2 -1
  76. telnyx/types/calls/action_start_transcription_params.py +160 -6
  77. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  78. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  79. telnyx/types/calls/transcription_start_request_param.py +161 -6
  80. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  81. telnyx/types/conference_created_webhook_event1.py +53 -0
  82. telnyx/types/conference_ended_webhook_event1.py +56 -0
  83. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  84. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  85. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  86. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  87. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  88. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  89. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  90. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  91. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  92. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  93. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  94. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  95. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  96. telnyx/types/country_coverage_retrieve_response.py +7 -0
  97. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  98. telnyx/types/delivery_update_webhook_event1.py +40 -0
  99. telnyx/types/document_upload_json_params.py +39 -0
  100. telnyx/types/document_upload_json_response.py +12 -0
  101. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  102. telnyx/types/fax_failed_webhook_event1.py +66 -0
  103. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  104. telnyx/types/fax_queued_webhook_event1.py +63 -0
  105. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  106. telnyx/types/inbound_message_webhook_event1.py +227 -0
  107. telnyx/types/legacy/reporting/__init__.py +2 -0
  108. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
  109. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  110. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  111. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  112. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
  113. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
  114. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
  115. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
  116. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
  117. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
  118. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
  119. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
  120. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
  121. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  122. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
  123. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
  124. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
  125. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
  126. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
  127. telnyx/types/legacy/reporting/filter.py +31 -0
  128. telnyx/types/legacy/reporting/filter_param.py +30 -0
  129. telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
  130. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  131. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  132. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
  133. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
  134. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
  135. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
  136. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  137. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
  138. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
  139. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
  140. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
  141. telnyx/types/message_template.py +12 -0
  142. telnyx/types/messaging_profile.py +3 -0
  143. telnyx/types/messaging_profile_create_params.py +3 -0
  144. telnyx/types/messaging_profile_update_params.py +3 -0
  145. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  146. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  147. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  148. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  149. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  150. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  151. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  152. telnyx/types/oauth_client.py +59 -0
  153. telnyx/types/oauth_client_create_response.py +4 -55
  154. telnyx/types/oauth_client_list_response.py +5 -69
  155. telnyx/types/oauth_client_retrieve_response.py +4 -55
  156. telnyx/types/oauth_client_update_response.py +4 -55
  157. telnyx/types/oauth_grant.py +29 -0
  158. telnyx/types/oauth_grant_delete_response.py +4 -25
  159. telnyx/types/oauth_grant_list_response.py +5 -39
  160. telnyx/types/oauth_grant_retrieve_response.py +4 -25
  161. telnyx/types/outbound_voice_profile.py +27 -1
  162. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  163. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  164. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  165. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  166. telnyx/types/pagination_meta_oauth.py +21 -0
  167. telnyx/types/phone_number_blocks/__init__.py +1 -0
  168. telnyx/types/phone_number_blocks/job.py +3 -34
  169. telnyx/types/phone_number_blocks/job_error.py +32 -0
  170. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  171. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  172. telnyx/types/report_list_mdrs_response.py +3 -12
  173. telnyx/types/reports/__init__.py +1 -0
  174. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  175. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  176. telnyx/types/requirement_group.py +2 -2
  177. telnyx/types/requirement_group_list_params.py +1 -1
  178. telnyx/types/shared/__init__.py +1 -0
  179. telnyx/types/{error.py → shared/api_error.py} +3 -3
  180. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  181. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  182. telnyx/types/streaming_started_webhook_event1.py +53 -0
  183. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  184. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  185. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  186. telnyx/types/transcription_webhook_event1.py +72 -0
  187. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  188. telnyx/types/verifications/__init__.py +1 -0
  189. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  190. telnyx/types/verifications/verify_meta.py +17 -0
  191. telnyx/types/verified_number_create_params.py +10 -0
  192. telnyx/types/verify_profile.py +18 -3
  193. telnyx/types/verify_profile_list_response.py +4 -13
  194. telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
  195. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  196. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/METADATA +4 -4
  197. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/RECORD +199 -125
  198. telnyx/types/ai/assistant_create_response.py +0 -92
  199. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  200. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  201. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  202. telnyx/types/ai/assistants/version_update_response.py +0 -92
  203. telnyx/types/client_create_bucket_params.py +0 -13
  204. telnyx/types/client_delete_objects_params.py +0 -20
  205. telnyx/types/client_get_object_params.py +0 -15
  206. telnyx/types/client_list_objects_params.py +0 -13
  207. telnyx/types/client_put_object_params.py +0 -20
  208. telnyx/types/list_buckets_response.py +0 -20
  209. telnyx/types/list_objects_response.py +0 -24
  210. telnyx/types/verify_profile_update_template_response.py +0 -17
  211. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/WHEEL +0 -0
  212. {telnyx-3.6.0a0.dist-info → telnyx-3.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Iterable
5
+ from typing import Iterable, Optional
6
6
  from typing_extensions import Required, Annotated, TypedDict
7
7
 
8
8
  from .volume import Volume
@@ -10,6 +10,7 @@ from ...._utils import PropertyInfo
10
10
  from .url_param import URLParam
11
11
  from .use_case_categories import UseCaseCategories
12
12
  from .tf_phone_number_param import TfPhoneNumberParam
13
+ from .toll_free_verification_entity_type import TollFreeVerificationEntityType
13
14
 
14
15
  __all__ = ["RequestCreateParams"]
15
16
 
@@ -84,8 +85,57 @@ class RequestCreateParams(TypedDict, total=False):
84
85
  use_case_summary: Required[Annotated[str, PropertyInfo(alias="useCaseSummary")]]
85
86
  """Human-readable summary of the desired use-case"""
86
87
 
88
+ age_gated_content: Annotated[bool, PropertyInfo(alias="ageGatedContent")]
89
+ """Indicates if messaging content requires age gating (e.g., 18+).
90
+
91
+ Defaults to false if not provided.
92
+ """
93
+
87
94
  business_addr2: Annotated[str, PropertyInfo(alias="businessAddr2")]
88
95
  """Line 2 of the business address"""
89
96
 
97
+ business_registration_country: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationCountry")]
98
+ """ISO 3166-1 alpha-2 country code of the issuing business authority.
99
+
100
+ Must be exactly 2 letters. Automatically converted to uppercase. Required from
101
+ January 2026.
102
+ """
103
+
104
+ business_registration_number: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationNumber")]
105
+ """
106
+ Official business registration number (e.g., Employer Identification Number
107
+ (EIN) in the U.S.). Required from January 2026.
108
+ """
109
+
110
+ business_registration_type: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationType")]
111
+ """Type of business registration being provided. Required from January 2026."""
112
+
113
+ doing_business_as: Annotated[Optional[str], PropertyInfo(alias="doingBusinessAs")]
114
+ """Doing Business As (DBA) name if different from legal name"""
115
+
116
+ entity_type: Annotated[Optional[TollFreeVerificationEntityType], PropertyInfo(alias="entityType")]
117
+ """Business entity classification"""
118
+
119
+ help_message_response: Annotated[Optional[str], PropertyInfo(alias="helpMessageResponse")]
120
+ """The message returned when users text 'HELP'"""
121
+
122
+ opt_in_confirmation_response: Annotated[Optional[str], PropertyInfo(alias="optInConfirmationResponse")]
123
+ """Message sent to users confirming their opt-in to receive messages"""
124
+
125
+ opt_in_keywords: Annotated[Optional[str], PropertyInfo(alias="optInKeywords")]
126
+ """Keywords used to collect and process consumer opt-ins"""
127
+
128
+ privacy_policy_url: Annotated[Optional[str], PropertyInfo(alias="privacyPolicyURL")]
129
+ """URL pointing to the business's privacy policy.
130
+
131
+ Plain string, no URL format validation.
132
+ """
133
+
134
+ terms_and_condition_url: Annotated[Optional[str], PropertyInfo(alias="termsAndConditionURL")]
135
+ """URL pointing to the business's terms and conditions.
136
+
137
+ Plain string, no URL format validation.
138
+ """
139
+
90
140
  webhook_url: Annotated[str, PropertyInfo(alias="webhookUrl")]
91
141
  """URL that should receive webhooks relating to this verification request"""
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Iterable
5
+ from typing import Iterable, Optional
6
6
  from typing_extensions import Required, Annotated, TypedDict
7
7
 
8
8
  from .volume import Volume
@@ -10,6 +10,7 @@ from ...._utils import PropertyInfo
10
10
  from .url_param import URLParam
11
11
  from .use_case_categories import UseCaseCategories
12
12
  from .tf_phone_number_param import TfPhoneNumberParam
13
+ from .toll_free_verification_entity_type import TollFreeVerificationEntityType
13
14
 
14
15
  __all__ = ["RequestUpdateParams"]
15
16
 
@@ -84,8 +85,57 @@ class RequestUpdateParams(TypedDict, total=False):
84
85
  use_case_summary: Required[Annotated[str, PropertyInfo(alias="useCaseSummary")]]
85
86
  """Human-readable summary of the desired use-case"""
86
87
 
88
+ age_gated_content: Annotated[bool, PropertyInfo(alias="ageGatedContent")]
89
+ """Indicates if messaging content requires age gating (e.g., 18+).
90
+
91
+ Defaults to false if not provided.
92
+ """
93
+
87
94
  business_addr2: Annotated[str, PropertyInfo(alias="businessAddr2")]
88
95
  """Line 2 of the business address"""
89
96
 
97
+ business_registration_country: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationCountry")]
98
+ """ISO 3166-1 alpha-2 country code of the issuing business authority.
99
+
100
+ Must be exactly 2 letters. Automatically converted to uppercase. Required from
101
+ January 2026.
102
+ """
103
+
104
+ business_registration_number: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationNumber")]
105
+ """
106
+ Official business registration number (e.g., Employer Identification Number
107
+ (EIN) in the U.S.). Required from January 2026.
108
+ """
109
+
110
+ business_registration_type: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationType")]
111
+ """Type of business registration being provided. Required from January 2026."""
112
+
113
+ doing_business_as: Annotated[Optional[str], PropertyInfo(alias="doingBusinessAs")]
114
+ """Doing Business As (DBA) name if different from legal name"""
115
+
116
+ entity_type: Annotated[Optional[TollFreeVerificationEntityType], PropertyInfo(alias="entityType")]
117
+ """Business entity classification"""
118
+
119
+ help_message_response: Annotated[Optional[str], PropertyInfo(alias="helpMessageResponse")]
120
+ """The message returned when users text 'HELP'"""
121
+
122
+ opt_in_confirmation_response: Annotated[Optional[str], PropertyInfo(alias="optInConfirmationResponse")]
123
+ """Message sent to users confirming their opt-in to receive messages"""
124
+
125
+ opt_in_keywords: Annotated[Optional[str], PropertyInfo(alias="optInKeywords")]
126
+ """Keywords used to collect and process consumer opt-ins"""
127
+
128
+ privacy_policy_url: Annotated[Optional[str], PropertyInfo(alias="privacyPolicyURL")]
129
+ """URL pointing to the business's privacy policy.
130
+
131
+ Plain string, no URL format validation.
132
+ """
133
+
134
+ terms_and_condition_url: Annotated[Optional[str], PropertyInfo(alias="termsAndConditionURL")]
135
+ """URL pointing to the business's terms and conditions.
136
+
137
+ Plain string, no URL format validation.
138
+ """
139
+
90
140
  webhook_url: Annotated[str, PropertyInfo(alias="webhookUrl")]
91
141
  """URL that should receive webhooks relating to this verification request"""
@@ -0,0 +1,9 @@
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__ = ["TollFreeVerificationEntityType"]
6
+
7
+ TollFreeVerificationEntityType: TypeAlias = Literal[
8
+ "SOLE_PROPRIETOR", "PRIVATE_PROFIT", "PUBLIC_PROFIT", "NON_PROFIT", "GOVERNMENT"
9
+ ]
@@ -10,6 +10,7 @@ from ...._models import BaseModel
10
10
  from .tf_phone_number import TfPhoneNumber
11
11
  from .use_case_categories import UseCaseCategories
12
12
  from .tf_verification_status import TfVerificationStatus
13
+ from .toll_free_verification_entity_type import TollFreeVerificationEntityType
13
14
 
14
15
  __all__ = ["VerificationRequestEgress"]
15
16
 
@@ -59,8 +60,31 @@ class VerificationRequestEgress(BaseModel):
59
60
 
60
61
  verification_request_id: str = FieldInfo(alias="verificationRequestId")
61
62
 
63
+ age_gated_content: Optional[bool] = FieldInfo(alias="ageGatedContent", default=None)
64
+
62
65
  business_addr2: Optional[str] = FieldInfo(alias="businessAddr2", default=None)
63
66
 
67
+ business_registration_country: Optional[str] = FieldInfo(alias="businessRegistrationCountry", default=None)
68
+
69
+ business_registration_number: Optional[str] = FieldInfo(alias="businessRegistrationNumber", default=None)
70
+
71
+ business_registration_type: Optional[str] = FieldInfo(alias="businessRegistrationType", default=None)
72
+
73
+ doing_business_as: Optional[str] = FieldInfo(alias="doingBusinessAs", default=None)
74
+
75
+ entity_type: Optional[TollFreeVerificationEntityType] = FieldInfo(alias="entityType", default=None)
76
+ """Business entity classification"""
77
+
78
+ help_message_response: Optional[str] = FieldInfo(alias="helpMessageResponse", default=None)
79
+
80
+ opt_in_confirmation_response: Optional[str] = FieldInfo(alias="optInConfirmationResponse", default=None)
81
+
82
+ opt_in_keywords: Optional[str] = FieldInfo(alias="optInKeywords", default=None)
83
+
84
+ privacy_policy_url: Optional[str] = FieldInfo(alias="privacyPolicyURL", default=None)
85
+
86
+ terms_and_condition_url: Optional[str] = FieldInfo(alias="termsAndConditionURL", default=None)
87
+
64
88
  verification_status: Optional[TfVerificationStatus] = FieldInfo(alias="verificationStatus", default=None)
65
89
  """Tollfree verification status"""
66
90
 
@@ -11,6 +11,7 @@ from ...._models import BaseModel
11
11
  from .tf_phone_number import TfPhoneNumber
12
12
  from .use_case_categories import UseCaseCategories
13
13
  from .tf_verification_status import TfVerificationStatus
14
+ from .toll_free_verification_entity_type import TollFreeVerificationEntityType
14
15
 
15
16
  __all__ = ["VerificationRequestStatus"]
16
17
 
@@ -61,12 +62,35 @@ class VerificationRequestStatus(BaseModel):
61
62
  verification_status: TfVerificationStatus = FieldInfo(alias="verificationStatus")
62
63
  """Tollfree verification status"""
63
64
 
65
+ age_gated_content: Optional[bool] = FieldInfo(alias="ageGatedContent", default=None)
66
+
64
67
  business_addr2: Optional[str] = FieldInfo(alias="businessAddr2", default=None)
65
68
 
69
+ business_registration_country: Optional[str] = FieldInfo(alias="businessRegistrationCountry", default=None)
70
+
71
+ business_registration_number: Optional[str] = FieldInfo(alias="businessRegistrationNumber", default=None)
72
+
73
+ business_registration_type: Optional[str] = FieldInfo(alias="businessRegistrationType", default=None)
74
+
66
75
  created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
67
76
 
77
+ doing_business_as: Optional[str] = FieldInfo(alias="doingBusinessAs", default=None)
78
+
79
+ entity_type: Optional[TollFreeVerificationEntityType] = FieldInfo(alias="entityType", default=None)
80
+ """Business entity classification"""
81
+
82
+ help_message_response: Optional[str] = FieldInfo(alias="helpMessageResponse", default=None)
83
+
84
+ opt_in_confirmation_response: Optional[str] = FieldInfo(alias="optInConfirmationResponse", default=None)
85
+
86
+ opt_in_keywords: Optional[str] = FieldInfo(alias="optInKeywords", default=None)
87
+
88
+ privacy_policy_url: Optional[str] = FieldInfo(alias="privacyPolicyURL", default=None)
89
+
68
90
  reason: Optional[str] = None
69
91
 
92
+ terms_and_condition_url: Optional[str] = FieldInfo(alias="termsAndConditionURL", default=None)
93
+
70
94
  updated_at: Optional[datetime] = FieldInfo(alias="updatedAt", default=None)
71
95
 
72
96
  webhook_url: Optional[str] = FieldInfo(alias="webhookUrl", default=None)
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+
5
+ from .._models import BaseModel
6
+ from .number_order_with_phone_numbers import NumberOrderWithPhoneNumbers
7
+
8
+ __all__ = ["NumberOrderStatusUpdateWebhookEvent", "Data", "Meta"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ id: str
13
+ """Unique identifier for the event"""
14
+
15
+ event_type: str
16
+ """The type of event being sent"""
17
+
18
+ occurred_at: datetime
19
+ """ISO 8601 timestamp of when the event occurred"""
20
+
21
+ payload: NumberOrderWithPhoneNumbers
22
+
23
+ record_type: str
24
+ """Type of record"""
25
+
26
+
27
+ class Meta(BaseModel):
28
+ attempt: int
29
+ """Webhook delivery attempt number"""
30
+
31
+ delivered_to: str
32
+ """URL where the webhook was delivered"""
33
+
34
+
35
+ class NumberOrderStatusUpdateWebhookEvent(BaseModel):
36
+ data: Data
37
+
38
+ meta: Meta
@@ -0,0 +1,59 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["OAuthClient"]
10
+
11
+
12
+ class OAuthClient(BaseModel):
13
+ client_id: str
14
+ """OAuth client identifier"""
15
+
16
+ client_type: Literal["public", "confidential"]
17
+ """OAuth client type"""
18
+
19
+ created_at: datetime
20
+ """Timestamp when the client was created"""
21
+
22
+ name: str
23
+ """Human-readable name for the OAuth client"""
24
+
25
+ org_id: str
26
+ """Organization ID that owns this OAuth client"""
27
+
28
+ record_type: Literal["oauth_client"]
29
+ """Record type identifier"""
30
+
31
+ require_pkce: bool
32
+ """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
33
+
34
+ updated_at: datetime
35
+ """Timestamp when the client was last updated"""
36
+
37
+ user_id: str
38
+ """User ID that created this OAuth client"""
39
+
40
+ allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
41
+ """List of allowed OAuth grant types"""
42
+
43
+ allowed_scopes: Optional[List[str]] = None
44
+ """List of allowed OAuth scopes"""
45
+
46
+ client_secret: Optional[str] = None
47
+ """Client secret (only included when available, for confidential clients)"""
48
+
49
+ logo_uri: Optional[str] = None
50
+ """URL of the client logo"""
51
+
52
+ policy_uri: Optional[str] = None
53
+ """URL of the client's privacy policy"""
54
+
55
+ redirect_uris: Optional[List[str]] = None
56
+ """List of allowed redirect URIs"""
57
+
58
+ tos_uri: Optional[str] = None
59
+ """URL of the client's terms of service"""
@@ -1,63 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
3
+ from typing import Optional
6
4
 
7
5
  from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
8
7
 
9
- __all__ = ["OAuthClientCreateResponse", "Data"]
10
-
11
-
12
- class Data(BaseModel):
13
- client_id: str
14
- """OAuth client identifier"""
15
-
16
- client_type: Literal["public", "confidential"]
17
- """OAuth client type"""
18
-
19
- created_at: datetime
20
- """Timestamp when the client was created"""
21
-
22
- name: str
23
- """Human-readable name for the OAuth client"""
24
-
25
- org_id: str
26
- """Organization ID that owns this OAuth client"""
27
-
28
- record_type: Literal["oauth_client"]
29
- """Record type identifier"""
30
-
31
- require_pkce: bool
32
- """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
33
-
34
- updated_at: datetime
35
- """Timestamp when the client was last updated"""
36
-
37
- user_id: str
38
- """User ID that created this OAuth client"""
39
-
40
- allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
41
- """List of allowed OAuth grant types"""
42
-
43
- allowed_scopes: Optional[List[str]] = None
44
- """List of allowed OAuth scopes"""
45
-
46
- client_secret: Optional[str] = None
47
- """Client secret (only included when available, for confidential clients)"""
48
-
49
- logo_uri: Optional[str] = None
50
- """URL of the client logo"""
51
-
52
- policy_uri: Optional[str] = None
53
- """URL of the client's privacy policy"""
54
-
55
- redirect_uris: Optional[List[str]] = None
56
- """List of allowed redirect URIs"""
57
-
58
- tos_uri: Optional[str] = None
59
- """URL of the client's terms of service"""
8
+ __all__ = ["OAuthClientCreateResponse"]
60
9
 
61
10
 
62
11
  class OAuthClientCreateResponse(BaseModel):
63
- data: Optional[Data] = None
12
+ data: Optional[OAuthClient] = None
@@ -1,79 +1,15 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
6
4
 
7
5
  from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
7
+ from .pagination_meta_oauth import PaginationMetaOAuth
8
8
 
9
- __all__ = ["OAuthClientListResponse", "Data", "Meta"]
10
-
11
-
12
- class Data(BaseModel):
13
- client_id: str
14
- """OAuth client identifier"""
15
-
16
- client_type: Literal["public", "confidential"]
17
- """OAuth client type"""
18
-
19
- created_at: datetime
20
- """Timestamp when the client was created"""
21
-
22
- name: str
23
- """Human-readable name for the OAuth client"""
24
-
25
- org_id: str
26
- """Organization ID that owns this OAuth client"""
27
-
28
- record_type: Literal["oauth_client"]
29
- """Record type identifier"""
30
-
31
- require_pkce: bool
32
- """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
33
-
34
- updated_at: datetime
35
- """Timestamp when the client was last updated"""
36
-
37
- user_id: str
38
- """User ID that created this OAuth client"""
39
-
40
- allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
41
- """List of allowed OAuth grant types"""
42
-
43
- allowed_scopes: Optional[List[str]] = None
44
- """List of allowed OAuth scopes"""
45
-
46
- client_secret: Optional[str] = None
47
- """Client secret (only included when available, for confidential clients)"""
48
-
49
- logo_uri: Optional[str] = None
50
- """URL of the client logo"""
51
-
52
- policy_uri: Optional[str] = None
53
- """URL of the client's privacy policy"""
54
-
55
- redirect_uris: Optional[List[str]] = None
56
- """List of allowed redirect URIs"""
57
-
58
- tos_uri: Optional[str] = None
59
- """URL of the client's terms of service"""
60
-
61
-
62
- class Meta(BaseModel):
63
- page_number: Optional[int] = None
64
- """Current page number"""
65
-
66
- page_size: Optional[int] = None
67
- """Number of items per page"""
68
-
69
- total_pages: Optional[int] = None
70
- """Total number of pages"""
71
-
72
- total_results: Optional[int] = None
73
- """Total number of results"""
9
+ __all__ = ["OAuthClientListResponse"]
74
10
 
75
11
 
76
12
  class OAuthClientListResponse(BaseModel):
77
- data: Optional[List[Data]] = None
13
+ data: Optional[List[OAuthClient]] = None
78
14
 
79
- meta: Optional[Meta] = None
15
+ meta: Optional[PaginationMetaOAuth] = None
@@ -1,63 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
3
+ from typing import Optional
6
4
 
7
5
  from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
8
7
 
9
- __all__ = ["OAuthClientRetrieveResponse", "Data"]
10
-
11
-
12
- class Data(BaseModel):
13
- client_id: str
14
- """OAuth client identifier"""
15
-
16
- client_type: Literal["public", "confidential"]
17
- """OAuth client type"""
18
-
19
- created_at: datetime
20
- """Timestamp when the client was created"""
21
-
22
- name: str
23
- """Human-readable name for the OAuth client"""
24
-
25
- org_id: str
26
- """Organization ID that owns this OAuth client"""
27
-
28
- record_type: Literal["oauth_client"]
29
- """Record type identifier"""
30
-
31
- require_pkce: bool
32
- """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
33
-
34
- updated_at: datetime
35
- """Timestamp when the client was last updated"""
36
-
37
- user_id: str
38
- """User ID that created this OAuth client"""
39
-
40
- allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
41
- """List of allowed OAuth grant types"""
42
-
43
- allowed_scopes: Optional[List[str]] = None
44
- """List of allowed OAuth scopes"""
45
-
46
- client_secret: Optional[str] = None
47
- """Client secret (only included when available, for confidential clients)"""
48
-
49
- logo_uri: Optional[str] = None
50
- """URL of the client logo"""
51
-
52
- policy_uri: Optional[str] = None
53
- """URL of the client's privacy policy"""
54
-
55
- redirect_uris: Optional[List[str]] = None
56
- """List of allowed redirect URIs"""
57
-
58
- tos_uri: Optional[str] = None
59
- """URL of the client's terms of service"""
8
+ __all__ = ["OAuthClientRetrieveResponse"]
60
9
 
61
10
 
62
11
  class OAuthClientRetrieveResponse(BaseModel):
63
- data: Optional[Data] = None
12
+ data: Optional[OAuthClient] = None
@@ -1,63 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
3
+ from typing import Optional
6
4
 
7
5
  from .._models import BaseModel
6
+ from .oauth_client import OAuthClient
8
7
 
9
- __all__ = ["OAuthClientUpdateResponse", "Data"]
10
-
11
-
12
- class Data(BaseModel):
13
- client_id: str
14
- """OAuth client identifier"""
15
-
16
- client_type: Literal["public", "confidential"]
17
- """OAuth client type"""
18
-
19
- created_at: datetime
20
- """Timestamp when the client was created"""
21
-
22
- name: str
23
- """Human-readable name for the OAuth client"""
24
-
25
- org_id: str
26
- """Organization ID that owns this OAuth client"""
27
-
28
- record_type: Literal["oauth_client"]
29
- """Record type identifier"""
30
-
31
- require_pkce: bool
32
- """Whether PKCE (Proof Key for Code Exchange) is required for this client"""
33
-
34
- updated_at: datetime
35
- """Timestamp when the client was last updated"""
36
-
37
- user_id: str
38
- """User ID that created this OAuth client"""
39
-
40
- allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
41
- """List of allowed OAuth grant types"""
42
-
43
- allowed_scopes: Optional[List[str]] = None
44
- """List of allowed OAuth scopes"""
45
-
46
- client_secret: Optional[str] = None
47
- """Client secret (only included when available, for confidential clients)"""
48
-
49
- logo_uri: Optional[str] = None
50
- """URL of the client logo"""
51
-
52
- policy_uri: Optional[str] = None
53
- """URL of the client's privacy policy"""
54
-
55
- redirect_uris: Optional[List[str]] = None
56
- """List of allowed redirect URIs"""
57
-
58
- tos_uri: Optional[str] = None
59
- """URL of the client's terms of service"""
8
+ __all__ = ["OAuthClientUpdateResponse"]
60
9
 
61
10
 
62
11
  class OAuthClientUpdateResponse(BaseModel):
63
- data: Optional[Data] = None
12
+ data: Optional[OAuthClient] = None
@@ -0,0 +1,29 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["OAuthGrant"]
10
+
11
+
12
+ class OAuthGrant(BaseModel):
13
+ id: str
14
+ """Unique identifier for the OAuth grant"""
15
+
16
+ client_id: str
17
+ """OAuth client identifier"""
18
+
19
+ created_at: datetime
20
+ """Timestamp when the grant was created"""
21
+
22
+ record_type: Literal["oauth_grant"]
23
+ """Record type identifier"""
24
+
25
+ scopes: List[str]
26
+ """List of granted OAuth scopes"""
27
+
28
+ last_used_at: Optional[datetime] = None
29
+ """Timestamp when the grant was last used"""