telnyx 5.60.0 → 5.62.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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +10 -5
  5. data/lib/telnyx/errors.rb +0 -10
  6. data/lib/telnyx/lib/webhook_verification.rb +172 -0
  7. data/lib/telnyx/models/ai/assistants/{tag_delete_params.rb → tag_add_params.rb} +2 -2
  8. data/lib/telnyx/models/ai/assistants/{tag_delete_response.rb → tag_add_response.rb} +2 -2
  9. data/lib/telnyx/models/ai/assistants/{tag_create_params.rb → tag_remove_params.rb} +2 -2
  10. data/lib/telnyx/models/ai/assistants/{tag_create_response.rb → tag_remove_response.rb} +2 -2
  11. data/lib/telnyx/models/call_cost_webhook_event.rb +242 -0
  12. data/lib/telnyx/models/calls/action_start_noise_suppression_params.rb +135 -8
  13. data/lib/telnyx/models/text_to_speech_generate_params.rb +3 -3
  14. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +3 -1
  15. data/lib/telnyx/models/unwrap_webhook_event.rb +3 -1
  16. data/lib/telnyx/models/voice_clone_create_from_design_params.rb +27 -6
  17. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +23 -2
  18. data/lib/telnyx/models/voice_clone_create_params.rb +79 -0
  19. data/lib/telnyx/models/voice_clone_create_response.rb +19 -0
  20. data/lib/telnyx/models/voice_clone_data.rb +41 -1
  21. data/lib/telnyx/models/voice_clone_list_params.rb +22 -1
  22. data/lib/telnyx/models/voice_design_create_params.rb +24 -1
  23. data/lib/telnyx/models/voice_design_data.rb +45 -1
  24. data/lib/telnyx/models/voice_design_list_response.rb +32 -1
  25. data/lib/telnyx/models/{voice_design_update_params.rb → voice_design_rename_params.rb} +2 -2
  26. data/lib/telnyx/models/{voice_design_update_response.rb → voice_design_rename_response.rb} +42 -11
  27. data/lib/telnyx/models/whatsapp/business_accounts/{phone_number_create_verification_params.rb → phone_number_initialize_verification_params.rb} +5 -5
  28. data/lib/telnyx/models/whatsapp/template_create_params.rb +530 -0
  29. data/lib/telnyx/models/whatsapp/{message_template_create_response.rb → template_create_response.rb} +2 -2
  30. data/lib/telnyx/models/whatsapp/{message_template_list_params.rb → template_list_params.rb} +5 -5
  31. data/lib/telnyx/models/whatsapp_message_template_delete_params.rb +20 -0
  32. data/lib/telnyx/models/whatsapp_message_template_retrieve_params.rb +20 -0
  33. data/lib/telnyx/models/whatsapp_message_template_retrieve_response.rb +16 -0
  34. data/lib/telnyx/models/whatsapp_message_template_update_params.rb +504 -0
  35. data/lib/telnyx/models/whatsapp_message_template_update_response.rb +16 -0
  36. data/lib/telnyx/models/whatsapp_template_data.rb +10 -3
  37. data/lib/telnyx/models/x402/{credit_account_create_payment_quote_params.rb → credit_account_create_quote_params.rb} +2 -2
  38. data/lib/telnyx/models/x402/{credit_account_create_payment_quote_response.rb → credit_account_create_quote_response.rb} +31 -32
  39. data/lib/telnyx/models/x402/{credit_account_settle_payment_params.rb → credit_account_settle_params.rb} +3 -3
  40. data/lib/telnyx/models/x402/{credit_account_settle_payment_response.rb → credit_account_settle_response.rb} +14 -15
  41. data/lib/telnyx/models.rb +12 -4
  42. data/lib/telnyx/resources/ai/assistants/tags.rb +28 -28
  43. data/lib/telnyx/resources/calls/actions.rb +1 -1
  44. data/lib/telnyx/resources/voice_clones.rb +38 -31
  45. data/lib/telnyx/resources/voice_designs.rb +27 -25
  46. data/lib/telnyx/resources/webhooks.rb +10 -183
  47. data/lib/telnyx/resources/whatsapp/business_accounts/phone_numbers.rb +5 -5
  48. data/lib/telnyx/resources/whatsapp/phone_numbers/profile.rb +0 -4
  49. data/lib/telnyx/resources/whatsapp/templates.rb +91 -0
  50. data/lib/telnyx/resources/whatsapp.rb +3 -3
  51. data/lib/telnyx/resources/whatsapp_message_templates.rb +81 -0
  52. data/lib/telnyx/resources/x402/credit_account.rb +13 -13
  53. data/lib/telnyx/version.rb +1 -1
  54. data/lib/telnyx.rb +25 -24
  55. data/rbi/telnyx/client.rbi +8 -4
  56. data/rbi/telnyx/models/ai/assistants/{tag_create_params.rbi → tag_add_params.rbi} +2 -2
  57. data/rbi/telnyx/models/ai/assistants/{tag_delete_response.rbi → tag_add_response.rbi} +2 -2
  58. data/rbi/telnyx/models/ai/assistants/{tag_delete_params.rbi → tag_remove_params.rbi} +2 -2
  59. data/rbi/telnyx/models/ai/assistants/{tag_create_response.rbi → tag_remove_response.rbi} +2 -2
  60. data/rbi/telnyx/models/call_cost_webhook_event.rbi +485 -0
  61. data/rbi/telnyx/models/calls/action_start_noise_suppression_params.rbi +338 -12
  62. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +2 -1
  63. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +1 -0
  64. data/rbi/telnyx/models/unwrap_webhook_event.rbi +1 -0
  65. data/rbi/telnyx/models/voice_clone_create_from_design_params.rbi +51 -0
  66. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +67 -2
  67. data/rbi/telnyx/models/voice_clone_create_params.rbi +142 -0
  68. data/rbi/telnyx/models/voice_clone_create_response.rbi +36 -0
  69. data/rbi/telnyx/models/voice_clone_data.rbi +57 -0
  70. data/rbi/telnyx/models/voice_clone_list_params.rbi +62 -0
  71. data/rbi/telnyx/models/voice_design_create_params.rbi +60 -0
  72. data/rbi/telnyx/models/voice_design_data.rbi +59 -0
  73. data/rbi/telnyx/models/voice_design_list_response.rbi +73 -0
  74. data/rbi/telnyx/models/{voice_design_update_params.rbi → voice_design_rename_params.rbi} +2 -2
  75. data/rbi/telnyx/models/{voice_design_update_response.rbi → voice_design_rename_response.rbi} +90 -14
  76. data/rbi/telnyx/models/whatsapp/business_accounts/{phone_number_create_verification_params.rbi → phone_number_initialize_verification_params.rbi} +10 -10
  77. data/rbi/telnyx/models/whatsapp/template_create_params.rbi +1177 -0
  78. data/rbi/telnyx/models/whatsapp/{message_template_create_response.rbi → template_create_response.rbi} +2 -2
  79. data/rbi/telnyx/models/whatsapp/{message_template_list_params.rbi → template_list_params.rbi} +11 -11
  80. data/rbi/telnyx/models/whatsapp_message_template_delete_params.rbi +38 -0
  81. data/rbi/telnyx/models/whatsapp_message_template_retrieve_params.rbi +38 -0
  82. data/rbi/telnyx/models/whatsapp_message_template_retrieve_response.rbi +33 -0
  83. data/rbi/telnyx/models/whatsapp_message_template_update_params.rbi +1178 -0
  84. data/rbi/telnyx/models/whatsapp_message_template_update_response.rbi +33 -0
  85. data/rbi/telnyx/models/whatsapp_template_data.rbi +10 -2
  86. data/rbi/telnyx/models/x402/{credit_account_create_payment_quote_params.rbi → credit_account_create_quote_params.rbi} +2 -2
  87. data/rbi/telnyx/models/x402/{credit_account_create_payment_quote_response.rbi → credit_account_create_quote_response.rbi} +41 -42
  88. data/rbi/telnyx/models/x402/{credit_account_settle_payment_params.rbi → credit_account_settle_params.rbi} +2 -2
  89. data/rbi/telnyx/models/x402/{credit_account_settle_payment_response.rbi → credit_account_settle_response.rbi} +21 -26
  90. data/rbi/telnyx/models.rbi +29 -3
  91. data/rbi/telnyx/resources/ai/assistants/tags.rbi +13 -13
  92. data/rbi/telnyx/resources/calls/actions.rbi +4 -3
  93. data/rbi/telnyx/resources/voice_clones.rbi +36 -25
  94. data/rbi/telnyx/resources/voice_designs.rbi +21 -17
  95. data/rbi/telnyx/resources/webhooks.rbi +12 -2
  96. data/rbi/telnyx/resources/whatsapp/business_accounts/phone_numbers.rbi +2 -2
  97. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile.rbi +0 -5
  98. data/rbi/telnyx/resources/whatsapp/templates.rbi +85 -0
  99. data/rbi/telnyx/resources/whatsapp.rbi +2 -2
  100. data/rbi/telnyx/resources/whatsapp_message_templates.rbi +67 -0
  101. data/rbi/telnyx/resources/x402/credit_account.rbi +4 -6
  102. data/sig/telnyx/client.rbs +4 -2
  103. data/sig/telnyx/models/ai/assistants/{tag_delete_params.rbs → tag_add_params.rbs} +2 -2
  104. data/sig/telnyx/models/ai/assistants/{tag_delete_response.rbs → tag_add_response.rbs} +2 -2
  105. data/sig/telnyx/models/ai/assistants/{tag_create_params.rbs → tag_remove_params.rbs} +2 -2
  106. data/sig/telnyx/models/ai/assistants/{tag_create_response.rbs → tag_remove_response.rbs} +2 -2
  107. data/sig/telnyx/models/call_cost_webhook_event.rbs +235 -0
  108. data/sig/telnyx/models/calls/action_start_noise_suppression_params.rbs +124 -4
  109. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +1 -0
  110. data/sig/telnyx/models/unwrap_webhook_event.rbs +1 -0
  111. data/sig/telnyx/models/voice_clone_create_from_design_params.rbs +23 -1
  112. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +22 -0
  113. data/sig/telnyx/models/voice_clone_create_params.rbs +75 -0
  114. data/sig/telnyx/models/voice_clone_create_response.rbs +15 -0
  115. data/sig/telnyx/models/voice_clone_data.rbs +34 -0
  116. data/sig/telnyx/models/voice_clone_list_params.rbs +22 -0
  117. data/sig/telnyx/models/voice_design_create_params.rbs +22 -0
  118. data/sig/telnyx/models/voice_design_data.rbs +30 -0
  119. data/sig/telnyx/models/voice_design_list_response.rbs +25 -0
  120. data/sig/telnyx/models/{voice_design_update_params.rbs → voice_design_rename_params.rbs} +2 -2
  121. data/sig/telnyx/models/voice_design_rename_response.rbs +104 -0
  122. data/sig/telnyx/models/whatsapp/business_accounts/{phone_number_create_verification_params.rbs → phone_number_initialize_verification_params.rbs} +9 -9
  123. data/sig/telnyx/models/whatsapp/template_create_params.rbs +479 -0
  124. data/sig/telnyx/models/whatsapp/{message_template_update_response.rbs → template_create_response.rbs} +2 -3
  125. data/sig/telnyx/models/whatsapp/{message_template_list_params.rbs → template_list_params.rbs} +9 -9
  126. data/sig/telnyx/models/whatsapp_message_template_delete_params.rbs +20 -0
  127. data/sig/telnyx/models/whatsapp_message_template_retrieve_params.rbs +20 -0
  128. data/sig/telnyx/models/whatsapp_message_template_retrieve_response.rbs +16 -0
  129. data/sig/telnyx/models/whatsapp_message_template_update_params.rbs +473 -0
  130. data/sig/telnyx/models/whatsapp_message_template_update_response.rbs +16 -0
  131. data/sig/telnyx/models/x402/{credit_account_create_payment_quote_params.rbs → credit_account_create_quote_params.rbs} +2 -2
  132. data/sig/telnyx/models/x402/{credit_account_create_payment_quote_response.rbs → credit_account_create_quote_response.rbs} +46 -48
  133. data/sig/telnyx/models/x402/{credit_account_settle_payment_params.rbs → credit_account_settle_params.rbs} +2 -2
  134. data/sig/telnyx/models/x402/{credit_account_settle_payment_response.rbs → credit_account_settle_response.rbs} +22 -22
  135. data/sig/telnyx/models.rbs +12 -4
  136. data/sig/telnyx/resources/ai/assistants/tags.rbs +8 -8
  137. data/sig/telnyx/resources/voice_clones.rbs +11 -8
  138. data/sig/telnyx/resources/voice_designs.rbs +7 -6
  139. data/sig/telnyx/resources/webhooks.rbs +5 -1
  140. data/sig/telnyx/resources/whatsapp/business_accounts/phone_numbers.rbs +2 -2
  141. data/sig/telnyx/resources/whatsapp/phone_numbers/profile.rbs +0 -2
  142. data/sig/telnyx/resources/whatsapp/templates.rbs +28 -0
  143. data/sig/telnyx/resources/whatsapp.rbs +1 -1
  144. data/sig/telnyx/resources/whatsapp_message_templates.rbs +21 -0
  145. data/sig/telnyx/resources/x402/credit_account.rbs +4 -4
  146. metadata +75 -65
  147. data/lib/telnyx/models/whatsapp/message_template_create_params.rb +0 -58
  148. data/lib/telnyx/models/whatsapp/message_template_delete_params.rb +0 -22
  149. data/lib/telnyx/models/whatsapp/message_template_retrieve_params.rb +0 -22
  150. data/lib/telnyx/models/whatsapp/message_template_retrieve_response.rb +0 -18
  151. data/lib/telnyx/models/whatsapp/message_template_update_params.rb +0 -46
  152. data/lib/telnyx/models/whatsapp/message_template_update_response.rb +0 -18
  153. data/lib/telnyx/resources/whatsapp/message_templates.rb +0 -149
  154. data/lib/telnyx/resources/whatsapp/phone_numbers/profile/models.rb +0 -20
  155. data/rbi/telnyx/models/whatsapp/message_template_create_params.rbi +0 -115
  156. data/rbi/telnyx/models/whatsapp/message_template_delete_params.rbi +0 -40
  157. data/rbi/telnyx/models/whatsapp/message_template_retrieve_params.rbi +0 -40
  158. data/rbi/telnyx/models/whatsapp/message_template_retrieve_response.rbi +0 -35
  159. data/rbi/telnyx/models/whatsapp/message_template_update_params.rbi +0 -111
  160. data/rbi/telnyx/models/whatsapp/message_template_update_response.rbi +0 -35
  161. data/rbi/telnyx/resources/whatsapp/message_templates.rbi +0 -116
  162. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile/models.rbi +0 -18
  163. data/sig/telnyx/models/voice_design_update_response.rbs +0 -79
  164. data/sig/telnyx/models/whatsapp/message_template_create_params.rbs +0 -60
  165. data/sig/telnyx/models/whatsapp/message_template_create_response.rbs +0 -20
  166. data/sig/telnyx/models/whatsapp/message_template_delete_params.rbs +0 -22
  167. data/sig/telnyx/models/whatsapp/message_template_retrieve_params.rbs +0 -22
  168. data/sig/telnyx/models/whatsapp/message_template_retrieve_response.rbs +0 -20
  169. data/sig/telnyx/models/whatsapp/message_template_update_params.rbs +0 -58
  170. data/sig/telnyx/resources/whatsapp/message_templates.rbs +0 -42
  171. data/sig/telnyx/resources/whatsapp/phone_numbers/profile/models.rbs +0 -13
@@ -0,0 +1,235 @@
1
+ module Telnyx
2
+ module Models
3
+ type call_cost_webhook_event = { data: Telnyx::CallCostWebhookEvent::Data }
4
+
5
+ class CallCostWebhookEvent < Telnyx::Internal::Type::BaseModel
6
+ attr_reader data: Telnyx::CallCostWebhookEvent::Data?
7
+
8
+ def data=: (
9
+ Telnyx::CallCostWebhookEvent::Data
10
+ ) -> Telnyx::CallCostWebhookEvent::Data
11
+
12
+ def initialize: (?data: Telnyx::CallCostWebhookEvent::Data) -> void
13
+
14
+ def to_hash: -> { data: Telnyx::CallCostWebhookEvent::Data }
15
+
16
+ type data =
17
+ {
18
+ id: String,
19
+ event_type: Telnyx::Models::CallCostWebhookEvent::Data::event_type,
20
+ occurred_at: Time,
21
+ payload: Telnyx::CallCostWebhookEvent::Data::Payload,
22
+ record_type: Telnyx::Models::CallCostWebhookEvent::Data::record_type
23
+ }
24
+
25
+ class Data < Telnyx::Internal::Type::BaseModel
26
+ attr_reader id: String?
27
+
28
+ def id=: (String) -> String
29
+
30
+ attr_reader event_type: Telnyx::Models::CallCostWebhookEvent::Data::event_type?
31
+
32
+ def event_type=: (
33
+ Telnyx::Models::CallCostWebhookEvent::Data::event_type
34
+ ) -> Telnyx::Models::CallCostWebhookEvent::Data::event_type
35
+
36
+ attr_reader occurred_at: Time?
37
+
38
+ def occurred_at=: (Time) -> Time
39
+
40
+ attr_reader payload: Telnyx::CallCostWebhookEvent::Data::Payload?
41
+
42
+ def payload=: (
43
+ Telnyx::CallCostWebhookEvent::Data::Payload
44
+ ) -> Telnyx::CallCostWebhookEvent::Data::Payload
45
+
46
+ attr_reader record_type: Telnyx::Models::CallCostWebhookEvent::Data::record_type?
47
+
48
+ def record_type=: (
49
+ Telnyx::Models::CallCostWebhookEvent::Data::record_type
50
+ ) -> Telnyx::Models::CallCostWebhookEvent::Data::record_type
51
+
52
+ def initialize: (
53
+ ?id: String,
54
+ ?event_type: Telnyx::Models::CallCostWebhookEvent::Data::event_type,
55
+ ?occurred_at: Time,
56
+ ?payload: Telnyx::CallCostWebhookEvent::Data::Payload,
57
+ ?record_type: Telnyx::Models::CallCostWebhookEvent::Data::record_type
58
+ ) -> void
59
+
60
+ def to_hash: -> {
61
+ id: String,
62
+ event_type: Telnyx::Models::CallCostWebhookEvent::Data::event_type,
63
+ occurred_at: Time,
64
+ payload: Telnyx::CallCostWebhookEvent::Data::Payload,
65
+ record_type: Telnyx::Models::CallCostWebhookEvent::Data::record_type
66
+ }
67
+
68
+ type event_type = :"call.cost"
69
+
70
+ module EventType
71
+ extend Telnyx::Internal::Type::Enum
72
+
73
+ CALL_COST: :"call.cost"
74
+
75
+ def self?.values: -> ::Array[Telnyx::Models::CallCostWebhookEvent::Data::event_type]
76
+ end
77
+
78
+ type payload =
79
+ {
80
+ billed_duration_secs: Integer?,
81
+ billing_group_id: String?,
82
+ call_control_id: String,
83
+ call_leg_id: String,
84
+ call_session_id: String,
85
+ client_state: String,
86
+ connection_id: String,
87
+ cost_parts: ::Array[Telnyx::CallCostWebhookEvent::Data::Payload::CostPart],
88
+ occurred_at: Time,
89
+ status: Telnyx::Models::CallCostWebhookEvent::Data::Payload::status,
90
+ total_cost: String?
91
+ }
92
+
93
+ class Payload < Telnyx::Internal::Type::BaseModel
94
+ attr_accessor billed_duration_secs: Integer?
95
+
96
+ attr_accessor billing_group_id: String?
97
+
98
+ attr_reader call_control_id: String?
99
+
100
+ def call_control_id=: (String) -> String
101
+
102
+ attr_reader call_leg_id: String?
103
+
104
+ def call_leg_id=: (String) -> String
105
+
106
+ attr_reader call_session_id: String?
107
+
108
+ def call_session_id=: (String) -> String
109
+
110
+ attr_reader client_state: String?
111
+
112
+ def client_state=: (String) -> String
113
+
114
+ attr_reader connection_id: String?
115
+
116
+ def connection_id=: (String) -> String
117
+
118
+ attr_reader cost_parts: ::Array[Telnyx::CallCostWebhookEvent::Data::Payload::CostPart]?
119
+
120
+ def cost_parts=: (
121
+ ::Array[Telnyx::CallCostWebhookEvent::Data::Payload::CostPart]
122
+ ) -> ::Array[Telnyx::CallCostWebhookEvent::Data::Payload::CostPart]
123
+
124
+ attr_reader occurred_at: Time?
125
+
126
+ def occurred_at=: (Time) -> Time
127
+
128
+ attr_reader status: Telnyx::Models::CallCostWebhookEvent::Data::Payload::status?
129
+
130
+ def status=: (
131
+ Telnyx::Models::CallCostWebhookEvent::Data::Payload::status
132
+ ) -> Telnyx::Models::CallCostWebhookEvent::Data::Payload::status
133
+
134
+ attr_accessor total_cost: String?
135
+
136
+ def initialize: (
137
+ ?billed_duration_secs: Integer?,
138
+ ?billing_group_id: String?,
139
+ ?call_control_id: String,
140
+ ?call_leg_id: String,
141
+ ?call_session_id: String,
142
+ ?client_state: String,
143
+ ?connection_id: String,
144
+ ?cost_parts: ::Array[Telnyx::CallCostWebhookEvent::Data::Payload::CostPart],
145
+ ?occurred_at: Time,
146
+ ?status: Telnyx::Models::CallCostWebhookEvent::Data::Payload::status,
147
+ ?total_cost: String?
148
+ ) -> void
149
+
150
+ def to_hash: -> {
151
+ billed_duration_secs: Integer?,
152
+ billing_group_id: String?,
153
+ call_control_id: String,
154
+ call_leg_id: String,
155
+ call_session_id: String,
156
+ client_state: String,
157
+ connection_id: String,
158
+ cost_parts: ::Array[Telnyx::CallCostWebhookEvent::Data::Payload::CostPart],
159
+ occurred_at: Time,
160
+ status: Telnyx::Models::CallCostWebhookEvent::Data::Payload::status,
161
+ total_cost: String?
162
+ }
163
+
164
+ type cost_part =
165
+ {
166
+ billed_duration_secs: Integer,
167
+ call_part: String,
168
+ cost: String,
169
+ currency: String,
170
+ rate: String
171
+ }
172
+
173
+ class CostPart < Telnyx::Internal::Type::BaseModel
174
+ attr_reader billed_duration_secs: Integer?
175
+
176
+ def billed_duration_secs=: (Integer) -> Integer
177
+
178
+ attr_reader call_part: String?
179
+
180
+ def call_part=: (String) -> String
181
+
182
+ attr_reader cost: String?
183
+
184
+ def cost=: (String) -> String
185
+
186
+ attr_reader currency: String?
187
+
188
+ def currency=: (String) -> String
189
+
190
+ attr_reader rate: String?
191
+
192
+ def rate=: (String) -> String
193
+
194
+ def initialize: (
195
+ ?billed_duration_secs: Integer,
196
+ ?call_part: String,
197
+ ?cost: String,
198
+ ?currency: String,
199
+ ?rate: String
200
+ ) -> void
201
+
202
+ def to_hash: -> {
203
+ billed_duration_secs: Integer,
204
+ call_part: String,
205
+ cost: String,
206
+ currency: String,
207
+ rate: String
208
+ }
209
+ end
210
+
211
+ type status = :success | :error
212
+
213
+ module Status
214
+ extend Telnyx::Internal::Type::Enum
215
+
216
+ SUCCESS: :success
217
+ ERROR: :error
218
+
219
+ def self?.values: -> ::Array[Telnyx::Models::CallCostWebhookEvent::Data::Payload::status]
220
+ end
221
+ end
222
+
223
+ type record_type = :event
224
+
225
+ module RecordType
226
+ extend Telnyx::Internal::Type::Enum
227
+
228
+ EVENT: :event
229
+
230
+ def self?.values: -> ::Array[Telnyx::Models::CallCostWebhookEvent::Data::record_type]
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
@@ -76,7 +76,8 @@ module Telnyx
76
76
  def self?.values: -> ::Array[Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::direction]
77
77
  end
78
78
 
79
- type noise_suppression_engine = :Denoiser | :DeepFilterNet | :Krisp
79
+ type noise_suppression_engine =
80
+ :Denoiser | :DeepFilterNet | :Krisp | :AiCoustics
80
81
 
81
82
  module NoiseSuppressionEngine
82
83
  extend Telnyx::Internal::Type::Enum
@@ -84,20 +85,139 @@ module Telnyx
84
85
  DENOISER: :Denoiser
85
86
  DEEP_FILTER_NET: :DeepFilterNet
86
87
  KRISP: :Krisp
88
+ AI_COUSTICS: :AiCoustics
87
89
 
88
90
  def self?.values: -> ::Array[Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::noise_suppression_engine]
89
91
  end
90
92
 
91
- type noise_suppression_engine_config = { attenuation_limit: Integer }
93
+ type noise_suppression_engine_config =
94
+ {
95
+ attenuation_limit: Integer,
96
+ enhancement_level: Float,
97
+ family: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family,
98
+ mode: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode,
99
+ model: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model,
100
+ size: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size,
101
+ suppression_level: Float,
102
+ voice_gain: Float
103
+ }
92
104
 
93
105
  class NoiseSuppressionEngineConfig < Telnyx::Internal::Type::BaseModel
94
106
  attr_reader attenuation_limit: Integer?
95
107
 
96
108
  def attenuation_limit=: (Integer) -> Integer
97
109
 
98
- def initialize: (?attenuation_limit: Integer) -> void
110
+ attr_reader enhancement_level: Float?
99
111
 
100
- def to_hash: -> { attenuation_limit: Integer }
112
+ def enhancement_level=: (Float) -> Float
113
+
114
+ attr_reader family: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family?
115
+
116
+ def family=: (
117
+ Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family
118
+ ) -> Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family
119
+
120
+ attr_reader mode: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode?
121
+
122
+ def mode=: (
123
+ Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode
124
+ ) -> Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode
125
+
126
+ attr_reader model: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model?
127
+
128
+ def model=: (
129
+ Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model
130
+ ) -> Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model
131
+
132
+ attr_reader size: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size?
133
+
134
+ def size=: (
135
+ Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size
136
+ ) -> Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size
137
+
138
+ attr_reader suppression_level: Float?
139
+
140
+ def suppression_level=: (Float) -> Float
141
+
142
+ attr_reader voice_gain: Float?
143
+
144
+ def voice_gain=: (Float) -> Float
145
+
146
+ def initialize: (
147
+ ?attenuation_limit: Integer,
148
+ ?enhancement_level: Float,
149
+ ?family: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family,
150
+ ?mode: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode,
151
+ ?model: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model,
152
+ ?size: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size,
153
+ ?suppression_level: Float,
154
+ ?voice_gain: Float
155
+ ) -> void
156
+
157
+ def to_hash: -> {
158
+ attenuation_limit: Integer,
159
+ enhancement_level: Float,
160
+ family: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family,
161
+ mode: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode,
162
+ model: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model,
163
+ size: Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size,
164
+ suppression_level: Float,
165
+ voice_gain: Float
166
+ }
167
+
168
+ type family = :sparrow | :quail
169
+
170
+ module Family
171
+ extend Telnyx::Internal::Type::Enum
172
+
173
+ SPARROW: :sparrow
174
+ QUAIL: :quail
175
+
176
+ def self?.values: -> ::Array[Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::family]
177
+ end
178
+
179
+ type mode = :standard | :advanced
180
+
181
+ module Mode
182
+ extend Telnyx::Internal::Type::Enum
183
+
184
+ STANDARD: :standard
185
+ ADVANCED: :advanced
186
+
187
+ def self?.values: -> ::Array[Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::mode]
188
+ end
189
+
190
+ type model =
191
+ :"krisp-viva-tel-v2.kef"
192
+ | :"krisp-viva-tel-lite-v1.kef"
193
+ | :"krisp-viva-pro-v1.kef"
194
+ | :"krisp-viva-ss-v1.kef"
195
+
196
+ module Model
197
+ extend Telnyx::Internal::Type::Enum
198
+
199
+ KRISP_VIVA_TEL_V2_KEF: :"krisp-viva-tel-v2.kef"
200
+ KRISP_VIVA_TEL_LITE_V1_KEF: :"krisp-viva-tel-lite-v1.kef"
201
+ KRISP_VIVA_PRO_V1_KEF: :"krisp-viva-pro-v1.kef"
202
+ KRISP_VIVA_SS_V1_KEF: :"krisp-viva-ss-v1.kef"
203
+
204
+ def self?.values: -> ::Array[Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::model]
205
+ end
206
+
207
+ type size = :s | :l | :xs | :xxs | :vf_l | :vf_1_1_l
208
+
209
+ module Size
210
+ extend Telnyx::Internal::Type::Enum
211
+
212
+ S: :s
213
+ L: :l
214
+ XS: :xs
215
+ XXS: :xxs
216
+ VF_L: :vf_l
217
+ VF_1_1_L: :vf_1_1_l
218
+
219
+ def self?.values: -> ::Array[Telnyx::Models::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::size]
220
+ end
101
221
  end
102
222
  end
103
223
  end
@@ -8,6 +8,7 @@ module Telnyx
8
8
  | Telnyx::CallBridgedWebhookEvent
9
9
  | Telnyx::CallConversationEndedWebhookEvent
10
10
  | Telnyx::CallConversationInsightsGeneratedWebhookEvent
11
+ | Telnyx::CallCostWebhookEvent
11
12
  | Telnyx::CallDtmfReceivedWebhookEvent
12
13
  | Telnyx::CallEnqueuedWebhookEvent
13
14
  | Telnyx::CallForkStartedWebhookEvent
@@ -8,6 +8,7 @@ module Telnyx
8
8
  | Telnyx::CallBridgedWebhookEvent
9
9
  | Telnyx::CallConversationEndedWebhookEvent
10
10
  | Telnyx::CallConversationInsightsGeneratedWebhookEvent
11
+ | Telnyx::CallCostWebhookEvent
11
12
  | Telnyx::CallDtmfReceivedWebhookEvent
12
13
  | Telnyx::CallEnqueuedWebhookEvent
13
14
  | Telnyx::CallForkStartedWebhookEvent
@@ -5,7 +5,8 @@ module Telnyx
5
5
  gender: Telnyx::Models::VoiceCloneCreateFromDesignParams::gender,
6
6
  language: String,
7
7
  name: String,
8
- voice_design_id: String
8
+ voice_design_id: String,
9
+ provider: Telnyx::Models::VoiceCloneCreateParams::provider
9
10
  }
10
11
  & Telnyx::Internal::Type::request_parameters
11
12
 
@@ -21,11 +22,18 @@ module Telnyx
21
22
 
22
23
  attr_accessor voice_design_id: String
23
24
 
25
+ attr_reader provider: Telnyx::Models::VoiceCloneCreateParams::provider?
26
+
27
+ def provider=: (
28
+ Telnyx::Models::VoiceCloneCreateParams::provider
29
+ ) -> Telnyx::Models::VoiceCloneCreateParams::provider
30
+
24
31
  def initialize: (
25
32
  gender: Telnyx::Models::VoiceCloneCreateFromDesignParams::gender,
26
33
  language: String,
27
34
  name: String,
28
35
  voice_design_id: String,
36
+ ?provider: Telnyx::Models::VoiceCloneCreateParams::provider,
29
37
  ?request_options: Telnyx::request_opts
30
38
  ) -> void
31
39
 
@@ -34,6 +42,7 @@ module Telnyx
34
42
  language: String,
35
43
  name: String,
36
44
  voice_design_id: String,
45
+ provider: Telnyx::Models::VoiceCloneCreateParams::provider,
37
46
  request_options: Telnyx::RequestOptions
38
47
  }
39
48
 
@@ -48,6 +57,19 @@ module Telnyx
48
57
 
49
58
  def self?.values: -> ::Array[Telnyx::Models::VoiceCloneCreateFromDesignParams::gender]
50
59
  end
60
+
61
+ type provider = :telnyx | :minimax | :Telnyx | :Minimax
62
+
63
+ module Provider
64
+ extend Telnyx::Internal::Type::Enum
65
+
66
+ TELNYX: :telnyx
67
+ TELNYX_2: :Telnyx
68
+ MINIMAX: :minimax
69
+ MINIMAX_2: :Minimax
70
+
71
+ def self?.values: -> ::Array[Telnyx::Models::VoiceCloneCreateParams::provider]
72
+ end
51
73
  end
52
74
  end
53
75
  end
@@ -7,6 +7,7 @@ module Telnyx
7
7
  name: String,
8
8
  gender: Telnyx::Models::VoiceCloneCreateFromUploadParams::gender,
9
9
  label: String,
10
+ provider: Telnyx::Models::VoiceCloneCreateFromUploadParams::provider,
10
11
  ref_text: String
11
12
  }
12
13
  & Telnyx::Internal::Type::request_parameters
@@ -31,6 +32,12 @@ module Telnyx
31
32
 
32
33
  def label=: (String) -> String
33
34
 
35
+ attr_reader provider: Telnyx::Models::VoiceCloneCreateFromUploadParams::provider?
36
+
37
+ def provider=: (
38
+ Telnyx::Models::VoiceCloneCreateFromUploadParams::provider
39
+ ) -> Telnyx::Models::VoiceCloneCreateFromUploadParams::provider
40
+
34
41
  attr_reader ref_text: String?
35
42
 
36
43
  def ref_text=: (String) -> String
@@ -41,6 +48,7 @@ module Telnyx
41
48
  name: String,
42
49
  ?gender: Telnyx::Models::VoiceCloneCreateFromUploadParams::gender,
43
50
  ?label: String,
51
+ ?provider: Telnyx::Models::VoiceCloneCreateFromUploadParams::provider,
44
52
  ?ref_text: String,
45
53
  ?request_options: Telnyx::request_opts
46
54
  ) -> void
@@ -51,6 +59,7 @@ module Telnyx
51
59
  name: String,
52
60
  gender: Telnyx::Models::VoiceCloneCreateFromUploadParams::gender,
53
61
  label: String,
62
+ provider: Telnyx::Models::VoiceCloneCreateFromUploadParams::provider,
54
63
  ref_text: String,
55
64
  request_options: Telnyx::RequestOptions
56
65
  }
@@ -66,6 +75,19 @@ module Telnyx
66
75
 
67
76
  def self?.values: -> ::Array[Telnyx::Models::VoiceCloneCreateFromUploadParams::gender]
68
77
  end
78
+
79
+ type provider = :telnyx | :minimax | :Telnyx | :Minimax
80
+
81
+ module Provider
82
+ extend Telnyx::Internal::Type::Enum
83
+
84
+ TELNYX: :telnyx
85
+ TELNYX_2: :Telnyx
86
+ MINIMAX: :minimax
87
+ MINIMAX_2: :Minimax
88
+
89
+ def self?.values: -> ::Array[Telnyx::Models::VoiceCloneCreateFromUploadParams::provider]
90
+ end
69
91
  end
70
92
  end
71
93
  end
@@ -0,0 +1,75 @@
1
+ module Telnyx
2
+ module Models
3
+ type voice_clone_create_params =
4
+ {
5
+ gender: Telnyx::Models::VoiceCloneCreateParams::gender,
6
+ language: String,
7
+ name: String,
8
+ voice_design_id: String,
9
+ provider: Telnyx::Models::VoiceCloneCreateParams::provider
10
+ }
11
+ & Telnyx::Internal::Type::request_parameters
12
+
13
+ class VoiceCloneCreateParams < Telnyx::Internal::Type::BaseModel
14
+ extend Telnyx::Internal::Type::RequestParameters::Converter
15
+ include Telnyx::Internal::Type::RequestParameters
16
+
17
+ attr_accessor gender: Telnyx::Models::VoiceCloneCreateParams::gender
18
+
19
+ attr_accessor language: String
20
+
21
+ attr_accessor name: String
22
+
23
+ attr_accessor voice_design_id: String
24
+
25
+ attr_reader provider: Telnyx::Models::VoiceCloneCreateParams::provider?
26
+
27
+ def provider=: (
28
+ Telnyx::Models::VoiceCloneCreateParams::provider
29
+ ) -> Telnyx::Models::VoiceCloneCreateParams::provider
30
+
31
+ def initialize: (
32
+ gender: Telnyx::Models::VoiceCloneCreateParams::gender,
33
+ language: String,
34
+ name: String,
35
+ voice_design_id: String,
36
+ ?provider: Telnyx::Models::VoiceCloneCreateParams::provider,
37
+ ?request_options: Telnyx::request_opts
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ gender: Telnyx::Models::VoiceCloneCreateParams::gender,
42
+ language: String,
43
+ name: String,
44
+ voice_design_id: String,
45
+ provider: Telnyx::Models::VoiceCloneCreateParams::provider,
46
+ request_options: Telnyx::RequestOptions
47
+ }
48
+
49
+ type gender = :male | :female | :neutral
50
+
51
+ module Gender
52
+ extend Telnyx::Internal::Type::Enum
53
+
54
+ MALE: :male
55
+ FEMALE: :female
56
+ NEUTRAL: :neutral
57
+
58
+ def self?.values: -> ::Array[Telnyx::Models::VoiceCloneCreateParams::gender]
59
+ end
60
+
61
+ type provider = :telnyx | :minimax | :Telnyx | :Minimax
62
+
63
+ module Provider
64
+ extend Telnyx::Internal::Type::Enum
65
+
66
+ TELNYX: :telnyx
67
+ TELNYX_2: :Telnyx
68
+ MINIMAX: :minimax
69
+ MINIMAX_2: :Minimax
70
+
71
+ def self?.values: -> ::Array[Telnyx::Models::VoiceCloneCreateParams::provider]
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,15 @@
1
+ module Telnyx
2
+ module Models
3
+ type voice_clone_create_response = { data: Telnyx::VoiceCloneData }
4
+
5
+ class VoiceCloneCreateResponse < Telnyx::Internal::Type::BaseModel
6
+ attr_reader data: Telnyx::VoiceCloneData?
7
+
8
+ def data=: (Telnyx::VoiceCloneData) -> Telnyx::VoiceCloneData
9
+
10
+ def initialize: (?data: Telnyx::VoiceCloneData) -> void
11
+
12
+ def to_hash: -> { data: Telnyx::VoiceCloneData }
13
+ end
14
+ end
15
+ end
@@ -8,6 +8,9 @@ module Telnyx
8
8
  label: String?,
9
9
  language: String?,
10
10
  name: String,
11
+ provider: Telnyx::Models::VoiceCloneData::provider,
12
+ provider_supported_models: ::Array[String],
13
+ provider_voice_id: String?,
11
14
  record_type: Telnyx::Models::VoiceCloneData::record_type,
12
15
  source_voice_design_id: String?,
13
16
  source_voice_design_version: Integer?,
@@ -33,6 +36,18 @@ module Telnyx
33
36
 
34
37
  def name=: (String) -> String
35
38
 
39
+ attr_reader provider: Telnyx::Models::VoiceCloneData::provider?
40
+
41
+ def provider=: (
42
+ Telnyx::Models::VoiceCloneData::provider
43
+ ) -> Telnyx::Models::VoiceCloneData::provider
44
+
45
+ attr_reader provider_supported_models: ::Array[String]?
46
+
47
+ def provider_supported_models=: (::Array[String]) -> ::Array[String]
48
+
49
+ attr_accessor provider_voice_id: String?
50
+
36
51
  attr_reader record_type: Telnyx::Models::VoiceCloneData::record_type?
37
52
 
38
53
  def record_type=: (
@@ -54,6 +69,9 @@ module Telnyx
54
69
  ?label: String?,
55
70
  ?language: String?,
56
71
  ?name: String,
72
+ ?provider: Telnyx::Models::VoiceCloneData::provider,
73
+ ?provider_supported_models: ::Array[String],
74
+ ?provider_voice_id: String?,
57
75
  ?record_type: Telnyx::Models::VoiceCloneData::record_type,
58
76
  ?source_voice_design_id: String?,
59
77
  ?source_voice_design_version: Integer?,
@@ -67,6 +85,9 @@ module Telnyx
67
85
  label: String?,
68
86
  language: String?,
69
87
  name: String,
88
+ provider: Telnyx::Models::VoiceCloneData::provider,
89
+ provider_supported_models: ::Array[String],
90
+ provider_voice_id: String?,
70
91
  record_type: Telnyx::Models::VoiceCloneData::record_type,
71
92
  source_voice_design_id: String?,
72
93
  source_voice_design_version: Integer?,
@@ -85,6 +106,19 @@ module Telnyx
85
106
  def self?.values: -> ::Array[Telnyx::Models::VoiceCloneData::gender]
86
107
  end
87
108
 
109
+ type provider = :telnyx | :minimax | :Telnyx | :Minimax
110
+
111
+ module Provider
112
+ extend Telnyx::Internal::Type::Enum
113
+
114
+ TELNYX: :telnyx
115
+ TELNYX_2: :Telnyx
116
+ MINIMAX: :minimax
117
+ MINIMAX_2: :Minimax
118
+
119
+ def self?.values: -> ::Array[Telnyx::Models::VoiceCloneData::provider]
120
+ end
121
+
88
122
  type record_type = :voice_clone
89
123
 
90
124
  module RecordType