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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d1f941b71b36c901ec274276697c8dcf693173bd4d145274f796e21051e72d7
4
- data.tar.gz: ff2b649eca49ad723ef282ad3e66341d6215593e56d519425b3fc95f9bc85aaa
3
+ metadata.gz: 665d2197b2774b34796d5e9acd358118f3148e7711386209395d3cbf7bc6b36c
4
+ data.tar.gz: 9053cc3a625b2164be340a4cf0b305ea4fa3cfc701ff7234780f2d4bbd58b2e0
5
5
  SHA512:
6
- metadata.gz: b986e4cc31e63b39c847069c46e13621161950be1f1c797ae17c90faf925059fdd2ccea38f659373bc2286555b770875a116b0e73ed6e2d1df5af0f759895965
7
- data.tar.gz: ee8f4d005dfd233c530a1463b1e5c7be1bda0e9c33622b620528b4b761171aaa8ec8c1217baae329a96a410cebfd75be88e53c4c52f0786444837f19ca742aeb
6
+ metadata.gz: f89828b3e79ed23b2dca0a18a53f73a23212202dba7c96e5c30e0b171a62badc763aa6a293798c3405c0c39aec25133bd1d5cd8a802c8c8e613554ecd3b412b5
7
+ data.tar.gz: 572fed5f3e6e978f6839c0671a02972d60d151ce9c84731b4398ffb08334240c060eb6014e9e882e789e6e65ed61a75bed763e85b8c91df56657b2546223ab09
data/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0 (2026-03-11)
4
+
5
+ Full Changelog: [v0.0.2...v0.1.0](https://github.com/revoxai/revox-ruby/compare/v0.0.2...v0.1.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([26b8dce](https://github.com/revoxai/revox-ruby/commit/26b8dce142fe60e4bb1973fa05070ac3448dbfa1))
10
+ * **api:** api update ([d14fa2f](https://github.com/revoxai/revox-ruby/commit/d14fa2f89269badb9d46dd3afa4a820bcbead622))
11
+ * **api:** manual updates ([dc9e13f](https://github.com/revoxai/revox-ruby/commit/dc9e13fb6e419133fe735d48d88e7e8474e24e2c))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * properly mock time in ruby ci tests ([ad9d571](https://github.com/revoxai/revox-ruby/commit/ad9d57106369993a3f96437ce0c49620c5ebe9e9))
17
+
18
+
19
+ ### Chores
20
+
21
+ * **ci:** add build step ([77847b4](https://github.com/revoxai/revox-ruby/commit/77847b4b7ee8f85a064caf68a1921cc5a5b073fa))
22
+ * **ci:** skip uploading artifacts on stainless-internal branches ([388307a](https://github.com/revoxai/revox-ruby/commit/388307a619f30dc9896e7bdfbd5dedb2c52cdf2c))
23
+ * configure new SDK language ([9f54c02](https://github.com/revoxai/revox-ruby/commit/9f54c0276bd7412aed447e23d2ccf8e58e3d5774))
24
+ * **internal:** codegen related update ([cfeb246](https://github.com/revoxai/revox-ruby/commit/cfeb24661d45158cdd9d84d3963d659634c085fd))
25
+ * **internal:** codegen related update ([2eb1fe1](https://github.com/revoxai/revox-ruby/commit/2eb1fe1363a17c960e90a734be8dd6ff772634f1))
26
+ * update SDK settings ([c60774d](https://github.com/revoxai/revox-ruby/commit/c60774d4c01b5590b11eb9f59d07c8621ac2d17c))
27
+
3
28
  ## 0.0.2 (2026-02-20)
4
29
 
5
30
  Full Changelog: [v0.0.1...v0.0.2](https://github.com/revoxai/revox-ruby/compare/v0.0.1...v0.0.2)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "revox", "~> 0.0.2"
18
+ gem "revox", "~> 0.1.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -30,9 +30,13 @@ revox = Revox::Client.new(
30
30
  api_key: ENV["REVOX_API_KEY"] # This is the default and can be omitted
31
31
  )
32
32
 
33
- assistant = revox.assistants.create(name: "REPLACE_ME", prompt: "REPLACE_ME")
33
+ campaign = revox.campaigns.create(
34
+ assistant_id: "REPLACE_ME",
35
+ contacts: [{prompt_variables: {foo: "string"}, to_phone_number: "to_phone_number"}],
36
+ name: "REPLACE_ME"
37
+ )
34
38
 
35
- puts(assistant.assistant)
39
+ puts(campaign.campaign)
36
40
  ```
37
41
 
38
42
  ### Handling errors
@@ -41,7 +45,11 @@ When the library is unable to connect to the API, or if the API returns a non-su
41
45
 
42
46
  ```ruby
43
47
  begin
44
- assistant = revox.assistants.create(name: "REPLACE_ME", prompt: "REPLACE_ME")
48
+ campaign = revox.campaigns.create(
49
+ assistant_id: "REPLACE_ME",
50
+ contacts: [{prompt_variables: {foo: "string"}, to_phone_number: "to_phone_number"}],
51
+ name: "REPLACE_ME"
52
+ )
45
53
  rescue Revox::Errors::APIConnectionError => e
46
54
  puts("The server could not be reached")
47
55
  puts(e.cause) # an underlying Exception, likely raised within `net/http`
@@ -84,7 +92,12 @@ revox = Revox::Client.new(
84
92
  )
85
93
 
86
94
  # Or, configure per-request:
87
- revox.assistants.create(name: "REPLACE_ME", prompt: "REPLACE_ME", request_options: {max_retries: 5})
95
+ revox.campaigns.create(
96
+ assistant_id: "REPLACE_ME",
97
+ contacts: [{prompt_variables: {foo: "string"}, to_phone_number: "to_phone_number"}],
98
+ name: "REPLACE_ME",
99
+ request_options: {max_retries: 5}
100
+ )
88
101
  ```
89
102
 
90
103
  ### Timeouts
@@ -98,7 +111,12 @@ revox = Revox::Client.new(
98
111
  )
99
112
 
100
113
  # Or, configure per-request:
101
- revox.assistants.create(name: "REPLACE_ME", prompt: "REPLACE_ME", request_options: {timeout: 5})
114
+ revox.campaigns.create(
115
+ assistant_id: "REPLACE_ME",
116
+ contacts: [{prompt_variables: {foo: "string"}, to_phone_number: "to_phone_number"}],
117
+ name: "REPLACE_ME",
118
+ request_options: {timeout: 5}
119
+ )
102
120
  ```
103
121
 
104
122
  On timeout, `Revox::Errors::APITimeoutError` is raised.
@@ -128,10 +146,11 @@ You can send undocumented parameters to any endpoint, and read undocumented resp
128
146
  Note: the `extra_` parameters of the same name overrides the documented parameters.
129
147
 
130
148
  ```ruby
131
- assistant =
132
- revox.assistants.create(
149
+ campaign =
150
+ revox.campaigns.create(
151
+ assistant_id: "REPLACE_ME",
152
+ contacts: [{prompt_variables: {foo: "string"}, to_phone_number: "to_phone_number"}],
133
153
  name: "REPLACE_ME",
134
- prompt: "REPLACE_ME",
135
154
  request_options: {
136
155
  extra_query: {my_query_parameter: value},
137
156
  extra_body: {my_body_parameter: value},
@@ -139,7 +158,7 @@ assistant =
139
158
  }
140
159
  )
141
160
 
142
- puts(assistant[:my_undocumented_property])
161
+ puts(campaign[:my_undocumented_property])
143
162
  ```
144
163
 
145
164
  #### Undocumented request params
@@ -177,18 +196,40 @@ This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitio
177
196
  You can provide typesafe request parameters like so:
178
197
 
179
198
  ```ruby
180
- revox.assistants.create(name: "REPLACE_ME", prompt: "REPLACE_ME")
199
+ revox.campaigns.create(
200
+ assistant_id: "REPLACE_ME",
201
+ contacts: [
202
+ Revox::CampaignCreateParams::Contact.new(
203
+ prompt_variables: {foo: "string"},
204
+ to_phone_number: "to_phone_number"
205
+ )
206
+ ],
207
+ name: "REPLACE_ME"
208
+ )
181
209
  ```
182
210
 
183
211
  Or, equivalently:
184
212
 
185
213
  ```ruby
186
214
  # Hashes work, but are not typesafe:
187
- revox.assistants.create(name: "REPLACE_ME", prompt: "REPLACE_ME")
215
+ revox.campaigns.create(
216
+ assistant_id: "REPLACE_ME",
217
+ contacts: [{prompt_variables: {foo: "string"}, to_phone_number: "to_phone_number"}],
218
+ name: "REPLACE_ME"
219
+ )
188
220
 
189
221
  # You can also splat a full Params class:
190
- params = Revox::AssistantCreateParams.new(name: "REPLACE_ME", prompt: "REPLACE_ME")
191
- revox.assistants.create(**params)
222
+ params = Revox::CampaignCreateParams.new(
223
+ assistant_id: "REPLACE_ME",
224
+ contacts: [
225
+ Revox::CampaignCreateParams::Contact.new(
226
+ prompt_variables: {foo: "string"},
227
+ to_phone_number: "to_phone_number"
228
+ )
229
+ ],
230
+ name: "REPLACE_ME"
231
+ )
232
+ revox.campaigns.create(**params)
192
233
  ```
193
234
 
194
235
  ### Enums
@@ -196,25 +237,25 @@ revox.assistants.create(**params)
196
237
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
197
238
 
198
239
  ```ruby
199
- # :generated
200
- puts(Revox::AssistantCreateParams::FirstSentenceMode::GENERATED)
240
+ # :IVR
241
+ puts(Revox::CampaignGetRowsParams::Result::IVR)
201
242
 
202
- # Revealed type: `T.all(Revox::AssistantCreateParams::FirstSentenceMode, Symbol)`
203
- T.reveal_type(Revox::AssistantCreateParams::FirstSentenceMode::GENERATED)
243
+ # Revealed type: `T.all(Revox::CampaignGetRowsParams::Result, Symbol)`
244
+ T.reveal_type(Revox::CampaignGetRowsParams::Result::IVR)
204
245
  ```
205
246
 
206
247
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
207
248
 
208
249
  ```ruby
209
250
  # Using the enum constants preserves the tagged type information:
210
- revox.assistants.create(
211
- first_sentence_mode: Revox::AssistantCreateParams::FirstSentenceMode::GENERATED,
251
+ revox.campaigns.get_rows(
252
+ result: Revox::CampaignGetRowsParams::Result::IVR,
212
253
  # …
213
254
  )
214
255
 
215
256
  # Literal values are also permissible:
216
- revox.assistants.create(
217
- first_sentence_mode: :generated,
257
+ revox.campaigns.get_rows(
258
+ result: :IVR,
218
259
  # …
219
260
  )
220
261
  ```
data/lib/revox/client.rb CHANGED
@@ -18,6 +18,9 @@ module Revox
18
18
  # @return [String]
19
19
  attr_reader :api_key
20
20
 
21
+ # @return [Revox::Resources::Campaigns]
22
+ attr_reader :campaigns
23
+
21
24
  # @return [Revox::Resources::Assistants]
22
25
  attr_reader :assistants
23
26
 
@@ -77,6 +80,7 @@ module Revox
77
80
  max_retry_delay: max_retry_delay
78
81
  )
79
82
 
83
+ @campaigns = Revox::Resources::Campaigns.new(client: self)
80
84
  @assistants = Revox::Resources::Assistants.new(client: self)
81
85
  @call = Revox::Resources::Call.new(client: self)
82
86
  @voices = Revox::Resources::Voices.new(client: self)
@@ -438,9 +438,9 @@ module Revox
438
438
  # @return [Hash{Symbol=>Object}]
439
439
  #
440
440
  # @example
441
- # # `assistant_create_response` is a `Revox::Models::AssistantCreateResponse`
442
- # assistant_create_response => {
443
- # assistant: assistant
441
+ # # `campaign_create_response` is a `Revox::Models::CampaignCreateResponse`
442
+ # campaign_create_response => {
443
+ # campaign: campaign
444
444
  # }
445
445
  def deconstruct_keys(keys)
446
446
  (keys || self.class.known_fields.keys)
@@ -490,6 +490,37 @@ module Revox
490
490
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
491
 
492
492
  class << self
493
+ # @api private
494
+ #
495
+ # @param query [Hash{Symbol=>Object}]
496
+ #
497
+ # @return [Hash{Symbol=>Object}]
498
+ def encode_query_params(query)
499
+ out = {}
500
+ query.each { write_query_param_element!(out, _1, _2) }
501
+ out
502
+ end
503
+
504
+ # @api private
505
+ #
506
+ # @param collection [Hash{Symbol=>Object}]
507
+ # @param key [String]
508
+ # @param element [Object]
509
+ #
510
+ # @return [nil]
511
+ private def write_query_param_element!(collection, key, element)
512
+ case element
513
+ in Hash
514
+ element.each do |name, value|
515
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
516
+ end
517
+ in Array
518
+ collection[key] = element.map(&:to_s).join(",")
519
+ else
520
+ collection[key] = element.to_s
521
+ end
522
+ end
523
+
493
524
  # @api private
494
525
  #
495
526
  # @param y [Enumerator::Yielder]
@@ -28,7 +28,7 @@ module Revox
28
28
  # @!attribute calendly
29
29
  #
30
30
  # @return [Revox::Models::AssistantCreateParams::Calendly, nil]
31
- optional :calendly, -> { Revox::AssistantCreateParams::Calendly }, nil?: true
31
+ optional :calendly, -> { Revox::AssistantCreateParams::Calendly }
32
32
 
33
33
  # @!attribute call_retry_config
34
34
  # Configuration for call retry behavior including time windows, delays, and max
@@ -135,7 +135,7 @@ module Revox
135
135
  #
136
136
  # @param background_sound [Symbol, Revox::Models::AssistantCreateParams::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
137
137
  #
138
- # @param calendly [Revox::Models::AssistantCreateParams::Calendly, nil]
138
+ # @param calendly [Revox::Models::AssistantCreateParams::Calendly]
139
139
  #
140
140
  # @param call_retry_config [Revox::Models::AssistantCreateParams::CallRetryConfig] Configuration for call retry behavior including time windows, delays, and max it
141
141
  #
@@ -7,7 +7,13 @@ module Revox
7
7
  extend Revox::Internal::Type::RequestParameters::Converter
8
8
  include Revox::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,13 @@ module Revox
7
7
  extend Revox::Internal::Type::RequestParameters::Converter
8
8
  include Revox::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,6 +7,11 @@ module Revox
7
7
  extend Revox::Internal::Type::RequestParameters::Converter
8
8
  include Revox::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute background_sound
11
16
  # The background sound to play during the call. Useful to give the impression that
12
17
  # your AI agent is in an office, in the street, or anywhere else you want.
@@ -17,7 +22,7 @@ module Revox
17
22
  # @!attribute calendly
18
23
  #
19
24
  # @return [Revox::Models::AssistantUpdateParams::Calendly, nil]
20
- optional :calendly, -> { Revox::AssistantUpdateParams::Calendly }, nil?: true
25
+ optional :calendly, -> { Revox::AssistantUpdateParams::Calendly }
21
26
 
22
27
  # @!attribute call_retry_config
23
28
  # Configuration for call retry behavior including time windows, delays, and max
@@ -125,13 +130,15 @@ module Revox
125
130
  # @return [String, nil]
126
131
  optional :webhook_url, String
127
132
 
128
- # @!method initialize(background_sound: nil, calendly: nil, call_retry_config: nil, end_of_call_sentence: nil, faq_items: nil, first_sentence: nil, first_sentence_delay_ms: nil, first_sentence_mode: nil, ivr_navigation_enabled: nil, llm_model: nil, max_call_duration_secs: nil, name: nil, prompt: nil, structured_output_config: nil, transfer_phone_number: nil, voice: nil, voicemail_message: nil, webhook_url: nil, request_options: {})
133
+ # @!method initialize(id:, background_sound: nil, calendly: nil, call_retry_config: nil, end_of_call_sentence: nil, faq_items: nil, first_sentence: nil, first_sentence_delay_ms: nil, first_sentence_mode: nil, ivr_navigation_enabled: nil, llm_model: nil, max_call_duration_secs: nil, name: nil, prompt: nil, structured_output_config: nil, transfer_phone_number: nil, voice: nil, voicemail_message: nil, webhook_url: nil, request_options: {})
129
134
  # Some parameter documentations has been truncated, see
130
135
  # {Revox::Models::AssistantUpdateParams} for more details.
131
136
  #
137
+ # @param id [String]
138
+ #
132
139
  # @param background_sound [Symbol, Revox::Models::AssistantUpdateParams::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
133
140
  #
134
- # @param calendly [Revox::Models::AssistantUpdateParams::Calendly, nil]
141
+ # @param calendly [Revox::Models::AssistantUpdateParams::Calendly]
135
142
  #
136
143
  # @param call_retry_config [Revox::Models::AssistantUpdateParams::CallRetryConfig] Configuration for call retry behavior including time windows, delays, and max it
137
144
  #
@@ -111,7 +111,7 @@ module Revox
111
111
  # @!attribute calendly
112
112
  #
113
113
  # @return [Revox::Models::CallCreateParams::Assistant::Calendly, nil]
114
- optional :calendly, -> { Revox::CallCreateParams::Assistant::Calendly }, nil?: true
114
+ optional :calendly, -> { Revox::CallCreateParams::Assistant::Calendly }
115
115
 
116
116
  # @!attribute call_retry_config
117
117
  # Configuration for call retry behavior including time windows, delays, and max
@@ -219,7 +219,7 @@ module Revox
219
219
  #
220
220
  # @param background_sound [Symbol, Revox::Models::CallCreateParams::Assistant::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
221
221
  #
222
- # @param calendly [Revox::Models::CallCreateParams::Assistant::Calendly, nil]
222
+ # @param calendly [Revox::Models::CallCreateParams::Assistant::Calendly]
223
223
  #
224
224
  # @param call_retry_config [Revox::Models::CallCreateParams::Assistant::CallRetryConfig] Configuration for call retry behavior including time windows, delays, and max it
225
225
  #