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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::AuthStatus#retrieve
6
+ class AuthStatusRetrieveParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::AuthStatus#retrieve
6
+ class AuthStatusRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute authenticated
8
+ # True if the API key is still valid.
9
+ #
10
+ # @return [Boolean]
11
+ required :authenticated, Revox::Internal::Type::Boolean
12
+
13
+ # @!method initialize(authenticated:)
14
+ # @param authenticated [Boolean] True if the API key is still valid.
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#cancel
6
+ class CallCancelParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#cancel
6
+ class CallCancelResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Revox::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -163,6 +163,14 @@ module Revox
163
163
  # @return [Object]
164
164
  required :updated_at, Revox::Internal::Type::Unknown
165
165
 
166
+ # @!attribute follow_up_emails
167
+ # Extra notification recipients resolved from the agent prompt's own routing
168
+ # rules, when it defines any. Added to the assistant's configured notification
169
+ # recipients; never replaces them. Null when the prompt defines no routing rules.
170
+ #
171
+ # @return [Array<String>, nil]
172
+ optional :follow_up_emails, Revox::Internal::Type::ArrayOf[String], nil?: true
173
+
166
174
  # @!attribute outcome
167
175
  # Business outcome of the call. Null if not computed or no transcript.
168
176
  #
@@ -175,7 +183,7 @@ module Revox
175
183
  # @return [String, nil]
176
184
  optional :outcome_summary, String, nil?: true
177
185
 
178
- # @!method initialize(id:, assignee:, assistant:, call_attempts:, call_retry_config:, calls_count:, campaign:, contact:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, organization_id:, prompt_variables:, scheduled_at:, status:, to_phone_number:, updated_at:, outcome: nil, outcome_summary: nil)
186
+ # @!method initialize(id:, assignee:, assistant:, call_attempts:, call_retry_config:, calls_count:, campaign:, contact:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, organization_id:, prompt_variables:, scheduled_at:, status:, to_phone_number:, updated_at:, follow_up_emails: nil, outcome: nil, outcome_summary: nil)
179
187
  # Some parameter documentations has been truncated, see
180
188
  # {Revox::Models::CallCreateResponse::Call} for more details.
181
189
  #
@@ -228,6 +236,8 @@ module Revox
228
236
  #
229
237
  # @param updated_at [Object] The time the call order was last updated (any state change, retry, or analysis r
230
238
  #
239
+ # @param follow_up_emails [Array<String>, nil] Extra notification recipients resolved from the agent prompt's own routing rules
240
+ #
231
241
  # @param outcome [Symbol, Revox::Models::CallCreateResponse::Call::Outcome, nil] Business outcome of the call. Null if not computed or no transcript.
232
242
  #
233
243
  # @param outcome_summary [String, nil] LLM explanation for the outcome, when outcome was computed from the transcript.
@@ -0,0 +1,205 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#export
6
+ class CallExportParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute filters
11
+ #
12
+ # @return [Revox::Models::CallExportParams::Filters]
13
+ required :filters, -> { Revox::CallExportParams::Filters }
14
+
15
+ # @!attribute include_metadata
16
+ # Whether to include the metadata in the CSV file. These are the fields you
17
+ # (optionally) attached when placing the call.
18
+ #
19
+ # @return [Boolean, nil]
20
+ optional :include_metadata, Revox::Internal::Type::Boolean
21
+
22
+ # @!attribute include_structured_output_fields
23
+ # Whether to include the structured output fields in the CSV file. These are
24
+ # generated by our AI agent during call analysis phase.
25
+ #
26
+ # @return [Boolean, nil]
27
+ optional :include_structured_output_fields, Revox::Internal::Type::Boolean
28
+
29
+ # @!method initialize(filters:, include_metadata: nil, include_structured_output_fields: nil, request_options: {})
30
+ # Some parameter documentations has been truncated, see
31
+ # {Revox::Models::CallExportParams} for more details.
32
+ #
33
+ # @param filters [Revox::Models::CallExportParams::Filters]
34
+ #
35
+ # @param include_metadata [Boolean] Whether to include the metadata in the CSV file. These are the fields you (optio
36
+ #
37
+ # @param include_structured_output_fields [Boolean] Whether to include the structured output fields in the CSV file. These are gener
38
+ #
39
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
40
+
41
+ class Filters < Revox::Internal::Type::BaseModel
42
+ # @!attribute assignee_ids
43
+ #
44
+ # @return [Array<String>]
45
+ required :assignee_ids, Revox::Internal::Type::ArrayOf[String]
46
+
47
+ # @!attribute assistant_ids
48
+ #
49
+ # @return [Array<String>]
50
+ required :assistant_ids, Revox::Internal::Type::ArrayOf[String]
51
+
52
+ # @!attribute campaign_ids
53
+ #
54
+ # @return [Array<String>]
55
+ required :campaign_ids, Revox::Internal::Type::ArrayOf[String]
56
+
57
+ # @!attribute directions
58
+ #
59
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Direction>]
60
+ required :directions,
61
+ -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Direction] }
62
+
63
+ # @!attribute from_phone_numbers
64
+ #
65
+ # @return [Array<String>]
66
+ required :from_phone_numbers, Revox::Internal::Type::ArrayOf[String]
67
+
68
+ # @!attribute outcomes
69
+ #
70
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Outcome>]
71
+ required :outcomes, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Outcome] }
72
+
73
+ # @!attribute page
74
+ #
75
+ # @return [Integer]
76
+ required :page, Integer
77
+
78
+ # @!attribute page_size
79
+ #
80
+ # @return [Integer]
81
+ required :page_size, Integer
82
+
83
+ # @!attribute results
84
+ #
85
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Result>]
86
+ required :results, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Result] }
87
+
88
+ # @!attribute statuses
89
+ #
90
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Status>]
91
+ required :statuses, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Status] }
92
+
93
+ # @!attribute call_ids
94
+ #
95
+ # @return [Array<String>, nil]
96
+ optional :call_ids, Revox::Internal::Type::ArrayOf[String]
97
+
98
+ # @!attribute query
99
+ #
100
+ # @return [String, nil]
101
+ optional :query, String
102
+
103
+ # @!attribute sort_by
104
+ #
105
+ # @return [String, nil]
106
+ optional :sort_by, String
107
+
108
+ # @!attribute sort_direction
109
+ #
110
+ # @return [Symbol, Revox::Models::CallExportParams::Filters::SortDirection, nil]
111
+ optional :sort_direction, enum: -> { Revox::CallExportParams::Filters::SortDirection }
112
+
113
+ # @!attribute to_phone_number
114
+ #
115
+ # @return [String, nil]
116
+ optional :to_phone_number, String
117
+
118
+ # @!method initialize(assignee_ids:, assistant_ids:, campaign_ids:, directions:, from_phone_numbers:, outcomes:, page:, page_size:, results:, statuses:, call_ids: nil, query: nil, sort_by: nil, sort_direction: nil, to_phone_number: nil)
119
+ # @param assignee_ids [Array<String>]
120
+ # @param assistant_ids [Array<String>]
121
+ # @param campaign_ids [Array<String>]
122
+ # @param directions [Array<Symbol, Revox::Models::CallExportParams::Filters::Direction>]
123
+ # @param from_phone_numbers [Array<String>]
124
+ # @param outcomes [Array<Symbol, Revox::Models::CallExportParams::Filters::Outcome>]
125
+ # @param page [Integer]
126
+ # @param page_size [Integer]
127
+ # @param results [Array<Symbol, Revox::Models::CallExportParams::Filters::Result>]
128
+ # @param statuses [Array<Symbol, Revox::Models::CallExportParams::Filters::Status>]
129
+ # @param call_ids [Array<String>]
130
+ # @param query [String]
131
+ # @param sort_by [String]
132
+ # @param sort_direction [Symbol, Revox::Models::CallExportParams::Filters::SortDirection]
133
+ # @param to_phone_number [String]
134
+
135
+ module Direction
136
+ extend Revox::Internal::Type::Enum
137
+
138
+ INBOUND = :inbound
139
+ OUTBOUND = :outbound
140
+
141
+ # @!method self.values
142
+ # @return [Array<Symbol>]
143
+ end
144
+
145
+ module Outcome
146
+ extend Revox::Internal::Type::Enum
147
+
148
+ NOT_INTERESTED = :not_interested
149
+ INTERESTED = :interested
150
+ COMPLETED = :completed
151
+ REQUESTED_CALLBACK_LATER = :requested_callback_later
152
+ REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
153
+ DO_NOT_CONTACT = :do_not_contact
154
+ AI_AVERSE = :ai_averse
155
+ NONE = :none
156
+
157
+ # @!method self.values
158
+ # @return [Array<Symbol>]
159
+ end
160
+
161
+ module Result
162
+ extend Revox::Internal::Type::Enum
163
+
164
+ IVR = :IVR
165
+ VOICEMAIL = :voicemail
166
+ HUMAN = :human
167
+ UNKNOWN = :unknown
168
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
169
+ NONE = :none
170
+
171
+ # @!method self.values
172
+ # @return [Array<Symbol>]
173
+ end
174
+
175
+ module Status
176
+ extend Revox::Internal::Type::Enum
177
+
178
+ INITIALIZING = :initializing
179
+ QUEUED_FOR_CALLING = :queued_for_calling
180
+ CALLING = :calling
181
+ POST_PROCESSING = :post_processing
182
+ SCHEDULED = :scheduled
183
+ PAUSED = :paused
184
+ COMPLETED = :completed
185
+ CANCELLED = :cancelled
186
+ ERRORED = :errored
187
+
188
+ # @!method self.values
189
+ # @return [Array<Symbol>]
190
+ end
191
+
192
+ # @see Revox::Models::CallExportParams::Filters#sort_direction
193
+ module SortDirection
194
+ extend Revox::Internal::Type::Enum
195
+
196
+ ASC = :asc
197
+ DESC = :desc
198
+
199
+ # @!method self.values
200
+ # @return [Array<Symbol>]
201
+ end
202
+ end
203
+ end
204
+ end
205
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#export
6
+ class CallExportResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute csv
8
+ #
9
+ # @return [String]
10
+ required :csv, String
11
+
12
+ # @!attribute filename
13
+ #
14
+ # @return [String]
15
+ required :filename, String
16
+
17
+ # @!method initialize(csv:, filename:)
18
+ # @param csv [String]
19
+ # @param filename [String]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#pause
6
+ class CallPauseParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#pause
6
+ class CallPauseResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Revox::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#phone_history
6
+ class CallPhoneHistoryParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#phone_history
6
+ class CallPhoneHistoryResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute phone_history
8
+ #
9
+ # @return [Hash{Symbol=>Revox::Models::CallPhoneHistoryResponse::PhoneHistory}]
10
+ required :phone_history,
11
+ -> { Revox::Internal::Type::HashOf[Revox::Models::CallPhoneHistoryResponse::PhoneHistory] }
12
+
13
+ # @!method initialize(phone_history:)
14
+ # @param phone_history [Hash{Symbol=>Revox::Models::CallPhoneHistoryResponse::PhoneHistory}]
15
+
16
+ class PhoneHistory < Revox::Internal::Type::BaseModel
17
+ # @!attribute campaigns
18
+ #
19
+ # @return [Array<Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign>]
20
+ required :campaigns,
21
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign] }
22
+
23
+ # @!attribute count
24
+ #
25
+ # @return [Float]
26
+ required :count, Float
27
+
28
+ # @!attribute do_not_contact
29
+ #
30
+ # @return [Boolean]
31
+ required :do_not_contact, Revox::Internal::Type::Boolean
32
+
33
+ # @!attribute hot
34
+ #
35
+ # @return [Boolean]
36
+ required :hot, Revox::Internal::Type::Boolean
37
+
38
+ # @!attribute last_called_at
39
+ #
40
+ # @return [String, nil]
41
+ required :last_called_at, String, nil?: true
42
+
43
+ # @!attribute last_outcome
44
+ #
45
+ # @return [Symbol, Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome, nil]
46
+ required :last_outcome,
47
+ enum: -> { Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome },
48
+ nil?: true
49
+
50
+ # @!attribute reached_human
51
+ #
52
+ # @return [Boolean]
53
+ required :reached_human, Revox::Internal::Type::Boolean
54
+
55
+ # @!method initialize(campaigns:, count:, do_not_contact:, hot:, last_called_at:, last_outcome:, reached_human:)
56
+ # @param campaigns [Array<Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign>]
57
+ # @param count [Float]
58
+ # @param do_not_contact [Boolean]
59
+ # @param hot [Boolean]
60
+ # @param last_called_at [String, nil]
61
+ # @param last_outcome [Symbol, Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome, nil]
62
+ # @param reached_human [Boolean]
63
+
64
+ class Campaign < Revox::Internal::Type::BaseModel
65
+ # @!attribute id
66
+ #
67
+ # @return [String]
68
+ required :id, String
69
+
70
+ # @!attribute name
71
+ #
72
+ # @return [String]
73
+ required :name, String
74
+
75
+ # @!method initialize(id:, name:)
76
+ # @param id [String]
77
+ # @param name [String]
78
+ end
79
+
80
+ # @see Revox::Models::CallPhoneHistoryResponse::PhoneHistory#last_outcome
81
+ module LastOutcome
82
+ extend Revox::Internal::Type::Enum
83
+
84
+ NOT_INTERESTED = :not_interested
85
+ INTERESTED = :interested
86
+ COMPLETED = :completed
87
+ REQUESTED_CALLBACK_LATER = :requested_callback_later
88
+ REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
89
+ DO_NOT_CONTACT = :do_not_contact
90
+ AI_AVERSE = :ai_averse
91
+
92
+ # @!method self.values
93
+ # @return [Array<Symbol>]
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#resume
6
+ class CallResumeParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#resume
6
+ class CallResumeResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Revox::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -163,6 +163,14 @@ module Revox
163
163
  # @return [Object]
164
164
  required :updated_at, Revox::Internal::Type::Unknown
165
165
 
166
+ # @!attribute follow_up_emails
167
+ # Extra notification recipients resolved from the agent prompt's own routing
168
+ # rules, when it defines any. Added to the assistant's configured notification
169
+ # recipients; never replaces them. Null when the prompt defines no routing rules.
170
+ #
171
+ # @return [Array<String>, nil]
172
+ optional :follow_up_emails, Revox::Internal::Type::ArrayOf[String], nil?: true
173
+
166
174
  # @!attribute outcome
167
175
  # Business outcome of the call. Null if not computed or no transcript.
168
176
  #
@@ -175,7 +183,7 @@ module Revox
175
183
  # @return [String, nil]
176
184
  optional :outcome_summary, String, nil?: true
177
185
 
178
- # @!method initialize(id:, assignee:, assistant:, call_attempts:, call_retry_config:, calls_count:, campaign:, contact:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, organization_id:, prompt_variables:, scheduled_at:, status:, to_phone_number:, updated_at:, outcome: nil, outcome_summary: nil)
186
+ # @!method initialize(id:, assignee:, assistant:, call_attempts:, call_retry_config:, calls_count:, campaign:, contact:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, organization_id:, prompt_variables:, scheduled_at:, status:, to_phone_number:, updated_at:, follow_up_emails: nil, outcome: nil, outcome_summary: nil)
179
187
  # Some parameter documentations has been truncated, see
180
188
  # {Revox::Models::CallRetrieveResponse::Call} for more details.
181
189
  #
@@ -228,6 +236,8 @@ module Revox
228
236
  #
229
237
  # @param updated_at [Object] The time the call order was last updated (any state change, retry, or analysis r
230
238
  #
239
+ # @param follow_up_emails [Array<String>, nil] Extra notification recipients resolved from the agent prompt's own routing rules
240
+ #
231
241
  # @param outcome [Symbol, Revox::Models::CallRetrieveResponse::Call::Outcome, nil] Business outcome of the call. Null if not computed or no transcript.
232
242
  #
233
243
  # @param outcome_summary [String, nil] LLM explanation for the outcome, when outcome was computed from the transcript.