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