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
@@ -19,18 +19,10 @@ module Revox
19
19
  sig { returns(String) }
20
20
  attr_accessor :voice_id
21
21
 
22
- # The text to generate a preview for.
23
- sig { returns(T.nilable(String)) }
24
- attr_reader :text
25
-
26
- sig { params(text: String).void }
27
- attr_writer :text
28
-
29
22
  sig do
30
23
  params(
31
24
  provider: Revox::VoicePreviewParams::Provider::OrSymbol,
32
25
  voice_id: String,
33
- text: String,
34
26
  request_options: Revox::RequestOptions::OrHash
35
27
  ).returns(T.attached_class)
36
28
  end
@@ -39,8 +31,6 @@ module Revox
39
31
  provider:,
40
32
  # The voice ID to generate a preview for.
41
33
  voice_id:,
42
- # The text to generate a preview for.
43
- text: nil,
44
34
  request_options: {}
45
35
  )
46
36
  end
@@ -50,7 +40,6 @@ module Revox
50
40
  {
51
41
  provider: Revox::VoicePreviewParams::Provider::OrSymbol,
52
42
  voice_id: String,
53
- text: String,
54
43
  request_options: Revox::RequestOptions
55
44
  }
56
45
  )
@@ -11,21 +11,26 @@ module Revox
11
11
  T.any(Revox::VoiceRetrieveParams, Revox::Internal::AnyHash)
12
12
  end
13
13
 
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
14
17
  sig { returns(Revox::VoiceRetrieveParams::Provider::OrSymbol) }
15
18
  attr_accessor :provider
16
19
 
17
20
  sig do
18
21
  params(
22
+ id: String,
19
23
  provider: Revox::VoiceRetrieveParams::Provider::OrSymbol,
20
24
  request_options: Revox::RequestOptions::OrHash
21
25
  ).returns(T.attached_class)
22
26
  end
23
- def self.new(provider:, request_options: {})
27
+ def self.new(id:, provider:, request_options: {})
24
28
  end
25
29
 
26
30
  sig do
27
31
  override.returns(
28
32
  {
33
+ id: String,
29
34
  provider: Revox::VoiceRetrieveParams::Provider::OrSymbol,
30
35
  request_options: Revox::RequestOptions
31
36
  }
data/rbi/revox/models.rbi CHANGED
@@ -17,6 +17,20 @@ module Revox
17
17
 
18
18
  CallRetrieveParams = Revox::Models::CallRetrieveParams
19
19
 
20
+ CampaignCancelParams = Revox::Models::CampaignCancelParams
21
+
22
+ CampaignCreateParams = Revox::Models::CampaignCreateParams
23
+
24
+ CampaignDeleteParams = Revox::Models::CampaignDeleteParams
25
+
26
+ CampaignExportRowsParams = Revox::Models::CampaignExportRowsParams
27
+
28
+ CampaignGetRowsParams = Revox::Models::CampaignGetRowsParams
29
+
30
+ CampaignListParams = Revox::Models::CampaignListParams
31
+
32
+ CampaignRetrieveParams = Revox::Models::CampaignRetrieveParams
33
+
20
34
  Users = Revox::Models::Users
21
35
 
22
36
  VoiceListParams = Revox::Models::VoiceListParams
@@ -3,13 +3,18 @@
3
3
  module Revox
4
4
  module Resources
5
5
  class Assistants
6
+ # Create a new AI assistant with a custom prompt, voice, and behavior
7
+ # configuration. Assistants define how the AI agent behaves during calls,
8
+ # including the system prompt given to the LLM, the first sentence spoken, the
9
+ # voice provider and voice ID (Cartesia or ElevenLabs), and end-of-call behavior.
10
+ # Once created, reference the assistant by its ID when placing calls.
6
11
  sig do
7
12
  params(
8
13
  name: String,
9
14
  prompt: String,
10
15
  background_sound:
11
16
  T.nilable(Revox::AssistantCreateParams::BackgroundSound::OrSymbol),
12
- calendly: T.nilable(Revox::AssistantCreateParams::Calendly::OrHash),
17
+ calendly: Revox::AssistantCreateParams::Calendly::OrHash,
13
18
  call_retry_config:
14
19
  Revox::AssistantCreateParams::CallRetryConfig::OrHash,
15
20
  end_of_call_sentence: String,
@@ -86,6 +91,10 @@ module Revox
86
91
  )
87
92
  end
88
93
 
94
+ # Retrieve a single assistant by its unique ID. Returns the full assistant
95
+ # configuration including prompt, voice settings, and first sentence mode. Useful
96
+ # for inspecting an assistant's current setup before updating it or placing a
97
+ # call.
89
98
  sig do
90
99
  params(
91
100
  id: String,
@@ -95,12 +104,16 @@ module Revox
95
104
  def retrieve(id, request_options: {})
96
105
  end
97
106
 
107
+ # Update one or more fields on an existing assistant. Supports partial updates —
108
+ # only the fields you include in the request body will be changed. You can update
109
+ # the prompt, voice, first sentence, name, or any other assistant property without
110
+ # affecting the rest of the configuration.
98
111
  sig do
99
112
  params(
100
113
  id: String,
101
114
  background_sound:
102
115
  T.nilable(Revox::AssistantUpdateParams::BackgroundSound::OrSymbol),
103
- calendly: T.nilable(Revox::AssistantUpdateParams::Calendly::OrHash),
116
+ calendly: Revox::AssistantUpdateParams::Calendly::OrHash,
104
117
  call_retry_config:
105
118
  Revox::AssistantUpdateParams::CallRetryConfig::OrHash,
106
119
  end_of_call_sentence: String,
@@ -180,6 +193,9 @@ module Revox
180
193
  )
181
194
  end
182
195
 
196
+ # Retrieve all assistants associated with your account. Each assistant in the
197
+ # response includes its full configuration: prompt, voice settings, and first
198
+ # sentence. Use this endpoint to list available assistants before placing calls.
183
199
  sig do
184
200
  params(request_options: Revox::RequestOptions::OrHash).returns(
185
201
  Revox::Models::AssistantListResponse
@@ -188,6 +204,9 @@ module Revox
188
204
  def list(request_options: {})
189
205
  end
190
206
 
207
+ # Permanently delete an assistant by its ID. Any future calls referencing this
208
+ # assistant ID will fail. Existing call records that used this assistant are not
209
+ # affected.
191
210
  sig do
192
211
  params(
193
212
  id: String,
@@ -3,8 +3,12 @@
3
3
  module Revox
4
4
  module Resources
5
5
  class Call
6
- # Place a new call order. A call order can be resolved over multiple call attempts
7
- # spanning up to a few days.
6
+ # Place a new outbound call order. Provide either an existing assistant ID or a
7
+ # custom assistant configuration. The call can be scheduled for a specific time or
8
+ # started immediately. A single call order may be resolved over multiple call
9
+ # attempts spanning up to a few days, with automatic retries when voicemail is
10
+ # detected. You can also set concurrency limits and pass prompt variables for
11
+ # dynamic personalization.
8
12
  sig do
9
13
  params(
10
14
  phone_number: String,
@@ -47,7 +51,10 @@ module Revox
47
51
  )
48
52
  end
49
53
 
50
- # Get a call order by ID.
54
+ # Retrieve the full details of a call order by its unique ID. The response
55
+ # includes the call status, call attempts, transcript, recording URL, timestamps,
56
+ # and metadata. Use this endpoint to poll for call completion or inspect results
57
+ # after a call has finished.
51
58
  sig do
52
59
  params(
53
60
  id: String,
@@ -61,18 +68,23 @@ module Revox
61
68
  )
62
69
  end
63
70
 
64
- # Get the list of call orders.
71
+ # Retrieve a paginated list of call attempts. Each entry includes the call status,
72
+ # phone number, assistant used, transcript, and timestamps. Use the page and
73
+ # page_size query parameters to navigate through results.
65
74
  sig do
66
75
  params(
67
- page: Float,
68
- page_size: Float,
76
+ page: Integer,
77
+ page_size: Integer,
78
+ statuses: T::Array[Revox::CallListParams::Status::OrSymbol],
69
79
  request_options: Revox::RequestOptions::OrHash
70
80
  ).returns(Revox::Models::CallListResponse)
71
81
  end
72
82
  def list(
73
83
  # The page number you want to get. Starting at 0.
74
84
  page:,
85
+ # The number of calls to return per page.
75
86
  page_size:,
87
+ statuses: nil,
76
88
  request_options: {}
77
89
  )
78
90
  end
@@ -0,0 +1,128 @@
1
+ # typed: strong
2
+
3
+ module Revox
4
+ module Resources
5
+ class Campaigns
6
+ # Create a new outbound calling campaign and launch it immediately. If
7
+ # scheduled_at is set, all calls will be queued until the specified time instead
8
+ # of starting right away.
9
+ sig do
10
+ params(
11
+ assistant_id: String,
12
+ contacts: T::Array[Revox::CampaignCreateParams::Contact::OrHash],
13
+ name: String,
14
+ call_retry_config:
15
+ Revox::CampaignCreateParams::CallRetryConfig::OrHash,
16
+ from_phone_number: String,
17
+ max_concurrent_calls: Float,
18
+ scheduled_at: Revox::CampaignCreateParams::ScheduledAt::Variants,
19
+ request_options: Revox::RequestOptions::OrHash
20
+ ).returns(Revox::Models::CampaignCreateResponse)
21
+ end
22
+ def create(
23
+ # The ID of the assistant to use
24
+ assistant_id:,
25
+ # The list of contacts to call
26
+ contacts:,
27
+ # The name of the campaign
28
+ name:,
29
+ # Override retry configuration for calls in this campaign. If not provided, uses
30
+ # the assistant's retry config.
31
+ call_retry_config: nil,
32
+ # The phone number to use for outbound calls (E.164 format, e.g., +1234567890)
33
+ from_phone_number: nil,
34
+ # Maximum number of concurrent calls allowed for this campaign
35
+ max_concurrent_calls: nil,
36
+ # Schedule all calls in this campaign to start at a specific date and time (ISO
37
+ # 8601 format)
38
+ scheduled_at: nil,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # Retrieve the full details of a single campaign by its unique ID. Can be used to
44
+ # poll for campaign completion.
45
+ sig do
46
+ params(
47
+ id: String,
48
+ request_options: Revox::RequestOptions::OrHash
49
+ ).returns(Revox::Models::CampaignRetrieveResponse)
50
+ end
51
+ def retrieve(id, request_options: {})
52
+ end
53
+
54
+ # Retrieve all campaigns for your organization, including both active and
55
+ # completed ones.
56
+ sig do
57
+ params(request_options: Revox::RequestOptions::OrHash).returns(
58
+ Revox::Models::CampaignListResponse
59
+ )
60
+ end
61
+ def list(request_options: {})
62
+ end
63
+
64
+ # Permanently delete a campaign and all its associated rows. This action is
65
+ # irreversible. In-progress calls will not be affected, but no new calls will be
66
+ # placed.
67
+ sig do
68
+ params(
69
+ id: String,
70
+ request_options: Revox::RequestOptions::OrHash
71
+ ).returns(Revox::Models::CampaignDeleteResponse)
72
+ end
73
+ def delete(id, request_options: {})
74
+ end
75
+
76
+ # Cancel a running or scheduled campaign. Pending and queued calls will be
77
+ # aborted, while in-progress calls will be allowed to finish. Unlike deletion, the
78
+ # campaign and its rows are preserved for historical reference.
79
+ sig do
80
+ params(
81
+ id: String,
82
+ request_options: Revox::RequestOptions::OrHash
83
+ ).returns(Revox::Models::CampaignCancelResponse)
84
+ end
85
+ def cancel(id, request_options: {})
86
+ end
87
+
88
+ # Export all rows of a campaign as a CSV file for offline analysis or reporting.
89
+ sig do
90
+ params(
91
+ id: String,
92
+ request_options: Revox::RequestOptions::OrHash
93
+ ).returns(Revox::Models::CampaignExportRowsResponse)
94
+ end
95
+ def export_rows(id, request_options: {})
96
+ end
97
+
98
+ # Retrieve a paginated list of rows (contacts) for a given campaign. Supports
99
+ # filtering by text query, call statuses, and call result.
100
+ sig do
101
+ params(
102
+ id: String,
103
+ page: Float,
104
+ page_size: Float,
105
+ query: String,
106
+ result: Revox::CampaignGetRowsParams::Result::OrSymbol,
107
+ statuses: String,
108
+ request_options: Revox::RequestOptions::OrHash
109
+ ).returns(Revox::Models::CampaignGetRowsResponse)
110
+ end
111
+ def get_rows(
112
+ id,
113
+ page:,
114
+ page_size:,
115
+ query: nil,
116
+ result: nil,
117
+ statuses: nil,
118
+ request_options: {}
119
+ )
120
+ end
121
+
122
+ # @api private
123
+ sig { params(client: Revox::Client).returns(T.attached_class) }
124
+ def self.new(client:)
125
+ end
126
+ end
127
+ end
128
+ end
@@ -3,7 +3,8 @@
3
3
  module Revox
4
4
  module Resources
5
5
  class Voices
6
- # Get a single voice by ID.
6
+ # Retrieve details for a single voice by its unique ID and provider. Returns the
7
+ # voice name, description, and provider metadata.
7
8
  sig do
8
9
  params(
9
10
  id: String,
@@ -19,8 +20,10 @@ module Revox
19
20
  )
20
21
  end
21
22
 
22
- # Get the list of voices available for the call. Supports Cartesia, ElevenLabs,
23
- # Inworld voices.
23
+ # Retrieve the full catalog of voices available for AI calls. The list includes
24
+ # voices from Cartesia and ElevenLabs, each with a name, language, accent, and
25
+ # provider-specific ID. Use this endpoint to browse voices before assigning one to
26
+ # an assistant or a call.
24
27
  sig do
25
28
  params(request_options: Revox::RequestOptions::OrHash).returns(
26
29
  Revox::Models::VoiceListResponse
@@ -29,12 +32,13 @@ module Revox
29
32
  def list(request_options: {})
30
33
  end
31
34
 
32
- # Generate a voice preview audio sample for a given voice ID.
35
+ # Generate a short audio preview for a given voice. Provide the voice ID and
36
+ # provider, and the API returns an audio/mpeg stream you can play back to hear how
37
+ # the voice sounds before assigning it to an assistant.
33
38
  sig do
34
39
  params(
35
40
  provider: Revox::VoicePreviewParams::Provider::OrSymbol,
36
41
  voice_id: String,
37
- text: String,
38
42
  request_options: Revox::RequestOptions::OrHash
39
43
  ).void
40
44
  end
@@ -43,8 +47,6 @@ module Revox
43
47
  provider:,
44
48
  # The voice ID to generate a preview for.
45
49
  voice_id:,
46
- # The text to generate a preview for.
47
- text: nil,
48
50
  request_options: {}
49
51
  )
50
52
  end
data/sig/revox/client.rbs CHANGED
@@ -10,6 +10,8 @@ module Revox
10
10
 
11
11
  attr_reader api_key: String
12
12
 
13
+ attr_reader campaigns: Revox::Resources::Campaigns
14
+
13
15
  attr_reader assistants: Revox::Resources::Assistants
14
16
 
15
17
  attr_reader call: Revox::Resources::Call
@@ -106,6 +106,16 @@ module Revox
106
106
  JSON_CONTENT: Regexp
107
107
  JSONL_CONTENT: Regexp
108
108
 
109
+ def encode_query_params: (
110
+ ::Hash[Symbol, top] query
111
+ ) -> ::Hash[Symbol, top]
112
+
113
+ private def write_query_param_element!: (
114
+ ::Hash[Symbol, top] collection,
115
+ String key,
116
+ top element
117
+ ) -> nil
118
+
109
119
  def self?.write_multipart_content: (
110
120
  Enumerator::Yielder y,
111
121
  val: top,
@@ -5,7 +5,7 @@ module Revox
5
5
  name: String,
6
6
  prompt: String,
7
7
  background_sound: Revox::Models::AssistantCreateParams::background_sound?,
8
- calendly: Revox::AssistantCreateParams::Calendly?,
8
+ calendly: Revox::AssistantCreateParams::Calendly,
9
9
  call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
10
10
  end_of_call_sentence: String,
11
11
  faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
@@ -33,7 +33,11 @@ module Revox
33
33
 
34
34
  attr_accessor background_sound: Revox::Models::AssistantCreateParams::background_sound?
35
35
 
36
- attr_accessor calendly: Revox::AssistantCreateParams::Calendly?
36
+ attr_reader calendly: Revox::AssistantCreateParams::Calendly?
37
+
38
+ def calendly=: (
39
+ Revox::AssistantCreateParams::Calendly
40
+ ) -> Revox::AssistantCreateParams::Calendly
37
41
 
38
42
  attr_reader call_retry_config: Revox::AssistantCreateParams::CallRetryConfig?
39
43
 
@@ -103,7 +107,7 @@ module Revox
103
107
  name: String,
104
108
  prompt: String,
105
109
  ?background_sound: Revox::Models::AssistantCreateParams::background_sound?,
106
- ?calendly: Revox::AssistantCreateParams::Calendly?,
110
+ ?calendly: Revox::AssistantCreateParams::Calendly,
107
111
  ?call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
108
112
  ?end_of_call_sentence: String,
109
113
  ?faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
@@ -125,7 +129,7 @@ module Revox
125
129
  name: String,
126
130
  prompt: String,
127
131
  background_sound: Revox::Models::AssistantCreateParams::background_sound?,
128
- calendly: Revox::AssistantCreateParams::Calendly?,
132
+ calendly: Revox::AssistantCreateParams::Calendly,
129
133
  call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
130
134
  end_of_call_sentence: String,
131
135
  faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
@@ -1,15 +1,20 @@
1
1
  module Revox
2
2
  module Models
3
3
  type assistant_delete_params =
4
- { } & Revox::Internal::Type::request_parameters
4
+ { id: String } & Revox::Internal::Type::request_parameters
5
5
 
6
6
  class AssistantDeleteParams < Revox::Internal::Type::BaseModel
7
7
  extend Revox::Internal::Type::RequestParameters::Converter
8
8
  include Revox::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: Revox::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: Revox::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Revox::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: Revox::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -1,15 +1,20 @@
1
1
  module Revox
2
2
  module Models
3
3
  type assistant_retrieve_params =
4
- { } & Revox::Internal::Type::request_parameters
4
+ { id: String } & Revox::Internal::Type::request_parameters
5
5
 
6
6
  class AssistantRetrieveParams < Revox::Internal::Type::BaseModel
7
7
  extend Revox::Internal::Type::RequestParameters::Converter
8
8
  include Revox::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: Revox::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: Revox::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Revox::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: Revox::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -2,8 +2,9 @@ module Revox
2
2
  module Models
3
3
  type assistant_update_params =
4
4
  {
5
+ id: String,
5
6
  background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
6
- calendly: Revox::AssistantUpdateParams::Calendly?,
7
+ calendly: Revox::AssistantUpdateParams::Calendly,
7
8
  call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
8
9
  end_of_call_sentence: String,
9
10
  faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
@@ -27,9 +28,15 @@ module Revox
27
28
  extend Revox::Internal::Type::RequestParameters::Converter
28
29
  include Revox::Internal::Type::RequestParameters
29
30
 
31
+ attr_accessor id: String
32
+
30
33
  attr_accessor background_sound: Revox::Models::AssistantUpdateParams::background_sound?
31
34
 
32
- attr_accessor calendly: Revox::AssistantUpdateParams::Calendly?
35
+ attr_reader calendly: Revox::AssistantUpdateParams::Calendly?
36
+
37
+ def calendly=: (
38
+ Revox::AssistantUpdateParams::Calendly
39
+ ) -> Revox::AssistantUpdateParams::Calendly
33
40
 
34
41
  attr_reader call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig?
35
42
 
@@ -104,8 +111,9 @@ module Revox
104
111
  def webhook_url=: (String) -> String
105
112
 
106
113
  def initialize: (
114
+ id: String,
107
115
  ?background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
108
- ?calendly: Revox::AssistantUpdateParams::Calendly?,
116
+ ?calendly: Revox::AssistantUpdateParams::Calendly,
109
117
  ?call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
110
118
  ?end_of_call_sentence: String,
111
119
  ?faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
@@ -126,8 +134,9 @@ module Revox
126
134
  ) -> void
127
135
 
128
136
  def to_hash: -> {
137
+ id: String,
129
138
  background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
130
- calendly: Revox::AssistantUpdateParams::Calendly?,
139
+ calendly: Revox::AssistantUpdateParams::Calendly,
131
140
  call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
132
141
  end_of_call_sentence: String,
133
142
  faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
@@ -88,7 +88,7 @@ module Revox
88
88
  {
89
89
  prompt: String,
90
90
  background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?,
91
- calendly: Revox::CallCreateParams::Assistant::Calendly?,
91
+ calendly: Revox::CallCreateParams::Assistant::Calendly,
92
92
  call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig,
93
93
  end_of_call_sentence: String,
94
94
  faq_items: ::Array[Revox::CallCreateParams::Assistant::FaqItem],
@@ -110,7 +110,11 @@ module Revox
110
110
 
111
111
  attr_accessor background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?
112
112
 
113
- attr_accessor calendly: Revox::CallCreateParams::Assistant::Calendly?
113
+ attr_reader calendly: Revox::CallCreateParams::Assistant::Calendly?
114
+
115
+ def calendly=: (
116
+ Revox::CallCreateParams::Assistant::Calendly
117
+ ) -> Revox::CallCreateParams::Assistant::Calendly
114
118
 
115
119
  attr_reader call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig?
116
120
 
@@ -179,7 +183,7 @@ module Revox
179
183
  def initialize: (
180
184
  prompt: String,
181
185
  ?background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?,
182
- ?calendly: Revox::CallCreateParams::Assistant::Calendly?,
186
+ ?calendly: Revox::CallCreateParams::Assistant::Calendly,
183
187
  ?call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig,
184
188
  ?end_of_call_sentence: String,
185
189
  ?faq_items: ::Array[Revox::CallCreateParams::Assistant::FaqItem],
@@ -199,7 +203,7 @@ module Revox
199
203
  def to_hash: -> {
200
204
  prompt: String,
201
205
  background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?,
202
- calendly: Revox::CallCreateParams::Assistant::Calendly?,
206
+ calendly: Revox::CallCreateParams::Assistant::Calendly,
203
207
  call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig,
204
208
  end_of_call_sentence: String,
205
209
  faq_items: ::Array[Revox::CallCreateParams::Assistant::FaqItem],