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