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
@@ -0,0 +1,1468 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#get_rows
6
+ class CampaignGetRowsResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute page
8
+ #
9
+ # @return [Float]
10
+ required :page, Float
11
+
12
+ # @!attribute page_size
13
+ #
14
+ # @return [Float]
15
+ required :page_size, Float
16
+
17
+ # @!attribute rows
18
+ #
19
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row>]
20
+ required :rows, -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row] }
21
+
22
+ # @!attribute total
23
+ #
24
+ # @return [Float]
25
+ required :total, Float
26
+
27
+ # @!method initialize(page:, page_size:, rows:, total:)
28
+ # @param page [Float]
29
+ # @param page_size [Float]
30
+ # @param rows [Array<Revox::Models::CampaignGetRowsResponse::Row>]
31
+ # @param total [Float]
32
+
33
+ class Row < Revox::Internal::Type::BaseModel
34
+ # @!attribute id
35
+ #
36
+ # @return [String]
37
+ required :id, String
38
+
39
+ # @!attribute input_data
40
+ #
41
+ # @return [Hash{Symbol=>String}]
42
+ required :input_data, Revox::Internal::Type::HashOf[String]
43
+
44
+ # @!attribute phone_number
45
+ #
46
+ # @return [String]
47
+ required :phone_number, String
48
+
49
+ # @!attribute row_index
50
+ #
51
+ # @return [Float]
52
+ required :row_index, Float
53
+
54
+ # @!attribute call
55
+ # This represent a call "order" that was requested by the user. A call order can
56
+ # be resolved over multiple call attempts spanning up to a few days.
57
+ #
58
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call, nil]
59
+ optional :call, -> { Revox::Models::CampaignGetRowsResponse::Row::Call }
60
+
61
+ # @!method initialize(id:, input_data:, phone_number:, row_index:, call: nil)
62
+ # Some parameter documentations has been truncated, see
63
+ # {Revox::Models::CampaignGetRowsResponse::Row} for more details.
64
+ #
65
+ # @param id [String]
66
+ #
67
+ # @param input_data [Hash{Symbol=>String}]
68
+ #
69
+ # @param phone_number [String]
70
+ #
71
+ # @param row_index [Float]
72
+ #
73
+ # @param call [Revox::Models::CampaignGetRowsResponse::Row::Call] This represent a call "order" that was requested by the user. A call order can b
74
+
75
+ # @see Revox::Models::CampaignGetRowsResponse::Row#call
76
+ class Call < Revox::Internal::Type::BaseModel
77
+ # @!attribute id
78
+ # The ID of the call.
79
+ #
80
+ # @return [String]
81
+ required :id, String
82
+
83
+ # @!attribute assistant
84
+ #
85
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant, nil]
86
+ required :assistant, -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant }, nil?: true
87
+
88
+ # @!attribute call_attempts
89
+ # All call attempts for this call order, ordered by most recent first.
90
+ #
91
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt>]
92
+ required :call_attempts,
93
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt] }
94
+
95
+ # @!attribute call_retry_config
96
+ # Configuration for call retry behavior including time windows, delays, and max
97
+ # iterations. If not provided, defaults will be used.
98
+ #
99
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig, nil]
100
+ required :call_retry_config,
101
+ -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig },
102
+ nil?: true
103
+
104
+ # @!attribute calls_count
105
+ # The number of call attempts made.
106
+ #
107
+ # @return [Float]
108
+ required :calls_count, Float
109
+
110
+ # @!attribute campaign
111
+ #
112
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Campaign, nil]
113
+ required :campaign, -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Campaign }, nil?: true
114
+
115
+ # @!attribute created_at
116
+ # The time the call order was created.
117
+ #
118
+ # @return [Object]
119
+ required :created_at, Revox::Internal::Type::Unknown
120
+
121
+ # @!attribute direction
122
+ # Whether the call is inbound or outbound.
123
+ #
124
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Direction]
125
+ required :direction, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Direction }
126
+
127
+ # @!attribute first_sentence_delay_ms
128
+ # Delay in milliseconds before speaking the first sentence. Default: 400.
129
+ #
130
+ # @return [Integer]
131
+ required :first_sentence_delay_ms, Integer
132
+
133
+ # @!attribute from_phone_number
134
+ # The phone number that made the call. Formatted in E.164 format. Example:
135
+ # +1234567890
136
+ #
137
+ # @return [String]
138
+ required :from_phone_number, String
139
+
140
+ # @!attribute is_cancelled
141
+ # DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
142
+ # Use `status` instead.
143
+ #
144
+ # @return [Boolean]
145
+ required :is_cancelled, Revox::Internal::Type::Boolean
146
+
147
+ # @!attribute is_completed
148
+ # DEPRECATED: Whether the call has completed. This is derived from `status`. Use
149
+ # `status` instead.
150
+ #
151
+ # @return [Boolean]
152
+ required :is_completed, Revox::Internal::Type::Boolean
153
+
154
+ # @!attribute last_call_attempt
155
+ # This represent a single call attempt. A call attempt is a single call made to
156
+ # the phone number.
157
+ #
158
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt, nil]
159
+ required :last_call_attempt,
160
+ -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt },
161
+ nil?: true
162
+
163
+ # @!attribute llm_model
164
+ #
165
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1]
166
+ required :llm_model, union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel }
167
+
168
+ # @!attribute metadata
169
+ # Metadata stored with the call.
170
+ #
171
+ # @return [Hash{Symbol=>String}, nil]
172
+ required :metadata, Revox::Internal::Type::HashOf[String], nil?: true
173
+
174
+ # @!attribute organization_id
175
+ # The ID of the organization that owns the call.
176
+ #
177
+ # @return [String]
178
+ required :organization_id, String
179
+
180
+ # @!attribute scheduled_at
181
+ # The time the call order is scheduled to start.
182
+ #
183
+ # @return [Object]
184
+ required :scheduled_at, Revox::Internal::Type::Unknown
185
+
186
+ # @!attribute status
187
+ # The status of the call.
188
+ #
189
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Status]
190
+ required :status, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Status }
191
+
192
+ # @!attribute to_phone_number
193
+ # The phone number that received the call. Formatted in E.164 format. Example:
194
+ # +1234567890
195
+ #
196
+ # @return [String]
197
+ required :to_phone_number, String
198
+
199
+ # @!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:)
200
+ # Some parameter documentations has been truncated, see
201
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call} for more details.
202
+ #
203
+ # This represent a call "order" that was requested by the user. A call order can
204
+ # be resolved over multiple call attempts spanning up to a few days.
205
+ #
206
+ # @param id [String] The ID of the call.
207
+ #
208
+ # @param assistant [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant, nil]
209
+ #
210
+ # @param call_attempts [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt>] All call attempts for this call order, ordered by most recent first.
211
+ #
212
+ # @param call_retry_config [Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
213
+ #
214
+ # @param calls_count [Float] The number of call attempts made.
215
+ #
216
+ # @param campaign [Revox::Models::CampaignGetRowsResponse::Row::Call::Campaign, nil]
217
+ #
218
+ # @param created_at [Object] The time the call order was created.
219
+ #
220
+ # @param direction [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Direction] Whether the call is inbound or outbound.
221
+ #
222
+ # @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
223
+ #
224
+ # @param from_phone_number [String] The phone number that made the call. Formatted in E.164 format. Example: +123456
225
+ #
226
+ # @param is_cancelled [Boolean] DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
227
+ #
228
+ # @param is_completed [Boolean] DEPRECATED: Whether the call has completed. This is derived from `status`. Use `
229
+ #
230
+ # @param last_call_attempt [Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt, nil] This represent a single call attempt. A call attempt is a single call made to th
231
+ #
232
+ # @param llm_model [Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1]
233
+ #
234
+ # @param metadata [Hash{Symbol=>String}, nil] Metadata stored with the call.
235
+ #
236
+ # @param organization_id [String] The ID of the organization that owns the call.
237
+ #
238
+ # @param scheduled_at [Object] The time the call order is scheduled to start.
239
+ #
240
+ # @param status [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Status] The status of the call.
241
+ #
242
+ # @param to_phone_number [String] The phone number that received the call. Formatted in E.164 format. Example: +12
243
+
244
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#assistant
245
+ class Assistant < Revox::Internal::Type::BaseModel
246
+ # @!attribute id
247
+ #
248
+ # @return [String]
249
+ required :id, String
250
+
251
+ # @!attribute background_sound
252
+ # The background sound to play during the call. Useful to give the impression that
253
+ # your AI agent is in an office.
254
+ #
255
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::BackgroundSound, nil]
256
+ required :background_sound,
257
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::BackgroundSound },
258
+ nil?: true
259
+
260
+ # @!attribute calendly
261
+ #
262
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly, nil]
263
+ required :calendly,
264
+ -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly },
265
+ nil?: true
266
+
267
+ # @!attribute call_retry_config
268
+ # Configuration for call retry behavior including time windows, delays, and max
269
+ # iterations. If not provided, defaults will be used.
270
+ #
271
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig, nil]
272
+ required :call_retry_config,
273
+ -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig },
274
+ nil?: true
275
+
276
+ # @!attribute created_at
277
+ #
278
+ # @return [Object]
279
+ required :created_at, Revox::Internal::Type::Unknown
280
+
281
+ # @!attribute end_of_call_sentence
282
+ #
283
+ # @return [String, nil]
284
+ required :end_of_call_sentence, String, nil?: true
285
+
286
+ # @!attribute first_sentence
287
+ #
288
+ # @return [String, nil]
289
+ required :first_sentence, String, nil?: true
290
+
291
+ # @!attribute first_sentence_delay_ms
292
+ # Delay in milliseconds before speaking the first sentence. Default: 400.
293
+ #
294
+ # @return [Integer]
295
+ required :first_sentence_delay_ms, Integer
296
+
297
+ # @!attribute first_sentence_mode
298
+ #
299
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FirstSentenceMode]
300
+ required :first_sentence_mode,
301
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FirstSentenceMode }
302
+
303
+ # @!attribute ivr_navigation_enabled
304
+ # Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
305
+ # skip turns to navigate phone menus.
306
+ #
307
+ # @return [Boolean]
308
+ required :ivr_navigation_enabled, Revox::Internal::Type::Boolean
309
+
310
+ # @!attribute llm_model
311
+ #
312
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1]
313
+ required :llm_model, union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel }
314
+
315
+ # @!attribute max_call_duration_secs
316
+ # The maximum duration of the call in seconds. This is the maximum time the call
317
+ # will be allowed to run.
318
+ #
319
+ # @return [Float]
320
+ required :max_call_duration_secs, Float
321
+
322
+ # @!attribute name
323
+ #
324
+ # @return [String]
325
+ required :name, String
326
+
327
+ # @!attribute organization_id
328
+ #
329
+ # @return [String]
330
+ required :organization_id, String
331
+
332
+ # @!attribute prompt
333
+ #
334
+ # @return [String]
335
+ required :prompt, String
336
+
337
+ # @!attribute structured_output_config
338
+ # The structured output config to use for the call. This is used to extract the
339
+ # data from the call (like email, name, company name, etc.).
340
+ #
341
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig>, nil]
342
+ required :structured_output_config,
343
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig] },
344
+ nil?: true
345
+
346
+ # @!attribute transfer_phone_number
347
+ # Phone number to transfer calls to when users request to speak to a human agent.
348
+ #
349
+ # @return [String, nil]
350
+ required :transfer_phone_number, String, nil?: true
351
+
352
+ # @!attribute updated_at
353
+ #
354
+ # @return [Object]
355
+ required :updated_at, Revox::Internal::Type::Unknown
356
+
357
+ # @!attribute voice
358
+ #
359
+ # @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice, nil]
360
+ required :voice, -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice }, nil?: true
361
+
362
+ # @!attribute voicemail_message
363
+ # If set, when voicemail is detected the agent will speak this message then hang
364
+ # up; if null, hang up immediately.
365
+ #
366
+ # @return [String, nil]
367
+ required :voicemail_message, String, nil?: true
368
+
369
+ # @!attribute webhook_url
370
+ # The webhook URL to call when the call is completed.
371
+ #
372
+ # @return [String, nil]
373
+ required :webhook_url, String, nil?: true
374
+
375
+ # @!attribute faq_items
376
+ #
377
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem>, nil]
378
+ optional :faq_items,
379
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem] }
380
+
381
+ # @!attribute pending_faq_count
382
+ #
383
+ # @return [Float, nil]
384
+ optional :pending_faq_count, Float
385
+
386
+ # @!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)
387
+ # Some parameter documentations has been truncated, see
388
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant} for more details.
389
+ #
390
+ # @param id [String]
391
+ #
392
+ # @param background_sound [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
393
+ #
394
+ # @param calendly [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly, nil]
395
+ #
396
+ # @param call_retry_config [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
397
+ #
398
+ # @param created_at [Object]
399
+ #
400
+ # @param end_of_call_sentence [String, nil]
401
+ #
402
+ # @param first_sentence [String, nil]
403
+ #
404
+ # @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
405
+ #
406
+ # @param first_sentence_mode [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FirstSentenceMode]
407
+ #
408
+ # @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
409
+ #
410
+ # @param llm_model [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1]
411
+ #
412
+ # @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
413
+ #
414
+ # @param name [String]
415
+ #
416
+ # @param organization_id [String]
417
+ #
418
+ # @param prompt [String]
419
+ #
420
+ # @param structured_output_config [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig>, nil] The structured output config to use for the call. This is used to extract the da
421
+ #
422
+ # @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
423
+ #
424
+ # @param updated_at [Object]
425
+ #
426
+ # @param voice [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice, nil]
427
+ #
428
+ # @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
429
+ #
430
+ # @param webhook_url [String, nil] The webhook URL to call when the call is completed.
431
+ #
432
+ # @param faq_items [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem>]
433
+ #
434
+ # @param pending_faq_count [Float]
435
+
436
+ # The background sound to play during the call. Useful to give the impression that
437
+ # your AI agent is in an office.
438
+ #
439
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#background_sound
440
+ module BackgroundSound
441
+ extend Revox::Internal::Type::Enum
442
+
443
+ AUDIO_OFFICE_OGG = :"audio/office.ogg"
444
+
445
+ # @!method self.values
446
+ # @return [Array<Symbol>]
447
+ end
448
+
449
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#calendly
450
+ class Calendly < Revox::Internal::Type::BaseModel
451
+ # @!attribute connection_id
452
+ # The connection ID representing the link between your Calendly account and Revox.
453
+ #
454
+ # @return [String]
455
+ required :connection_id, String
456
+
457
+ # @!attribute event_type_id
458
+ # The event type ID representing the event type to schedule. (eg:
459
+ # https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
460
+ #
461
+ # @return [String]
462
+ required :event_type_id, String
463
+
464
+ # @!method initialize(connection_id:, event_type_id:)
465
+ # Some parameter documentations has been truncated, see
466
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly} for
467
+ # more details.
468
+ #
469
+ # @param connection_id [String] The connection ID representing the link between your Calendly account and Revox.
470
+ #
471
+ # @param event_type_id [String] The event type ID representing the event type to schedule. (eg: https://api.cale
472
+ end
473
+
474
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#call_retry_config
475
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
476
+ # @!attribute calling_windows
477
+ #
478
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow>]
479
+ required :calling_windows,
480
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow] }
481
+
482
+ # @!attribute max_retry_attempts
483
+ # Maximum number of call retry attempts. Default: 3.
484
+ #
485
+ # @return [Integer]
486
+ required :max_retry_attempts, Integer
487
+
488
+ # @!attribute timezone
489
+ # Optional IANA timezone identifier to override the automatic timezone detection
490
+ # from phone number. If not provided, timezone is determined from the recipient's
491
+ # phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
492
+ #
493
+ # @return [String, nil]
494
+ optional :timezone, String, nil?: true
495
+
496
+ # @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
497
+ # Some parameter documentations has been truncated, see
498
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig}
499
+ # for more details.
500
+ #
501
+ # Configuration for call retry behavior including time windows, delays, and max
502
+ # iterations. If not provided, defaults will be used.
503
+ #
504
+ # @param calling_windows [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow>]
505
+ #
506
+ # @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
507
+ #
508
+ # @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
509
+
510
+ class CallingWindow < Revox::Internal::Type::BaseModel
511
+ # @!attribute calling_window_end_time
512
+ # End time for the calling window in the recipient's timezone (or
513
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
514
+ # Examples: '17:00', '6pm'. Default: '18:00'.
515
+ #
516
+ # @return [String]
517
+ required :calling_window_end_time, String
518
+
519
+ # @!attribute calling_window_start_time
520
+ # Start time for the calling window in the recipient's timezone (or
521
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
522
+ # Examples: '09:00', '10am'. Default: '10:00'.
523
+ #
524
+ # @return [String]
525
+ required :calling_window_start_time, String
526
+
527
+ # @!attribute retry_delay_seconds
528
+ # Delay between retry attempts in seconds. Default: 7200 (2 hours).
529
+ #
530
+ # @return [Integer]
531
+ required :retry_delay_seconds, Integer
532
+
533
+ # @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
534
+ # Some parameter documentations has been truncated, see
535
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow}
536
+ # for more details.
537
+ #
538
+ # @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
539
+ #
540
+ # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
541
+ #
542
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
543
+ end
544
+ end
545
+
546
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#first_sentence_mode
547
+ module FirstSentenceMode
548
+ extend Revox::Internal::Type::Enum
549
+
550
+ GENERATED = :generated
551
+ STATIC = :static
552
+ NONE = :none
553
+
554
+ # @!method self.values
555
+ # @return [Array<Symbol>]
556
+ end
557
+
558
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#llm_model
559
+ module LlmModel
560
+ extend Revox::Internal::Type::Union
561
+
562
+ variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0 }
563
+
564
+ variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1 }
565
+
566
+ class UnionMember0 < Revox::Internal::Type::BaseModel
567
+ # @!attribute name
568
+ #
569
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0::Name]
570
+ required :name,
571
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0::Name }
572
+
573
+ # @!attribute type
574
+ #
575
+ # @return [Symbol, :"dedicated-instance"]
576
+ required :type, const: :"dedicated-instance"
577
+
578
+ # @!method initialize(name:, type: :"dedicated-instance")
579
+ # @param name [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0::Name]
580
+ # @param type [Symbol, :"dedicated-instance"]
581
+
582
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0#name
583
+ module Name
584
+ extend Revox::Internal::Type::Enum
585
+
586
+ GPT_4_1 = :"gpt-4.1"
587
+ MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
588
+
589
+ # @!method self.values
590
+ # @return [Array<Symbol>]
591
+ end
592
+ end
593
+
594
+ class UnionMember1 < Revox::Internal::Type::BaseModel
595
+ # @!attribute openrouter_model_id
596
+ # The model ID to use from OpenRouter. eg: openai/gpt-4.1
597
+ #
598
+ # @return [String]
599
+ required :openrouter_model_id, String
600
+
601
+ # @!attribute openrouter_provider
602
+ # The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
603
+ #
604
+ # @return [String]
605
+ required :openrouter_provider, String
606
+
607
+ # @!attribute type
608
+ # Use a model from OpenRouter.
609
+ #
610
+ # @return [Symbol, :openrouter]
611
+ required :type, const: :openrouter
612
+
613
+ # @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
614
+ # @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
615
+ #
616
+ # @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
617
+ #
618
+ # @param type [Symbol, :openrouter] Use a model from OpenRouter.
619
+ end
620
+
621
+ # @!method self.variants
622
+ # @return [Array(Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1)]
623
+ end
624
+
625
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
626
+ # @!attribute name
627
+ #
628
+ # @return [String]
629
+ required :name, String
630
+
631
+ # @!attribute required
632
+ #
633
+ # @return [Boolean]
634
+ required :required, Revox::Internal::Type::Boolean
635
+
636
+ # @!attribute type
637
+ #
638
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig::Type]
639
+ required :type,
640
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig::Type }
641
+
642
+ # @!attribute description
643
+ #
644
+ # @return [String, nil]
645
+ optional :description, String
646
+
647
+ # @!attribute enum_options
648
+ #
649
+ # @return [Array<String>, nil]
650
+ optional :enum_options, Revox::Internal::Type::ArrayOf[String]
651
+
652
+ # @!method initialize(name:, required:, type:, description: nil, enum_options: nil)
653
+ # @param name [String]
654
+ # @param required [Boolean]
655
+ # @param type [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig::Type]
656
+ # @param description [String]
657
+ # @param enum_options [Array<String>]
658
+
659
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig#type
660
+ module Type
661
+ extend Revox::Internal::Type::Enum
662
+
663
+ STRING = :string
664
+ NUMBER = :number
665
+ BOOLEAN = :boolean
666
+ ENUM = :enum
667
+ DATE = :date
668
+ DATETIME = :datetime
669
+
670
+ # @!method self.values
671
+ # @return [Array<Symbol>]
672
+ end
673
+ end
674
+
675
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#voice
676
+ class Voice < Revox::Internal::Type::BaseModel
677
+ # @!attribute id
678
+ # The ID of the voice.
679
+ #
680
+ # @return [String]
681
+ required :id, String
682
+
683
+ # @!attribute provider
684
+ # The provider of the voice.
685
+ #
686
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice::Provider]
687
+ required :provider,
688
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice::Provider }
689
+
690
+ # @!attribute speed
691
+ # The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
692
+ # 0.7–1.2. Default is 1.0.
693
+ #
694
+ # @return [Float, nil]
695
+ optional :speed, Float
696
+
697
+ # @!method initialize(id:, provider:, speed: nil)
698
+ # Some parameter documentations has been truncated, see
699
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice} for more
700
+ # details.
701
+ #
702
+ # @param id [String] The ID of the voice.
703
+ #
704
+ # @param provider [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice::Provider] The provider of the voice.
705
+ #
706
+ # @param speed [Float] The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
707
+
708
+ # The provider of the voice.
709
+ #
710
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice#provider
711
+ module Provider
712
+ extend Revox::Internal::Type::Enum
713
+
714
+ CARTESIA = :cartesia
715
+ ELEVENLABS = :elevenlabs
716
+
717
+ # @!method self.values
718
+ # @return [Array<Symbol>]
719
+ end
720
+ end
721
+
722
+ class FaqItem < Revox::Internal::Type::BaseModel
723
+ # @!attribute answer
724
+ #
725
+ # @return [String]
726
+ required :answer, String
727
+
728
+ # @!attribute question
729
+ #
730
+ # @return [String]
731
+ required :question, String
732
+
733
+ # @!attribute id
734
+ #
735
+ # @return [String, nil]
736
+ optional :id, String
737
+
738
+ # @!attribute needs_human_answer
739
+ #
740
+ # @return [Boolean, nil]
741
+ optional :needs_human_answer, Revox::Internal::Type::Boolean
742
+
743
+ # @!attribute source
744
+ #
745
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem::Source, nil]
746
+ optional :source,
747
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem::Source }
748
+
749
+ # @!method initialize(answer:, question:, id: nil, needs_human_answer: nil, source: nil)
750
+ # @param answer [String]
751
+ # @param question [String]
752
+ # @param id [String]
753
+ # @param needs_human_answer [Boolean]
754
+ # @param source [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem::Source]
755
+
756
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem#source
757
+ module Source
758
+ extend Revox::Internal::Type::Enum
759
+
760
+ HUMAN = :human
761
+ AI = :ai
762
+
763
+ # @!method self.values
764
+ # @return [Array<Symbol>]
765
+ end
766
+ end
767
+ end
768
+
769
+ class CallAttempt < Revox::Internal::Type::BaseModel
770
+ # @!attribute id
771
+ # The ID of the call attempt.
772
+ #
773
+ # @return [String]
774
+ required :id, String
775
+
776
+ # @!attribute answered_at
777
+ # The time the call was answered.
778
+ #
779
+ # @return [Object]
780
+ required :answered_at, Revox::Internal::Type::Unknown
781
+
782
+ # @!attribute dial_error
783
+ # The SIP error that occurred.
784
+ #
785
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::DialError, nil]
786
+ required :dial_error,
787
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::DialError },
788
+ nil?: true
789
+
790
+ # @!attribute ended_at
791
+ # The time the call ended.
792
+ #
793
+ # @return [Object]
794
+ required :ended_at, Revox::Internal::Type::Unknown
795
+
796
+ # @!attribute phone_number
797
+ # The phone number that was called. Formatted in E.164 format. Example:
798
+ # +1234567890
799
+ #
800
+ # @return [String]
801
+ required :phone_number, String
802
+
803
+ # @!attribute recording_url
804
+ # The URL of the audio recording of the call.
805
+ #
806
+ # @return [String, nil]
807
+ required :recording_url, String, nil?: true
808
+
809
+ # @!attribute result
810
+ #
811
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Result, nil]
812
+ required :result,
813
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Result },
814
+ nil?: true
815
+
816
+ # @!attribute started_at
817
+ # The time the call started.
818
+ #
819
+ # @return [Object]
820
+ required :started_at, Revox::Internal::Type::Unknown
821
+
822
+ # @!attribute status
823
+ # The status of the call attempt.
824
+ #
825
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Status]
826
+ required :status, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Status }
827
+
828
+ # @!attribute end_reason
829
+ # Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
830
+ # 'voicemail', 'transfer', 'ivr_no_navigate'.
831
+ #
832
+ # @return [String, nil]
833
+ optional :end_reason, String, nil?: true
834
+
835
+ # @!attribute ended_by
836
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
837
+ # 'system' (e.g. max duration limit).
838
+ #
839
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::EndedBy, nil]
840
+ optional :ended_by,
841
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::EndedBy },
842
+ nil?: true
843
+
844
+ # @!attribute structured_output
845
+ # The data extracted from the call, using the structured output config from the
846
+ # parent call object.
847
+ #
848
+ # @return [Hash{Symbol=>Object}, nil]
849
+ optional :structured_output,
850
+ Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown],
851
+ nil?: true
852
+
853
+ # @!attribute transcript
854
+ # The transcript of the call.
855
+ #
856
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript>, nil]
857
+ optional :transcript,
858
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript] },
859
+ nil?: true
860
+
861
+ # @!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)
862
+ # Some parameter documentations has been truncated, see
863
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt} for more
864
+ # details.
865
+ #
866
+ # This represent a single call attempt. A call attempt is a single call made to
867
+ # the phone number.
868
+ #
869
+ # @param id [String] The ID of the call attempt.
870
+ #
871
+ # @param answered_at [Object] The time the call was answered.
872
+ #
873
+ # @param dial_error [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::DialError, nil] The SIP error that occurred.
874
+ #
875
+ # @param ended_at [Object] The time the call ended.
876
+ #
877
+ # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
878
+ #
879
+ # @param recording_url [String, nil] The URL of the audio recording of the call.
880
+ #
881
+ # @param result [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Result, nil]
882
+ #
883
+ # @param started_at [Object] The time the call started.
884
+ #
885
+ # @param status [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Status] The status of the call attempt.
886
+ #
887
+ # @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
888
+ #
889
+ # @param ended_by [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
890
+ #
891
+ # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
892
+ #
893
+ # @param transcript [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript>, nil] The transcript of the call.
894
+
895
+ # The SIP error that occurred.
896
+ #
897
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#dial_error
898
+ module DialError
899
+ extend Revox::Internal::Type::Enum
900
+
901
+ NUMBER_NON_ATTRIBUTED = :number_non_attributed
902
+ TOO_MANY_CALLS = :too_many_calls
903
+ BUSY = :busy
904
+ TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
905
+ NO_ANSWER = :no_answer
906
+ NO_INTERNATIONAL_PERMISSION = :no_international_permission
907
+ PRECONDITION_FAILED = :precondition_failed
908
+ NON_CLASSIFIED_ERROR = :non_classified_error
909
+
910
+ # @!method self.values
911
+ # @return [Array<Symbol>]
912
+ end
913
+
914
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#result
915
+ module Result
916
+ extend Revox::Internal::Type::Enum
917
+
918
+ IVR = :IVR
919
+ VOICEMAIL = :voicemail
920
+ HUMAN = :human
921
+ UNKNOWN = :unknown
922
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
923
+
924
+ # @!method self.values
925
+ # @return [Array<Symbol>]
926
+ end
927
+
928
+ # The status of the call attempt.
929
+ #
930
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#status
931
+ module Status
932
+ extend Revox::Internal::Type::Enum
933
+
934
+ QUEUED = :queued
935
+ RINGING = :ringing
936
+ ONGOING = :ongoing
937
+ COMPLETED = :completed
938
+ ERROR = :error
939
+
940
+ # @!method self.values
941
+ # @return [Array<Symbol>]
942
+ end
943
+
944
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
945
+ # 'system' (e.g. max duration limit).
946
+ #
947
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#ended_by
948
+ module EndedBy
949
+ extend Revox::Internal::Type::Enum
950
+
951
+ AGENT = :agent
952
+ USER = :user
953
+ SYSTEM = :system
954
+
955
+ # @!method self.values
956
+ # @return [Array<Symbol>]
957
+ end
958
+
959
+ class Transcript < Revox::Internal::Type::BaseModel
960
+ # @!attribute content
961
+ #
962
+ # @return [String]
963
+ required :content, String
964
+
965
+ # @!attribute role
966
+ #
967
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::Role]
968
+ required :role,
969
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::Role }
970
+
971
+ # @!attribute tool_arguments
972
+ #
973
+ # @return [Hash{Symbol=>Object}, String, nil]
974
+ optional :tool_arguments,
975
+ union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::ToolArguments }
976
+
977
+ # @!attribute tool_is_error
978
+ #
979
+ # @return [Boolean, nil]
980
+ optional :tool_is_error, Revox::Internal::Type::Boolean
981
+
982
+ # @!attribute tool_name
983
+ #
984
+ # @return [String, nil]
985
+ optional :tool_name, String
986
+
987
+ # @!method initialize(content:, role:, tool_arguments: nil, tool_is_error: nil, tool_name: nil)
988
+ # @param content [String]
989
+ # @param role [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::Role]
990
+ # @param tool_arguments [Hash{Symbol=>Object}, String]
991
+ # @param tool_is_error [Boolean]
992
+ # @param tool_name [String]
993
+
994
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript#role
995
+ module Role
996
+ extend Revox::Internal::Type::Enum
997
+
998
+ USER = :user
999
+ ASSISTANT = :assistant
1000
+ TOOL = :tool
1001
+
1002
+ # @!method self.values
1003
+ # @return [Array<Symbol>]
1004
+ end
1005
+
1006
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript#tool_arguments
1007
+ module ToolArguments
1008
+ extend Revox::Internal::Type::Union
1009
+
1010
+ variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::ToolArguments::UnionMember0Map }
1011
+
1012
+ variant String
1013
+
1014
+ # @!method self.variants
1015
+ # @return [Array(Hash{Symbol=>Object}, String)]
1016
+
1017
+ # @type [Revox::Internal::Type::Converter]
1018
+ UnionMember0Map = Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
1019
+ end
1020
+ end
1021
+ end
1022
+
1023
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#call_retry_config
1024
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
1025
+ # @!attribute calling_windows
1026
+ #
1027
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow>]
1028
+ required :calling_windows,
1029
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow] }
1030
+
1031
+ # @!attribute max_retry_attempts
1032
+ # Maximum number of call retry attempts. Default: 3.
1033
+ #
1034
+ # @return [Integer]
1035
+ required :max_retry_attempts, Integer
1036
+
1037
+ # @!attribute timezone
1038
+ # Optional IANA timezone identifier to override the automatic timezone detection
1039
+ # from phone number. If not provided, timezone is determined from the recipient's
1040
+ # phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
1041
+ #
1042
+ # @return [String, nil]
1043
+ optional :timezone, String, nil?: true
1044
+
1045
+ # @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
1046
+ # Some parameter documentations has been truncated, see
1047
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig} for more
1048
+ # details.
1049
+ #
1050
+ # Configuration for call retry behavior including time windows, delays, and max
1051
+ # iterations. If not provided, defaults will be used.
1052
+ #
1053
+ # @param calling_windows [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow>]
1054
+ #
1055
+ # @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
1056
+ #
1057
+ # @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
1058
+
1059
+ class CallingWindow < Revox::Internal::Type::BaseModel
1060
+ # @!attribute calling_window_end_time
1061
+ # End time for the calling window in the recipient's timezone (or
1062
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
1063
+ # Examples: '17:00', '6pm'. Default: '18:00'.
1064
+ #
1065
+ # @return [String]
1066
+ required :calling_window_end_time, String
1067
+
1068
+ # @!attribute calling_window_start_time
1069
+ # Start time for the calling window in the recipient's timezone (or
1070
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
1071
+ # Examples: '09:00', '10am'. Default: '10:00'.
1072
+ #
1073
+ # @return [String]
1074
+ required :calling_window_start_time, String
1075
+
1076
+ # @!attribute retry_delay_seconds
1077
+ # Delay between retry attempts in seconds. Default: 7200 (2 hours).
1078
+ #
1079
+ # @return [Integer]
1080
+ required :retry_delay_seconds, Integer
1081
+
1082
+ # @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
1083
+ # Some parameter documentations has been truncated, see
1084
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow}
1085
+ # for more details.
1086
+ #
1087
+ # @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
1088
+ #
1089
+ # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
1090
+ #
1091
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
1092
+ end
1093
+ end
1094
+
1095
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#campaign
1096
+ class Campaign < Revox::Internal::Type::BaseModel
1097
+ # @!attribute id
1098
+ #
1099
+ # @return [String]
1100
+ required :id, String
1101
+
1102
+ # @!attribute name
1103
+ #
1104
+ # @return [String]
1105
+ required :name, String
1106
+
1107
+ # @!method initialize(id:, name:)
1108
+ # @param id [String]
1109
+ # @param name [String]
1110
+ end
1111
+
1112
+ # Whether the call is inbound or outbound.
1113
+ #
1114
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#direction
1115
+ module Direction
1116
+ extend Revox::Internal::Type::Enum
1117
+
1118
+ INBOUND = :inbound
1119
+ OUTBOUND = :outbound
1120
+
1121
+ # @!method self.values
1122
+ # @return [Array<Symbol>]
1123
+ end
1124
+
1125
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#last_call_attempt
1126
+ class LastCallAttempt < Revox::Internal::Type::BaseModel
1127
+ # @!attribute id
1128
+ # The ID of the call attempt.
1129
+ #
1130
+ # @return [String]
1131
+ required :id, String
1132
+
1133
+ # @!attribute answered_at
1134
+ # The time the call was answered.
1135
+ #
1136
+ # @return [Object]
1137
+ required :answered_at, Revox::Internal::Type::Unknown
1138
+
1139
+ # @!attribute dial_error
1140
+ # The SIP error that occurred.
1141
+ #
1142
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::DialError, nil]
1143
+ required :dial_error,
1144
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::DialError },
1145
+ nil?: true
1146
+
1147
+ # @!attribute ended_at
1148
+ # The time the call ended.
1149
+ #
1150
+ # @return [Object]
1151
+ required :ended_at, Revox::Internal::Type::Unknown
1152
+
1153
+ # @!attribute phone_number
1154
+ # The phone number that was called. Formatted in E.164 format. Example:
1155
+ # +1234567890
1156
+ #
1157
+ # @return [String]
1158
+ required :phone_number, String
1159
+
1160
+ # @!attribute recording_url
1161
+ # The URL of the audio recording of the call.
1162
+ #
1163
+ # @return [String, nil]
1164
+ required :recording_url, String, nil?: true
1165
+
1166
+ # @!attribute result
1167
+ #
1168
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Result, nil]
1169
+ required :result,
1170
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Result },
1171
+ nil?: true
1172
+
1173
+ # @!attribute started_at
1174
+ # The time the call started.
1175
+ #
1176
+ # @return [Object]
1177
+ required :started_at, Revox::Internal::Type::Unknown
1178
+
1179
+ # @!attribute status
1180
+ # The status of the call attempt.
1181
+ #
1182
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Status]
1183
+ required :status, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Status }
1184
+
1185
+ # @!attribute end_reason
1186
+ # Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
1187
+ # 'voicemail', 'transfer', 'ivr_no_navigate'.
1188
+ #
1189
+ # @return [String, nil]
1190
+ optional :end_reason, String, nil?: true
1191
+
1192
+ # @!attribute ended_by
1193
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
1194
+ # 'system' (e.g. max duration limit).
1195
+ #
1196
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::EndedBy, nil]
1197
+ optional :ended_by,
1198
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::EndedBy },
1199
+ nil?: true
1200
+
1201
+ # @!attribute structured_output
1202
+ # The data extracted from the call, using the structured output config from the
1203
+ # parent call object.
1204
+ #
1205
+ # @return [Hash{Symbol=>Object}, nil]
1206
+ optional :structured_output,
1207
+ Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown],
1208
+ nil?: true
1209
+
1210
+ # @!attribute transcript
1211
+ # The transcript of the call.
1212
+ #
1213
+ # @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript>, nil]
1214
+ optional :transcript,
1215
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript] },
1216
+ nil?: true
1217
+
1218
+ # @!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)
1219
+ # Some parameter documentations has been truncated, see
1220
+ # {Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt} for more
1221
+ # details.
1222
+ #
1223
+ # This represent a single call attempt. A call attempt is a single call made to
1224
+ # the phone number.
1225
+ #
1226
+ # @param id [String] The ID of the call attempt.
1227
+ #
1228
+ # @param answered_at [Object] The time the call was answered.
1229
+ #
1230
+ # @param dial_error [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::DialError, nil] The SIP error that occurred.
1231
+ #
1232
+ # @param ended_at [Object] The time the call ended.
1233
+ #
1234
+ # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
1235
+ #
1236
+ # @param recording_url [String, nil] The URL of the audio recording of the call.
1237
+ #
1238
+ # @param result [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Result, nil]
1239
+ #
1240
+ # @param started_at [Object] The time the call started.
1241
+ #
1242
+ # @param status [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Status] The status of the call attempt.
1243
+ #
1244
+ # @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
1245
+ #
1246
+ # @param ended_by [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
1247
+ #
1248
+ # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
1249
+ #
1250
+ # @param transcript [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript>, nil] The transcript of the call.
1251
+
1252
+ # The SIP error that occurred.
1253
+ #
1254
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#dial_error
1255
+ module DialError
1256
+ extend Revox::Internal::Type::Enum
1257
+
1258
+ NUMBER_NON_ATTRIBUTED = :number_non_attributed
1259
+ TOO_MANY_CALLS = :too_many_calls
1260
+ BUSY = :busy
1261
+ TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
1262
+ NO_ANSWER = :no_answer
1263
+ NO_INTERNATIONAL_PERMISSION = :no_international_permission
1264
+ PRECONDITION_FAILED = :precondition_failed
1265
+ NON_CLASSIFIED_ERROR = :non_classified_error
1266
+
1267
+ # @!method self.values
1268
+ # @return [Array<Symbol>]
1269
+ end
1270
+
1271
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#result
1272
+ module Result
1273
+ extend Revox::Internal::Type::Enum
1274
+
1275
+ IVR = :IVR
1276
+ VOICEMAIL = :voicemail
1277
+ HUMAN = :human
1278
+ UNKNOWN = :unknown
1279
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
1280
+
1281
+ # @!method self.values
1282
+ # @return [Array<Symbol>]
1283
+ end
1284
+
1285
+ # The status of the call attempt.
1286
+ #
1287
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#status
1288
+ module Status
1289
+ extend Revox::Internal::Type::Enum
1290
+
1291
+ QUEUED = :queued
1292
+ RINGING = :ringing
1293
+ ONGOING = :ongoing
1294
+ COMPLETED = :completed
1295
+ ERROR = :error
1296
+
1297
+ # @!method self.values
1298
+ # @return [Array<Symbol>]
1299
+ end
1300
+
1301
+ # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
1302
+ # 'system' (e.g. max duration limit).
1303
+ #
1304
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#ended_by
1305
+ module EndedBy
1306
+ extend Revox::Internal::Type::Enum
1307
+
1308
+ AGENT = :agent
1309
+ USER = :user
1310
+ SYSTEM = :system
1311
+
1312
+ # @!method self.values
1313
+ # @return [Array<Symbol>]
1314
+ end
1315
+
1316
+ class Transcript < Revox::Internal::Type::BaseModel
1317
+ # @!attribute content
1318
+ #
1319
+ # @return [String]
1320
+ required :content, String
1321
+
1322
+ # @!attribute role
1323
+ #
1324
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::Role]
1325
+ required :role,
1326
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::Role }
1327
+
1328
+ # @!attribute tool_arguments
1329
+ #
1330
+ # @return [Hash{Symbol=>Object}, String, nil]
1331
+ optional :tool_arguments,
1332
+ union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::ToolArguments }
1333
+
1334
+ # @!attribute tool_is_error
1335
+ #
1336
+ # @return [Boolean, nil]
1337
+ optional :tool_is_error, Revox::Internal::Type::Boolean
1338
+
1339
+ # @!attribute tool_name
1340
+ #
1341
+ # @return [String, nil]
1342
+ optional :tool_name, String
1343
+
1344
+ # @!method initialize(content:, role:, tool_arguments: nil, tool_is_error: nil, tool_name: nil)
1345
+ # @param content [String]
1346
+ # @param role [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::Role]
1347
+ # @param tool_arguments [Hash{Symbol=>Object}, String]
1348
+ # @param tool_is_error [Boolean]
1349
+ # @param tool_name [String]
1350
+
1351
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript#role
1352
+ module Role
1353
+ extend Revox::Internal::Type::Enum
1354
+
1355
+ USER = :user
1356
+ ASSISTANT = :assistant
1357
+ TOOL = :tool
1358
+
1359
+ # @!method self.values
1360
+ # @return [Array<Symbol>]
1361
+ end
1362
+
1363
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript#tool_arguments
1364
+ module ToolArguments
1365
+ extend Revox::Internal::Type::Union
1366
+
1367
+ variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::ToolArguments::UnionMember0Map }
1368
+
1369
+ variant String
1370
+
1371
+ # @!method self.variants
1372
+ # @return [Array(Hash{Symbol=>Object}, String)]
1373
+
1374
+ # @type [Revox::Internal::Type::Converter]
1375
+ UnionMember0Map = Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
1376
+ end
1377
+ end
1378
+ end
1379
+
1380
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#llm_model
1381
+ module LlmModel
1382
+ extend Revox::Internal::Type::Union
1383
+
1384
+ variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0 }
1385
+
1386
+ variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1 }
1387
+
1388
+ class UnionMember0 < Revox::Internal::Type::BaseModel
1389
+ # @!attribute name
1390
+ #
1391
+ # @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0::Name]
1392
+ required :name,
1393
+ enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0::Name }
1394
+
1395
+ # @!attribute type
1396
+ #
1397
+ # @return [Symbol, :"dedicated-instance"]
1398
+ required :type, const: :"dedicated-instance"
1399
+
1400
+ # @!method initialize(name:, type: :"dedicated-instance")
1401
+ # @param name [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0::Name]
1402
+ # @param type [Symbol, :"dedicated-instance"]
1403
+
1404
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0#name
1405
+ module Name
1406
+ extend Revox::Internal::Type::Enum
1407
+
1408
+ GPT_4_1 = :"gpt-4.1"
1409
+ MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
1410
+
1411
+ # @!method self.values
1412
+ # @return [Array<Symbol>]
1413
+ end
1414
+ end
1415
+
1416
+ class UnionMember1 < Revox::Internal::Type::BaseModel
1417
+ # @!attribute openrouter_model_id
1418
+ # The model ID to use from OpenRouter. eg: openai/gpt-4.1
1419
+ #
1420
+ # @return [String]
1421
+ required :openrouter_model_id, String
1422
+
1423
+ # @!attribute openrouter_provider
1424
+ # The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
1425
+ #
1426
+ # @return [String]
1427
+ required :openrouter_provider, String
1428
+
1429
+ # @!attribute type
1430
+ # Use a model from OpenRouter.
1431
+ #
1432
+ # @return [Symbol, :openrouter]
1433
+ required :type, const: :openrouter
1434
+
1435
+ # @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
1436
+ # @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
1437
+ #
1438
+ # @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
1439
+ #
1440
+ # @param type [Symbol, :openrouter] Use a model from OpenRouter.
1441
+ end
1442
+
1443
+ # @!method self.variants
1444
+ # @return [Array(Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1)]
1445
+ end
1446
+
1447
+ # The status of the call.
1448
+ #
1449
+ # @see Revox::Models::CampaignGetRowsResponse::Row::Call#status
1450
+ module Status
1451
+ extend Revox::Internal::Type::Enum
1452
+
1453
+ INITIALIZING = :initializing
1454
+ QUEUED_FOR_CALLING = :queued_for_calling
1455
+ CALLING = :calling
1456
+ SCHEDULED = :scheduled
1457
+ COMPLETED = :completed
1458
+ CANCELLED = :cancelled
1459
+ ERRORED = :errored
1460
+
1461
+ # @!method self.values
1462
+ # @return [Array<Symbol>]
1463
+ end
1464
+ end
1465
+ end
1466
+ end
1467
+ end
1468
+ end