revox 0.0.2 → 0.1.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +63 -22
  4. data/lib/revox/client.rb +4 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/internal/util.rb +31 -0
  7. data/lib/revox/models/assistant_create_params.rb +2 -2
  8. data/lib/revox/models/assistant_delete_params.rb +7 -1
  9. data/lib/revox/models/assistant_retrieve_params.rb +7 -1
  10. data/lib/revox/models/assistant_update_params.rb +10 -3
  11. data/lib/revox/models/call_create_params.rb +2 -2
  12. data/lib/revox/models/call_create_response.rb +720 -12
  13. data/lib/revox/models/call_list_params.rb +30 -7
  14. data/lib/revox/models/call_list_response.rb +63 -1
  15. data/lib/revox/models/call_retrieve_params.rb +7 -1
  16. data/lib/revox/models/call_retrieve_response.rb +723 -12
  17. data/lib/revox/models/campaign_cancel_params.rb +20 -0
  18. data/lib/revox/models/campaign_cancel_response.rb +16 -0
  19. data/lib/revox/models/campaign_create_params.rb +174 -0
  20. data/lib/revox/models/campaign_create_response.rb +775 -0
  21. data/lib/revox/models/campaign_delete_params.rb +20 -0
  22. data/lib/revox/models/campaign_delete_response.rb +16 -0
  23. data/lib/revox/models/campaign_export_rows_params.rb +20 -0
  24. data/lib/revox/models/campaign_export_rows_response.rb +22 -0
  25. data/lib/revox/models/campaign_get_rows_params.rb +65 -0
  26. data/lib/revox/models/campaign_get_rows_response.rb +1468 -0
  27. data/lib/revox/models/campaign_list_params.rb +14 -0
  28. data/lib/revox/models/campaign_list_response.rb +771 -0
  29. data/lib/revox/models/campaign_retrieve_params.rb +20 -0
  30. data/lib/revox/models/campaign_retrieve_response.rb +776 -0
  31. data/lib/revox/models/voice_preview_params.rb +1 -9
  32. data/lib/revox/models/voice_retrieve_params.rb +7 -1
  33. data/lib/revox/models.rb +14 -0
  34. data/lib/revox/resources/assistants.rb +26 -2
  35. data/lib/revox/resources/call.rb +20 -8
  36. data/lib/revox/resources/campaigns.rb +181 -0
  37. data/lib/revox/resources/voices.rb +12 -8
  38. data/lib/revox/version.rb +1 -1
  39. data/lib/revox.rb +15 -0
  40. data/rbi/revox/client.rbi +3 -0
  41. data/rbi/revox/internal/util.rbi +20 -0
  42. data/rbi/revox/models/assistant_create_params.rbi +3 -5
  43. data/rbi/revox/models/assistant_delete_params.rbi +11 -5
  44. data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
  45. data/rbi/revox/models/assistant_update_params.rbi +9 -5
  46. data/rbi/revox/models/call_create_params.rbi +3 -5
  47. data/rbi/revox/models/call_create_response.rbi +1537 -11
  48. data/rbi/revox/models/call_list_params.rbi +53 -6
  49. data/rbi/revox/models/call_list_response.rbi +162 -0
  50. data/rbi/revox/models/call_retrieve_params.rbi +11 -5
  51. data/rbi/revox/models/call_retrieve_response.rbi +1543 -11
  52. data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
  53. data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
  54. data/rbi/revox/models/campaign_create_params.rbi +297 -0
  55. data/rbi/revox/models/campaign_create_response.rbi +1490 -0
  56. data/rbi/revox/models/campaign_delete_params.rbi +33 -0
  57. data/rbi/revox/models/campaign_delete_response.rbi +23 -0
  58. data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
  59. data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
  60. data/rbi/revox/models/campaign_get_rows_params.rbi +113 -0
  61. data/rbi/revox/models/campaign_get_rows_response.rbi +2981 -0
  62. data/rbi/revox/models/campaign_list_params.rbi +27 -0
  63. data/rbi/revox/models/campaign_list_response.rbi +1482 -0
  64. data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
  65. data/rbi/revox/models/campaign_retrieve_response.rbi +1495 -0
  66. data/rbi/revox/models/voice_preview_params.rbi +0 -11
  67. data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
  68. data/rbi/revox/models.rbi +14 -0
  69. data/rbi/revox/resources/assistants.rbi +21 -2
  70. data/rbi/revox/resources/call.rbi +18 -6
  71. data/rbi/revox/resources/campaigns.rbi +128 -0
  72. data/rbi/revox/resources/voices.rbi +9 -7
  73. data/sig/revox/client.rbs +2 -0
  74. data/sig/revox/internal/util.rbs +10 -0
  75. data/sig/revox/models/assistant_create_params.rbs +8 -4
  76. data/sig/revox/models/assistant_delete_params.rbs +8 -3
  77. data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
  78. data/sig/revox/models/assistant_update_params.rbs +13 -4
  79. data/sig/revox/models/call_create_params.rbs +8 -4
  80. data/sig/revox/models/call_create_response.rbs +615 -8
  81. data/sig/revox/models/call_list_params.rbs +42 -7
  82. data/sig/revox/models/call_list_response.rbs +57 -2
  83. data/sig/revox/models/call_retrieve_params.rbs +9 -3
  84. data/sig/revox/models/call_retrieve_response.rbs +615 -8
  85. data/sig/revox/models/campaign_cancel_params.rbs +20 -0
  86. data/sig/revox/models/campaign_cancel_response.rbs +13 -0
  87. data/sig/revox/models/campaign_create_params.rbs +149 -0
  88. data/sig/revox/models/campaign_create_response.rbs +666 -0
  89. data/sig/revox/models/campaign_delete_params.rbs +20 -0
  90. data/sig/revox/models/campaign_delete_response.rbs +13 -0
  91. data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
  92. data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
  93. data/sig/revox/models/campaign_get_rows_params.rbs +82 -0
  94. data/sig/revox/models/campaign_get_rows_response.rbs +1220 -0
  95. data/sig/revox/models/campaign_list_params.rbs +14 -0
  96. data/sig/revox/models/campaign_list_response.rbs +666 -0
  97. data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
  98. data/sig/revox/models/campaign_retrieve_response.rbs +666 -0
  99. data/sig/revox/models/voice_preview_params.rbs +1 -8
  100. data/sig/revox/models/voice_retrieve_params.rbs +5 -1
  101. data/sig/revox/models.rbs +14 -0
  102. data/sig/revox/resources/assistants.rbs +2 -2
  103. data/sig/revox/resources/call.rbs +3 -2
  104. data/sig/revox/resources/campaigns.rbs +52 -0
  105. data/sig/revox/resources/voices.rbs +0 -1
  106. metadata +47 -2
@@ -25,6 +25,11 @@ module Revox
25
25
  # @return [String]
26
26
  required :id, String
27
27
 
28
+ # @!attribute assistant
29
+ #
30
+ # @return [Revox::Models::CallRetrieveResponse::Call::Assistant, nil]
31
+ required :assistant, -> { Revox::Models::CallRetrieveResponse::Call::Assistant }, nil?: true
32
+
28
33
  # @!attribute call_attempts
29
34
  # All call attempts for this call order, ordered by most recent first.
30
35
  #
@@ -45,6 +50,11 @@ module Revox
45
50
  # @return [Float]
46
51
  required :calls_count, Float
47
52
 
53
+ # @!attribute campaign
54
+ #
55
+ # @return [Revox::Models::CallRetrieveResponse::Call::Campaign, nil]
56
+ required :campaign, -> { Revox::Models::CallRetrieveResponse::Call::Campaign }, nil?: true
57
+
48
58
  # @!attribute created_at
49
59
  # The time the call order was created.
50
60
  #
@@ -71,13 +81,15 @@ module Revox
71
81
  required :from_phone_number, String
72
82
 
73
83
  # @!attribute is_cancelled
74
- # Whether the call was cancelled.
84
+ # DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
85
+ # Use `status` instead.
75
86
  #
76
87
  # @return [Boolean]
77
88
  required :is_cancelled, Revox::Internal::Type::Boolean
78
89
 
79
90
  # @!attribute is_completed
80
- # Whether the call is completed or still in progress.
91
+ # DEPRECATED: Whether the call has completed. This is derived from `status`. Use
92
+ # `status` instead.
81
93
  #
82
94
  # @return [Boolean]
83
95
  required :is_completed, Revox::Internal::Type::Boolean
@@ -100,11 +112,11 @@ module Revox
100
112
  # @return [Hash{Symbol=>String}, nil]
101
113
  required :metadata, Revox::Internal::Type::HashOf[String], nil?: true
102
114
 
103
- # @!attribute next_call_at
104
- # The next call attempt time.
115
+ # @!attribute organization_id
116
+ # The ID of the organization that owns the call.
105
117
  #
106
- # @return [Object]
107
- required :next_call_at, Revox::Internal::Type::Unknown
118
+ # @return [String]
119
+ required :organization_id, String
108
120
 
109
121
  # @!attribute scheduled_at
110
122
  # The time the call order is scheduled to start.
@@ -112,6 +124,12 @@ module Revox
112
124
  # @return [Object]
113
125
  required :scheduled_at, Revox::Internal::Type::Unknown
114
126
 
127
+ # @!attribute status
128
+ # The status of the call.
129
+ #
130
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Status]
131
+ required :status, enum: -> { Revox::Models::CallRetrieveResponse::Call::Status }
132
+
115
133
  # @!attribute to_phone_number
116
134
  # The phone number that received the call. Formatted in E.164 format. Example:
117
135
  # +1234567890
@@ -119,7 +137,7 @@ module Revox
119
137
  # @return [String]
120
138
  required :to_phone_number, String
121
139
 
122
- # @!method initialize(id:, call_attempts:, call_retry_config:, calls_count:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, next_call_at:, scheduled_at:, to_phone_number:)
140
+ # @!method initialize(id:, assistant:, call_attempts:, call_retry_config:, calls_count:, campaign:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, organization_id:, scheduled_at:, status:, to_phone_number:)
123
141
  # Some parameter documentations has been truncated, see
124
142
  # {Revox::Models::CallRetrieveResponse::Call} for more details.
125
143
  #
@@ -128,12 +146,16 @@ module Revox
128
146
  #
129
147
  # @param id [String] The ID of the call.
130
148
  #
149
+ # @param assistant [Revox::Models::CallRetrieveResponse::Call::Assistant, nil]
150
+ #
131
151
  # @param call_attempts [Array<Revox::Models::CallRetrieveResponse::Call::CallAttempt>] All call attempts for this call order, ordered by most recent first.
132
152
  #
133
153
  # @param call_retry_config [Revox::Models::CallRetrieveResponse::Call::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
134
154
  #
135
155
  # @param calls_count [Float] The number of call attempts made.
136
156
  #
157
+ # @param campaign [Revox::Models::CallRetrieveResponse::Call::Campaign, nil]
158
+ #
137
159
  # @param created_at [Object] The time the call order was created.
138
160
  #
139
161
  # @param direction [Symbol, Revox::Models::CallRetrieveResponse::Call::Direction] Whether the call is inbound or outbound.
@@ -142,9 +164,9 @@ module Revox
142
164
  #
143
165
  # @param from_phone_number [String] The phone number that made the call. Formatted in E.164 format. Example: +123456
144
166
  #
145
- # @param is_cancelled [Boolean] Whether the call was cancelled.
167
+ # @param is_cancelled [Boolean] DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
146
168
  #
147
- # @param is_completed [Boolean] Whether the call is completed or still in progress.
169
+ # @param is_completed [Boolean] DEPRECATED: Whether the call has completed. This is derived from `status`. Use `
148
170
  #
149
171
  # @param last_call_attempt [Revox::Models::CallRetrieveResponse::Call::LastCallAttempt, nil] This represent a single call attempt. A call attempt is a single call made to th
150
172
  #
@@ -152,12 +174,534 @@ module Revox
152
174
  #
153
175
  # @param metadata [Hash{Symbol=>String}, nil] Metadata stored with the call.
154
176
  #
155
- # @param next_call_at [Object] The next call attempt time.
177
+ # @param organization_id [String] The ID of the organization that owns the call.
156
178
  #
157
179
  # @param scheduled_at [Object] The time the call order is scheduled to start.
158
180
  #
181
+ # @param status [Symbol, Revox::Models::CallRetrieveResponse::Call::Status] The status of the call.
182
+ #
159
183
  # @param to_phone_number [String] The phone number that received the call. Formatted in E.164 format. Example: +12
160
184
 
185
+ # @see Revox::Models::CallRetrieveResponse::Call#assistant
186
+ class Assistant < Revox::Internal::Type::BaseModel
187
+ # @!attribute id
188
+ #
189
+ # @return [String]
190
+ required :id, String
191
+
192
+ # @!attribute background_sound
193
+ # The background sound to play during the call. Useful to give the impression that
194
+ # your AI agent is in an office.
195
+ #
196
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound, nil]
197
+ required :background_sound,
198
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound },
199
+ nil?: true
200
+
201
+ # @!attribute calendly
202
+ #
203
+ # @return [Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly, nil]
204
+ required :calendly, -> { Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly }, nil?: true
205
+
206
+ # @!attribute call_retry_config
207
+ # Configuration for call retry behavior including time windows, delays, and max
208
+ # iterations. If not provided, defaults will be used.
209
+ #
210
+ # @return [Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig, nil]
211
+ required :call_retry_config,
212
+ -> { Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig },
213
+ nil?: true
214
+
215
+ # @!attribute created_at
216
+ #
217
+ # @return [Object]
218
+ required :created_at, Revox::Internal::Type::Unknown
219
+
220
+ # @!attribute end_of_call_sentence
221
+ #
222
+ # @return [String, nil]
223
+ required :end_of_call_sentence, String, nil?: true
224
+
225
+ # @!attribute first_sentence
226
+ #
227
+ # @return [String, nil]
228
+ required :first_sentence, String, nil?: true
229
+
230
+ # @!attribute first_sentence_delay_ms
231
+ # Delay in milliseconds before speaking the first sentence. Default: 400.
232
+ #
233
+ # @return [Integer]
234
+ required :first_sentence_delay_ms, Integer
235
+
236
+ # @!attribute first_sentence_mode
237
+ #
238
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode]
239
+ required :first_sentence_mode,
240
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode }
241
+
242
+ # @!attribute ivr_navigation_enabled
243
+ # Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
244
+ # skip turns to navigate phone menus.
245
+ #
246
+ # @return [Boolean]
247
+ required :ivr_navigation_enabled, Revox::Internal::Type::Boolean
248
+
249
+ # @!attribute llm_model
250
+ #
251
+ # @return [Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1]
252
+ required :llm_model, union: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel }
253
+
254
+ # @!attribute max_call_duration_secs
255
+ # The maximum duration of the call in seconds. This is the maximum time the call
256
+ # will be allowed to run.
257
+ #
258
+ # @return [Float]
259
+ required :max_call_duration_secs, Float
260
+
261
+ # @!attribute name
262
+ #
263
+ # @return [String]
264
+ required :name, String
265
+
266
+ # @!attribute organization_id
267
+ #
268
+ # @return [String]
269
+ required :organization_id, String
270
+
271
+ # @!attribute prompt
272
+ #
273
+ # @return [String]
274
+ required :prompt, String
275
+
276
+ # @!attribute structured_output_config
277
+ # The structured output config to use for the call. This is used to extract the
278
+ # data from the call (like email, name, company name, etc.).
279
+ #
280
+ # @return [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig>, nil]
281
+ required :structured_output_config,
282
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig] },
283
+ nil?: true
284
+
285
+ # @!attribute transfer_phone_number
286
+ # Phone number to transfer calls to when users request to speak to a human agent.
287
+ #
288
+ # @return [String, nil]
289
+ required :transfer_phone_number, String, nil?: true
290
+
291
+ # @!attribute updated_at
292
+ #
293
+ # @return [Object]
294
+ required :updated_at, Revox::Internal::Type::Unknown
295
+
296
+ # @!attribute voice
297
+ #
298
+ # @return [Revox::Models::CallRetrieveResponse::Call::Assistant::Voice, nil]
299
+ required :voice, -> { Revox::Models::CallRetrieveResponse::Call::Assistant::Voice }, nil?: true
300
+
301
+ # @!attribute voicemail_message
302
+ # If set, when voicemail is detected the agent will speak this message then hang
303
+ # up; if null, hang up immediately.
304
+ #
305
+ # @return [String, nil]
306
+ required :voicemail_message, String, nil?: true
307
+
308
+ # @!attribute webhook_url
309
+ # The webhook URL to call when the call is completed.
310
+ #
311
+ # @return [String, nil]
312
+ required :webhook_url, String, nil?: true
313
+
314
+ # @!attribute faq_items
315
+ #
316
+ # @return [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem>, nil]
317
+ optional :faq_items,
318
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem] }
319
+
320
+ # @!attribute pending_faq_count
321
+ #
322
+ # @return [Float, nil]
323
+ optional :pending_faq_count, Float
324
+
325
+ # @!method initialize(id:, background_sound:, calendly:, call_retry_config:, created_at:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, ivr_navigation_enabled:, llm_model:, max_call_duration_secs:, name:, organization_id:, prompt:, structured_output_config:, transfer_phone_number:, updated_at:, voice:, voicemail_message:, webhook_url:, faq_items: nil, pending_faq_count: nil)
326
+ # Some parameter documentations has been truncated, see
327
+ # {Revox::Models::CallRetrieveResponse::Call::Assistant} for more details.
328
+ #
329
+ # @param id [String]
330
+ #
331
+ # @param background_sound [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
332
+ #
333
+ # @param calendly [Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly, nil]
334
+ #
335
+ # @param call_retry_config [Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
336
+ #
337
+ # @param created_at [Object]
338
+ #
339
+ # @param end_of_call_sentence [String, nil]
340
+ #
341
+ # @param first_sentence [String, nil]
342
+ #
343
+ # @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
344
+ #
345
+ # @param first_sentence_mode [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode]
346
+ #
347
+ # @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
348
+ #
349
+ # @param llm_model [Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1]
350
+ #
351
+ # @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
352
+ #
353
+ # @param name [String]
354
+ #
355
+ # @param organization_id [String]
356
+ #
357
+ # @param prompt [String]
358
+ #
359
+ # @param structured_output_config [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig>, nil] The structured output config to use for the call. This is used to extract the da
360
+ #
361
+ # @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
362
+ #
363
+ # @param updated_at [Object]
364
+ #
365
+ # @param voice [Revox::Models::CallRetrieveResponse::Call::Assistant::Voice, nil]
366
+ #
367
+ # @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
368
+ #
369
+ # @param webhook_url [String, nil] The webhook URL to call when the call is completed.
370
+ #
371
+ # @param faq_items [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem>]
372
+ #
373
+ # @param pending_faq_count [Float]
374
+
375
+ # The background sound to play during the call. Useful to give the impression that
376
+ # your AI agent is in an office.
377
+ #
378
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant#background_sound
379
+ module BackgroundSound
380
+ extend Revox::Internal::Type::Enum
381
+
382
+ AUDIO_OFFICE_OGG = :"audio/office.ogg"
383
+
384
+ # @!method self.values
385
+ # @return [Array<Symbol>]
386
+ end
387
+
388
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant#calendly
389
+ class Calendly < Revox::Internal::Type::BaseModel
390
+ # @!attribute connection_id
391
+ # The connection ID representing the link between your Calendly account and Revox.
392
+ #
393
+ # @return [String]
394
+ required :connection_id, String
395
+
396
+ # @!attribute event_type_id
397
+ # The event type ID representing the event type to schedule. (eg:
398
+ # https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
399
+ #
400
+ # @return [String]
401
+ required :event_type_id, String
402
+
403
+ # @!method initialize(connection_id:, event_type_id:)
404
+ # Some parameter documentations has been truncated, see
405
+ # {Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly} for more
406
+ # details.
407
+ #
408
+ # @param connection_id [String] The connection ID representing the link between your Calendly account and Revox.
409
+ #
410
+ # @param event_type_id [String] The event type ID representing the event type to schedule. (eg: https://api.cale
411
+ end
412
+
413
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant#call_retry_config
414
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
415
+ # @!attribute calling_windows
416
+ #
417
+ # @return [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow>]
418
+ required :calling_windows,
419
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow] }
420
+
421
+ # @!attribute max_retry_attempts
422
+ # Maximum number of call retry attempts. Default: 3.
423
+ #
424
+ # @return [Integer]
425
+ required :max_retry_attempts, Integer
426
+
427
+ # @!attribute timezone
428
+ # Optional IANA timezone identifier to override the automatic timezone detection
429
+ # from phone number. If not provided, timezone is determined from the recipient's
430
+ # phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
431
+ #
432
+ # @return [String, nil]
433
+ optional :timezone, String, nil?: true
434
+
435
+ # @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
436
+ # Some parameter documentations has been truncated, see
437
+ # {Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig} for more
438
+ # details.
439
+ #
440
+ # Configuration for call retry behavior including time windows, delays, and max
441
+ # iterations. If not provided, defaults will be used.
442
+ #
443
+ # @param calling_windows [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow>]
444
+ #
445
+ # @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
446
+ #
447
+ # @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
448
+
449
+ class CallingWindow < Revox::Internal::Type::BaseModel
450
+ # @!attribute calling_window_end_time
451
+ # End time for the calling window in the recipient's timezone (or
452
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
453
+ # Examples: '17:00', '6pm'. Default: '18:00'.
454
+ #
455
+ # @return [String]
456
+ required :calling_window_end_time, String
457
+
458
+ # @!attribute calling_window_start_time
459
+ # Start time for the calling window in the recipient's timezone (or
460
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
461
+ # Examples: '09:00', '10am'. Default: '10:00'.
462
+ #
463
+ # @return [String]
464
+ required :calling_window_start_time, String
465
+
466
+ # @!attribute retry_delay_seconds
467
+ # Delay between retry attempts in seconds. Default: 7200 (2 hours).
468
+ #
469
+ # @return [Integer]
470
+ required :retry_delay_seconds, Integer
471
+
472
+ # @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
473
+ # Some parameter documentations has been truncated, see
474
+ # {Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow}
475
+ # for more details.
476
+ #
477
+ # @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
478
+ #
479
+ # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
480
+ #
481
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
482
+ end
483
+ end
484
+
485
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant#first_sentence_mode
486
+ module FirstSentenceMode
487
+ extend Revox::Internal::Type::Enum
488
+
489
+ GENERATED = :generated
490
+ STATIC = :static
491
+ NONE = :none
492
+
493
+ # @!method self.values
494
+ # @return [Array<Symbol>]
495
+ end
496
+
497
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant#llm_model
498
+ module LlmModel
499
+ extend Revox::Internal::Type::Union
500
+
501
+ variant -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0 }
502
+
503
+ variant -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1 }
504
+
505
+ class UnionMember0 < Revox::Internal::Type::BaseModel
506
+ # @!attribute name
507
+ #
508
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name]
509
+ required :name,
510
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name }
511
+
512
+ # @!attribute type
513
+ #
514
+ # @return [Symbol, :"dedicated-instance"]
515
+ required :type, const: :"dedicated-instance"
516
+
517
+ # @!method initialize(name:, type: :"dedicated-instance")
518
+ # @param name [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name]
519
+ # @param type [Symbol, :"dedicated-instance"]
520
+
521
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0#name
522
+ module Name
523
+ extend Revox::Internal::Type::Enum
524
+
525
+ GPT_4_1 = :"gpt-4.1"
526
+ MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
527
+
528
+ # @!method self.values
529
+ # @return [Array<Symbol>]
530
+ end
531
+ end
532
+
533
+ class UnionMember1 < Revox::Internal::Type::BaseModel
534
+ # @!attribute openrouter_model_id
535
+ # The model ID to use from OpenRouter. eg: openai/gpt-4.1
536
+ #
537
+ # @return [String]
538
+ required :openrouter_model_id, String
539
+
540
+ # @!attribute openrouter_provider
541
+ # The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
542
+ #
543
+ # @return [String]
544
+ required :openrouter_provider, String
545
+
546
+ # @!attribute type
547
+ # Use a model from OpenRouter.
548
+ #
549
+ # @return [Symbol, :openrouter]
550
+ required :type, const: :openrouter
551
+
552
+ # @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
553
+ # @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
554
+ #
555
+ # @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
556
+ #
557
+ # @param type [Symbol, :openrouter] Use a model from OpenRouter.
558
+ end
559
+
560
+ # @!method self.variants
561
+ # @return [Array(Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1)]
562
+ end
563
+
564
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
565
+ # @!attribute name
566
+ #
567
+ # @return [String]
568
+ required :name, String
569
+
570
+ # @!attribute required
571
+ #
572
+ # @return [Boolean]
573
+ required :required, Revox::Internal::Type::Boolean
574
+
575
+ # @!attribute type
576
+ #
577
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type]
578
+ required :type,
579
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type }
580
+
581
+ # @!attribute description
582
+ #
583
+ # @return [String, nil]
584
+ optional :description, String
585
+
586
+ # @!attribute enum_options
587
+ #
588
+ # @return [Array<String>, nil]
589
+ optional :enum_options, Revox::Internal::Type::ArrayOf[String]
590
+
591
+ # @!method initialize(name:, required:, type:, description: nil, enum_options: nil)
592
+ # @param name [String]
593
+ # @param required [Boolean]
594
+ # @param type [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type]
595
+ # @param description [String]
596
+ # @param enum_options [Array<String>]
597
+
598
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig#type
599
+ module Type
600
+ extend Revox::Internal::Type::Enum
601
+
602
+ STRING = :string
603
+ NUMBER = :number
604
+ BOOLEAN = :boolean
605
+ ENUM = :enum
606
+ DATE = :date
607
+ DATETIME = :datetime
608
+
609
+ # @!method self.values
610
+ # @return [Array<Symbol>]
611
+ end
612
+ end
613
+
614
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant#voice
615
+ class Voice < Revox::Internal::Type::BaseModel
616
+ # @!attribute id
617
+ # The ID of the voice.
618
+ #
619
+ # @return [String]
620
+ required :id, String
621
+
622
+ # @!attribute provider
623
+ # The provider of the voice.
624
+ #
625
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider]
626
+ required :provider, enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider }
627
+
628
+ # @!attribute speed
629
+ # The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
630
+ # 0.7–1.2. Default is 1.0.
631
+ #
632
+ # @return [Float, nil]
633
+ optional :speed, Float
634
+
635
+ # @!method initialize(id:, provider:, speed: nil)
636
+ # Some parameter documentations has been truncated, see
637
+ # {Revox::Models::CallRetrieveResponse::Call::Assistant::Voice} for more details.
638
+ #
639
+ # @param id [String] The ID of the voice.
640
+ #
641
+ # @param provider [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider] The provider of the voice.
642
+ #
643
+ # @param speed [Float] The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
644
+
645
+ # The provider of the voice.
646
+ #
647
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant::Voice#provider
648
+ module Provider
649
+ extend Revox::Internal::Type::Enum
650
+
651
+ CARTESIA = :cartesia
652
+ ELEVENLABS = :elevenlabs
653
+
654
+ # @!method self.values
655
+ # @return [Array<Symbol>]
656
+ end
657
+ end
658
+
659
+ class FaqItem < Revox::Internal::Type::BaseModel
660
+ # @!attribute answer
661
+ #
662
+ # @return [String]
663
+ required :answer, String
664
+
665
+ # @!attribute question
666
+ #
667
+ # @return [String]
668
+ required :question, String
669
+
670
+ # @!attribute id
671
+ #
672
+ # @return [String, nil]
673
+ optional :id, String
674
+
675
+ # @!attribute needs_human_answer
676
+ #
677
+ # @return [Boolean, nil]
678
+ optional :needs_human_answer, Revox::Internal::Type::Boolean
679
+
680
+ # @!attribute source
681
+ #
682
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source, nil]
683
+ optional :source, enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source }
684
+
685
+ # @!method initialize(answer:, question:, id: nil, needs_human_answer: nil, source: nil)
686
+ # @param answer [String]
687
+ # @param question [String]
688
+ # @param id [String]
689
+ # @param needs_human_answer [Boolean]
690
+ # @param source [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source]
691
+
692
+ # @see Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem#source
693
+ module Source
694
+ extend Revox::Internal::Type::Enum
695
+
696
+ HUMAN = :human
697
+ AI = :ai
698
+
699
+ # @!method self.values
700
+ # @return [Array<Symbol>]
701
+ end
702
+ end
703
+ end
704
+
161
705
  class CallAttempt < Revox::Internal::Type::BaseModel
162
706
  # @!attribute id
163
707
  # The ID of the call attempt.
@@ -171,6 +715,14 @@ module Revox
171
715
  # @return [Object]
172
716
  required :answered_at, Revox::Internal::Type::Unknown
173
717
 
718
+ # @!attribute dial_error
719
+ # The SIP error that occurred.
720
+ #
721
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError, nil]
722
+ required :dial_error,
723
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError },
724
+ nil?: true
725
+
174
726
  # @!attribute ended_at
175
727
  # The time the call ended.
176
728
  #
@@ -207,6 +759,22 @@ module Revox
207
759
  # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status]
208
760
  required :status, enum: -> { Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status }
209
761
 
762
+ # @!attribute end_reason
763
+ # Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
764
+ # 'voicemail', 'transfer', 'ivr_no_navigate'.
765
+ #
766
+ # @return [String, nil]
767
+ optional :end_reason, String, nil?: true
768
+
769
+ # @!attribute ended_by
770
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
771
+ # 'system' (e.g. max duration limit).
772
+ #
773
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy, nil]
774
+ optional :ended_by,
775
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy },
776
+ nil?: true
777
+
210
778
  # @!attribute structured_output
211
779
  # The data extracted from the call, using the structured output config from the
212
780
  # parent call object.
@@ -224,7 +792,7 @@ module Revox
224
792
  -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript] },
225
793
  nil?: true
226
794
 
227
- # @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
795
+ # @!method initialize(id:, answered_at:, dial_error:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, end_reason: nil, ended_by: nil, structured_output: nil, transcript: nil)
228
796
  # Some parameter documentations has been truncated, see
229
797
  # {Revox::Models::CallRetrieveResponse::Call::CallAttempt} for more details.
230
798
  #
@@ -235,6 +803,8 @@ module Revox
235
803
  #
236
804
  # @param answered_at [Object] The time the call was answered.
237
805
  #
806
+ # @param dial_error [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError, nil] The SIP error that occurred.
807
+ #
238
808
  # @param ended_at [Object] The time the call ended.
239
809
  #
240
810
  # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
@@ -247,10 +817,33 @@ module Revox
247
817
  #
248
818
  # @param status [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status] The status of the call attempt.
249
819
  #
820
+ # @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
821
+ #
822
+ # @param ended_by [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
823
+ #
250
824
  # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
251
825
  #
252
826
  # @param transcript [Array<Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript>, nil] The transcript of the call.
253
827
 
828
+ # The SIP error that occurred.
829
+ #
830
+ # @see Revox::Models::CallRetrieveResponse::Call::CallAttempt#dial_error
831
+ module DialError
832
+ extend Revox::Internal::Type::Enum
833
+
834
+ NUMBER_NON_ATTRIBUTED = :number_non_attributed
835
+ TOO_MANY_CALLS = :too_many_calls
836
+ BUSY = :busy
837
+ TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
838
+ NO_ANSWER = :no_answer
839
+ NO_INTERNATIONAL_PERMISSION = :no_international_permission
840
+ PRECONDITION_FAILED = :precondition_failed
841
+ NON_CLASSIFIED_ERROR = :non_classified_error
842
+
843
+ # @!method self.values
844
+ # @return [Array<Symbol>]
845
+ end
846
+
254
847
  # @see Revox::Models::CallRetrieveResponse::Call::CallAttempt#result
255
848
  module Result
256
849
  extend Revox::Internal::Type::Enum
@@ -259,6 +852,7 @@ module Revox
259
852
  VOICEMAIL = :voicemail
260
853
  HUMAN = :human
261
854
  UNKNOWN = :unknown
855
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
262
856
 
263
857
  # @!method self.values
264
858
  # @return [Array<Symbol>]
@@ -274,6 +868,22 @@ module Revox
274
868
  RINGING = :ringing
275
869
  ONGOING = :ongoing
276
870
  COMPLETED = :completed
871
+ ERROR = :error
872
+
873
+ # @!method self.values
874
+ # @return [Array<Symbol>]
875
+ end
876
+
877
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
878
+ # 'system' (e.g. max duration limit).
879
+ #
880
+ # @see Revox::Models::CallRetrieveResponse::Call::CallAttempt#ended_by
881
+ module EndedBy
882
+ extend Revox::Internal::Type::Enum
883
+
884
+ AGENT = :agent
885
+ USER = :user
886
+ SYSTEM = :system
277
887
 
278
888
  # @!method self.values
279
889
  # @return [Array<Symbol>]
@@ -413,6 +1023,23 @@ module Revox
413
1023
  end
414
1024
  end
415
1025
 
1026
+ # @see Revox::Models::CallRetrieveResponse::Call#campaign
1027
+ class Campaign < Revox::Internal::Type::BaseModel
1028
+ # @!attribute id
1029
+ #
1030
+ # @return [String]
1031
+ required :id, String
1032
+
1033
+ # @!attribute name
1034
+ #
1035
+ # @return [String]
1036
+ required :name, String
1037
+
1038
+ # @!method initialize(id:, name:)
1039
+ # @param id [String]
1040
+ # @param name [String]
1041
+ end
1042
+
416
1043
  # Whether the call is inbound or outbound.
417
1044
  #
418
1045
  # @see Revox::Models::CallRetrieveResponse::Call#direction
@@ -440,6 +1067,14 @@ module Revox
440
1067
  # @return [Object]
441
1068
  required :answered_at, Revox::Internal::Type::Unknown
442
1069
 
1070
+ # @!attribute dial_error
1071
+ # The SIP error that occurred.
1072
+ #
1073
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError, nil]
1074
+ required :dial_error,
1075
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError },
1076
+ nil?: true
1077
+
443
1078
  # @!attribute ended_at
444
1079
  # The time the call ended.
445
1080
  #
@@ -478,6 +1113,22 @@ module Revox
478
1113
  # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status]
479
1114
  required :status, enum: -> { Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status }
480
1115
 
1116
+ # @!attribute end_reason
1117
+ # Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
1118
+ # 'voicemail', 'transfer', 'ivr_no_navigate'.
1119
+ #
1120
+ # @return [String, nil]
1121
+ optional :end_reason, String, nil?: true
1122
+
1123
+ # @!attribute ended_by
1124
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
1125
+ # 'system' (e.g. max duration limit).
1126
+ #
1127
+ # @return [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy, nil]
1128
+ optional :ended_by,
1129
+ enum: -> { Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy },
1130
+ nil?: true
1131
+
481
1132
  # @!attribute structured_output
482
1133
  # The data extracted from the call, using the structured output config from the
483
1134
  # parent call object.
@@ -495,7 +1146,7 @@ module Revox
495
1146
  -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript] },
496
1147
  nil?: true
497
1148
 
498
- # @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
1149
+ # @!method initialize(id:, answered_at:, dial_error:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, end_reason: nil, ended_by: nil, structured_output: nil, transcript: nil)
499
1150
  # Some parameter documentations has been truncated, see
500
1151
  # {Revox::Models::CallRetrieveResponse::Call::LastCallAttempt} for more details.
501
1152
  #
@@ -506,6 +1157,8 @@ module Revox
506
1157
  #
507
1158
  # @param answered_at [Object] The time the call was answered.
508
1159
  #
1160
+ # @param dial_error [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError, nil] The SIP error that occurred.
1161
+ #
509
1162
  # @param ended_at [Object] The time the call ended.
510
1163
  #
511
1164
  # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
@@ -518,10 +1171,33 @@ module Revox
518
1171
  #
519
1172
  # @param status [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status] The status of the call attempt.
520
1173
  #
1174
+ # @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
1175
+ #
1176
+ # @param ended_by [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
1177
+ #
521
1178
  # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
522
1179
  #
523
1180
  # @param transcript [Array<Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript>, nil] The transcript of the call.
524
1181
 
1182
+ # The SIP error that occurred.
1183
+ #
1184
+ # @see Revox::Models::CallRetrieveResponse::Call::LastCallAttempt#dial_error
1185
+ module DialError
1186
+ extend Revox::Internal::Type::Enum
1187
+
1188
+ NUMBER_NON_ATTRIBUTED = :number_non_attributed
1189
+ TOO_MANY_CALLS = :too_many_calls
1190
+ BUSY = :busy
1191
+ TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
1192
+ NO_ANSWER = :no_answer
1193
+ NO_INTERNATIONAL_PERMISSION = :no_international_permission
1194
+ PRECONDITION_FAILED = :precondition_failed
1195
+ NON_CLASSIFIED_ERROR = :non_classified_error
1196
+
1197
+ # @!method self.values
1198
+ # @return [Array<Symbol>]
1199
+ end
1200
+
525
1201
  # @see Revox::Models::CallRetrieveResponse::Call::LastCallAttempt#result
526
1202
  module Result
527
1203
  extend Revox::Internal::Type::Enum
@@ -530,6 +1206,7 @@ module Revox
530
1206
  VOICEMAIL = :voicemail
531
1207
  HUMAN = :human
532
1208
  UNKNOWN = :unknown
1209
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
533
1210
 
534
1211
  # @!method self.values
535
1212
  # @return [Array<Symbol>]
@@ -545,6 +1222,22 @@ module Revox
545
1222
  RINGING = :ringing
546
1223
  ONGOING = :ongoing
547
1224
  COMPLETED = :completed
1225
+ ERROR = :error
1226
+
1227
+ # @!method self.values
1228
+ # @return [Array<Symbol>]
1229
+ end
1230
+
1231
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
1232
+ # 'system' (e.g. max duration limit).
1233
+ #
1234
+ # @see Revox::Models::CallRetrieveResponse::Call::LastCallAttempt#ended_by
1235
+ module EndedBy
1236
+ extend Revox::Internal::Type::Enum
1237
+
1238
+ AGENT = :agent
1239
+ USER = :user
1240
+ SYSTEM = :system
548
1241
 
549
1242
  # @!method self.values
550
1243
  # @return [Array<Symbol>]
@@ -678,6 +1371,24 @@ module Revox
678
1371
  # @!method self.variants
679
1372
  # @return [Array(Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember1)]
680
1373
  end
1374
+
1375
+ # The status of the call.
1376
+ #
1377
+ # @see Revox::Models::CallRetrieveResponse::Call#status
1378
+ module Status
1379
+ extend Revox::Internal::Type::Enum
1380
+
1381
+ INITIALIZING = :initializing
1382
+ QUEUED_FOR_CALLING = :queued_for_calling
1383
+ CALLING = :calling
1384
+ SCHEDULED = :scheduled
1385
+ COMPLETED = :completed
1386
+ CANCELLED = :cancelled
1387
+ ERRORED = :errored
1388
+
1389
+ # @!method self.values
1390
+ # @return [Array<Symbol>]
1391
+ end
681
1392
  end
682
1393
  end
683
1394
  end