revox 0.2.0 → 0.3.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +1 -1
  4. data/lib/revox/client.rb +8 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/models/assistant_clone_params.rb +20 -0
  7. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  8. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  9. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  10. data/lib/revox/models/call_cancel_params.rb +20 -0
  11. data/lib/revox/models/call_cancel_response.rb +16 -0
  12. data/lib/revox/models/call_create_response.rb +11 -1
  13. data/lib/revox/models/call_export_params.rb +205 -0
  14. data/lib/revox/models/call_export_response.rb +22 -0
  15. data/lib/revox/models/call_pause_params.rb +20 -0
  16. data/lib/revox/models/call_pause_response.rb +16 -0
  17. data/lib/revox/models/call_phone_history_params.rb +14 -0
  18. data/lib/revox/models/call_phone_history_response.rb +98 -0
  19. data/lib/revox/models/call_resume_params.rb +20 -0
  20. data/lib/revox/models/call_resume_response.rb +16 -0
  21. data/lib/revox/models/call_retrieve_response.rb +11 -1
  22. data/lib/revox/models/call_search_params.rb +171 -0
  23. data/lib/revox/models/call_search_response.rb +3114 -0
  24. data/lib/revox/models/campaign_get_rows_response.rb +11 -1
  25. data/lib/revox/models/campaign_launch_params.rb +20 -0
  26. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  27. data/lib/revox/models/campaign_pause_params.rb +20 -0
  28. data/lib/revox/models/campaign_pause_response.rb +16 -0
  29. data/lib/revox/models/campaign_resume_params.rb +20 -0
  30. data/lib/revox/models/campaign_resume_response.rb +16 -0
  31. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  32. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  33. data/lib/revox/models/campaign_update_params.rb +234 -0
  34. data/lib/revox/models/campaign_update_response.rb +2030 -0
  35. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  36. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  37. data/lib/revox/models/phone_number_list_params.rb +14 -0
  38. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  39. data/lib/revox/models/phone_number_update_params.rb +32 -0
  40. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  41. data/lib/revox/models/user_retrieve_params.rb +14 -0
  42. data/lib/revox/models/user_retrieve_response.rb +99 -0
  43. data/lib/revox/models/voice_clone_params.rb +78 -0
  44. data/lib/revox/models/voice_clone_response.rb +40 -0
  45. data/lib/revox/models/voice_delete_params.rb +20 -0
  46. data/lib/revox/models/voice_delete_response.rb +16 -0
  47. data/lib/revox/models.rb +37 -1
  48. data/lib/revox/resources/assistants.rb +21 -0
  49. data/lib/revox/resources/auth_status.rb +32 -0
  50. data/lib/revox/resources/call.rb +145 -0
  51. data/lib/revox/resources/campaigns.rb +131 -0
  52. data/lib/revox/resources/phone_numbers.rb +74 -0
  53. data/lib/revox/resources/users.rb +17 -3
  54. data/lib/revox/resources/voices.rb +50 -0
  55. data/lib/revox/version.rb +1 -1
  56. data/lib/revox.rb +40 -5
  57. data/rbi/revox/client.rbi +6 -0
  58. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  59. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  60. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  61. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  62. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  63. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  64. data/rbi/revox/models/call_create_response.rbi +12 -0
  65. data/rbi/revox/models/call_export_params.rbi +456 -0
  66. data/rbi/revox/models/call_export_response.rbi +26 -0
  67. data/rbi/revox/models/call_pause_params.rbi +31 -0
  68. data/rbi/revox/models/call_pause_response.rbi +23 -0
  69. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  70. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  71. data/rbi/revox/models/call_resume_params.rbi +33 -0
  72. data/rbi/revox/models/call_resume_response.rbi +23 -0
  73. data/rbi/revox/models/call_retrieve_response.rbi +12 -0
  74. data/rbi/revox/models/call_search_params.rbi +288 -0
  75. data/rbi/revox/models/call_search_response.rbi +6593 -0
  76. data/rbi/revox/models/campaign_get_rows_response.rbi +12 -0
  77. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  78. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  79. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  80. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  81. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  82. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  83. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  84. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  85. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  86. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  87. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  88. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  89. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  90. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  91. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  92. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  93. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  94. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  95. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  96. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  97. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  98. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  99. data/rbi/revox/models.rbi +37 -1
  100. data/rbi/revox/resources/assistants.rbi +12 -0
  101. data/rbi/revox/resources/auth_status.rbi +21 -0
  102. data/rbi/revox/resources/call.rbi +107 -0
  103. data/rbi/revox/resources/campaigns.rbi +94 -0
  104. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  105. data/rbi/revox/resources/users.rbi +8 -2
  106. data/rbi/revox/resources/voices.rbi +39 -0
  107. data/sig/revox/client.rbs +4 -0
  108. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  109. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  110. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  111. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  112. data/sig/revox/models/call_cancel_params.rbs +20 -0
  113. data/sig/revox/models/call_cancel_response.rbs +13 -0
  114. data/sig/revox/models/call_create_response.rbs +5 -0
  115. data/sig/revox/models/call_export_params.rbs +234 -0
  116. data/sig/revox/models/call_export_response.rbs +15 -0
  117. data/sig/revox/models/call_pause_params.rbs +20 -0
  118. data/sig/revox/models/call_pause_response.rbs +13 -0
  119. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  120. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  121. data/sig/revox/models/call_resume_params.rbs +20 -0
  122. data/sig/revox/models/call_resume_response.rbs +13 -0
  123. data/sig/revox/models/call_retrieve_response.rbs +5 -0
  124. data/sig/revox/models/call_search_params.rbs +198 -0
  125. data/sig/revox/models/call_search_response.rbs +2654 -0
  126. data/sig/revox/models/campaign_get_rows_response.rbs +5 -0
  127. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  128. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  129. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  130. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  131. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  132. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  133. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  134. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  135. data/sig/revox/models/campaign_update_params.rbs +203 -0
  136. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  137. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  138. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  139. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  140. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  141. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  142. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  143. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  144. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  145. data/sig/revox/models/voice_clone_params.rbs +79 -0
  146. data/sig/revox/models/voice_clone_response.rbs +40 -0
  147. data/sig/revox/models/voice_delete_params.rbs +20 -0
  148. data/sig/revox/models/voice_delete_response.rbs +13 -0
  149. data/sig/revox/models.rbs +37 -1
  150. data/sig/revox/resources/assistants.rbs +5 -0
  151. data/sig/revox/resources/auth_status.rbs +11 -0
  152. data/sig/revox/resources/call.rbs +45 -0
  153. data/sig/revox/resources/campaigns.rbs +33 -0
  154. data/sig/revox/resources/phone_numbers.rbs +23 -0
  155. data/sig/revox/resources/users.rbs +3 -1
  156. data/sig/revox/resources/voices.rbs +13 -0
  157. metadata +121 -16
  158. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  159. data/lib/revox/models/users/me_retrieve_response.rb +0 -101
  160. data/lib/revox/models/users/me_update_params.rb +0 -22
  161. data/lib/revox/models/users/me_update_response.rb +0 -101
  162. data/lib/revox/resources/users/me.rb +0 -55
  163. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  164. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
  165. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  166. data/rbi/revox/models/users/me_update_response.rbi +0 -149
  167. data/rbi/revox/resources/users/me.rbi +0 -33
  168. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  169. data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
  170. data/sig/revox/models/users/me_update_params.rbs +0 -28
  171. data/sig/revox/models/users/me_update_response.rbs +0 -75
  172. data/sig/revox/resources/users/me.rbs +0 -18
@@ -0,0 +1,1460 @@
1
+ module Revox
2
+ module Models
3
+ type phone_number_update_response =
4
+ { phone_number: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber }
5
+
6
+ class PhoneNumberUpdateResponse < Revox::Internal::Type::BaseModel
7
+ attr_accessor phone_number: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber
8
+
9
+ def initialize: (
10
+ phone_number: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber
11
+ ) -> void
12
+
13
+ def to_hash: -> {
14
+ phone_number: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber
15
+ }
16
+
17
+ type phone_number =
18
+ {
19
+ id: String,
20
+ created_at: top,
21
+ created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::CreatedBy?,
22
+ inbound_assistant: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant?,
23
+ inbound_sip_uri: String?,
24
+ label: String?,
25
+ livekit_outbound_trunk_id: String?,
26
+ phone_number: String,
27
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::provider,
28
+ source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::source,
29
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::type_
30
+ }
31
+
32
+ class PhoneNumber < Revox::Internal::Type::BaseModel
33
+ attr_accessor id: String
34
+
35
+ attr_accessor created_at: top
36
+
37
+ attr_accessor created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::CreatedBy?
38
+
39
+ attr_accessor inbound_assistant: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant?
40
+
41
+ attr_accessor inbound_sip_uri: String?
42
+
43
+ attr_accessor label: String?
44
+
45
+ attr_accessor livekit_outbound_trunk_id: String?
46
+
47
+ attr_accessor phone_number: String
48
+
49
+ attr_accessor provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::provider
50
+
51
+ attr_accessor source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::source
52
+
53
+ attr_accessor type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::type_
54
+
55
+ def initialize: (
56
+ id: String,
57
+ created_at: top,
58
+ created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::CreatedBy?,
59
+ inbound_assistant: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant?,
60
+ inbound_sip_uri: String?,
61
+ label: String?,
62
+ livekit_outbound_trunk_id: String?,
63
+ phone_number: String,
64
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::provider,
65
+ source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::source,
66
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::type_
67
+ ) -> void
68
+
69
+ def to_hash: -> {
70
+ id: String,
71
+ created_at: top,
72
+ created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::CreatedBy?,
73
+ inbound_assistant: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant?,
74
+ inbound_sip_uri: String?,
75
+ label: String?,
76
+ livekit_outbound_trunk_id: String?,
77
+ phone_number: String,
78
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::provider,
79
+ source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::source,
80
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::type_
81
+ }
82
+
83
+ type created_by =
84
+ { id: String, email: String, first_name: String?, last_name: String? }
85
+
86
+ class CreatedBy < Revox::Internal::Type::BaseModel
87
+ attr_accessor id: String
88
+
89
+ attr_accessor email: String
90
+
91
+ attr_accessor first_name: String?
92
+
93
+ attr_accessor last_name: String?
94
+
95
+ def initialize: (
96
+ id: String,
97
+ email: String,
98
+ first_name: String?,
99
+ last_name: String?
100
+ ) -> void
101
+
102
+ def to_hash: -> {
103
+ id: String,
104
+ email: String,
105
+ first_name: String?,
106
+ last_name: String?
107
+ }
108
+ end
109
+
110
+ type inbound_assistant =
111
+ {
112
+ id: String,
113
+ after_call_sms_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::after_call_sms_outcome]?,
114
+ after_call_sms_prompt: String?,
115
+ background_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::background_sound?,
116
+ background_sound_volume: Float,
117
+ calendly: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Calendly?,
118
+ call_retry_config: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig?,
119
+ cartesia_dictionary_pronunciation_id: String?,
120
+ created_at: top,
121
+ custom_tools: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool]?,
122
+ email_notification_address: String?,
123
+ email_notification_language: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_language,
124
+ email_notification_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_outcome]?,
125
+ end_of_call_sentence: String?,
126
+ first_sentence: String?,
127
+ first_sentence_delay_ms: Integer,
128
+ first_sentence_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::first_sentence_mode,
129
+ from_phone_number: String?,
130
+ human_transfer_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::human_transfer_mode?,
131
+ ivr_navigation_enabled: bool,
132
+ llm_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::llm_model,
133
+ logo_url: String?,
134
+ max_call_duration_secs: Float,
135
+ max_duration_end_message: String?,
136
+ name: String,
137
+ organization_id: String,
138
+ position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Position?,
139
+ prompt: String,
140
+ prompt_flow: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow?,
141
+ slack: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack?,
142
+ sms_enabled: bool,
143
+ sms_template: String?,
144
+ structured_output_config: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig]?,
145
+ structured_output_prompt: String?,
146
+ stt_context: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext?,
147
+ stt_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::stt_model,
148
+ thinking_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::thinking_sound?,
149
+ thinking_sound_probability: Float,
150
+ thinking_sound_volume: Float,
151
+ transfer_phone_number: String?,
152
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::type_,
153
+ updated_at: top,
154
+ voice: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice?,
155
+ voicemail_message: String?,
156
+ voicemail_sms_prompt: String?,
157
+ warm_transfer_summary_instructions: String?,
158
+ webhook_url: String?,
159
+ zoho: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho?,
160
+ created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CreatedBy?,
161
+ faq_items: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem],
162
+ is_realestate_assistant: bool,
163
+ pending_faq_count: Float
164
+ }
165
+
166
+ class InboundAssistant < Revox::Internal::Type::BaseModel
167
+ attr_accessor id: String
168
+
169
+ attr_accessor after_call_sms_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::after_call_sms_outcome]?
170
+
171
+ attr_accessor after_call_sms_prompt: String?
172
+
173
+ attr_accessor background_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::background_sound?
174
+
175
+ attr_accessor background_sound_volume: Float
176
+
177
+ attr_accessor calendly: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Calendly?
178
+
179
+ attr_accessor call_retry_config: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig?
180
+
181
+ attr_accessor cartesia_dictionary_pronunciation_id: String?
182
+
183
+ attr_accessor created_at: top
184
+
185
+ attr_accessor custom_tools: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool]?
186
+
187
+ attr_accessor email_notification_address: String?
188
+
189
+ attr_accessor email_notification_language: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_language
190
+
191
+ attr_accessor email_notification_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_outcome]?
192
+
193
+ attr_accessor end_of_call_sentence: String?
194
+
195
+ attr_accessor first_sentence: String?
196
+
197
+ attr_accessor first_sentence_delay_ms: Integer
198
+
199
+ attr_accessor first_sentence_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::first_sentence_mode
200
+
201
+ attr_accessor from_phone_number: String?
202
+
203
+ attr_accessor human_transfer_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::human_transfer_mode?
204
+
205
+ attr_accessor ivr_navigation_enabled: bool
206
+
207
+ attr_accessor llm_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::llm_model
208
+
209
+ attr_accessor logo_url: String?
210
+
211
+ attr_accessor max_call_duration_secs: Float
212
+
213
+ attr_accessor max_duration_end_message: String?
214
+
215
+ attr_accessor name: String
216
+
217
+ attr_accessor organization_id: String
218
+
219
+ attr_accessor position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Position?
220
+
221
+ attr_accessor prompt: String
222
+
223
+ attr_accessor prompt_flow: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow?
224
+
225
+ attr_accessor slack: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack?
226
+
227
+ attr_accessor sms_enabled: bool
228
+
229
+ attr_accessor sms_template: String?
230
+
231
+ attr_accessor structured_output_config: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig]?
232
+
233
+ attr_accessor structured_output_prompt: String?
234
+
235
+ attr_accessor stt_context: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext?
236
+
237
+ attr_accessor stt_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::stt_model
238
+
239
+ attr_accessor thinking_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::thinking_sound?
240
+
241
+ attr_accessor thinking_sound_probability: Float
242
+
243
+ attr_accessor thinking_sound_volume: Float
244
+
245
+ attr_accessor transfer_phone_number: String?
246
+
247
+ attr_accessor type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::type_
248
+
249
+ attr_accessor updated_at: top
250
+
251
+ attr_accessor voice: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice?
252
+
253
+ attr_accessor voicemail_message: String?
254
+
255
+ attr_accessor voicemail_sms_prompt: String?
256
+
257
+ attr_accessor warm_transfer_summary_instructions: String?
258
+
259
+ attr_accessor webhook_url: String?
260
+
261
+ attr_accessor zoho: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho?
262
+
263
+ attr_accessor created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CreatedBy?
264
+
265
+ attr_reader faq_items: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem]?
266
+
267
+ def faq_items=: (
268
+ ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem]
269
+ ) -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem]
270
+
271
+ attr_reader is_realestate_assistant: bool?
272
+
273
+ def is_realestate_assistant=: (bool) -> bool
274
+
275
+ attr_reader pending_faq_count: Float?
276
+
277
+ def pending_faq_count=: (Float) -> Float
278
+
279
+ def initialize: (
280
+ id: String,
281
+ after_call_sms_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::after_call_sms_outcome]?,
282
+ after_call_sms_prompt: String?,
283
+ background_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::background_sound?,
284
+ background_sound_volume: Float,
285
+ calendly: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Calendly?,
286
+ call_retry_config: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig?,
287
+ cartesia_dictionary_pronunciation_id: String?,
288
+ created_at: top,
289
+ custom_tools: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool]?,
290
+ email_notification_address: String?,
291
+ email_notification_language: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_language,
292
+ email_notification_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_outcome]?,
293
+ end_of_call_sentence: String?,
294
+ first_sentence: String?,
295
+ first_sentence_delay_ms: Integer,
296
+ first_sentence_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::first_sentence_mode,
297
+ from_phone_number: String?,
298
+ human_transfer_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::human_transfer_mode?,
299
+ ivr_navigation_enabled: bool,
300
+ llm_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::llm_model,
301
+ logo_url: String?,
302
+ max_call_duration_secs: Float,
303
+ max_duration_end_message: String?,
304
+ name: String,
305
+ organization_id: String,
306
+ position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Position?,
307
+ prompt: String,
308
+ prompt_flow: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow?,
309
+ slack: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack?,
310
+ sms_enabled: bool,
311
+ sms_template: String?,
312
+ structured_output_config: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig]?,
313
+ structured_output_prompt: String?,
314
+ stt_context: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext?,
315
+ stt_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::stt_model,
316
+ thinking_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::thinking_sound?,
317
+ thinking_sound_probability: Float,
318
+ thinking_sound_volume: Float,
319
+ transfer_phone_number: String?,
320
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::type_,
321
+ updated_at: top,
322
+ voice: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice?,
323
+ voicemail_message: String?,
324
+ voicemail_sms_prompt: String?,
325
+ warm_transfer_summary_instructions: String?,
326
+ webhook_url: String?,
327
+ zoho: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho?,
328
+ ?created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CreatedBy?,
329
+ ?faq_items: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem],
330
+ ?is_realestate_assistant: bool,
331
+ ?pending_faq_count: Float
332
+ ) -> void
333
+
334
+ def to_hash: -> {
335
+ id: String,
336
+ after_call_sms_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::after_call_sms_outcome]?,
337
+ after_call_sms_prompt: String?,
338
+ background_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::background_sound?,
339
+ background_sound_volume: Float,
340
+ calendly: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Calendly?,
341
+ call_retry_config: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig?,
342
+ cartesia_dictionary_pronunciation_id: String?,
343
+ created_at: top,
344
+ custom_tools: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool]?,
345
+ email_notification_address: String?,
346
+ email_notification_language: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_language,
347
+ email_notification_outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_outcome]?,
348
+ end_of_call_sentence: String?,
349
+ first_sentence: String?,
350
+ first_sentence_delay_ms: Integer,
351
+ first_sentence_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::first_sentence_mode,
352
+ from_phone_number: String?,
353
+ human_transfer_mode: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::human_transfer_mode?,
354
+ ivr_navigation_enabled: bool,
355
+ llm_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::llm_model,
356
+ logo_url: String?,
357
+ max_call_duration_secs: Float,
358
+ max_duration_end_message: String?,
359
+ name: String,
360
+ organization_id: String,
361
+ position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Position?,
362
+ prompt: String,
363
+ prompt_flow: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow?,
364
+ slack: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack?,
365
+ sms_enabled: bool,
366
+ sms_template: String?,
367
+ structured_output_config: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig]?,
368
+ structured_output_prompt: String?,
369
+ stt_context: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext?,
370
+ stt_model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::stt_model,
371
+ thinking_sound: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::thinking_sound?,
372
+ thinking_sound_probability: Float,
373
+ thinking_sound_volume: Float,
374
+ transfer_phone_number: String?,
375
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::type_,
376
+ updated_at: top,
377
+ voice: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice?,
378
+ voicemail_message: String?,
379
+ voicemail_sms_prompt: String?,
380
+ warm_transfer_summary_instructions: String?,
381
+ webhook_url: String?,
382
+ zoho: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho?,
383
+ created_by: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CreatedBy?,
384
+ faq_items: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem],
385
+ is_realestate_assistant: bool,
386
+ pending_faq_count: Float
387
+ }
388
+
389
+ type after_call_sms_outcome =
390
+ :not_interested
391
+ | :interested
392
+ | :completed
393
+ | :requested_callback_later
394
+ | :requested_callback_new_number
395
+ | :do_not_contact
396
+ | :ai_averse
397
+ | :none
398
+
399
+ module AfterCallSMSOutcome
400
+ extend Revox::Internal::Type::Enum
401
+
402
+ NOT_INTERESTED: :not_interested
403
+ INTERESTED: :interested
404
+ COMPLETED: :completed
405
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
406
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
407
+ DO_NOT_CONTACT: :do_not_contact
408
+ AI_AVERSE: :ai_averse
409
+ NONE: :none
410
+
411
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::after_call_sms_outcome]
412
+ end
413
+
414
+ type background_sound = :"audio/office.ogg"
415
+
416
+ module BackgroundSound
417
+ extend Revox::Internal::Type::Enum
418
+
419
+ AUDIO_OFFICE_OGG: :"audio/office.ogg"
420
+
421
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::background_sound]
422
+ end
423
+
424
+ type calendly = { connection_id: String, event_type_id: String }
425
+
426
+ class Calendly < Revox::Internal::Type::BaseModel
427
+ attr_accessor connection_id: String
428
+
429
+ attr_accessor event_type_id: String
430
+
431
+ def initialize: (
432
+ connection_id: String,
433
+ event_type_id: String
434
+ ) -> void
435
+
436
+ def to_hash: -> { connection_id: String, event_type_id: String }
437
+ end
438
+
439
+ type call_retry_config =
440
+ {
441
+ allowed_days: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::allowed_day],
442
+ call_twice_in_a_row: bool,
443
+ calling_windows: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::CallingWindow],
444
+ max_retry_attempts: Integer,
445
+ timezone: String?
446
+ }
447
+
448
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
449
+ attr_accessor allowed_days: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::allowed_day]
450
+
451
+ attr_accessor call_twice_in_a_row: bool
452
+
453
+ attr_accessor calling_windows: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::CallingWindow]
454
+
455
+ attr_accessor max_retry_attempts: Integer
456
+
457
+ attr_accessor timezone: String?
458
+
459
+ def initialize: (
460
+ allowed_days: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::allowed_day],
461
+ call_twice_in_a_row: bool,
462
+ calling_windows: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::CallingWindow],
463
+ max_retry_attempts: Integer,
464
+ ?timezone: String?
465
+ ) -> void
466
+
467
+ def to_hash: -> {
468
+ allowed_days: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::allowed_day],
469
+ call_twice_in_a_row: bool,
470
+ calling_windows: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::CallingWindow],
471
+ max_retry_attempts: Integer,
472
+ timezone: String?
473
+ }
474
+
475
+ type allowed_day =
476
+ :monday
477
+ | :tuesday
478
+ | :wednesday
479
+ | :thursday
480
+ | :friday
481
+ | :saturday
482
+ | :sunday
483
+
484
+ module AllowedDay
485
+ extend Revox::Internal::Type::Enum
486
+
487
+ MONDAY: :monday
488
+ TUESDAY: :tuesday
489
+ WEDNESDAY: :wednesday
490
+ THURSDAY: :thursday
491
+ FRIDAY: :friday
492
+ SATURDAY: :saturday
493
+ SUNDAY: :sunday
494
+
495
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CallRetryConfig::allowed_day]
496
+ end
497
+
498
+ type calling_window =
499
+ {
500
+ calling_window_end_time: String,
501
+ calling_window_start_time: String,
502
+ retry_delay_seconds: Integer
503
+ }
504
+
505
+ class CallingWindow < Revox::Internal::Type::BaseModel
506
+ attr_accessor calling_window_end_time: String
507
+
508
+ attr_accessor calling_window_start_time: String
509
+
510
+ attr_accessor retry_delay_seconds: Integer
511
+
512
+ def initialize: (
513
+ calling_window_end_time: String,
514
+ calling_window_start_time: String,
515
+ retry_delay_seconds: Integer
516
+ ) -> void
517
+
518
+ def to_hash: -> {
519
+ calling_window_end_time: String,
520
+ calling_window_start_time: String,
521
+ retry_delay_seconds: Integer
522
+ }
523
+ end
524
+ end
525
+
526
+ type custom_tool =
527
+ {
528
+ body_template: String?,
529
+ description: String,
530
+ headers: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::Header],
531
+ input_schema: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema],
532
+ method_: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::method_,
533
+ name: String,
534
+ query_params: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::QueryParam],
535
+ url: String
536
+ }
537
+
538
+ class CustomTool < Revox::Internal::Type::BaseModel
539
+ attr_accessor body_template: String?
540
+
541
+ attr_accessor description: String
542
+
543
+ attr_accessor headers: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::Header]
544
+
545
+ attr_accessor input_schema: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema]
546
+
547
+ attr_accessor method_: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::method_
548
+
549
+ attr_accessor name: String
550
+
551
+ attr_accessor query_params: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::QueryParam]
552
+
553
+ attr_accessor url: String
554
+
555
+ def initialize: (
556
+ body_template: String?,
557
+ description: String,
558
+ headers: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::Header],
559
+ input_schema: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema],
560
+ method_: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::method_,
561
+ name: String,
562
+ query_params: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::QueryParam],
563
+ url: String
564
+ ) -> void
565
+
566
+ def to_hash: -> {
567
+ body_template: String?,
568
+ description: String,
569
+ headers: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::Header],
570
+ input_schema: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema],
571
+ method_: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::method_,
572
+ name: String,
573
+ query_params: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::QueryParam],
574
+ url: String
575
+ }
576
+
577
+ type header = { key: String, value: String }
578
+
579
+ class Header < Revox::Internal::Type::BaseModel
580
+ attr_accessor key: String
581
+
582
+ attr_accessor value: String
583
+
584
+ def initialize: (key: String, value: String) -> void
585
+
586
+ def to_hash: -> { key: String, value: String }
587
+ end
588
+
589
+ type input_schema =
590
+ {
591
+ name: String,
592
+ required: bool,
593
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema::type_,
594
+ description: String,
595
+ enum_options: ::Array[String]
596
+ }
597
+
598
+ class InputSchema < Revox::Internal::Type::BaseModel
599
+ attr_accessor name: String
600
+
601
+ attr_accessor required: bool
602
+
603
+ attr_accessor type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema::type_
604
+
605
+ attr_reader description: String?
606
+
607
+ def description=: (String) -> String
608
+
609
+ attr_reader enum_options: ::Array[String]?
610
+
611
+ def enum_options=: (::Array[String]) -> ::Array[String]
612
+
613
+ def initialize: (
614
+ name: String,
615
+ required: bool,
616
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema::type_,
617
+ ?description: String,
618
+ ?enum_options: ::Array[String]
619
+ ) -> void
620
+
621
+ def to_hash: -> {
622
+ name: String,
623
+ required: bool,
624
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema::type_,
625
+ description: String,
626
+ enum_options: ::Array[String]
627
+ }
628
+
629
+ type type_ =
630
+ :string | :number | :boolean | :enum | :date | :datetime
631
+
632
+ module Type
633
+ extend Revox::Internal::Type::Enum
634
+
635
+ STRING: :string
636
+ NUMBER: :number
637
+ BOOLEAN: :boolean
638
+ ENUM: :enum
639
+ DATE: :date
640
+ DATETIME: :datetime
641
+
642
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::InputSchema::type_]
643
+ end
644
+ end
645
+
646
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
647
+
648
+ module Method
649
+ extend Revox::Internal::Type::Enum
650
+
651
+ GET: :GET
652
+ POST: :POST
653
+ PUT: :PUT
654
+ PATCH: :PATCH
655
+ DELETE: :DELETE
656
+
657
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::CustomTool::method_]
658
+ end
659
+
660
+ type query_param = { key: String, value: String }
661
+
662
+ class QueryParam < Revox::Internal::Type::BaseModel
663
+ attr_accessor key: String
664
+
665
+ attr_accessor value: String
666
+
667
+ def initialize: (key: String, value: String) -> void
668
+
669
+ def to_hash: -> { key: String, value: String }
670
+ end
671
+ end
672
+
673
+ type email_notification_language = :en | :fr
674
+
675
+ module EmailNotificationLanguage
676
+ extend Revox::Internal::Type::Enum
677
+
678
+ EN: :en
679
+ FR: :fr
680
+
681
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_language]
682
+ end
683
+
684
+ type email_notification_outcome =
685
+ :not_interested
686
+ | :interested
687
+ | :completed
688
+ | :requested_callback_later
689
+ | :requested_callback_new_number
690
+ | :do_not_contact
691
+ | :ai_averse
692
+ | :none
693
+
694
+ module EmailNotificationOutcome
695
+ extend Revox::Internal::Type::Enum
696
+
697
+ NOT_INTERESTED: :not_interested
698
+ INTERESTED: :interested
699
+ COMPLETED: :completed
700
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
701
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
702
+ DO_NOT_CONTACT: :do_not_contact
703
+ AI_AVERSE: :ai_averse
704
+ NONE: :none
705
+
706
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::email_notification_outcome]
707
+ end
708
+
709
+ type first_sentence_mode = :generated | :static | :none
710
+
711
+ module FirstSentenceMode
712
+ extend Revox::Internal::Type::Enum
713
+
714
+ GENERATED: :generated
715
+ STATIC: :static
716
+ NONE: :none
717
+
718
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::first_sentence_mode]
719
+ end
720
+
721
+ type human_transfer_mode = :warm | :cold
722
+
723
+ module HumanTransferMode
724
+ extend Revox::Internal::Type::Enum
725
+
726
+ WARM: :warm
727
+ COLD: :cold
728
+
729
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::human_transfer_mode]
730
+ end
731
+
732
+ type llm_model =
733
+ Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember0
734
+ | Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember1
735
+ | Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember2
736
+ | Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember3
737
+
738
+ module LlmModel
739
+ extend Revox::Internal::Type::Union
740
+
741
+ type union_member0 =
742
+ {
743
+ name: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember0::name_,
744
+ type: :"dedicated-instance"
745
+ }
746
+
747
+ class UnionMember0 < Revox::Internal::Type::BaseModel
748
+ attr_accessor name: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember0::name_
749
+
750
+ attr_accessor type: :"dedicated-instance"
751
+
752
+ def initialize: (
753
+ name: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember0::name_,
754
+ ?type: :"dedicated-instance"
755
+ ) -> void
756
+
757
+ def to_hash: -> {
758
+ name: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember0::name_,
759
+ type: :"dedicated-instance"
760
+ }
761
+
762
+ type name_ = :"gpt-4.1" | :"ministral-3-8b-instruct"
763
+
764
+ module Name
765
+ extend Revox::Internal::Type::Enum
766
+
767
+ GPT_4_1: :"gpt-4.1"
768
+ MINISTRAL_3_8B_INSTRUCT: :"ministral-3-8b-instruct"
769
+
770
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember0::name_]
771
+ end
772
+ end
773
+
774
+ type union_member1 =
775
+ {
776
+ openrouter_model_id: String,
777
+ openrouter_provider: String,
778
+ type: :openrouter
779
+ }
780
+
781
+ class UnionMember1 < Revox::Internal::Type::BaseModel
782
+ attr_accessor openrouter_model_id: String
783
+
784
+ attr_accessor openrouter_provider: String
785
+
786
+ attr_accessor type: :openrouter
787
+
788
+ def initialize: (
789
+ openrouter_model_id: String,
790
+ openrouter_provider: String,
791
+ ?type: :openrouter
792
+ ) -> void
793
+
794
+ def to_hash: -> {
795
+ openrouter_model_id: String,
796
+ openrouter_provider: String,
797
+ type: :openrouter
798
+ }
799
+ end
800
+
801
+ type union_member2 =
802
+ {
803
+ api_key: String,
804
+ api_url: String,
805
+ model_name: String,
806
+ type: :custom
807
+ }
808
+
809
+ class UnionMember2 < Revox::Internal::Type::BaseModel
810
+ attr_accessor api_key: String
811
+
812
+ attr_accessor api_url: String
813
+
814
+ attr_accessor model_name: String
815
+
816
+ attr_accessor type: :custom
817
+
818
+ def initialize: (
819
+ api_key: String,
820
+ api_url: String,
821
+ model_name: String,
822
+ ?type: :custom
823
+ ) -> void
824
+
825
+ def to_hash: -> {
826
+ api_key: String,
827
+ api_url: String,
828
+ model_name: String,
829
+ type: :custom
830
+ }
831
+ end
832
+
833
+ type union_member3 =
834
+ {
835
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember3::provider,
836
+ realtime_model_id: String,
837
+ type: :realtime,
838
+ realtime_voice_id: String
839
+ }
840
+
841
+ class UnionMember3 < Revox::Internal::Type::BaseModel
842
+ attr_accessor provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember3::provider
843
+
844
+ attr_accessor realtime_model_id: String
845
+
846
+ attr_accessor type: :realtime
847
+
848
+ attr_reader realtime_voice_id: String?
849
+
850
+ def realtime_voice_id=: (String) -> String
851
+
852
+ def initialize: (
853
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember3::provider,
854
+ realtime_model_id: String,
855
+ ?realtime_voice_id: String,
856
+ ?type: :realtime
857
+ ) -> void
858
+
859
+ def to_hash: -> {
860
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember3::provider,
861
+ realtime_model_id: String,
862
+ type: :realtime,
863
+ realtime_voice_id: String
864
+ }
865
+
866
+ type provider = :openai | :google
867
+
868
+ module Provider
869
+ extend Revox::Internal::Type::Enum
870
+
871
+ OPENAI: :openai
872
+ GOOGLE: :google
873
+
874
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::LlmModel::UnionMember3::provider]
875
+ end
876
+ end
877
+
878
+ def self?.variants: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::llm_model]
879
+ end
880
+
881
+ type position = { x: Float, y_: Float }
882
+
883
+ class Position < Revox::Internal::Type::BaseModel
884
+ attr_accessor x: Float
885
+
886
+ attr_accessor y_: Float
887
+
888
+ def initialize: (x: Float, y_: Float) -> void
889
+
890
+ def to_hash: -> { x: Float, y_: Float }
891
+ end
892
+
893
+ type prompt_flow =
894
+ {
895
+ edges: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Edge],
896
+ nodes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node]
897
+ }
898
+
899
+ class PromptFlow < Revox::Internal::Type::BaseModel
900
+ attr_accessor edges: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Edge]
901
+
902
+ attr_accessor nodes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node]
903
+
904
+ def initialize: (
905
+ edges: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Edge],
906
+ nodes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node]
907
+ ) -> void
908
+
909
+ def to_hash: -> {
910
+ edges: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Edge],
911
+ nodes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node]
912
+ }
913
+
914
+ type edge = { id: String, source: String, target: String }
915
+
916
+ class Edge < Revox::Internal::Type::BaseModel
917
+ attr_accessor id: String
918
+
919
+ attr_accessor source: String
920
+
921
+ attr_accessor target: String
922
+
923
+ def initialize: (
924
+ id: String,
925
+ source: String,
926
+ target: String
927
+ ) -> void
928
+
929
+ def to_hash: -> { id: String, source: String, target: String }
930
+ end
931
+
932
+ type node =
933
+ {
934
+ id: String,
935
+ data: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Data,
936
+ position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Position,
937
+ type: :promptBlock
938
+ }
939
+
940
+ class Node < Revox::Internal::Type::BaseModel
941
+ attr_accessor id: String
942
+
943
+ attr_accessor data: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Data
944
+
945
+ attr_accessor position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Position
946
+
947
+ attr_accessor type: :promptBlock
948
+
949
+ def initialize: (
950
+ id: String,
951
+ data: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Data,
952
+ position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Position,
953
+ ?type: :promptBlock
954
+ ) -> void
955
+
956
+ def to_hash: -> {
957
+ id: String,
958
+ data: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Data,
959
+ position: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::PromptFlow::Node::Position,
960
+ type: :promptBlock
961
+ }
962
+
963
+ type data = { body: String, title: String }
964
+
965
+ class Data < Revox::Internal::Type::BaseModel
966
+ attr_accessor body: String
967
+
968
+ attr_accessor title: String
969
+
970
+ def initialize: (body: String, title: String) -> void
971
+
972
+ def to_hash: -> { body: String, title: String }
973
+ end
974
+
975
+ type position = { x: Float, y_: Float }
976
+
977
+ class Position < Revox::Internal::Type::BaseModel
978
+ attr_accessor x: Float
979
+
980
+ attr_accessor y_: Float
981
+
982
+ def initialize: (x: Float, y_: Float) -> void
983
+
984
+ def to_hash: -> { x: Float, y_: Float }
985
+ end
986
+ end
987
+ end
988
+
989
+ type slack =
990
+ {
991
+ channel_id: String,
992
+ connection_id: String,
993
+ outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack::outcome],
994
+ channel_name: String?,
995
+ template: String?
996
+ }
997
+
998
+ class Slack < Revox::Internal::Type::BaseModel
999
+ attr_accessor channel_id: String
1000
+
1001
+ attr_accessor connection_id: String
1002
+
1003
+ attr_accessor outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack::outcome]
1004
+
1005
+ attr_accessor channel_name: String?
1006
+
1007
+ attr_accessor template: String?
1008
+
1009
+ def initialize: (
1010
+ channel_id: String,
1011
+ connection_id: String,
1012
+ outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack::outcome],
1013
+ ?channel_name: String?,
1014
+ ?template: String?
1015
+ ) -> void
1016
+
1017
+ def to_hash: -> {
1018
+ channel_id: String,
1019
+ connection_id: String,
1020
+ outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack::outcome],
1021
+ channel_name: String?,
1022
+ template: String?
1023
+ }
1024
+
1025
+ type outcome =
1026
+ :not_interested
1027
+ | :interested
1028
+ | :completed
1029
+ | :requested_callback_later
1030
+ | :requested_callback_new_number
1031
+ | :do_not_contact
1032
+ | :ai_averse
1033
+ | :none
1034
+
1035
+ module Outcome
1036
+ extend Revox::Internal::Type::Enum
1037
+
1038
+ NOT_INTERESTED: :not_interested
1039
+ INTERESTED: :interested
1040
+ COMPLETED: :completed
1041
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1042
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1043
+ DO_NOT_CONTACT: :do_not_contact
1044
+ AI_AVERSE: :ai_averse
1045
+ NONE: :none
1046
+
1047
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Slack::outcome]
1048
+ end
1049
+ end
1050
+
1051
+ type structured_output_config =
1052
+ {
1053
+ name: String,
1054
+ required: bool,
1055
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig::type_,
1056
+ description: String,
1057
+ enum_options: ::Array[String]
1058
+ }
1059
+
1060
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
1061
+ attr_accessor name: String
1062
+
1063
+ attr_accessor required: bool
1064
+
1065
+ attr_accessor type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig::type_
1066
+
1067
+ attr_reader description: String?
1068
+
1069
+ def description=: (String) -> String
1070
+
1071
+ attr_reader enum_options: ::Array[String]?
1072
+
1073
+ def enum_options=: (::Array[String]) -> ::Array[String]
1074
+
1075
+ def initialize: (
1076
+ name: String,
1077
+ required: bool,
1078
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig::type_,
1079
+ ?description: String,
1080
+ ?enum_options: ::Array[String]
1081
+ ) -> void
1082
+
1083
+ def to_hash: -> {
1084
+ name: String,
1085
+ required: bool,
1086
+ type: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig::type_,
1087
+ description: String,
1088
+ enum_options: ::Array[String]
1089
+ }
1090
+
1091
+ type type_ =
1092
+ :string | :number | :boolean | :enum | :date | :datetime
1093
+
1094
+ module Type
1095
+ extend Revox::Internal::Type::Enum
1096
+
1097
+ STRING: :string
1098
+ NUMBER: :number
1099
+ BOOLEAN: :boolean
1100
+ ENUM: :enum
1101
+ DATE: :date
1102
+ DATETIME: :datetime
1103
+
1104
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::StructuredOutputConfig::type_]
1105
+ end
1106
+ end
1107
+
1108
+ type stt_context =
1109
+ {
1110
+ general: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext::General],
1111
+ terms: ::Array[String]
1112
+ }
1113
+
1114
+ class SttContext < Revox::Internal::Type::BaseModel
1115
+ attr_accessor general: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext::General]
1116
+
1117
+ attr_accessor terms: ::Array[String]
1118
+
1119
+ def initialize: (
1120
+ general: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext::General],
1121
+ terms: ::Array[String]
1122
+ ) -> void
1123
+
1124
+ def to_hash: -> {
1125
+ general: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::SttContext::General],
1126
+ terms: ::Array[String]
1127
+ }
1128
+
1129
+ type general = { key: String, value: String }
1130
+
1131
+ class General < Revox::Internal::Type::BaseModel
1132
+ attr_accessor key: String
1133
+
1134
+ attr_accessor value: String
1135
+
1136
+ def initialize: (key: String, value: String) -> void
1137
+
1138
+ def to_hash: -> { key: String, value: String }
1139
+ end
1140
+ end
1141
+
1142
+ type stt_model = :"stt-rt-v4" | :"stt-rt-v5"
1143
+
1144
+ module SttModel
1145
+ extend Revox::Internal::Type::Enum
1146
+
1147
+ STT_RT_V4: :"stt-rt-v4"
1148
+ STT_RT_V5: :"stt-rt-v5"
1149
+
1150
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::stt_model]
1151
+ end
1152
+
1153
+ type thinking_sound =
1154
+ :"city-ambience.ogg"
1155
+ | :"forest-ambience.ogg"
1156
+ | :"office-ambience.ogg"
1157
+ | :"crowded-room.ogg"
1158
+ | :"keyboard-typing.ogg"
1159
+ | :"keyboard-typing2.ogg"
1160
+ | :"hold_music.ogg"
1161
+
1162
+ module ThinkingSound
1163
+ extend Revox::Internal::Type::Enum
1164
+
1165
+ CITY_AMBIENCE_OGG: :"city-ambience.ogg"
1166
+ FOREST_AMBIENCE_OGG: :"forest-ambience.ogg"
1167
+ OFFICE_AMBIENCE_OGG: :"office-ambience.ogg"
1168
+ CROWDED_ROOM_OGG: :"crowded-room.ogg"
1169
+ KEYBOARD_TYPING_OGG: :"keyboard-typing.ogg"
1170
+ KEYBOARD_TYPING2_OGG: :"keyboard-typing2.ogg"
1171
+ HOLD_MUSIC_OGG: :"hold_music.ogg"
1172
+
1173
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::thinking_sound]
1174
+ end
1175
+
1176
+ type type_ = :standalone | :"multi-step" | :"sub-assistant"
1177
+
1178
+ module Type
1179
+ extend Revox::Internal::Type::Enum
1180
+
1181
+ STANDALONE: :standalone
1182
+ MULTI_STEP: :"multi-step"
1183
+ SUB_ASSISTANT: :"sub-assistant"
1184
+
1185
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::type_]
1186
+ end
1187
+
1188
+ type voice =
1189
+ {
1190
+ id: String,
1191
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::provider,
1192
+ model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model,
1193
+ speed: Float,
1194
+ volume: Float
1195
+ }
1196
+
1197
+ class Voice < Revox::Internal::Type::BaseModel
1198
+ attr_accessor id: String
1199
+
1200
+ attr_accessor provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::provider
1201
+
1202
+ attr_reader model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model?
1203
+
1204
+ def model=: (
1205
+ Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model
1206
+ ) -> Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model
1207
+
1208
+ attr_reader speed: Float?
1209
+
1210
+ def speed=: (Float) -> Float
1211
+
1212
+ attr_reader volume: Float?
1213
+
1214
+ def volume=: (Float) -> Float
1215
+
1216
+ def initialize: (
1217
+ id: String,
1218
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::provider,
1219
+ ?model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model,
1220
+ ?speed: Float,
1221
+ ?volume: Float
1222
+ ) -> void
1223
+
1224
+ def to_hash: -> {
1225
+ id: String,
1226
+ provider: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::provider,
1227
+ model: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model,
1228
+ speed: Float,
1229
+ volume: Float
1230
+ }
1231
+
1232
+ type provider = :cartesia | :elevenlabs
1233
+
1234
+ module Provider
1235
+ extend Revox::Internal::Type::Enum
1236
+
1237
+ CARTESIA: :cartesia
1238
+ ELEVENLABS: :elevenlabs
1239
+
1240
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::provider]
1241
+ end
1242
+
1243
+ type model = :"sonic-3" | :"sonic-3.5"
1244
+
1245
+ module Model
1246
+ extend Revox::Internal::Type::Enum
1247
+
1248
+ SONIC_3: :"sonic-3"
1249
+ SONIC_3_5: :"sonic-3.5"
1250
+
1251
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Voice::model]
1252
+ end
1253
+ end
1254
+
1255
+ type zoho =
1256
+ {
1257
+ connection_id: String,
1258
+ field_mapping: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::FieldMapping],
1259
+ log_call_activity: bool,
1260
+ module_: String,
1261
+ outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::outcome],
1262
+ template: String?
1263
+ }
1264
+
1265
+ class Zoho < Revox::Internal::Type::BaseModel
1266
+ attr_accessor connection_id: String
1267
+
1268
+ attr_accessor field_mapping: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::FieldMapping]
1269
+
1270
+ attr_accessor log_call_activity: bool
1271
+
1272
+ attr_accessor module_: String
1273
+
1274
+ attr_accessor outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::outcome]
1275
+
1276
+ attr_accessor template: String?
1277
+
1278
+ def initialize: (
1279
+ connection_id: String,
1280
+ field_mapping: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::FieldMapping],
1281
+ log_call_activity: bool,
1282
+ module_: String,
1283
+ outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::outcome],
1284
+ ?template: String?
1285
+ ) -> void
1286
+
1287
+ def to_hash: -> {
1288
+ connection_id: String,
1289
+ field_mapping: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::FieldMapping],
1290
+ log_call_activity: bool,
1291
+ module_: String,
1292
+ outcomes: ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::outcome],
1293
+ template: String?
1294
+ }
1295
+
1296
+ type field_mapping = { source: String, zoho_field: String }
1297
+
1298
+ class FieldMapping < Revox::Internal::Type::BaseModel
1299
+ attr_accessor source: String
1300
+
1301
+ attr_accessor zoho_field: String
1302
+
1303
+ def initialize: (source: String, zoho_field: String) -> void
1304
+
1305
+ def to_hash: -> { source: String, zoho_field: String }
1306
+ end
1307
+
1308
+ type outcome =
1309
+ :not_interested
1310
+ | :interested
1311
+ | :completed
1312
+ | :requested_callback_later
1313
+ | :requested_callback_new_number
1314
+ | :do_not_contact
1315
+ | :ai_averse
1316
+ | :none
1317
+
1318
+ module Outcome
1319
+ extend Revox::Internal::Type::Enum
1320
+
1321
+ NOT_INTERESTED: :not_interested
1322
+ INTERESTED: :interested
1323
+ COMPLETED: :completed
1324
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1325
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1326
+ DO_NOT_CONTACT: :do_not_contact
1327
+ AI_AVERSE: :ai_averse
1328
+ NONE: :none
1329
+
1330
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::Zoho::outcome]
1331
+ end
1332
+ end
1333
+
1334
+ type created_by =
1335
+ {
1336
+ id: String,
1337
+ email: String,
1338
+ first_name: String?,
1339
+ last_name: String?
1340
+ }
1341
+
1342
+ class CreatedBy < Revox::Internal::Type::BaseModel
1343
+ attr_accessor id: String
1344
+
1345
+ attr_accessor email: String
1346
+
1347
+ attr_accessor first_name: String?
1348
+
1349
+ attr_accessor last_name: String?
1350
+
1351
+ def initialize: (
1352
+ id: String,
1353
+ email: String,
1354
+ first_name: String?,
1355
+ last_name: String?
1356
+ ) -> void
1357
+
1358
+ def to_hash: -> {
1359
+ id: String,
1360
+ email: String,
1361
+ first_name: String?,
1362
+ last_name: String?
1363
+ }
1364
+ end
1365
+
1366
+ type faq_item =
1367
+ {
1368
+ answer: String,
1369
+ question: String,
1370
+ id: String,
1371
+ needs_human_answer: bool,
1372
+ source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source
1373
+ }
1374
+
1375
+ class FaqItem < Revox::Internal::Type::BaseModel
1376
+ attr_accessor answer: String
1377
+
1378
+ attr_accessor question: String
1379
+
1380
+ attr_reader id: String?
1381
+
1382
+ def id=: (String) -> String
1383
+
1384
+ attr_reader needs_human_answer: bool?
1385
+
1386
+ def needs_human_answer=: (bool) -> bool
1387
+
1388
+ attr_reader source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source?
1389
+
1390
+ def source=: (
1391
+ Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source
1392
+ ) -> Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source
1393
+
1394
+ def initialize: (
1395
+ answer: String,
1396
+ question: String,
1397
+ ?id: String,
1398
+ ?needs_human_answer: bool,
1399
+ ?source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source
1400
+ ) -> void
1401
+
1402
+ def to_hash: -> {
1403
+ answer: String,
1404
+ question: String,
1405
+ id: String,
1406
+ needs_human_answer: bool,
1407
+ source: Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source
1408
+ }
1409
+
1410
+ type source = :human | :ai
1411
+
1412
+ module Source
1413
+ extend Revox::Internal::Type::Enum
1414
+
1415
+ HUMAN: :human
1416
+ AI: :ai
1417
+
1418
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::InboundAssistant::FaqItem::source]
1419
+ end
1420
+ end
1421
+ end
1422
+
1423
+ type provider = :twilio | :telnyx | :sip
1424
+
1425
+ module Provider
1426
+ extend Revox::Internal::Type::Enum
1427
+
1428
+ TWILIO: :twilio
1429
+ TELNYX: :telnyx
1430
+ SIP: :sip
1431
+
1432
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::provider]
1433
+ end
1434
+
1435
+ type source = :user_imported | :revox_provisioned | :revox_purchased
1436
+
1437
+ module Source
1438
+ extend Revox::Internal::Type::Enum
1439
+
1440
+ USER_IMPORTED: :user_imported
1441
+ REVOX_PROVISIONED: :revox_provisioned
1442
+ REVOX_PURCHASED: :revox_purchased
1443
+
1444
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::source]
1445
+ end
1446
+
1447
+ type type_ = :owned_number | :verified_caller_id
1448
+
1449
+ module Type
1450
+ extend Revox::Internal::Type::Enum
1451
+
1452
+ OWNED_NUMBER: :owned_number
1453
+ VERIFIED_CALLER_ID: :verified_caller_id
1454
+
1455
+ def self?.values: -> ::Array[Revox::Models::PhoneNumberUpdateResponse::PhoneNumber::type_]
1456
+ end
1457
+ end
1458
+ end
1459
+ end
1460
+ end