telnyx 5.166.0 → 5.168.0

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.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +4 -0
  5. data/lib/telnyx/internal/default_flat_pagination.rb +7 -3
  6. data/lib/telnyx/internal/default_flat_pagination_for_inexplicit_number_orders.rb +7 -3
  7. data/lib/telnyx/internal/default_flat_pagination_top_level_array.rb +10 -8
  8. data/lib/telnyx/internal/default_pagination_for_log_messages.rb +7 -3
  9. data/lib/telnyx/internal/default_pagination_for_messaging_tollfree.rb +12 -3
  10. data/lib/telnyx/internal/default_pagination_for_queues.rb +12 -3
  11. data/lib/telnyx/internal/per_page_pagination.rb +8 -1
  12. data/lib/telnyx/internal/per_page_pagination_v2.rb +8 -1
  13. data/lib/telnyx/internal/type/converter.rb +2 -0
  14. data/lib/telnyx/models/ai/anthropic/v1_messages_params.rb +57 -1
  15. data/lib/telnyx/models/ai/assistant_a2_a_agent.rb +195 -0
  16. data/lib/telnyx/models/ai/assistant_create_params.rb +16 -1
  17. data/lib/telnyx/models/ai/assistant_update_params.rb +17 -1
  18. data/lib/telnyx/models/ai/assistants/update_assistant.rb +17 -1
  19. data/lib/telnyx/models/ai/chat_completion_request.rb +185 -48
  20. data/lib/telnyx/models/ai/inference_embedding.rb +16 -1
  21. data/lib/telnyx/models/ai/openai_create_response_params.rb +57 -1
  22. data/lib/telnyx/models/ai/telephony_settings.rb +15 -1
  23. data/lib/telnyx/models/compute/func_retrieve_logs_params.rb +66 -0
  24. data/lib/telnyx/models/compute/func_retrieve_logs_response.rb +161 -0
  25. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_params.rb +69 -0
  26. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_response.rb +137 -0
  27. data/lib/telnyx/models/compute/func_retrieve_revisions_params.rb +34 -0
  28. data/lib/telnyx/models/compute/func_retrieve_revisions_response.rb +101 -0
  29. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_params.rb +22 -0
  30. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_response.rb +94 -0
  31. data/lib/telnyx/models/compute/functions_observability_pagination_meta.rb +35 -0
  32. data/lib/telnyx/models/compute/logs_meta.rb +23 -0
  33. data/lib/telnyx/models/credential_connection.rb +4 -1
  34. data/lib/telnyx/models/email_inboxes/email_message.rb +12 -1
  35. data/lib/telnyx/models/email_message_batch_params.rb +4 -1
  36. data/lib/telnyx/models/email_message_batch_response.rb +1 -0
  37. data/lib/telnyx/models/fqdn_connection.rb +5 -2
  38. data/lib/telnyx/models/fqdn_connections/fqdn_authentication.rb +9 -2
  39. data/lib/telnyx/models/messaging_inbound_message_payload.rb +210 -67
  40. data/lib/telnyx/models/messaging_messaging_profile.rb +284 -0
  41. data/lib/telnyx/models/messaging_profile.rb +0 -1
  42. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  43. data/lib/telnyx/models/messaging_profile_create_response.rb +3 -3
  44. data/lib/telnyx/models/messaging_profile_delete_response.rb +3 -3
  45. data/lib/telnyx/models/messaging_profile_features.rb +26 -0
  46. data/lib/telnyx/models/messaging_profile_retrieve_response.rb +3 -3
  47. data/lib/telnyx/models/messaging_profile_update_params.rb +32 -1
  48. data/lib/telnyx/models/messaging_profile_update_response.rb +3 -3
  49. data/lib/telnyx/models/messaging_profiles/action_regenerate_secret_response.rb +3 -3
  50. data/lib/telnyx/models/uac_connection.rb +4 -1
  51. data/lib/telnyx/models/uac_external_settings.rb +6 -2
  52. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +5 -1
  53. data/lib/telnyx/models/unwrap_webhook_event.rb +5 -1
  54. data/lib/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rb +104 -1
  55. data/lib/telnyx/models/whatsapp/phone_number_get_response.rb +103 -1
  56. data/lib/telnyx/models/whatsapp/phone_number_list_response.rb +103 -1
  57. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rb +22 -0
  58. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rb +207 -0
  59. data/lib/telnyx/models/whatsapp_account_update.rb +112 -0
  60. data/lib/telnyx/models/whatsapp_message_echo.rb +340 -0
  61. data/lib/telnyx/models/x402/credit_account/payment_list_params.rb +34 -0
  62. data/lib/telnyx/models/x402/credit_account/payment_retrieve_params.rb +24 -0
  63. data/lib/telnyx/models/x402/credit_account/payment_retrieve_response.rb +21 -0
  64. data/lib/telnyx/models/x402/credit_account/x402_transaction_record.rb +113 -0
  65. data/lib/telnyx/models.rb +10 -0
  66. data/lib/telnyx/resources/ai/anthropic/v1.rb +5 -1
  67. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  68. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  69. data/lib/telnyx/resources/ai/openai/chat.rb +6 -8
  70. data/lib/telnyx/resources/ai/openai.rb +5 -1
  71. data/lib/telnyx/resources/compute/funcs.rb +141 -0
  72. data/lib/telnyx/resources/compute.rb +18 -0
  73. data/lib/telnyx/resources/email_messages.rb +4 -2
  74. data/lib/telnyx/resources/messaging_profiles.rb +12 -4
  75. data/lib/telnyx/resources/webhooks.rb +2 -2
  76. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +22 -0
  77. data/lib/telnyx/resources/x402/credit_account/payments.rb +71 -0
  78. data/lib/telnyx/resources/x402/credit_account.rb +8 -2
  79. data/lib/telnyx/version.rb +1 -1
  80. data/lib/telnyx.rb +24 -0
  81. data/rbi/telnyx/client.rbi +3 -0
  82. data/rbi/telnyx/models/ai/anthropic/v1_messages_params.rbi +139 -0
  83. data/rbi/telnyx/models/ai/assistant_a2_a_agent.rbi +345 -0
  84. data/rbi/telnyx/models/ai/assistant_create_params.rbi +29 -0
  85. data/rbi/telnyx/models/ai/assistant_update_params.rbi +31 -0
  86. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +31 -0
  87. data/rbi/telnyx/models/ai/chat_completion_request.rbi +339 -91
  88. data/rbi/telnyx/models/ai/inference_embedding.rbi +29 -0
  89. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +136 -0
  90. data/rbi/telnyx/models/ai/telephony_settings.rbi +23 -0
  91. data/rbi/telnyx/models/compute/func_retrieve_logs_params.rbi +130 -0
  92. data/rbi/telnyx/models/compute/func_retrieve_logs_response.rbi +410 -0
  93. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbi +102 -0
  94. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbi +231 -0
  95. data/rbi/telnyx/models/compute/func_retrieve_revisions_params.rbi +59 -0
  96. data/rbi/telnyx/models/compute/func_retrieve_revisions_response.rbi +213 -0
  97. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_params.rbi +40 -0
  98. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_response.rbi +252 -0
  99. data/rbi/telnyx/models/compute/functions_observability_pagination_meta.rbi +70 -0
  100. data/rbi/telnyx/models/compute/logs_meta.rbi +38 -0
  101. data/rbi/telnyx/models/credential_connection.rbi +8 -2
  102. data/rbi/telnyx/models/email_inboxes/email_message.rbi +22 -3
  103. data/rbi/telnyx/models/email_message_batch_params.rbi +6 -0
  104. data/rbi/telnyx/models/email_message_batch_response.rbi +5 -0
  105. data/rbi/telnyx/models/fqdn_connection.rbi +8 -2
  106. data/rbi/telnyx/models/fqdn_connections/fqdn_authentication.rbi +8 -2
  107. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +450 -193
  108. data/rbi/telnyx/models/messaging_messaging_profile.rbi +463 -0
  109. data/rbi/telnyx/models/messaging_profile.rbi +4 -6
  110. data/rbi/telnyx/models/messaging_profile_create_params.rbi +19 -0
  111. data/rbi/telnyx/models/messaging_profile_create_response.rbi +6 -4
  112. data/rbi/telnyx/models/messaging_profile_delete_response.rbi +6 -4
  113. data/rbi/telnyx/models/messaging_profile_features.rbi +43 -0
  114. data/rbi/telnyx/models/messaging_profile_retrieve_response.rbi +6 -4
  115. data/rbi/telnyx/models/messaging_profile_update_params.rbi +51 -0
  116. data/rbi/telnyx/models/messaging_profile_update_response.rbi +6 -4
  117. data/rbi/telnyx/models/messaging_profiles/action_regenerate_secret_response.rbi +4 -4
  118. data/rbi/telnyx/models/uac_connection.rbi +8 -2
  119. data/rbi/telnyx/models/uac_external_settings.rbi +10 -2
  120. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +3 -1
  121. data/rbi/telnyx/models/unwrap_webhook_event.rbi +3 -1
  122. data/rbi/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbi +213 -0
  123. data/rbi/telnyx/models/whatsapp/phone_number_get_response.rbi +213 -0
  124. data/rbi/telnyx/models/whatsapp/phone_number_list_response.rbi +213 -0
  125. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbi +40 -0
  126. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbi +401 -0
  127. data/rbi/telnyx/models/whatsapp_account_update.rbi +236 -0
  128. data/rbi/telnyx/models/whatsapp_message_echo.rbi +611 -0
  129. data/rbi/telnyx/models/x402/credit_account/payment_list_params.rbi +64 -0
  130. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_params.rbi +42 -0
  131. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_response.rbi +53 -0
  132. data/rbi/telnyx/models/x402/credit_account/x402_transaction_record.rbi +219 -0
  133. data/rbi/telnyx/models.rbi +10 -0
  134. data/rbi/telnyx/resources/ai/anthropic/v1.rbi +14 -0
  135. data/rbi/telnyx/resources/ai/assistants/versions.rbi +12 -0
  136. data/rbi/telnyx/resources/ai/assistants.rbi +21 -0
  137. data/rbi/telnyx/resources/ai/openai/chat.rbi +23 -13
  138. data/rbi/telnyx/resources/ai/openai.rbi +14 -0
  139. data/rbi/telnyx/resources/compute/funcs.rbi +111 -0
  140. data/rbi/telnyx/resources/compute.rbi +15 -0
  141. data/rbi/telnyx/resources/email_messages.rbi +6 -2
  142. data/rbi/telnyx/resources/messaging_profiles.rbi +24 -1
  143. data/rbi/telnyx/resources/webhooks.rbi +6 -2
  144. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +18 -0
  145. data/rbi/telnyx/resources/x402/credit_account/payments.rbi +60 -0
  146. data/rbi/telnyx/resources/x402/credit_account.rbi +5 -0
  147. data/sig/telnyx/client.rbs +2 -0
  148. data/sig/telnyx/models/ai/anthropic/v1_messages_params.rbs +42 -0
  149. data/sig/telnyx/models/ai/assistant_a2_a_agent.rbs +140 -0
  150. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  151. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  152. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  153. data/sig/telnyx/models/ai/chat_completion_request.rbs +128 -44
  154. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  155. data/sig/telnyx/models/ai/openai_create_response_params.rbs +42 -0
  156. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  157. data/sig/telnyx/models/compute/func_retrieve_logs_params.rbs +69 -0
  158. data/sig/telnyx/models/compute/func_retrieve_logs_response.rbs +210 -0
  159. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbs +66 -0
  160. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbs +149 -0
  161. data/sig/telnyx/models/compute/func_retrieve_revisions_params.rbs +38 -0
  162. data/sig/telnyx/models/compute/func_retrieve_revisions_response.rbs +131 -0
  163. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_params.rbs +22 -0
  164. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_response.rbs +117 -0
  165. data/sig/telnyx/models/compute/functions_observability_pagination_meta.rbs +45 -0
  166. data/sig/telnyx/models/compute/logs_meta.rbs +21 -0
  167. data/sig/telnyx/models/email_inboxes/email_message.rbs +12 -3
  168. data/sig/telnyx/models/email_message_batch_response.rbs +2 -0
  169. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +207 -95
  170. data/sig/telnyx/models/messaging_messaging_profile.rbs +212 -0
  171. data/sig/telnyx/models/messaging_profile_create_params.rbs +5 -0
  172. data/sig/telnyx/models/messaging_profile_create_response.rbs +8 -5
  173. data/sig/telnyx/models/messaging_profile_delete_response.rbs +8 -5
  174. data/sig/telnyx/models/messaging_profile_features.rbs +15 -0
  175. data/sig/telnyx/models/messaging_profile_retrieve_response.rbs +7 -5
  176. data/sig/telnyx/models/messaging_profile_update_params.rbs +19 -0
  177. data/sig/telnyx/models/messaging_profile_update_response.rbs +8 -5
  178. data/sig/telnyx/models/messaging_profiles/action_regenerate_secret_response.rbs +7 -5
  179. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +2 -0
  180. data/sig/telnyx/models/unwrap_webhook_event.rbs +2 -0
  181. data/sig/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbs +90 -0
  182. data/sig/telnyx/models/whatsapp/phone_number_get_response.rbs +90 -0
  183. data/sig/telnyx/models/whatsapp/phone_number_list_response.rbs +90 -0
  184. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbs +25 -0
  185. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbs +201 -0
  186. data/sig/telnyx/models/whatsapp_account_update.rbs +107 -0
  187. data/sig/telnyx/models/whatsapp_message_echo.rbs +291 -0
  188. data/sig/telnyx/models/x402/credit_account/payment_list_params.rbs +36 -0
  189. data/sig/telnyx/models/x402/credit_account/payment_retrieve_params.rbs +27 -0
  190. data/sig/telnyx/models/x402/credit_account/payment_retrieve_response.rbs +26 -0
  191. data/sig/telnyx/models/x402/credit_account/x402_transaction_record.rbs +104 -0
  192. data/sig/telnyx/models.rbs +10 -0
  193. data/sig/telnyx/resources/ai/anthropic/v1.rbs +2 -0
  194. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  195. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  196. data/sig/telnyx/resources/ai/openai/chat.rbs +3 -4
  197. data/sig/telnyx/resources/ai/openai.rbs +2 -0
  198. data/sig/telnyx/resources/compute/funcs.rbs +41 -0
  199. data/sig/telnyx/resources/compute.rbs +9 -0
  200. data/sig/telnyx/resources/messaging_profiles.rbs +5 -1
  201. data/sig/telnyx/resources/webhooks.rbs +6 -2
  202. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +5 -0
  203. data/sig/telnyx/resources/x402/credit_account/payments.rbs +22 -0
  204. data/sig/telnyx/resources/x402/credit_account.rbs +2 -0
  205. metadata +74 -2
@@ -45,6 +45,19 @@ module Telnyx
45
45
  sig { params(enabled: T::Boolean).void }
46
46
  attr_writer :enabled
47
47
 
48
+ # Telnyx product features the messaging customer can enable on the messaging
49
+ # profile. Keys map to individual feature flags; unknown keys are accepted and
50
+ # preserved for forward compatibility with rolling deployments.
51
+ sig { returns(T.nilable(Telnyx::MessagingProfileFeatures)) }
52
+ attr_reader :features
53
+
54
+ sig do
55
+ params(
56
+ features: T.nilable(Telnyx::MessagingProfileFeatures::OrHash)
57
+ ).void
58
+ end
59
+ attr_writer :features
60
+
48
61
  # enables SMS fallback for MMS messages.
49
62
  sig { returns(T.nilable(T::Boolean)) }
50
63
  attr_reader :mms_fall_back_to_sms
@@ -88,6 +101,25 @@ module Telnyx
88
101
  end
89
102
  attr_writer :number_pool_settings
90
103
 
104
+ # Set to true to enable message content redaction on this profile, or false to
105
+ # disable it. Ignored if the organization is not on the redaction allowlist. See
106
+ # the [Message Redaction guide](/docs/messaging/messages/message-redaction) for
107
+ # what is redacted.
108
+ sig { returns(T.nilable(T::Boolean)) }
109
+ attr_reader :redaction_enabled
110
+
111
+ sig { params(redaction_enabled: T::Boolean).void }
112
+ attr_writer :redaction_enabled
113
+
114
+ # The redaction level to apply when redaction is enabled. 1: redact message
115
+ # records and reporting only. 2 (default): also redact inbound webhook payloads.
116
+ # See the [Message Redaction guide](/docs/messaging/messages/message-redaction).
117
+ sig { returns(T.nilable(Integer)) }
118
+ attr_reader :redaction_level
119
+
120
+ sig { params(redaction_level: Integer).void }
121
+ attr_writer :redaction_level
122
+
91
123
  # Enables automatic character encoding optimization for SMS messages. When
92
124
  # enabled, the system automatically selects the most efficient encoding (GSM-7 or
93
125
  # UCS-2) based on message content to maximize character limits and minimize costs.
@@ -169,11 +201,14 @@ module Telnyx
169
201
  daily_spend_limit: String,
170
202
  daily_spend_limit_enabled: T::Boolean,
171
203
  enabled: T::Boolean,
204
+ features: T.nilable(Telnyx::MessagingProfileFeatures::OrHash),
172
205
  mms_fall_back_to_sms: T::Boolean,
173
206
  mms_transcoding: T::Boolean,
174
207
  mobile_only: T::Boolean,
175
208
  name: String,
176
209
  number_pool_settings: T.nilable(Telnyx::NumberPoolSettings::OrHash),
210
+ redaction_enabled: T::Boolean,
211
+ redaction_level: Integer,
177
212
  smart_encoding: T::Boolean,
178
213
  url_shortener_settings:
179
214
  T.nilable(Telnyx::URLShortenerSettings::OrHash),
@@ -200,6 +235,10 @@ module Telnyx
200
235
  daily_spend_limit_enabled: nil,
201
236
  # Specifies whether the messaging profile is enabled or not.
202
237
  enabled: nil,
238
+ # Telnyx product features the messaging customer can enable on the messaging
239
+ # profile. Keys map to individual feature flags; unknown keys are accepted and
240
+ # preserved for forward compatibility with rolling deployments.
241
+ features: nil,
203
242
  # enables SMS fallback for MMS messages.
204
243
  mms_fall_back_to_sms: nil,
205
244
  # enables automated resizing of MMS media.
@@ -214,6 +253,15 @@ module Telnyx
214
253
  #
215
254
  # To disable this feature, set the object field to `null`.
216
255
  number_pool_settings: nil,
256
+ # Set to true to enable message content redaction on this profile, or false to
257
+ # disable it. Ignored if the organization is not on the redaction allowlist. See
258
+ # the [Message Redaction guide](/docs/messaging/messages/message-redaction) for
259
+ # what is redacted.
260
+ redaction_enabled: nil,
261
+ # The redaction level to apply when redaction is enabled. 1: redact message
262
+ # records and reporting only. 2 (default): also redact inbound webhook payloads.
263
+ # See the [Message Redaction guide](/docs/messaging/messages/message-redaction).
264
+ redaction_level: nil,
217
265
  # Enables automatic character encoding optimization for SMS messages. When
218
266
  # enabled, the system automatically selects the most efficient encoding (GSM-7 or
219
267
  # UCS-2) based on message content to maximize character limits and minimize costs.
@@ -255,11 +303,14 @@ module Telnyx
255
303
  daily_spend_limit: String,
256
304
  daily_spend_limit_enabled: T::Boolean,
257
305
  enabled: T::Boolean,
306
+ features: T.nilable(Telnyx::MessagingProfileFeatures),
258
307
  mms_fall_back_to_sms: T::Boolean,
259
308
  mms_transcoding: T::Boolean,
260
309
  mobile_only: T::Boolean,
261
310
  name: String,
262
311
  number_pool_settings: T.nilable(Telnyx::NumberPoolSettings),
312
+ redaction_enabled: T::Boolean,
313
+ redaction_level: Integer,
263
314
  smart_encoding: T::Boolean,
264
315
  url_shortener_settings: T.nilable(Telnyx::URLShortenerSettings),
265
316
  v1_secret: String,
@@ -11,19 +11,21 @@ module Telnyx
11
11
  )
12
12
  end
13
13
 
14
- sig { returns(T.nilable(Telnyx::MessagingProfile)) }
14
+ sig { returns(T.nilable(Telnyx::MessagingMessagingProfile)) }
15
15
  attr_reader :data
16
16
 
17
- sig { params(data: Telnyx::MessagingProfile::OrHash).void }
17
+ sig { params(data: Telnyx::MessagingMessagingProfile::OrHash).void }
18
18
  attr_writer :data
19
19
 
20
20
  sig do
21
- params(data: Telnyx::MessagingProfile::OrHash).returns(T.attached_class)
21
+ params(data: Telnyx::MessagingMessagingProfile::OrHash).returns(
22
+ T.attached_class
23
+ )
22
24
  end
23
25
  def self.new(data: nil)
24
26
  end
25
27
 
26
- sig { override.returns({ data: Telnyx::MessagingProfile }) }
28
+ sig { override.returns({ data: Telnyx::MessagingMessagingProfile }) }
27
29
  def to_hash
28
30
  end
29
31
  end
@@ -12,21 +12,21 @@ module Telnyx
12
12
  )
13
13
  end
14
14
 
15
- sig { returns(T.nilable(Telnyx::MessagingProfile)) }
15
+ sig { returns(T.nilable(Telnyx::MessagingMessagingProfile)) }
16
16
  attr_reader :data
17
17
 
18
- sig { params(data: Telnyx::MessagingProfile::OrHash).void }
18
+ sig { params(data: Telnyx::MessagingMessagingProfile::OrHash).void }
19
19
  attr_writer :data
20
20
 
21
21
  sig do
22
- params(data: Telnyx::MessagingProfile::OrHash).returns(
22
+ params(data: Telnyx::MessagingMessagingProfile::OrHash).returns(
23
23
  T.attached_class
24
24
  )
25
25
  end
26
26
  def self.new(data: nil)
27
27
  end
28
28
 
29
- sig { override.returns({ data: Telnyx::MessagingProfile }) }
29
+ sig { override.returns({ data: Telnyx::MessagingMessagingProfile }) }
30
30
  def to_hash
31
31
  end
32
32
  end
@@ -217,7 +217,10 @@ module Telnyx
217
217
  attr_writer :outbound
218
218
 
219
219
  # The password to be used as part of the credentials. Must be 8 to 128 characters
220
- # long.
220
+ # long. For primary accounts created on or after September 8, 2026, this password
221
+ # is returned as `********`. The password is returned in full on create, and on
222
+ # update only when that update changed the password. Accounts created before
223
+ # September 8, 2026 are unaffected.
221
224
  sig { returns(T.nilable(String)) }
222
225
  attr_reader :password
223
226
 
@@ -440,7 +443,10 @@ module Telnyx
440
443
  onnet_t38_passthrough_enabled: nil,
441
444
  outbound: nil,
442
445
  # The password to be used as part of the credentials. Must be 8 to 128 characters
443
- # long.
446
+ # long. For primary accounts created on or after September 8, 2026, this password
447
+ # is returned as `********`. The password is returned in full on create, and on
448
+ # update only when that update changed the password. Accounts created before
449
+ # September 8, 2026 are unaffected.
444
450
  password: nil,
445
451
  # Identifies the type of the resource.
446
452
  record_type: nil,
@@ -28,7 +28,11 @@ module Telnyx
28
28
  sig { returns(T.nilable(String)) }
29
29
  attr_accessor :outbound_proxy
30
30
 
31
- # The SIP password used for digest authentication with the external SIP peer.
31
+ # The SIP password used for digest authentication with the external SIP peer. For
32
+ # primary accounts created on or after September 8, 2026, this password is
33
+ # returned as `********`. The password is returned in full on create, and on
34
+ # update only when that update changed the password. Accounts created before
35
+ # September 8, 2026 are unaffected.
32
36
  sig { returns(T.nilable(String)) }
33
37
  attr_reader :password
34
38
 
@@ -93,7 +97,11 @@ module Telnyx
93
97
  # An optional SIP proxy used to route outbound requests before reaching the
94
98
  # external SIP peer.
95
99
  outbound_proxy: nil,
96
- # The SIP password used for digest authentication with the external SIP peer.
100
+ # The SIP password used for digest authentication with the external SIP peer. For
101
+ # primary accounts created on or after September 8, 2026, this password is
102
+ # returned as `********`. The password is returned in full on create, and on
103
+ # update only when that update changed the password. Accounts created before
104
+ # September 8, 2026 are unaffected.
97
105
  password: nil,
98
106
  # The SIP proxy address of the external SIP peer used for registrations and
99
107
  # outbound call routing.
@@ -80,7 +80,9 @@ module Telnyx
80
80
  Telnyx::ReplacedLinkClickWebhookEvent,
81
81
  Telnyx::SessionStatusChangedWebhookEvent,
82
82
  Telnyx::TranscriptCompletedWebhookEvent,
83
- Telnyx::TranscriptionWebhookEvent
83
+ Telnyx::TranscriptionWebhookEvent,
84
+ Telnyx::WhatsappAccountUpdate,
85
+ Telnyx::WhatsappMessageEcho
84
86
  )
85
87
  end
86
88
 
@@ -80,7 +80,9 @@ module Telnyx
80
80
  Telnyx::ReplacedLinkClickWebhookEvent,
81
81
  Telnyx::SessionStatusChangedWebhookEvent,
82
82
  Telnyx::TranscriptCompletedWebhookEvent,
83
- Telnyx::TranscriptionWebhookEvent
83
+ Telnyx::TranscriptionWebhookEvent,
84
+ Telnyx::WhatsappAccountUpdate,
85
+ Telnyx::WhatsappMessageEcho
84
86
  )
85
87
  end
86
88
 
@@ -19,6 +19,17 @@ module Telnyx
19
19
  sig { params(calling_enabled: T::Boolean).void }
20
20
  attr_writer :calling_enabled
21
21
 
22
+ # Current lifecycle state for a coexistence number. This is null for a standard
23
+ # Cloud API number.
24
+ sig do
25
+ returns(
26
+ T.nilable(
27
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
28
+ )
29
+ )
30
+ end
31
+ attr_accessor :coexistence_state
32
+
22
33
  sig { returns(T.nilable(Time)) }
23
34
  attr_reader :created_at
24
35
 
@@ -37,6 +48,14 @@ module Telnyx
37
48
  sig { params(enabled: T::Boolean).void }
38
49
  attr_writer :enabled
39
50
 
51
+ # Indicates whether the number is connected to both the WhatsApp Business app and
52
+ # Cloud API through WhatsApp Coexistence.
53
+ sig { returns(T.nilable(T::Boolean)) }
54
+ attr_reader :is_on_biz_app
55
+
56
+ sig { params(is_on_biz_app: T::Boolean).void }
57
+ attr_writer :is_on_biz_app
58
+
40
59
  # Phone number in E164 format
41
60
  sig { returns(T.nilable(String)) }
42
61
  attr_reader :phone_number
@@ -70,6 +89,32 @@ module Telnyx
70
89
  sig { params(status: String).void }
71
90
  attr_writer :status
72
91
 
92
+ # Deadline for initiating the current coexistence synchronization cycle. This is
93
+ # null when no deadline applies.
94
+ sig { returns(T.nilable(Time)) }
95
+ attr_accessor :sync_deadline
96
+
97
+ # Synchronization progress. This object is returned only while a coexistence
98
+ # number is synchronizing.
99
+ sig do
100
+ returns(
101
+ T.nilable(
102
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::SyncProgress
103
+ )
104
+ )
105
+ end
106
+ attr_reader :sync_progress
107
+
108
+ sig do
109
+ params(
110
+ sync_progress:
111
+ T.nilable(
112
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::SyncProgress::OrHash
113
+ )
114
+ ).void
115
+ end
116
+ attr_writer :sync_progress
117
+
73
118
  # User ID
74
119
  sig { returns(T.nilable(String)) }
75
120
  attr_reader :user_id
@@ -87,23 +132,39 @@ module Telnyx
87
132
  sig do
88
133
  params(
89
134
  calling_enabled: T::Boolean,
135
+ coexistence_state:
136
+ T.nilable(
137
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::OrSymbol
138
+ ),
90
139
  created_at: Time,
91
140
  display_name: String,
92
141
  enabled: T::Boolean,
142
+ is_on_biz_app: T::Boolean,
93
143
  phone_number: String,
94
144
  phone_number_id: String,
95
145
  quality_rating: String,
96
146
  record_type: String,
97
147
  status: String,
148
+ sync_deadline: T.nilable(Time),
149
+ sync_progress:
150
+ T.nilable(
151
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::SyncProgress::OrHash
152
+ ),
98
153
  user_id: String,
99
154
  waba_id: String
100
155
  ).returns(T.attached_class)
101
156
  end
102
157
  def self.new(
103
158
  calling_enabled: nil,
159
+ # Current lifecycle state for a coexistence number. This is null for a standard
160
+ # Cloud API number.
161
+ coexistence_state: nil,
104
162
  created_at: nil,
105
163
  display_name: nil,
106
164
  enabled: nil,
165
+ # Indicates whether the number is connected to both the WhatsApp Business app and
166
+ # Cloud API through WhatsApp Coexistence.
167
+ is_on_biz_app: nil,
107
168
  # Phone number in E164 format
108
169
  phone_number: nil,
109
170
  # Whatsapp phone number ID
@@ -112,6 +173,12 @@ module Telnyx
112
173
  quality_rating: nil,
113
174
  record_type: nil,
114
175
  status: nil,
176
+ # Deadline for initiating the current coexistence synchronization cycle. This is
177
+ # null when no deadline applies.
178
+ sync_deadline: nil,
179
+ # Synchronization progress. This object is returned only while a coexistence
180
+ # number is synchronizing.
181
+ sync_progress: nil,
115
182
  # User ID
116
183
  user_id: nil,
117
184
  # WABA ID of Whatsapp business account
@@ -123,14 +190,24 @@ module Telnyx
123
190
  override.returns(
124
191
  {
125
192
  calling_enabled: T::Boolean,
193
+ coexistence_state:
194
+ T.nilable(
195
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
196
+ ),
126
197
  created_at: Time,
127
198
  display_name: String,
128
199
  enabled: T::Boolean,
200
+ is_on_biz_app: T::Boolean,
129
201
  phone_number: String,
130
202
  phone_number_id: String,
131
203
  quality_rating: String,
132
204
  record_type: String,
133
205
  status: String,
206
+ sync_deadline: T.nilable(Time),
207
+ sync_progress:
208
+ T.nilable(
209
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::SyncProgress
210
+ ),
134
211
  user_id: String,
135
212
  waba_id: String
136
213
  }
@@ -138,6 +215,142 @@ module Telnyx
138
215
  end
139
216
  def to_hash
140
217
  end
218
+
219
+ # Current lifecycle state for a coexistence number. This is null for a standard
220
+ # Cloud API number.
221
+ module CoexistenceState
222
+ extend Telnyx::Internal::Type::Enum
223
+
224
+ TaggedSymbol =
225
+ T.type_alias do
226
+ T.all(
227
+ Symbol,
228
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState
229
+ )
230
+ end
231
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
232
+
233
+ PENDING_ONBOARDING =
234
+ T.let(
235
+ :pending_onboarding,
236
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
237
+ )
238
+ SYNC_PENDING =
239
+ T.let(
240
+ :sync_pending,
241
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
242
+ )
243
+ SYNCING =
244
+ T.let(
245
+ :syncing,
246
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
247
+ )
248
+ SYNC_COMPLETE =
249
+ T.let(
250
+ :sync_complete,
251
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
252
+ )
253
+ ACTIVE =
254
+ T.let(
255
+ :active,
256
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
257
+ )
258
+ HISTORY_DECLINED =
259
+ T.let(
260
+ :history_declined,
261
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
262
+ )
263
+ SYNC_DEADLINE_EXPIRED =
264
+ T.let(
265
+ :sync_deadline_expired,
266
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
267
+ )
268
+ OFFBOARDED =
269
+ T.let(
270
+ :offboarded,
271
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
272
+ )
273
+ DISCONNECTED =
274
+ T.let(
275
+ :disconnected,
276
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
277
+ )
278
+
279
+ sig do
280
+ override.returns(
281
+ T::Array[
282
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
283
+ ]
284
+ )
285
+ end
286
+ def self.values
287
+ end
288
+ end
289
+
290
+ class SyncProgress < Telnyx::Internal::Type::BaseModel
291
+ OrHash =
292
+ T.type_alias do
293
+ T.any(
294
+ Telnyx::Models::Whatsapp::BusinessAccounts::PhoneNumberListResponse::SyncProgress,
295
+ Telnyx::Internal::AnyHash
296
+ )
297
+ end
298
+
299
+ sig { returns(T.nilable(String)) }
300
+ attr_reader :contacts_status
301
+
302
+ sig { params(contacts_status: String).void }
303
+ attr_writer :contacts_status
304
+
305
+ sig { returns(T.nilable(Integer)) }
306
+ attr_accessor :history_chunk_order
307
+
308
+ sig { returns(T.nilable(Integer)) }
309
+ attr_accessor :history_phase
310
+
311
+ sig { returns(T.nilable(Integer)) }
312
+ attr_accessor :history_progress
313
+
314
+ sig { returns(T.nilable(String)) }
315
+ attr_reader :history_status
316
+
317
+ sig { params(history_status: String).void }
318
+ attr_writer :history_status
319
+
320
+ # Synchronization progress. This object is returned only while a coexistence
321
+ # number is synchronizing.
322
+ sig do
323
+ params(
324
+ contacts_status: String,
325
+ history_chunk_order: T.nilable(Integer),
326
+ history_phase: T.nilable(Integer),
327
+ history_progress: T.nilable(Integer),
328
+ history_status: String
329
+ ).returns(T.attached_class)
330
+ end
331
+ def self.new(
332
+ contacts_status: nil,
333
+ history_chunk_order: nil,
334
+ history_phase: nil,
335
+ history_progress: nil,
336
+ history_status: nil
337
+ )
338
+ end
339
+
340
+ sig do
341
+ override.returns(
342
+ {
343
+ contacts_status: String,
344
+ history_chunk_order: T.nilable(Integer),
345
+ history_phase: T.nilable(Integer),
346
+ history_progress: T.nilable(Integer),
347
+ history_status: String
348
+ }
349
+ )
350
+ end
351
+ def to_hash
352
+ end
353
+ end
141
354
  end
142
355
  end
143
356
  end