@vapi-ai/web 1.1.7 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api.d.ts CHANGED
@@ -1,112 +1,71 @@
1
- export declare class CreateWebCallDTO {
2
- /**
3
- * This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead.
4
- */
5
- assistantId?: string;
6
- /**
7
- * Overrides for the assistant's settings and template variables.
8
- */
9
- assistantOverrides?: OverrideAssistantDTO;
10
- /**
11
- * This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead.
12
- */
13
- assistant?: CreateAssistantDTO;
14
- /**
15
- * This will expose SIP URI you can use to connect to the call. Disabled by default.
16
- */
17
- sipEnabled?: boolean;
1
+ export interface DeepgramVoice {
18
2
  /**
19
- * This is the metadata associated with the call.
3
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
4
+ * @example true
20
5
  */
21
- metadata?: Record<string, any>;
22
- }
23
- export interface DeepgramVoice {
6
+ inputPreprocessingEnabled?: boolean;
24
7
  /**
25
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
8
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
26
9
  * @min 1
27
10
  * @max 80
28
11
  * @example 10
29
12
  */
30
13
  inputMinCharacters?: number;
31
14
  /**
32
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
15
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
33
16
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
34
17
  */
35
18
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
19
+ /**
20
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
21
+ *
22
+ * Default `false` because you can achieve better results with prompting the model.
23
+ * @example false
24
+ */
25
+ fillerInjectionEnabled?: boolean;
36
26
  /** This is the voice provider that will be used. */
37
27
  provider: 'deepgram';
38
28
  /** This is the provider-specific ID that will be used. */
39
29
  voiceId: 'asteria' | 'luna' | 'stella' | 'athena' | 'hera' | 'orion' | 'arcas' | 'perseus' | 'angus' | 'orpheus' | 'helios' | 'zeus' | string;
40
30
  }
31
+ export interface Condition {
32
+ param: string;
33
+ value: object;
34
+ operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
35
+ }
36
+ export interface ToolMessageStart {
37
+ type: 'request-start';
38
+ content: string;
39
+ conditions?: Condition[];
40
+ }
41
+ export interface ToolMessageComplete {
42
+ type: 'request-complete';
43
+ content: string;
44
+ conditions?: Condition[];
45
+ }
46
+ export interface ToolMessageFailed {
47
+ type: 'request-failed';
48
+ content: string;
49
+ conditions?: Condition[];
50
+ }
51
+ export interface ToolMessageDelayed {
52
+ type: 'request-response-delayed';
53
+ content: string;
54
+ /**
55
+ * The number of milliseconds to wait for the server response before saying this message.
56
+ * @example 1000
57
+ */
58
+ timingMilliseconds?: number;
59
+ conditions?: Condition[];
60
+ }
41
61
  export interface JsonSchema {
42
62
  type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object';
43
63
  /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
44
64
  items?: object;
45
- /** This is an array of type JsonSchema. However, Swagger doesn't support circular references. */
46
- prefixItems?: object;
47
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
48
- contains?: object;
49
65
  /** This is a map of string to JsonSchema. However, Swagger doesn't support circular references. */
50
66
  properties?: object;
51
- /** This is a map of string to JsonSchema objects. However, Swagger doesn't support circular references. */
52
- patternProperties?: object;
53
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
54
- additionalProperties?: object;
55
- /** This is a map of string to JsonSchema objects. However, Swagger doesn't support circular references. */
56
- dependentSchemas?: object;
57
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
58
- propertyNames?: object;
59
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
60
- unevaluatedProperties?: object;
61
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
62
- const?: object;
63
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
64
- not?: object;
65
- /** This is an array of type JsonSchema. However, Swagger doesn't support circular references. */
66
- oneOf?: object;
67
- /** This is an array of type JsonSchema. However, Swagger doesn't support circular references. */
68
- anyOf?: object;
69
- /** This is an array of type JsonSchema. However, Swagger doesn't support circular references. */
70
- allOf?: object;
71
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
72
- if?: object;
73
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
74
- then?: object;
75
- /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
76
- else?: object;
77
- title?: string;
78
67
  description?: string;
79
- multipleOf?: number;
80
- maximum?: number;
81
- exclusiveMaximum?: number;
82
- minimum?: number;
83
- exclusiveMinimum?: number;
84
- maxLength?: number;
85
- /** @min 0 */
86
- minLength?: number;
87
- pattern?: string;
88
- format?: string;
89
- maxItems?: number;
90
- /** @min 0 */
91
- minItems?: number;
92
- minContains?: number;
93
- maxContains?: number;
94
- maxProperties?: number;
95
- /** @min 0 */
96
- minProperties?: number;
97
68
  required?: object[];
98
- dependentRequired?: object;
99
- enum?: object[];
100
- $id?: string;
101
- $ref?: string;
102
- $schema?: string;
103
- $comment?: string;
104
- default?: object;
105
- examples?: object[];
106
- readOnly?: boolean;
107
- writeOnly?: boolean;
108
- contentEncoding?: string;
109
- contentMediaType?: string;
110
69
  }
111
70
  export interface OpenAIFunctionParameters {
112
71
  /** This must be set to 'object'. It instructs the model to return a JSON object containing the function call properties. */
@@ -153,98 +112,280 @@ export interface Server {
153
112
  */
154
113
  secret?: string;
155
114
  }
156
- export interface FunctionTool {
157
- type: 'function';
115
+ export interface CreateDtmfToolDTO {
116
+ /**
117
+ * This determines if the tool is async.
118
+ *
119
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
120
+ *
121
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
122
+ *
123
+ * Defaults to synchronous (`false`).
124
+ * @example false
125
+ */
126
+ async?: boolean;
127
+ /**
128
+ * These are the messages that will be spoken to the user as the tool is running.
129
+ *
130
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
131
+ */
158
132
  messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
159
- /** The function definition details for the function tool. */
160
- function: OpenAIFunction;
133
+ /** The type of tool. "dtmf" for DTMF tool. */
134
+ type: 'dtmf';
135
+ /**
136
+ * This is the function definition of the tool.
137
+ *
138
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
139
+ */
140
+ function?: OpenAIFunction;
161
141
  /**
162
- * This is the server VAPI will hit this tool is requested by the model.
142
+ * This is the server that will be hit when this tool is requested by the model.
163
143
  *
164
144
  * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
165
145
  *
166
- * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl
146
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
167
147
  */
168
148
  server?: Server;
169
- /** Setting async: true will cause the function to be called asynchronously, meaning that the Assistant will not wait for the function to return before continuing. */
170
- async?: boolean;
171
- }
172
- export interface TransferDestination {
173
- message: string;
174
- destination: string;
175
- description: string;
176
149
  }
177
- export interface TransferTool {
178
- type: 'transferCall';
150
+ export interface CreateEndCallToolDTO {
151
+ /**
152
+ * This determines if the tool is async.
153
+ *
154
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
155
+ *
156
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
157
+ *
158
+ * Defaults to synchronous (`false`).
159
+ * @example false
160
+ */
161
+ async?: boolean;
162
+ /**
163
+ * These are the messages that will be spoken to the user as the tool is running.
164
+ *
165
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
166
+ */
179
167
  messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
168
+ /** The type of tool. "endCall" for End Call tool. */
169
+ type: 'endCall';
180
170
  /**
181
- * This is the description of what the function does, used by the AI to choose when and how to call the function.
182
- * @default "Use this tool to transfer the call. Only use it when following instructions that explicitly ask you to use the transferCall tool. DO NOT call this tool unless you are instructed to do so."
171
+ * This is the function definition of the tool.
172
+ *
173
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
183
174
  */
184
- description?: string;
185
- destinations?: TransferDestination[];
175
+ function?: OpenAIFunction;
186
176
  /**
187
- * This is the server VAPI will hit this tool is requested by the model.
177
+ * This is the server that will be hit when this tool is requested by the model.
188
178
  *
189
179
  * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
180
+ *
181
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
190
182
  */
191
183
  server?: Server;
192
184
  }
193
- export interface EndCallTool {
194
- type: 'endCall';
185
+ export interface CreateFunctionToolDTO {
186
+ /**
187
+ * This determines if the tool is async.
188
+ *
189
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
190
+ *
191
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
192
+ *
193
+ * Defaults to synchronous (`false`).
194
+ * @example false
195
+ */
196
+ async?: boolean;
197
+ /**
198
+ * These are the messages that will be spoken to the user as the tool is running.
199
+ *
200
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
201
+ */
195
202
  messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
196
- /** The function definition details for the function tool. */
197
- function: OpenAIFunction;
203
+ /** The type of tool. "function" for Function tool. */
204
+ type: 'function';
205
+ /**
206
+ * This is the function definition of the tool.
207
+ *
208
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
209
+ */
210
+ function?: OpenAIFunction;
211
+ /**
212
+ * This is the server that will be hit when this tool is requested by the model.
213
+ *
214
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
215
+ *
216
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
217
+ */
218
+ server?: Server;
198
219
  }
199
- export interface DtmfTool {
200
- type: 'dtmf';
201
- messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
202
- /** The function definition details for the function tool. */
203
- function: OpenAIFunction;
220
+ export interface GhlToolMetadata {
221
+ workflowId?: string;
222
+ locationId?: string;
204
223
  }
205
- export interface Condition {
206
- param: string;
207
- value: object;
208
- operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
224
+ export interface CreateGhlToolDTO {
225
+ /**
226
+ * This determines if the tool is async.
227
+ *
228
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
229
+ *
230
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
231
+ *
232
+ * Defaults to synchronous (`false`).
233
+ * @example false
234
+ */
235
+ async?: boolean;
236
+ /**
237
+ * These are the messages that will be spoken to the user as the tool is running.
238
+ *
239
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
240
+ */
241
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
242
+ /** The type of tool. "ghl" for GHL tool. */
243
+ type: 'ghl';
244
+ metadata: GhlToolMetadata;
245
+ /**
246
+ * This is the function definition of the tool.
247
+ *
248
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
249
+ */
250
+ function?: OpenAIFunction;
251
+ /**
252
+ * This is the server that will be hit when this tool is requested by the model.
253
+ *
254
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
255
+ *
256
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
257
+ */
258
+ server?: Server;
209
259
  }
210
- export interface ToolMessageComplete {
211
- type: 'request-complete';
212
- content: string;
213
- conditions?: Condition[];
260
+ export interface MakeToolMetadata {
261
+ scenarioId?: number;
262
+ triggerHookId?: number;
214
263
  }
215
- export interface ToolMessageDelayed {
216
- type: 'request-response-delayed';
217
- content: string;
264
+ export interface CreateMakeToolDTO {
218
265
  /**
219
- * The number of milliseconds to wait for the server response before saying this message.
220
- * @example 1000
266
+ * This determines if the tool is async.
267
+ *
268
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
269
+ *
270
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
271
+ *
272
+ * Defaults to synchronous (`false`).
273
+ * @example false
221
274
  */
222
- timingMilliseconds?: number;
223
- conditions?: Condition[];
275
+ async?: boolean;
276
+ /**
277
+ * These are the messages that will be spoken to the user as the tool is running.
278
+ *
279
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
280
+ */
281
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
282
+ /** The type of tool. "make" for Make tool. */
283
+ type: 'make';
284
+ metadata: MakeToolMetadata;
285
+ /**
286
+ * This is the function definition of the tool.
287
+ *
288
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
289
+ */
290
+ function?: OpenAIFunction;
291
+ /**
292
+ * This is the server that will be hit when this tool is requested by the model.
293
+ *
294
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
295
+ *
296
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
297
+ */
298
+ server?: Server;
224
299
  }
225
- export interface ToolMessageFailed {
226
- type: 'request-failed';
227
- content: string;
228
- conditions?: Condition[];
300
+ export interface AssistantTransferDestination {
301
+ type: 'assistant';
302
+ /** This is the assistant to transfer the call to. */
303
+ assistantName: string;
304
+ /** This is the message to say before transferring the call to the destination. */
305
+ message?: string;
306
+ /** This is the description of the destination, used by the AI to choose when and how to transfer the call. */
307
+ description?: string;
229
308
  }
230
- export interface ToolMessageStart {
231
- type: 'request-start';
232
- content: string;
233
- conditions?: Condition[];
309
+ export interface PhoneNumberTransferDestination {
310
+ type: 'phoneNumber';
311
+ /** This is the phone number to transfer the call to. */
312
+ number: string;
313
+ /** This is the message to say before transferring the call to the destination. */
314
+ message?: string;
315
+ /** This is the description of the destination, used by the AI to choose when and how to transfer the call. */
316
+ description?: string;
317
+ }
318
+ export interface SipTransferDestination {
319
+ type: 'sip';
320
+ /** This is the SIP URI to transfer the call to. */
321
+ sipUri: string;
322
+ /** This is the message to say before transferring the call to the destination. */
323
+ message?: string;
324
+ /** This is the description of the destination, used by the AI to choose when and how to transfer the call. */
325
+ description?: string;
326
+ }
327
+ export interface CreateTransferCallToolDTO {
328
+ /**
329
+ * This determines if the tool is async.
330
+ *
331
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
332
+ *
333
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
334
+ *
335
+ * Defaults to synchronous (`false`).
336
+ * @example false
337
+ */
338
+ async?: boolean;
339
+ /**
340
+ * These are the messages that will be spoken to the user as the tool is running.
341
+ *
342
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
343
+ */
344
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
345
+ type: 'transferCall';
346
+ /** These are the destinations that the call can be transferred to. If no destinations are provided, server.url will be used to get the transfer destination once the tool is called. */
347
+ destinations?: (AssistantTransferDestination | PhoneNumberTransferDestination | SipTransferDestination)[];
348
+ /**
349
+ * This is the function definition of the tool.
350
+ *
351
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
352
+ */
353
+ function?: OpenAIFunction;
354
+ /**
355
+ * This is the server that will be hit when this tool is requested by the model.
356
+ *
357
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
358
+ *
359
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
360
+ */
361
+ server?: Server;
234
362
  }
235
363
  export interface OpenAIMessage {
236
364
  content: string | null;
237
- role: 'assistant' | 'function' | 'user' | 'system';
238
- function_call?: object;
239
- tool_calls?: object[];
365
+ role: 'assistant' | 'function' | 'user' | 'system' | 'tool';
366
+ }
367
+ export interface KnowledgeBase {
368
+ provider: 'canonical';
369
+ topK?: number;
370
+ fileIds: string[];
240
371
  }
241
372
  export interface TogetherAIModel {
242
373
  /** This is the starting state for the conversation. */
243
374
  messages?: OpenAIMessage[];
244
- /** These are the tools functions that the assistant can execute during the call. */
245
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
375
+ /**
376
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
377
+ *
378
+ * Both `tools` and `toolIds` can be used together.
379
+ */
380
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
381
+ /**
382
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
383
+ *
384
+ * Both `tools` and `toolIds` can be used together.
385
+ */
386
+ toolIds?: string[];
246
387
  provider: 'together-ai';
247
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
388
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
248
389
  model: string;
249
390
  /**
250
391
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
@@ -252,20 +393,38 @@ export interface TogetherAIModel {
252
393
  * @max 2
253
394
  */
254
395
  temperature?: number;
396
+ /** These are the options for the knowledge base. */
397
+ knowledgeBase?: KnowledgeBase;
255
398
  /**
256
399
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
257
400
  * @min 50
258
401
  * @max 1000
259
402
  */
260
403
  maxTokens?: number;
404
+ /**
405
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
406
+ *
407
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
408
+ */
409
+ emotionRecognitionEnabled?: boolean;
261
410
  }
262
411
  export interface AnyscaleModel {
263
412
  /** This is the starting state for the conversation. */
264
413
  messages?: OpenAIMessage[];
265
- /** These are the tools functions that the assistant can execute during the call. */
266
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
414
+ /**
415
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
416
+ *
417
+ * Both `tools` and `toolIds` can be used together.
418
+ */
419
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
420
+ /**
421
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
422
+ *
423
+ * Both `tools` and `toolIds` can be used together.
424
+ */
425
+ toolIds?: string[];
267
426
  provider: 'anyscale';
268
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
427
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
269
428
  model: string;
270
429
  /**
271
430
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
@@ -273,20 +432,38 @@ export interface AnyscaleModel {
273
432
  * @max 2
274
433
  */
275
434
  temperature?: number;
435
+ /** These are the options for the knowledge base. */
436
+ knowledgeBase?: KnowledgeBase;
276
437
  /**
277
438
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
278
439
  * @min 50
279
440
  * @max 1000
280
441
  */
281
442
  maxTokens?: number;
443
+ /**
444
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
445
+ *
446
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
447
+ */
448
+ emotionRecognitionEnabled?: boolean;
282
449
  }
283
450
  export interface OpenRouterModel {
284
451
  /** This is the starting state for the conversation. */
285
452
  messages?: OpenAIMessage[];
286
- /** These are the tools functions that the assistant can execute during the call. */
287
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
453
+ /**
454
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
455
+ *
456
+ * Both `tools` and `toolIds` can be used together.
457
+ */
458
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
459
+ /**
460
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
461
+ *
462
+ * Both `tools` and `toolIds` can be used together.
463
+ */
464
+ toolIds?: string[];
288
465
  provider: 'openrouter';
289
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
466
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
290
467
  model: string;
291
468
  /**
292
469
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
@@ -294,20 +471,38 @@ export interface OpenRouterModel {
294
471
  * @max 2
295
472
  */
296
473
  temperature?: number;
474
+ /** These are the options for the knowledge base. */
475
+ knowledgeBase?: KnowledgeBase;
297
476
  /**
298
477
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
299
478
  * @min 50
300
479
  * @max 1000
301
480
  */
302
481
  maxTokens?: number;
482
+ /**
483
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
484
+ *
485
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
486
+ */
487
+ emotionRecognitionEnabled?: boolean;
303
488
  }
304
489
  export interface PerplexityAIModel {
305
490
  /** This is the starting state for the conversation. */
306
491
  messages?: OpenAIMessage[];
307
- /** These are the tools functions that the assistant can execute during the call. */
308
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
492
+ /**
493
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
494
+ *
495
+ * Both `tools` and `toolIds` can be used together.
496
+ */
497
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
498
+ /**
499
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
500
+ *
501
+ * Both `tools` and `toolIds` can be used together.
502
+ */
503
+ toolIds?: string[];
309
504
  provider: 'perplexity-ai';
310
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
505
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
311
506
  model: string;
312
507
  /**
313
508
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
@@ -315,20 +510,38 @@ export interface PerplexityAIModel {
315
510
  * @max 2
316
511
  */
317
512
  temperature?: number;
513
+ /** These are the options for the knowledge base. */
514
+ knowledgeBase?: KnowledgeBase;
318
515
  /**
319
516
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
320
517
  * @min 50
321
518
  * @max 1000
322
519
  */
323
520
  maxTokens?: number;
521
+ /**
522
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
523
+ *
524
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
525
+ */
526
+ emotionRecognitionEnabled?: boolean;
324
527
  }
325
528
  export interface DeepInfraModel {
326
529
  /** This is the starting state for the conversation. */
327
530
  messages?: OpenAIMessage[];
328
- /** These are the tools functions that the assistant can execute during the call. */
329
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
531
+ /**
532
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
533
+ *
534
+ * Both `tools` and `toolIds` can be used together.
535
+ */
536
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
537
+ /**
538
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
539
+ *
540
+ * Both `tools` and `toolIds` can be used together.
541
+ */
542
+ toolIds?: string[];
330
543
  provider: 'deepinfra';
331
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
544
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
332
545
  model: string;
333
546
  /**
334
547
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
@@ -336,25 +549,43 @@ export interface DeepInfraModel {
336
549
  * @max 2
337
550
  */
338
551
  temperature?: number;
552
+ /** These are the options for the knowledge base. */
553
+ knowledgeBase?: KnowledgeBase;
339
554
  /**
340
555
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
341
556
  * @min 50
342
557
  * @max 1000
343
558
  */
344
559
  maxTokens?: number;
560
+ /**
561
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
562
+ *
563
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
564
+ */
565
+ emotionRecognitionEnabled?: boolean;
345
566
  }
346
567
  export interface CustomLLMModel {
347
568
  /** This is the starting state for the conversation. */
348
569
  messages?: OpenAIMessage[];
349
- /** These are the tools functions that the assistant can execute during the call. */
350
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
351
- /** This is the provider that will be used for the model. Any service, including your own server, that is compatible with the OpenAI API can be used. */
352
- provider: 'custom-llm';
353
- /** These is the URL we'll use for the OpenAI client's `baseURL`. Ex. https://openrouter.ai/api/v1 */
354
- url: string;
570
+ /**
571
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
572
+ *
573
+ * Both `tools` and `toolIds` can be used together.
574
+ */
575
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
576
+ /**
577
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
578
+ *
579
+ * Both `tools` and `toolIds` can be used together.
580
+ */
581
+ toolIds?: string[];
582
+ /** This is the provider that will be used for the model. Any service, including your own server, that is compatible with the OpenAI API can be used. */
583
+ provider: 'custom-llm';
584
+ /** These is the URL we'll use for the OpenAI client's `baseURL`. Ex. https://openrouter.ai/api/v1 */
585
+ url: string;
355
586
  /** This sets whether the call object is sent in requests to the custom provider. Default is true. */
356
587
  urlRequestMetadataEnabled: boolean;
357
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
588
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
358
589
  model: string;
359
590
  /**
360
591
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
@@ -362,19 +593,37 @@ export interface CustomLLMModel {
362
593
  * @max 2
363
594
  */
364
595
  temperature?: number;
596
+ /** These are the options for the knowledge base. */
597
+ knowledgeBase?: KnowledgeBase;
365
598
  /**
366
599
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
367
600
  * @min 50
368
601
  * @max 1000
369
602
  */
370
603
  maxTokens?: number;
604
+ /**
605
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
606
+ *
607
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
608
+ */
609
+ emotionRecognitionEnabled?: boolean;
371
610
  }
372
611
  export interface GroqModel {
373
612
  /** This is the starting state for the conversation. */
374
613
  messages?: OpenAIMessage[];
375
- /** These are the tools functions that the assistant can execute during the call. */
376
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
377
- /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
614
+ /**
615
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
616
+ *
617
+ * Both `tools` and `toolIds` can be used together.
618
+ */
619
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
620
+ /**
621
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
622
+ *
623
+ * Both `tools` and `toolIds` can be used together.
624
+ */
625
+ toolIds?: string[];
626
+ /** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
378
627
  model: 'mixtral-8x7b-32768' | 'llama3-8b-8192' | 'llama3-70b-8192';
379
628
  provider: 'groq';
380
629
  /**
@@ -383,18 +632,36 @@ export interface GroqModel {
383
632
  * @max 2
384
633
  */
385
634
  temperature?: number;
635
+ /** These are the options for the knowledge base. */
636
+ knowledgeBase?: KnowledgeBase;
386
637
  /**
387
638
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
388
639
  * @min 50
389
640
  * @max 1000
390
641
  */
391
642
  maxTokens?: number;
643
+ /**
644
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
645
+ *
646
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
647
+ */
648
+ emotionRecognitionEnabled?: boolean;
392
649
  }
393
650
  export interface AnthropicModel {
394
651
  /** This is the starting state for the conversation. */
395
652
  messages?: OpenAIMessage[];
396
- /** These are the tools functions that the assistant can execute during the call. */
397
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
653
+ /**
654
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
655
+ *
656
+ * Both `tools` and `toolIds` can be used together.
657
+ */
658
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
659
+ /**
660
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
661
+ *
662
+ * Both `tools` and `toolIds` can be used together.
663
+ */
664
+ toolIds?: string[];
398
665
  /** This is the Anthropic/Claude models that will be used. */
399
666
  model: 'claude-3-opus-20240229' | 'claude-3-sonnet-20240229' | 'claude-3-haiku-20240307';
400
667
  provider: 'anthropic';
@@ -404,12 +671,20 @@ export interface AnthropicModel {
404
671
  * @max 2
405
672
  */
406
673
  temperature?: number;
674
+ /** These are the options for the knowledge base. */
675
+ knowledgeBase?: KnowledgeBase;
407
676
  /**
408
677
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
409
678
  * @min 50
410
679
  * @max 1000
411
680
  */
412
681
  maxTokens?: number;
682
+ /**
683
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
684
+ *
685
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
686
+ */
687
+ emotionRecognitionEnabled?: boolean;
413
688
  }
414
689
  export interface DeepgramTranscriber {
415
690
  /** This is the transcription provider that will be used. */
@@ -417,7 +692,7 @@ export interface DeepgramTranscriber {
417
692
  /** This is the Deepgram model that will be used. A list of models can be found here: https://developers.deepgram.com/docs/models-languages-overview */
418
693
  model?: 'nova-2' | 'nova-2-general' | 'nova-2-meeting' | 'nova-2-phonecall' | 'nova-2-finance' | 'nova-2-conversationalai' | 'nova-2-voicemail' | 'nova-2-video' | 'nova-2-medical' | 'nova-2-drivethru' | 'nova-2-automotive' | 'nova' | 'nova-general' | 'nova-phonecall' | 'nova-medical' | 'enhanced' | 'enhanced-general' | 'enhanced-meeting' | 'enhanced-phonecall' | 'enhanced-finance' | 'base' | 'base-general' | 'base-meeting' | 'base-phonecall' | 'base-finance' | 'base-conversationalai' | 'base-voicemail' | 'base-video' | string;
419
694
  /** This is the language that will be set for the transcription. The list of languages Deepgram supports can be found here: https://developers.deepgram.com/docs/models-languages-overview */
420
- language?: 'cs' | 'da' | 'da-DK' | 'de-CH' | 'nl' | 'en' | 'en-US' | 'en-AU' | 'en-GB' | 'en-NZ' | 'en-IN' | 'nl-BE' | 'fr' | 'fr-CA' | 'de' | 'el' | 'hi' | 'hi-Latn' | 'id' | 'it' | 'ja' | 'ko' | 'ko-KR' | 'no' | 'pl' | 'pt' | 'pt-BR' | 'ru' | 'es' | 'es-419' | 'sv' | 'sv-SE' | 'tr' | 'uk' | 'zh' | 'zh-CN' | 'zh-TW';
695
+ language?: 'bg' | 'ro' | 'cs' | 'da' | 'da-DK' | 'de-CH' | 'nl' | 'en' | 'en-US' | 'en-AU' | 'en-GB' | 'en-NZ' | 'en-IN' | 'nl-BE' | 'fr' | 'fr-CA' | 'de' | 'el' | 'hi' | 'hi-Latn' | 'id' | 'it' | 'ja' | 'ko' | 'ko-KR' | 'no' | 'pl' | 'pt' | 'pt-BR' | 'ru' | 'es' | 'es-419' | 'sv' | 'sv-SE' | 'tr' | 'uk' | 'zh' | 'zh-CN' | 'zh-TW';
421
696
  /**
422
697
  * This will be use smart format option provided by Deepgram. It's default disabled because it can sometimes format numbers as times sometimes but it's getting better.
423
698
  * @example false
@@ -436,17 +711,29 @@ export interface TalkscriberTranscriber {
436
711
  }
437
712
  export interface ElevenLabsVoice {
438
713
  /**
439
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
714
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
715
+ * @example true
716
+ */
717
+ inputPreprocessingEnabled?: boolean;
718
+ /**
719
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
440
720
  * @min 1
441
721
  * @max 80
442
722
  * @example 10
443
723
  */
444
724
  inputMinCharacters?: number;
445
725
  /**
446
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
726
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
447
727
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
448
728
  */
449
729
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
730
+ /**
731
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
732
+ *
733
+ * Default `false` because you can achieve better results with prompting the model.
734
+ * @example false
735
+ */
736
+ fillerInjectionEnabled?: boolean;
450
737
  /** This is the voice provider that will be used. */
451
738
  provider: '11labs';
452
739
  /** This is the provider-specific ID that will be used. Ensure the Voice is present in your 11Labs Voice Library. */
@@ -478,28 +765,38 @@ export interface ElevenLabsVoice {
478
765
  */
479
766
  useSpeakerBoost?: boolean;
480
767
  /**
481
- * Defines the optimize streaming latency for voice settings.
768
+ * Defines the optimize streaming latency for voice settings. Defaults to 3.
482
769
  * @min 0
483
770
  * @max 4
484
- * @example 4
771
+ * @example 3
485
772
  */
486
- enableSsmlParsing?: boolean;
773
+ optimizeStreamingLatency?: number;
487
774
  /**
488
- * Defines whether SSML parsing is enabled.
489
- * @example true
775
+ * Defines the use of https://elevenlabs.io/docs/speech-synthesis/prompting#pronunciation. Disabled by default.
776
+ * @example false
490
777
  */
491
- optimizeStreamingLatency?: number;
778
+ enableSsmlParsing?: boolean;
492
779
  /**
493
- * This is the model that will be used. Defaults to 'eleven_multilingual_v2' if transcriber.language is non-English, otherwise 'eleven_turbo_v2'.
494
- * @example "eleven_turbo_v2"
780
+ * This is the model that will be used. Defaults to 'eleven_multilingual_v2' if transcriber.language is non-English, otherwise 'eleven_turbo_v2_5'.
781
+ * @example "eleven_turbo_v2_5"
495
782
  */
496
- model?: 'eleven_multilingual_v2' | 'eleven_turbo_v2' | 'eleven_monolingual_v1';
783
+ model?: 'eleven_multilingual_v2' | 'eleven_turbo_v2' | 'eleven_turbo_v2_5' | 'eleven_monolingual_v1';
497
784
  }
498
785
  export interface OpenAIModel {
499
786
  /** This is the starting state for the conversation. */
500
787
  messages?: OpenAIMessage[];
501
- /** These are the tools functions that the assistant can execute during the call. */
502
- tools?: (TransferTool | FunctionTool | EndCallTool | DtmfTool)[];
788
+ /**
789
+ * These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
790
+ *
791
+ * Both `tools` and `toolIds` can be used together.
792
+ */
793
+ tools?: (CreateTransferCallToolDTO | CreateFunctionToolDTO | CreateEndCallToolDTO | CreateDtmfToolDTO | CreateMakeToolDTO | CreateGhlToolDTO)[];
794
+ /**
795
+ * These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
796
+ *
797
+ * Both `tools` and `toolIds` can be used together.
798
+ */
799
+ toolIds?: string[];
503
800
  /** This is the provider that will be used for the model. */
504
801
  provider: 'openai';
505
802
  /** This is the OpenAI model that will be used. */
@@ -522,26 +819,46 @@ export interface OpenAIModel {
522
819
  * @max 2
523
820
  */
524
821
  temperature?: number;
822
+ /** These are the options for the knowledge base. */
823
+ knowledgeBase?: KnowledgeBase;
525
824
  /**
526
825
  * This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
527
826
  * @min 50
528
827
  * @max 1000
529
828
  */
530
829
  maxTokens?: number;
830
+ /**
831
+ * This determines whether we detect user's emotion while they speak and send it as an additional info to model.
832
+ *
833
+ * Default `false` because the model is usually are good at understanding the user's emotion from text.
834
+ */
835
+ emotionRecognitionEnabled?: boolean;
531
836
  }
532
837
  export interface PlayHTVoice {
533
838
  /**
534
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
839
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
840
+ * @example true
841
+ */
842
+ inputPreprocessingEnabled?: boolean;
843
+ /**
844
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
535
845
  * @min 1
536
846
  * @max 80
537
847
  * @example 10
538
848
  */
539
849
  inputMinCharacters?: number;
540
850
  /**
541
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
851
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
542
852
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
543
853
  */
544
854
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
855
+ /**
856
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
857
+ *
858
+ * Default `false` because you can achieve better results with prompting the model.
859
+ * @example false
860
+ */
861
+ fillerInjectionEnabled?: boolean;
545
862
  /** This is the voice provider that will be used. */
546
863
  provider: 'playht';
547
864
  /** This is the provider-specific ID that will be used. */
@@ -589,22 +906,40 @@ export interface PlayHTVoice {
589
906
  }
590
907
  export interface RimeAIVoice {
591
908
  /**
592
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
909
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
910
+ * @example true
911
+ */
912
+ inputPreprocessingEnabled?: boolean;
913
+ /**
914
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
593
915
  * @min 1
594
916
  * @max 80
595
917
  * @example 10
596
918
  */
597
919
  inputMinCharacters?: number;
598
920
  /**
599
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
921
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
600
922
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
601
923
  */
602
924
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
925
+ /**
926
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
927
+ *
928
+ * Default `false` because you can achieve better results with prompting the model.
929
+ * @example false
930
+ */
931
+ fillerInjectionEnabled?: boolean;
603
932
  /** This is the voice provider that will be used. */
604
933
  provider: 'rime-ai';
605
934
  /** This is the provider-specific ID that will be used. */
606
- voiceId: 'abbie' | 'allison' | 'ally' | 'alona' | 'amber' | 'ana' | 'antoine' | 'armon' | 'brenda' | 'brittany' | 'carol' | 'colin' | 'courtney' | 'elena' | 'elliot' | 'eva' | 'geoff' | 'gerald' | 'hank' | 'helen' | 'hera' | 'jen' | 'joe' | 'joy' | 'juan' | 'kendra' | 'kendrick' | 'kenneth' | 'kevin' | 'kris' | 'linda' | 'madison' | 'marge' | 'marina' | 'marissa' | 'marta' | 'maya' | 'nicholas' | 'nyles' | 'phil' | 'reba' | 'rex' | 'rick' | 'ritu' | 'rob' | 'rodney' | 'rohan' | 'rosco' | 'samantha' | 'sandy' | 'selena' | 'seth' | 'sharon' | 'stan' | 'tamra' | 'tanya' | 'tibur' | 'tj' | 'tyler' | 'viv' | 'yadira' | string;
935
+ voiceId: 'marsh' | 'bayou' | 'creek' | 'brook' | 'flower' | 'spore' | 'glacier' | 'gulch' | 'alpine' | 'cove' | 'lagoon' | 'tundra' | 'steppe' | 'mesa' | 'grove' | 'rainforest' | 'moraine' | 'wildflower' | 'peak' | 'boulder' | 'abbie' | 'allison' | 'ally' | 'alona' | 'amber' | 'ana' | 'antoine' | 'armon' | 'brenda' | 'brittany' | 'carol' | 'colin' | 'courtney' | 'elena' | 'elliot' | 'eva' | 'geoff' | 'gerald' | 'hank' | 'helen' | 'hera' | 'jen' | 'joe' | 'joy' | 'juan' | 'kendra' | 'kendrick' | 'kenneth' | 'kevin' | 'kris' | 'linda' | 'madison' | 'marge' | 'marina' | 'marissa' | 'marta' | 'maya' | 'nicholas' | 'nyles' | 'phil' | 'reba' | 'rex' | 'rick' | 'ritu' | 'rob' | 'rodney' | 'rohan' | 'rosco' | 'samantha' | 'sandy' | 'selena' | 'seth' | 'sharon' | 'stan' | 'tamra' | 'tanya' | 'tibur' | 'tj' | 'tyler' | 'viv' | 'yadira' | string;
936
+ /**
937
+ * This is the model that will be used. Defaults to 'v1' when not specified.
938
+ * @example "v1"
939
+ */
940
+ model?: 'v1' | 'mist';
607
941
  /**
942
+ * This is the speed multiplier that will be used.
608
943
  * @min 0.1
609
944
  * @example null
610
945
  */
@@ -612,17 +947,29 @@ export interface RimeAIVoice {
612
947
  }
613
948
  export interface OpenAIVoice {
614
949
  /**
615
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
950
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
951
+ * @example true
952
+ */
953
+ inputPreprocessingEnabled?: boolean;
954
+ /**
955
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
616
956
  * @min 1
617
957
  * @max 80
618
958
  * @example 10
619
959
  */
620
960
  inputMinCharacters?: number;
621
961
  /**
622
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
962
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
623
963
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
624
964
  */
625
965
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
966
+ /**
967
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
968
+ *
969
+ * Default `false` because you can achieve better results with prompting the model.
970
+ * @example false
971
+ */
972
+ fillerInjectionEnabled?: boolean;
626
973
  /** This is the voice provider that will be used. */
627
974
  provider: 'openai';
628
975
  /** This is the provider-specific ID that will be used. */
@@ -637,17 +984,29 @@ export interface OpenAIVoice {
637
984
  }
638
985
  export interface AzureVoice {
639
986
  /**
640
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
987
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
988
+ * @example true
989
+ */
990
+ inputPreprocessingEnabled?: boolean;
991
+ /**
992
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
641
993
  * @min 1
642
994
  * @max 80
643
995
  * @example 10
644
996
  */
645
997
  inputMinCharacters?: number;
646
998
  /**
647
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
999
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
648
1000
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
649
1001
  */
650
1002
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
1003
+ /**
1004
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
1005
+ *
1006
+ * Default `false` because you can achieve better results with prompting the model.
1007
+ * @example false
1008
+ */
1009
+ fillerInjectionEnabled?: boolean;
651
1010
  /** This is the voice provider that will be used. */
652
1011
  provider: 'azure';
653
1012
  /** This is the provider-specific ID that will be used. */
@@ -661,17 +1020,29 @@ export interface AzureVoice {
661
1020
  }
662
1021
  export interface LMNTVoice {
663
1022
  /**
664
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
1023
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
1024
+ * @example true
1025
+ */
1026
+ inputPreprocessingEnabled?: boolean;
1027
+ /**
1028
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
665
1029
  * @min 1
666
1030
  * @max 80
667
1031
  * @example 10
668
1032
  */
669
1033
  inputMinCharacters?: number;
670
1034
  /**
671
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
1035
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
672
1036
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
673
1037
  */
674
1038
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
1039
+ /**
1040
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
1041
+ *
1042
+ * Default `false` because you can achieve better results with prompting the model.
1043
+ * @example false
1044
+ */
1045
+ fillerInjectionEnabled?: boolean;
675
1046
  /** This is the voice provider that will be used. */
676
1047
  provider: 'lmnt';
677
1048
  /** This is the provider-specific ID that will be used. */
@@ -686,29 +1057,160 @@ export interface LMNTVoice {
686
1057
  }
687
1058
  export interface NeetsVoice {
688
1059
  /**
689
- * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to 10.
1060
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
1061
+ * @example true
1062
+ */
1063
+ inputPreprocessingEnabled?: boolean;
1064
+ /**
1065
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
690
1066
  * @min 1
691
1067
  * @max 80
692
1068
  * @example 10
693
1069
  */
694
1070
  inputMinCharacters?: number;
695
1071
  /**
696
- * These are the punctuations that are considered valid boundaries / "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the LLM tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
1072
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
697
1073
  * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
698
1074
  */
699
1075
  inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
1076
+ /**
1077
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
1078
+ *
1079
+ * Default `false` because you can achieve better results with prompting the model.
1080
+ * @example false
1081
+ */
1082
+ fillerInjectionEnabled?: boolean;
700
1083
  /** This is the voice provider that will be used. */
701
1084
  provider: 'neets';
702
1085
  /** This is the provider-specific ID that will be used. */
703
- voiceId: 'lily' | 'daniel' | string;
1086
+ voiceId: 'vits' | string;
704
1087
  }
705
- export interface ForwardingPhoneNumber {
706
- /** This is the number to forward to. Pass one of `number` or `sipUri`. */
707
- number?: string;
708
- /** This is the SIP URI to forward to. Pass one of `number` or `sipUri`. */
709
- sipUri?: string;
710
- /** This is the message that the assistant will say when the call is forwarded to this number. */
711
- message?: string;
1088
+ export interface CartesiaVoice {
1089
+ /**
1090
+ * This determines whether the model output is preprocessed before being sent to the voice provider. This includes things like giving better hints to the voice provider on how to pronounce complex structured text like phone numbers, emails and addresses. This might add latency as it waits for the model to output a full chunk before sending it to the voice provider. Defaults to true.
1091
+ * @example true
1092
+ */
1093
+ inputPreprocessingEnabled?: boolean;
1094
+ /**
1095
+ * This is the minimum number of characters that will be passed to the voice provider. This helps decides the minimum chunk size that is sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to 30.
1096
+ * @min 1
1097
+ * @max 80
1098
+ * @example 10
1099
+ */
1100
+ inputMinCharacters?: number;
1101
+ /**
1102
+ * These are the punctuations that are considered valid boundaries and "delimiters". This helps decides the chunks that are sent to the voice provider for the voice generation as the model tokens are streaming in. Defaults to ['。', ',', '.', '!', '?', ';', ')', '،', '۔', '।', '॥', '|', '||', ',', ':'].
1103
+ * @example ["。",",",".","!","?",";",")","،","۔","।","॥","|","||",",",":"]
1104
+ */
1105
+ inputPunctuationBoundaries?: '。' | ',' | '.' | '!' | '?' | ';' | ')' | '،' | '۔' | '।' | '॥' | '|' | '||' | ',' | ':';
1106
+ /**
1107
+ * This determines whether fillers are injected into the model output before inputting it into the voice provider.
1108
+ *
1109
+ * Default `false` because you can achieve better results with prompting the model.
1110
+ * @example false
1111
+ */
1112
+ fillerInjectionEnabled?: boolean;
1113
+ /** This is the voice provider that will be used. */
1114
+ provider: 'cartesia';
1115
+ /** This is the provider-specific ID that will be used. */
1116
+ voiceId: string;
1117
+ }
1118
+ export interface TwilioVoicemailDetection {
1119
+ provider: 'twilio';
1120
+ /**
1121
+ * These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence'].
1122
+ * @example ["machine_end_beep","machine_end_silence"]
1123
+ */
1124
+ voicemailDetectionTypes?: 'machine_start' | 'human' | 'fax' | 'unknown' | 'machine_end_beep' | 'machine_end_silence' | 'machine_end_other';
1125
+ enabled?: boolean;
1126
+ /**
1127
+ * @min 3
1128
+ * @max 59
1129
+ */
1130
+ machineDetectionTimeout?: number;
1131
+ /**
1132
+ * @min 1000
1133
+ * @max 6000
1134
+ */
1135
+ machineDetectionSpeechThreshold?: number;
1136
+ /**
1137
+ * @min 500
1138
+ * @max 5000
1139
+ */
1140
+ machineDetectionSpeechEndThreshold?: number;
1141
+ /**
1142
+ * @min 2000
1143
+ * @max 10000
1144
+ */
1145
+ machineDetectionSilenceTimeout?: number;
1146
+ }
1147
+ export interface AnalysisPlan {
1148
+ /**
1149
+ * This is the prompt that's used to summarize the call. The output is stored in `call.analysis.summary`.
1150
+ *
1151
+ * Default is "You are an expert note-taker. You will be given a transcript of a call. Summarize the call in 2-3 sentences, if applicable.".
1152
+ *
1153
+ * Set to '' or 'off' to disable.
1154
+ * @maxLength 2000
1155
+ */
1156
+ summaryPrompt?: string;
1157
+ /**
1158
+ * This is the prompt that's used to evaluate if the call was successful. The output is stored in `call.analysis.successEvaluation`.
1159
+ *
1160
+ * Default is "You are an expert call evaluator. You will be given a transcript of a call and the system prompt of the AI participant. Determine if the call was successful based on the objectives inferred from the system prompt.".
1161
+ *
1162
+ * Set to '' or 'off' to disable.
1163
+ *
1164
+ * You can use this standalone or in combination with `successEvaluationRubric`. If both are provided, they are concatenated into appropriate instructions.
1165
+ * @maxLength 2000
1166
+ */
1167
+ successEvaluationPrompt?: string;
1168
+ /**
1169
+ * This enforces the rubric of the evaluation. The output is stored in `call.analysis.successEvaluation`.
1170
+ *
1171
+ * Options include:
1172
+ * - 'NumericScale': A scale of 1 to 10.
1173
+ * - 'DescriptiveScale': A scale of Excellent, Good, Fair, Poor.
1174
+ * - 'Checklist': A checklist of criteria and their status.
1175
+ * - 'Matrix': A grid that evaluates multiple criteria across different performance levels.
1176
+ * - 'PercentageScale': A scale of 0% to 100%.
1177
+ * - 'LikertScale': A scale of Strongly Agree, Agree, Neutral, Disagree, Strongly Disagree.
1178
+ * - 'AutomaticRubric': Automatically break down evaluation into several criteria, each with its own score.
1179
+ * - 'PassFail': A simple 'true' if call passed, 'false' if not.
1180
+ *
1181
+ * For 'Checklist' and 'Matrix', provide the criteria in `successEvaluationPrompt`.
1182
+ *
1183
+ * Default is 'PassFail' if `successEvaluationPrompt` is not provided, and null if `successEvaluationPrompt` is provided.
1184
+ *
1185
+ * You can use this standalone or in combination with `successEvaluationPrompt`. If both are provided, they are concatenated into appropriate instructions.
1186
+ */
1187
+ successEvaluationRubric?: 'NumericScale' | 'DescriptiveScale' | 'Checklist' | 'Matrix' | 'PercentageScale' | 'LikertScale' | 'AutomaticRubric' | 'PassFail';
1188
+ /**
1189
+ * This is the prompt that's used to extract structured data from the call. The output is stored in `call.analysis.structuredData`.
1190
+ *
1191
+ * Disabled by default.
1192
+ *
1193
+ * You can use this standalone or in combination with `structuredDataSchema`. If both are provided, they are concatenated into appropriate instructions.
1194
+ * @maxLength 2000
1195
+ */
1196
+ structuredDataPrompt?: string;
1197
+ /**
1198
+ * This enforces the schema of the structured data. This output is stored in `call.analysis.structuredData`.
1199
+ *
1200
+ * Complete guide on JSON Schema can be found [here](https://ajv.js.org/json-schema.html#json-data-type).
1201
+ *
1202
+ * Disabled by default.
1203
+ *
1204
+ * You can use this standalone or in combination with `structuredDataPrompt`. If both are provided, they are concatenated into appropriate instructions.
1205
+ */
1206
+ structuredDataSchema?: JsonSchema;
1207
+ }
1208
+ export interface ArtifactPlan {
1209
+ /**
1210
+ * This sets whether the video is recorded with Daily. Defaults to false.
1211
+ * @example true
1212
+ */
1213
+ videoRecordingEnabled?: boolean;
712
1214
  }
713
1215
  export interface CreateAssistantDTO {
714
1216
  /** These are the options for the assistant's transcriber. */
@@ -719,12 +1221,7 @@ export interface CreateAssistantDTO {
719
1221
  * These are the options for the assistant's voice.
720
1222
  * @default {"provider":"playht","voiceId":"jennifer"}
721
1223
  */
722
- voice?: AzureVoice | ElevenLabsVoice | PlayHTVoice | RimeAIVoice | DeepgramVoice | OpenAIVoice | LMNTVoice | NeetsVoice;
723
- /**
724
- * This is the number to forward to if assistant runs into issues.
725
- * @example null
726
- */
727
- forwardingPhoneNumber?: string;
1224
+ voice?: AzureVoice | DeepgramVoice | ElevenLabsVoice | LMNTVoice | NeetsVoice | OpenAIVoice | PlayHTVoice | RimeAIVoice | CartesiaVoice;
728
1225
  /**
729
1226
  * This is the mode for the first message. Default is 'assistant-speaks-first'.
730
1227
  *
@@ -732,26 +1229,11 @@ export interface CreateAssistantDTO {
732
1229
  * @example "assistant-speaks-first"
733
1230
  */
734
1231
  firstMessageMode?: 'assistant-speaks-first' | 'assistant-waits-for-user';
735
- /**
736
- * These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence', 'machine_end_other'].
737
- * @example ["machine_end_beep","machine_end_silence","machine_end_other"]
738
- */
739
- voicemailDetectionTypes?: 'machine_start' | 'human' | 'fax' | 'unknown' | 'machine_end_beep' | 'machine_end_silence' | 'machine_end_other';
740
1232
  /**
741
1233
  * This sets whether the assistant's calls are recorded. Defaults to true.
742
1234
  * @example true
743
1235
  */
744
1236
  recordingEnabled?: boolean;
745
- /**
746
- * This sets whether the assistant will be able to hang up the call. Defaults to false.
747
- * @example false
748
- */
749
- endCallFunctionEnabled?: boolean;
750
- /**
751
- * This sets whether the assistant can dial digits on the keypad. Defaults to false.
752
- * @default null
753
- */
754
- dialKeypadFunctionEnabled?: boolean;
755
1237
  /**
756
1238
  * When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.
757
1239
  * @example false
@@ -761,12 +1243,12 @@ export interface CreateAssistantDTO {
761
1243
  * These are the messages that will be sent to the Client SDKs. Default is ['transcript', 'hang', 'tool-calls', 'speech-update', 'metadata', 'conversation-update']
762
1244
  * @example ["transcript","hang","tool-calls","speech-update","metadata","conversation-update"]
763
1245
  */
764
- clientMessages?: ('status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input')[];
1246
+ clientMessages?: 'status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input';
765
1247
  /**
766
1248
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'tool-calls']
767
1249
  * @example ["end-of-call-report","status-update","hang","tool-calls"]
768
1250
  */
769
- serverMessages?: ('status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input')[];
1251
+ serverMessages?: 'status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input';
770
1252
  /**
771
1253
  * How many seconds of silence to wait before ending the call. Defaults to 30.
772
1254
  * @min 10
@@ -808,17 +1290,18 @@ export interface CreateAssistantDTO {
808
1290
  */
809
1291
  backgroundSound?: 'off' | 'office';
810
1292
  /**
811
- * backchanneling is the bot say while listening like 'mhmm', 'ahem' etc. this make the conversation sounds natural. Default True
1293
+ * This determines whether the model says 'mhmm', 'ahem' etc. while user is speaking.
1294
+ *
1295
+ * Default `false` while in beta.
812
1296
  * @example true
813
1297
  */
814
1298
  backchannelingEnabled?: boolean;
815
1299
  /**
816
- * This is the name of the assistant. This is just for your own reference.
1300
+ * This is the name of the assistant.
1301
+ * This is only required to transfer calls between assistants.
817
1302
  * @maxLength 100
818
1303
  */
819
1304
  name?: string;
820
- /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
821
- forwardingPhoneNumbers?: ForwardingPhoneNumber[];
822
1305
  /**
823
1306
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
824
1307
  *
@@ -826,8 +1309,8 @@ export interface CreateAssistantDTO {
826
1309
  * @maxLength 1000
827
1310
  */
828
1311
  firstMessage?: string;
829
- /** This sets whether the assistant should detect voicemail. Defaults to true. */
830
- voicemailDetectionEnabled?: boolean;
1312
+ /** These are the settings to configure or disable voicemail detection. */
1313
+ voicemailDetection?: TwilioVoicemailDetection;
831
1314
  /**
832
1315
  * This is the message that the assistant will say if the call is forwarded to voicemail.
833
1316
  *
@@ -857,18 +1340,11 @@ export interface CreateAssistantDTO {
857
1340
  /**
858
1341
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
859
1342
  *
860
- * Same precendence logic as serverUrl.
1343
+ * Same precedence logic as serverUrl.
861
1344
  */
862
1345
  serverUrlSecret?: string;
863
- /**
864
- * This is the prompt that's used to summarize the call at the end.
865
- *
866
- * Default is 'You are an expert note-taker. You will be given a transcript of a conversation. Please summarize the conversation in 4-5 sentences if applicable.'
867
- *
868
- * Set to '' or 'off' to disable post-call summarization.
869
- * @maxLength 2000
870
- */
871
- summaryPrompt?: string;
1346
+ analysisPlan?: AnalysisPlan;
1347
+ artifactPlan?: ArtifactPlan;
872
1348
  }
873
1349
  export interface Assistant {
874
1350
  /** These are the options for the assistant's transcriber. */
@@ -879,12 +1355,7 @@ export interface Assistant {
879
1355
  * These are the options for the assistant's voice.
880
1356
  * @default {"provider":"playht","voiceId":"jennifer"}
881
1357
  */
882
- voice?: AzureVoice | ElevenLabsVoice | PlayHTVoice | RimeAIVoice | DeepgramVoice | OpenAIVoice | LMNTVoice | NeetsVoice;
883
- /**
884
- * This is the number to forward to if assistant runs into issues.
885
- * @example null
886
- */
887
- forwardingPhoneNumber?: string;
1358
+ voice?: AzureVoice | DeepgramVoice | ElevenLabsVoice | LMNTVoice | NeetsVoice | OpenAIVoice | PlayHTVoice | RimeAIVoice | CartesiaVoice;
888
1359
  /**
889
1360
  * This is the mode for the first message. Default is 'assistant-speaks-first'.
890
1361
  *
@@ -892,26 +1363,11 @@ export interface Assistant {
892
1363
  * @example "assistant-speaks-first"
893
1364
  */
894
1365
  firstMessageMode?: 'assistant-speaks-first' | 'assistant-waits-for-user';
895
- /**
896
- * These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence', 'machine_end_other'].
897
- * @example ["machine_end_beep","machine_end_silence","machine_end_other"]
898
- */
899
- voicemailDetectionTypes?: 'machine_start' | 'human' | 'fax' | 'unknown' | 'machine_end_beep' | 'machine_end_silence' | 'machine_end_other';
900
1366
  /**
901
1367
  * This sets whether the assistant's calls are recorded. Defaults to true.
902
1368
  * @example true
903
1369
  */
904
1370
  recordingEnabled?: boolean;
905
- /**
906
- * This sets whether the assistant will be able to hang up the call. Defaults to false.
907
- * @example false
908
- */
909
- endCallFunctionEnabled?: boolean;
910
- /**
911
- * This sets whether the assistant can dial digits on the keypad. Defaults to false.
912
- * @default null
913
- */
914
- dialKeypadFunctionEnabled?: boolean;
915
1371
  /**
916
1372
  * When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.
917
1373
  * @example false
@@ -921,12 +1377,12 @@ export interface Assistant {
921
1377
  * These are the messages that will be sent to the Client SDKs. Default is ['transcript', 'hang', 'tool-calls', 'speech-update', 'metadata', 'conversation-update']
922
1378
  * @example ["transcript","hang","tool-calls","speech-update","metadata","conversation-update"]
923
1379
  */
924
- clientMessages?: ('status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input')[];
1380
+ clientMessages?: 'status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input';
925
1381
  /**
926
1382
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'tool-calls']
927
1383
  * @example ["end-of-call-report","status-update","hang","tool-calls"]
928
1384
  */
929
- serverMessages?: ('status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input')[];
1385
+ serverMessages?: 'status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input';
930
1386
  /**
931
1387
  * How many seconds of silence to wait before ending the call. Defaults to 30.
932
1388
  * @min 10
@@ -968,17 +1424,18 @@ export interface Assistant {
968
1424
  */
969
1425
  backgroundSound?: 'off' | 'office';
970
1426
  /**
971
- * backchanneling is the bot say while listening like 'mhmm', 'ahem' etc. this make the conversation sounds natural. Default True
1427
+ * This determines whether the model says 'mhmm', 'ahem' etc. while user is speaking.
1428
+ *
1429
+ * Default `false` while in beta.
972
1430
  * @example true
973
1431
  */
974
1432
  backchannelingEnabled?: boolean;
975
1433
  /**
976
- * This is the name of the assistant. This is just for your own reference.
1434
+ * This is the name of the assistant.
1435
+ * This is only required to transfer calls between assistants.
977
1436
  * @maxLength 100
978
1437
  */
979
1438
  name?: string;
980
- /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
981
- forwardingPhoneNumbers?: ForwardingPhoneNumber[];
982
1439
  /**
983
1440
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
984
1441
  *
@@ -986,8 +1443,8 @@ export interface Assistant {
986
1443
  * @maxLength 1000
987
1444
  */
988
1445
  firstMessage?: string;
989
- /** This sets whether the assistant should detect voicemail. Defaults to true. */
990
- voicemailDetectionEnabled?: boolean;
1446
+ /** These are the settings to configure or disable voicemail detection. */
1447
+ voicemailDetection?: TwilioVoicemailDetection;
991
1448
  /**
992
1449
  * This is the message that the assistant will say if the call is forwarded to voicemail.
993
1450
  *
@@ -1017,18 +1474,11 @@ export interface Assistant {
1017
1474
  /**
1018
1475
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
1019
1476
  *
1020
- * Same precendence logic as serverUrl.
1477
+ * Same precedence logic as serverUrl.
1021
1478
  */
1022
1479
  serverUrlSecret?: string;
1023
- /**
1024
- * This is the prompt that's used to summarize the call at the end.
1025
- *
1026
- * Default is 'You are an expert note-taker. You will be given a transcript of a conversation. Please summarize the conversation in 4-5 sentences if applicable.'
1027
- *
1028
- * Set to '' or 'off' to disable post-call summarization.
1029
- * @maxLength 2000
1030
- */
1031
- summaryPrompt?: string;
1480
+ analysisPlan?: AnalysisPlan;
1481
+ artifactPlan?: ArtifactPlan;
1032
1482
  /** This is the unique identifier for the assistant. */
1033
1483
  id: string;
1034
1484
  /** This is the unique identifier for the org that this assistant belongs to. */
@@ -1053,12 +1503,7 @@ export interface UpdateAssistantDTO {
1053
1503
  * These are the options for the assistant's voice.
1054
1504
  * @default {"provider":"playht","voiceId":"jennifer"}
1055
1505
  */
1056
- voice?: AzureVoice | ElevenLabsVoice | PlayHTVoice | RimeAIVoice | DeepgramVoice | OpenAIVoice | LMNTVoice | NeetsVoice;
1057
- /**
1058
- * This is the number to forward to if assistant runs into issues.
1059
- * @example null
1060
- */
1061
- forwardingPhoneNumber?: string;
1506
+ voice?: AzureVoice | DeepgramVoice | ElevenLabsVoice | LMNTVoice | NeetsVoice | OpenAIVoice | PlayHTVoice | RimeAIVoice | CartesiaVoice;
1062
1507
  /**
1063
1508
  * This is the mode for the first message. Default is 'assistant-speaks-first'.
1064
1509
  *
@@ -1066,26 +1511,11 @@ export interface UpdateAssistantDTO {
1066
1511
  * @example "assistant-speaks-first"
1067
1512
  */
1068
1513
  firstMessageMode?: 'assistant-speaks-first' | 'assistant-waits-for-user';
1069
- /**
1070
- * These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence', 'machine_end_other'].
1071
- * @example ["machine_end_beep","machine_end_silence","machine_end_other"]
1072
- */
1073
- voicemailDetectionTypes?: 'machine_start' | 'human' | 'fax' | 'unknown' | 'machine_end_beep' | 'machine_end_silence' | 'machine_end_other';
1074
1514
  /**
1075
1515
  * This sets whether the assistant's calls are recorded. Defaults to true.
1076
1516
  * @example true
1077
1517
  */
1078
1518
  recordingEnabled?: boolean;
1079
- /**
1080
- * This sets whether the assistant will be able to hang up the call. Defaults to false.
1081
- * @example false
1082
- */
1083
- endCallFunctionEnabled?: boolean;
1084
- /**
1085
- * This sets whether the assistant can dial digits on the keypad. Defaults to false.
1086
- * @default null
1087
- */
1088
- dialKeypadFunctionEnabled?: boolean;
1089
1519
  /**
1090
1520
  * When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.
1091
1521
  * @example false
@@ -1095,12 +1525,12 @@ export interface UpdateAssistantDTO {
1095
1525
  * These are the messages that will be sent to the Client SDKs. Default is ['transcript', 'hang', 'tool-calls', 'speech-update', 'metadata', 'conversation-update']
1096
1526
  * @example ["transcript","hang","tool-calls","speech-update","metadata","conversation-update"]
1097
1527
  */
1098
- clientMessages?: ('status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input')[];
1528
+ clientMessages?: 'status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input';
1099
1529
  /**
1100
1530
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'tool-calls']
1101
1531
  * @example ["end-of-call-report","status-update","hang","tool-calls"]
1102
1532
  */
1103
- serverMessages?: ('status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input')[];
1533
+ serverMessages?: 'status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input';
1104
1534
  /**
1105
1535
  * How many seconds of silence to wait before ending the call. Defaults to 30.
1106
1536
  * @min 10
@@ -1142,17 +1572,18 @@ export interface UpdateAssistantDTO {
1142
1572
  */
1143
1573
  backgroundSound?: 'off' | 'office';
1144
1574
  /**
1145
- * backchanneling is the bot say while listening like 'mhmm', 'ahem' etc. this make the conversation sounds natural. Default True
1575
+ * This determines whether the model says 'mhmm', 'ahem' etc. while user is speaking.
1576
+ *
1577
+ * Default `false` while in beta.
1146
1578
  * @example true
1147
1579
  */
1148
1580
  backchannelingEnabled?: boolean;
1149
1581
  /**
1150
- * This is the name of the assistant. This is just for your own reference.
1582
+ * This is the name of the assistant.
1583
+ * This is only required to transfer calls between assistants.
1151
1584
  * @maxLength 100
1152
1585
  */
1153
1586
  name?: string;
1154
- /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
1155
- forwardingPhoneNumbers?: ForwardingPhoneNumber[];
1156
1587
  /**
1157
1588
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
1158
1589
  *
@@ -1160,8 +1591,8 @@ export interface UpdateAssistantDTO {
1160
1591
  * @maxLength 1000
1161
1592
  */
1162
1593
  firstMessage?: string;
1163
- /** This sets whether the assistant should detect voicemail. Defaults to true. */
1164
- voicemailDetectionEnabled?: boolean;
1594
+ /** These are the settings to configure or disable voicemail detection. */
1595
+ voicemailDetection?: TwilioVoicemailDetection;
1165
1596
  /**
1166
1597
  * This is the message that the assistant will say if the call is forwarded to voicemail.
1167
1598
  *
@@ -1191,18 +1622,31 @@ export interface UpdateAssistantDTO {
1191
1622
  /**
1192
1623
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
1193
1624
  *
1194
- * Same precendence logic as serverUrl.
1625
+ * Same precedence logic as serverUrl.
1195
1626
  */
1196
1627
  serverUrlSecret?: string;
1197
- /**
1198
- * This is the prompt that's used to summarize the call at the end.
1199
- *
1200
- * Default is 'You are an expert note-taker. You will be given a transcript of a conversation. Please summarize the conversation in 4-5 sentences if applicable.'
1201
- *
1202
- * Set to '' or 'off' to disable post-call summarization.
1203
- * @maxLength 2000
1204
- */
1205
- summaryPrompt?: string;
1628
+ analysisPlan?: AnalysisPlan;
1629
+ artifactPlan?: ArtifactPlan;
1630
+ }
1631
+ export interface AnalysisCostBreakdown {
1632
+ /** This is the cost to summarize the call. */
1633
+ summary?: number;
1634
+ /** This is the number of prompt tokens used to summarize the call. */
1635
+ summaryPromptTokens?: number;
1636
+ /** This is the number of completion tokens used to summarize the call. */
1637
+ summaryCompletionTokens?: number;
1638
+ /** This is the cost to extract structured data from the call. */
1639
+ structuredData?: number;
1640
+ /** This is the number of prompt tokens used to extract structured data from the call. */
1641
+ structuredDataPromptTokens?: number;
1642
+ /** This is the number of completion tokens used to extract structured data from the call. */
1643
+ structuredDataCompletionTokens?: number;
1644
+ /** This is the cost to evaluate if the call was successful. */
1645
+ successEvaluation?: number;
1646
+ /** This is the number of prompt tokens used to evaluate if the call was successful. */
1647
+ successEvaluationPromptTokens?: number;
1648
+ /** This is the number of completion tokens used to evaluate if the call was successful. */
1649
+ successEvaluationCompletionTokens?: number;
1206
1650
  }
1207
1651
  export interface CostBreakdown {
1208
1652
  /** This is the cost of the transport provider, like Twilio or Vonage. */
@@ -1223,6 +1667,20 @@ export interface CostBreakdown {
1223
1667
  llmCompletionTokens?: number;
1224
1668
  /** This is the TTS characters used for the call. */
1225
1669
  ttsCharacters?: number;
1670
+ /** This is the cost of the analysis. */
1671
+ analysisCostBreakdown?: AnalysisCostBreakdown;
1672
+ }
1673
+ export interface Analysis {
1674
+ /** This is the summary of the call. Customize by setting `assistant.analysisPlan.summaryPrompt`. */
1675
+ summary?: string;
1676
+ /** This is the structured data extracted from the call. Customize by setting `assistant.analysisPlan.structuredDataPrompt` and/or `assistant.analysisPlan.structuredDataSchema`. */
1677
+ structuredData?: string;
1678
+ /** This is the evaluation of the call. Customize by setting `assistant.analysisPlan.successEvaluationPrompt` and/or `assistant.analysisPlan.successEvaluationRubric`. */
1679
+ successEvaluation?: string;
1680
+ }
1681
+ export interface Artifact {
1682
+ /** Video recording url if assistant.artifactPlan.videoRecordingEnabled was set to true */
1683
+ videoRecordingUrl?: string;
1226
1684
  }
1227
1685
  export interface PhoneCallTwilioDetails {
1228
1686
  statusCallbackEvent?: 'initiated' | 'ringing' | 'answered' | 'completed';
@@ -1231,6 +1689,26 @@ export interface PhoneCallTwilioDetails {
1231
1689
  from: string;
1232
1690
  twiml?: string;
1233
1691
  statusCallback?: string;
1692
+ /** The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds. */
1693
+ machineDetectionTimeout?: number;
1694
+ /**
1695
+ * The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.
1696
+ * @min 1000
1697
+ * @max 6000
1698
+ */
1699
+ machineDetectionSpeechThreshold?: number;
1700
+ /**
1701
+ * The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
1702
+ * @min 500
1703
+ * @max 5000
1704
+ */
1705
+ machineDetectionSpeechEndThreshold?: number;
1706
+ /**
1707
+ * The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
1708
+ * @min 2000
1709
+ * @max 10000
1710
+ */
1711
+ machineDetectionSilenceTimeout?: number;
1234
1712
  asyncAmd?: string;
1235
1713
  asyncAmdStatusCallback?: string;
1236
1714
  record?: boolean;
@@ -1244,12 +1722,7 @@ export interface OverrideAssistantDTO {
1244
1722
  * These are the options for the assistant's voice.
1245
1723
  * @default {"provider":"playht","voiceId":"jennifer"}
1246
1724
  */
1247
- voice?: AzureVoice | ElevenLabsVoice | PlayHTVoice | RimeAIVoice | DeepgramVoice | OpenAIVoice | LMNTVoice | NeetsVoice;
1248
- /**
1249
- * This is the number to forward to if assistant runs into issues.
1250
- * @example null
1251
- */
1252
- forwardingPhoneNumber?: string;
1725
+ voice?: AzureVoice | DeepgramVoice | ElevenLabsVoice | LMNTVoice | NeetsVoice | OpenAIVoice | PlayHTVoice | RimeAIVoice | CartesiaVoice;
1253
1726
  /**
1254
1727
  * This is the mode for the first message. Default is 'assistant-speaks-first'.
1255
1728
  *
@@ -1257,26 +1730,11 @@ export interface OverrideAssistantDTO {
1257
1730
  * @example "assistant-speaks-first"
1258
1731
  */
1259
1732
  firstMessageMode?: 'assistant-speaks-first' | 'assistant-waits-for-user';
1260
- /**
1261
- * These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence', 'machine_end_other'].
1262
- * @example ["machine_end_beep","machine_end_silence","machine_end_other"]
1263
- */
1264
- voicemailDetectionTypes?: 'machine_start' | 'human' | 'fax' | 'unknown' | 'machine_end_beep' | 'machine_end_silence' | 'machine_end_other';
1265
1733
  /**
1266
1734
  * This sets whether the assistant's calls are recorded. Defaults to true.
1267
1735
  * @example true
1268
1736
  */
1269
1737
  recordingEnabled?: boolean;
1270
- /**
1271
- * This sets whether the assistant will be able to hang up the call. Defaults to false.
1272
- * @example false
1273
- */
1274
- endCallFunctionEnabled?: boolean;
1275
- /**
1276
- * This sets whether the assistant can dial digits on the keypad. Defaults to false.
1277
- * @default null
1278
- */
1279
- dialKeypadFunctionEnabled?: boolean;
1280
1738
  /**
1281
1739
  * When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.
1282
1740
  * @example false
@@ -1286,12 +1744,12 @@ export interface OverrideAssistantDTO {
1286
1744
  * These are the messages that will be sent to the Client SDKs. Default is ['transcript', 'hang', 'tool-calls', 'speech-update', 'metadata', 'conversation-update']
1287
1745
  * @example ["transcript","hang","tool-calls","speech-update","metadata","conversation-update"]
1288
1746
  */
1289
- clientMessages?: ('status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input')[];
1747
+ clientMessages?: 'status-update' | 'speech-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'metadata' | 'conversation-update' | 'model-output' | 'voice-input';
1290
1748
  /**
1291
1749
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'tool-calls']
1292
1750
  * @example ["end-of-call-report","status-update","hang","tool-calls"]
1293
1751
  */
1294
- serverMessages?: ('status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input')[];
1752
+ serverMessages?: 'status-update' | 'transcript' | 'hang' | 'function-call' | 'tool-calls' | 'end-of-call-report' | 'conversation-update' | 'phone-call-control' | 'model-output' | 'voice-input';
1295
1753
  /**
1296
1754
  * How many seconds of silence to wait before ending the call. Defaults to 30.
1297
1755
  * @min 10
@@ -1333,19 +1791,20 @@ export interface OverrideAssistantDTO {
1333
1791
  */
1334
1792
  backgroundSound?: 'off' | 'office';
1335
1793
  /**
1336
- * backchanneling is the bot say while listening like 'mhmm', 'ahem' etc. this make the conversation sounds natural. Default True
1794
+ * This determines whether the model says 'mhmm', 'ahem' etc. while user is speaking.
1795
+ *
1796
+ * Default `false` while in beta.
1337
1797
  * @example true
1338
1798
  */
1339
1799
  backchannelingEnabled?: boolean;
1340
1800
  /** These are template variables that will be replaced in the assistant messages and prompts. */
1341
1801
  variableValues?: object;
1342
1802
  /**
1343
- * This is the name of the assistant. This is just for your own reference.
1803
+ * This is the name of the assistant.
1804
+ * This is only required to transfer calls between assistants.
1344
1805
  * @maxLength 100
1345
1806
  */
1346
1807
  name?: string;
1347
- /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
1348
- forwardingPhoneNumbers?: ForwardingPhoneNumber[];
1349
1808
  /**
1350
1809
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
1351
1810
  *
@@ -1353,8 +1812,8 @@ export interface OverrideAssistantDTO {
1353
1812
  * @maxLength 1000
1354
1813
  */
1355
1814
  firstMessage?: string;
1356
- /** This sets whether the assistant should detect voicemail. Defaults to true. */
1357
- voicemailDetectionEnabled?: boolean;
1815
+ /** These are the settings to configure or disable voicemail detection. */
1816
+ voicemailDetection?: TwilioVoicemailDetection;
1358
1817
  /**
1359
1818
  * This is the message that the assistant will say if the call is forwarded to voicemail.
1360
1819
  *
@@ -1384,21 +1843,34 @@ export interface OverrideAssistantDTO {
1384
1843
  /**
1385
1844
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
1386
1845
  *
1387
- * Same precendence logic as serverUrl.
1846
+ * Same precedence logic as serverUrl.
1388
1847
  */
1389
1848
  serverUrlSecret?: string;
1849
+ analysisPlan?: AnalysisPlan;
1850
+ artifactPlan?: ArtifactPlan;
1851
+ }
1852
+ export interface SquadMemberDTO {
1853
+ /** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
1854
+ assistantId?: string | null;
1855
+ /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
1856
+ assistant?: CreateAssistantDTO;
1857
+ /** Overrides for a single assistant's settings and template variables. */
1858
+ assistantOverrides?: OverrideAssistantDTO;
1390
1859
  /**
1391
- * This is the prompt that's used to summarize the call at the end.
1392
- *
1393
- * Default is 'You are an expert note-taker. You will be given a transcript of a conversation. Please summarize the conversation in 4-5 sentences if applicable.'
1394
- *
1395
- * Set to '' or 'off' to disable post-call summarization.
1396
- * @maxLength 2000
1860
+ * These are the others assistants that this assistant can transfer to.
1861
+ * These destinations are in addition to destinations that already exist in the assistant's TransferCall tool.
1397
1862
  */
1398
- summaryPrompt?: string;
1863
+ assistantDestinations?: AssistantTransferDestination[];
1399
1864
  }
1400
- export interface CreateCustomerDTO {
1401
- /** This is the number of the customer. */
1865
+ export interface CreateSquadDTO {
1866
+ /**
1867
+ * The list of assistant members in the squad. By default, the call will start
1868
+ * with the first assistant supplied in the list.
1869
+ */
1870
+ members: SquadMemberDTO[];
1871
+ }
1872
+ export interface CreateCustomerDTO {
1873
+ /** This is the number of the customer. */
1402
1874
  number?: string;
1403
1875
  /**
1404
1876
  * This is the name of the customer. This is just for your own reference.
@@ -1462,14 +1934,7 @@ export interface Call {
1462
1934
  /** This is the status of the call. */
1463
1935
  status?: 'queued' | 'ringing' | 'in-progress' | 'forwarding' | 'ended';
1464
1936
  /** This is the explanation for how the call ended. */
1465
- endedReason?: 'assistant-error' | 'assistant-not-found' | 'db-error' | 'no-server-available' | 'pipeline-error-extra-function-failed' | 'pipeline-error-first-message-failed' | 'pipeline-error-function-filler-failed' | 'pipeline-error-function-failed' | 'pipeline-error-openai-llm-failed' | 'pipeline-error-azure-openai-llm-failed' | 'pipeline-error-together-ai-llm-failed' | 'pipeline-error-anyscale-llm-failed' | 'pipeline-error-openrouter-llm-failed' | 'pipeline-error-perplexity-ai-llm-failed' | 'pipeline-error-deepinfra-llm-failed' | 'pipeline-error-runpod-llm-failed' | 'pipeline-error-groq-llm-failed' | 'pipeline-error-anthropic-llm-failed' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-deepgram-transcriber-failed' | 'pipeline-error-deepgram-voice-failed' | 'pipeline-error-eleven-labs-voice-failed' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-playht-voice-failed' | 'pipeline-error-lmnt-voice-failed' | 'pipeline-error-azure-voice-failed' | 'pipeline-error-rime-ai-voice-failed' | 'pipeline-error-neets-voice-failed' | 'pipeline-no-available-llm-model' | 'server-shutdown' | 'twilio-failed-to-connect-call' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'vapi-error-phone-call-worker-setup-socket-error' | 'vapi-error-phone-call-worker-worker-setup-socket-timeout' | 'vapi-error-phone-call-worker-could-not-find-call' | 'vapi-error-phone-call-worker-call-never-connected' | 'vapi-error-web-call-worker-setup-failed' | 'assistant-not-invalid' | 'assistant-not-provided' | 'assistant-request-returned-error' | 'assistant-request-returned-invalid-assistant' | 'assistant-request-returned-no-assistant' | 'assistant-request-returned-forwarding-phone-number' | 'assistant-ended-call' | 'assistant-said-end-call-phrase' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'customer-busy' | 'customer-ended-call' | 'customer-did-not-answer' | 'customer-did-not-give-microphone-permission' | 'exceeded-max-duration' | 'manually-canceled' | 'phone-call-provider-closed-websocket' | 'pipeline-error-custom-llm-llm-failed' | 'silence-timed-out' | 'voicemail' | 'vonage-rejected';
1466
- /**
1467
- * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
1468
- * @min 10
1469
- * @max 3600
1470
- * @example 1800
1471
- */
1472
- maxDurationSeconds?: number;
1937
+ endedReason?: 'assistant-error' | 'assistant-not-found' | 'db-error' | 'no-server-available' | 'pipeline-error-extra-function-failed' | 'pipeline-error-first-message-failed' | 'pipeline-error-function-filler-failed' | 'pipeline-error-function-failed' | 'pipeline-error-openai-llm-failed' | 'pipeline-error-azure-openai-llm-failed' | 'pipeline-error-together-ai-llm-failed' | 'pipeline-error-anyscale-llm-failed' | 'pipeline-error-openrouter-llm-failed' | 'pipeline-error-perplexity-ai-llm-failed' | 'pipeline-error-deepinfra-llm-failed' | 'pipeline-error-runpod-llm-failed' | 'pipeline-error-groq-llm-failed' | 'pipeline-error-anthropic-llm-failed' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-failed' | 'pipeline-error-deepgram-transcriber-failed' | 'pipeline-error-deepgram-voice-failed' | 'pipeline-error-eleven-labs-voice-failed' | 'pipeline-error-playht-voice-failed' | 'pipeline-error-lmnt-voice-failed' | 'pipeline-error-azure-voice-failed' | 'pipeline-error-rime-ai-voice-failed' | 'pipeline-error-neets-voice-failed' | 'pipeline-no-available-llm-model' | 'server-shutdown' | 'twilio-failed-to-connect-call' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'vapi-error-phone-call-worker-setup-socket-error' | 'vapi-error-phone-call-worker-worker-setup-socket-timeout' | 'vapi-error-phone-call-worker-could-not-find-call' | 'vapi-error-phone-call-worker-call-never-connected' | 'vapi-error-web-call-worker-setup-failed' | 'assistant-not-invalid' | 'assistant-not-provided' | 'assistant-request-returned-error' | 'assistant-request-returned-invalid-assistant' | 'assistant-request-returned-no-assistant' | 'assistant-request-returned-forwarding-phone-number' | 'assistant-ended-call' | 'assistant-said-end-call-phrase' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'customer-busy' | 'customer-ended-call' | 'customer-did-not-answer' | 'customer-did-not-give-microphone-permission' | 'incoming-client-message-say-ended-call' | 'exceeded-max-duration' | 'manually-canceled' | 'phone-call-provider-closed-websocket' | 'pipeline-error-custom-llm-llm-failed' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-blocked-free-plan' | 'pipeline-error-eleven-labs-blocked-concurrent-requests' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-system-busy-and-requested-upgrade' | 'pipeline-error-eleven-labs-voice-not-fine-tuned' | 'pipeline-error-eleven-labs-invalid-api-key' | 'pipeline-error-playht-request-timed-out' | 'pipeline-error-playht-invalid-voice' | 'pipeline-error-playht-unexpected-error' | 'pipeline-error-playht-out-of-credits' | 'pipeline-error-playht-rate-limit-exceeded' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'silence-timed-out' | 'voicemail' | 'vonage-rejected';
1473
1938
  /** This is the unique identifier for the call. */
1474
1939
  id: string;
1475
1940
  /** This is the unique identifier for the org that this call belongs to. */
@@ -1504,8 +1969,12 @@ export interface Call {
1504
1969
  recordingUrl?: string;
1505
1970
  /** This is the URL of the recording of the call in two channels. */
1506
1971
  stereoRecordingUrl?: string;
1507
- /** This is the summary of the call. */
1508
- summary?: string;
1972
+ /** This is the analysis of the call. Customize the analysis by setting `assistant.analysisPlan`. */
1973
+ analysis?: Analysis;
1974
+ /** This is the artifacts related to the call. Customize the analysis by setting `assistant.artifactPlan`. */
1975
+ artifact?: Artifact;
1976
+ /** This stores a copy of assistant.artifactPlan. */
1977
+ artifactPlan?: ArtifactPlan;
1509
1978
  /** These are the messages that were spoken during the call. */
1510
1979
  messages?: object[];
1511
1980
  /**
@@ -1538,10 +2007,14 @@ export interface Call {
1538
2007
  forwardedPhoneNumber?: string;
1539
2008
  /** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
1540
2009
  assistantId?: string | null;
1541
- /** Overrides for the assistant's settings and template variables. */
1542
- assistantOverrides?: OverrideAssistantDTO;
1543
2010
  /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
1544
2011
  assistant?: CreateAssistantDTO;
2012
+ /** These are the overrides for the `assistant` or `assistantId`'s settings and template variables. */
2013
+ assistantOverrides?: OverrideAssistantDTO;
2014
+ /** This is the squad that will be used for the call. To use a transient squad, use `squad` instead. */
2015
+ squadId?: string;
2016
+ /** This is a squad that will be used for the call. To use an existing squad, use `squadId` instead. */
2017
+ squad?: CreateSquadDTO;
1545
2018
  /**
1546
2019
  * This is the customer that will be called. To call a transient customer , use `customer` instead.
1547
2020
  *
@@ -1570,19 +2043,6 @@ export interface Call {
1570
2043
  metadata?: object;
1571
2044
  }
1572
2045
  export interface CreateOutboundCallDTO {
1573
- /**
1574
- * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
1575
- * @min 10
1576
- * @max 3600
1577
- * @example 1800
1578
- */
1579
- maxDurationSeconds?: number;
1580
- /** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
1581
- assistantId?: string | null;
1582
- /** Overrides for the assistant's settings and template variables. */
1583
- assistantOverrides?: OverrideAssistantDTO;
1584
- /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
1585
- assistant?: CreateAssistantDTO;
1586
2046
  /**
1587
2047
  * This is the customer that will be called. To call a transient customer , use `customer` instead.
1588
2048
  *
@@ -1609,11 +2069,121 @@ export interface CreateOutboundCallDTO {
1609
2069
  phoneNumber?: ImportTwilioPhoneNumberDTO;
1610
2070
  /** This is the metadata associated with the call. */
1611
2071
  metadata?: object;
2072
+ /** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
2073
+ assistantId?: string | null;
2074
+ /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
2075
+ assistant?: CreateAssistantDTO;
2076
+ /** These are the overrides for the `assistant` or `assistantId`'s settings and template variables. */
2077
+ assistantOverrides?: OverrideAssistantDTO;
2078
+ /** This is the squad that will be used for the call. To use a transient squad, use `squad` instead. */
2079
+ squadId?: string;
2080
+ /** This is a squad that will be used for the call. To use an existing squad, use `squadId` instead. */
2081
+ squad?: CreateSquadDTO;
2082
+ }
2083
+ export interface CreateWebCallDTO {
2084
+ /** This will expose SIP URI you can use to connect to the call. Disabled by default. */
2085
+ sipEnabled?: boolean;
2086
+ /** This is the metadata associated with the call. */
2087
+ metadata?: object;
2088
+ /** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
2089
+ assistantId?: string | null;
2090
+ /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
2091
+ assistant?: CreateAssistantDTO;
2092
+ /** These are the overrides for the `assistant` or `assistantId`'s settings and template variables. */
2093
+ assistantOverrides?: OverrideAssistantDTO;
2094
+ /** This is the squad that will be used for the call. To use a transient squad, use `squad` instead. */
2095
+ squadId?: string;
2096
+ /** This is a squad that will be used for the call. To use an existing squad, use `squadId` instead. */
2097
+ squad?: CreateSquadDTO;
2098
+ }
2099
+ export interface UpdateCallDTO {
2100
+ /** This is the metadata associated with the call. */
2101
+ metadata?: object;
1612
2102
  }
1613
- export interface TwilioCredential {
1614
- provider: 'twilio';
2103
+ export interface AnyscaleCredential {
2104
+ provider: 'anyscale';
1615
2105
  /** This is not returned in the API. */
1616
- authToken: string;
2106
+ apiKey: string;
2107
+ /** This is the unique identifier for the credential. */
2108
+ id: string;
2109
+ /** This is the unique identifier for the org that this credential belongs to. */
2110
+ orgId: string;
2111
+ /**
2112
+ * This is the ISO 8601 date-time string of when the credential was created.
2113
+ * @format date-time
2114
+ */
2115
+ createdAt: string;
2116
+ /**
2117
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
2118
+ * @format date-time
2119
+ */
2120
+ updatedAt: string;
2121
+ }
2122
+ export interface AnthropicCredential {
2123
+ provider: 'anthropic';
2124
+ /** This is not returned in the API. */
2125
+ apiKey: string;
2126
+ /** This is the unique identifier for the credential. */
2127
+ id: string;
2128
+ /** This is the unique identifier for the org that this credential belongs to. */
2129
+ orgId: string;
2130
+ /**
2131
+ * This is the ISO 8601 date-time string of when the credential was created.
2132
+ * @format date-time
2133
+ */
2134
+ createdAt: string;
2135
+ /**
2136
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
2137
+ * @format date-time
2138
+ */
2139
+ updatedAt: string;
2140
+ }
2141
+ export interface AzureOpenAICredential {
2142
+ provider: 'azure-openai';
2143
+ region: 'australia' | 'canada' | 'eastus2' | 'eastus' | 'france' | 'india' | 'japan' | 'northcentralus' | 'norway' | 'southcentralus' | 'sweden' | 'switzerland' | 'uk' | 'westus' | 'westus3';
2144
+ /** @example ["gpt-4-0125-preview","gpt-4-0613"] */
2145
+ models: 'gpt-4o-2024-05-13' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | 'gpt-4-0613' | 'gpt-35-turbo-0125' | 'gpt-35-turbo-1106';
2146
+ /** This is not returned in the API. */
2147
+ openAIKey: string;
2148
+ /** This is the unique identifier for the credential. */
2149
+ id: string;
2150
+ /** This is the unique identifier for the org that this credential belongs to. */
2151
+ orgId: string;
2152
+ /**
2153
+ * This is the ISO 8601 date-time string of when the credential was created.
2154
+ * @format date-time
2155
+ */
2156
+ createdAt: string;
2157
+ /**
2158
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
2159
+ * @format date-time
2160
+ */
2161
+ updatedAt: string;
2162
+ openAIEndpoint: string;
2163
+ }
2164
+ export interface CartesiaCredential {
2165
+ provider: 'cartesia';
2166
+ /** This is not returned in the API. */
2167
+ apiKey: string;
2168
+ /** This is the unique identifier for the credential. */
2169
+ id: string;
2170
+ /** This is the unique identifier for the org that this credential belongs to. */
2171
+ orgId: string;
2172
+ /**
2173
+ * This is the ISO 8601 date-time string of when the credential was created.
2174
+ * @format date-time
2175
+ */
2176
+ createdAt: string;
2177
+ /**
2178
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
2179
+ * @format date-time
2180
+ */
2181
+ updatedAt: string;
2182
+ }
2183
+ export interface CustomLLMCredential {
2184
+ provider: 'custom-llm';
2185
+ /** This is not returned in the API. */
2186
+ apiKey: string;
1617
2187
  /** This is the unique identifier for the credential. */
1618
2188
  id: string;
1619
2189
  /** This is the unique identifier for the org that this credential belongs to. */
@@ -1628,7 +2198,6 @@ export interface TwilioCredential {
1628
2198
  * @format date-time
1629
2199
  */
1630
2200
  updatedAt: string;
1631
- accountSid: string;
1632
2201
  }
1633
2202
  export interface DeepgramCredential {
1634
2203
  provider: 'deepgram';
@@ -1649,6 +2218,25 @@ export interface DeepgramCredential {
1649
2218
  */
1650
2219
  updatedAt: string;
1651
2220
  }
2221
+ export interface DeepInfraCredential {
2222
+ provider: 'deepinfra';
2223
+ /** This is not returned in the API. */
2224
+ apiKey: string;
2225
+ /** This is the unique identifier for the credential. */
2226
+ id: string;
2227
+ /** This is the unique identifier for the org that this credential belongs to. */
2228
+ orgId: string;
2229
+ /**
2230
+ * This is the ISO 8601 date-time string of when the credential was created.
2231
+ * @format date-time
2232
+ */
2233
+ createdAt: string;
2234
+ /**
2235
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
2236
+ * @format date-time
2237
+ */
2238
+ updatedAt: string;
2239
+ }
1652
2240
  export interface ElevenLabsCredential {
1653
2241
  provider: '11labs';
1654
2242
  /** This is not returned in the API. */
@@ -1668,8 +2256,8 @@ export interface ElevenLabsCredential {
1668
2256
  */
1669
2257
  updatedAt: string;
1670
2258
  }
1671
- export interface PlayHTCredential {
1672
- provider: 'playht';
2259
+ export interface GoHighLevelCredential {
2260
+ provider: 'gohighlevel';
1673
2261
  /** This is not returned in the API. */
1674
2262
  apiKey: string;
1675
2263
  /** This is the unique identifier for the credential. */
@@ -1686,10 +2274,9 @@ export interface PlayHTCredential {
1686
2274
  * @format date-time
1687
2275
  */
1688
2276
  updatedAt: string;
1689
- userId: string;
1690
2277
  }
1691
- export interface RimeAICredential {
1692
- provider: 'rime-ai';
2278
+ export interface GroqCredential {
2279
+ provider: 'groq';
1693
2280
  /** This is not returned in the API. */
1694
2281
  apiKey: string;
1695
2282
  /** This is the unique identifier for the credential. */
@@ -1707,8 +2294,8 @@ export interface RimeAICredential {
1707
2294
  */
1708
2295
  updatedAt: string;
1709
2296
  }
1710
- export interface OpenAICredential {
1711
- provider: 'openai';
2297
+ export interface LmntCredential {
2298
+ provider: 'lmnt';
1712
2299
  /** This is not returned in the API. */
1713
2300
  apiKey: string;
1714
2301
  /** This is the unique identifier for the credential. */
@@ -1726,8 +2313,12 @@ export interface OpenAICredential {
1726
2313
  */
1727
2314
  updatedAt: string;
1728
2315
  }
1729
- export interface TogetherAICredential {
1730
- provider: 'together-ai';
2316
+ export interface MakeCredential {
2317
+ provider: 'make';
2318
+ /** Team ID */
2319
+ teamId: string;
2320
+ /** Region of your application. For example: eu1, eu2, us1, us2 */
2321
+ region: string;
1731
2322
  /** This is not returned in the API. */
1732
2323
  apiKey: string;
1733
2324
  /** This is the unique identifier for the credential. */
@@ -1745,8 +2336,8 @@ export interface TogetherAICredential {
1745
2336
  */
1746
2337
  updatedAt: string;
1747
2338
  }
1748
- export interface AnyscaleCredential {
1749
- provider: 'anyscale';
2339
+ export interface OpenAICredential {
2340
+ provider: 'openai';
1750
2341
  /** This is not returned in the API. */
1751
2342
  apiKey: string;
1752
2343
  /** This is the unique identifier for the credential. */
@@ -1802,8 +2393,8 @@ export interface PerplexityAICredential {
1802
2393
  */
1803
2394
  updatedAt: string;
1804
2395
  }
1805
- export interface DeepInfraCredential {
1806
- provider: 'deepinfra';
2396
+ export interface PlayHTCredential {
2397
+ provider: 'playht';
1807
2398
  /** This is not returned in the API. */
1808
2399
  apiKey: string;
1809
2400
  /** This is the unique identifier for the credential. */
@@ -1820,9 +2411,10 @@ export interface DeepInfraCredential {
1820
2411
  * @format date-time
1821
2412
  */
1822
2413
  updatedAt: string;
2414
+ userId: string;
1823
2415
  }
1824
- export interface CustomLLMCredential {
1825
- provider: 'custom-llm';
2416
+ export interface RimeAICredential {
2417
+ provider: 'rime-ai';
1826
2418
  /** This is not returned in the API. */
1827
2419
  apiKey: string;
1828
2420
  /** This is the unique identifier for the credential. */
@@ -1859,8 +2451,8 @@ export interface RunpodCredential {
1859
2451
  */
1860
2452
  updatedAt: string;
1861
2453
  }
1862
- export interface GroqCredential {
1863
- provider: 'groq';
2454
+ export interface TogetherAICredential {
2455
+ provider: 'together-ai';
1864
2456
  /** This is not returned in the API. */
1865
2457
  apiKey: string;
1866
2458
  /** This is the unique identifier for the credential. */
@@ -1878,10 +2470,10 @@ export interface GroqCredential {
1878
2470
  */
1879
2471
  updatedAt: string;
1880
2472
  }
1881
- export interface AnthropicCredential {
1882
- provider: 'anthropic';
2473
+ export interface TwilioCredential {
2474
+ provider: 'twilio';
1883
2475
  /** This is not returned in the API. */
1884
- apiKey: string;
2476
+ authToken: string;
1885
2477
  /** This is the unique identifier for the credential. */
1886
2478
  id: string;
1887
2479
  /** This is the unique identifier for the org that this credential belongs to. */
@@ -1896,6 +2488,7 @@ export interface AnthropicCredential {
1896
2488
  * @format date-time
1897
2489
  */
1898
2490
  updatedAt: string;
2491
+ accountSid: string;
1899
2492
  }
1900
2493
  export interface VonageCredential {
1901
2494
  provider: 'vonage';
@@ -1929,54 +2522,86 @@ export interface VonageCredential {
1929
2522
  vonageApplicationPrivateKey: string;
1930
2523
  apiKey: string;
1931
2524
  }
1932
- export interface CreateTwilioCredentialDTO {
1933
- provider: 'twilio';
2525
+ export interface CreateAnyscaleCredentialDTO {
2526
+ provider: 'anyscale';
1934
2527
  /** This is not returned in the API. */
1935
- authToken: string;
1936
- accountSid: string;
2528
+ apiKey: string;
2529
+ }
2530
+ export interface CreateAnthropicCredentialDTO {
2531
+ provider: 'anthropic';
2532
+ /** This is not returned in the API. */
2533
+ apiKey: string;
2534
+ }
2535
+ export interface CreateAzureOpenAICredentialDTO {
2536
+ provider: 'azure-openai';
2537
+ region: 'australia' | 'canada' | 'eastus2' | 'eastus' | 'france' | 'india' | 'japan' | 'northcentralus' | 'norway' | 'southcentralus' | 'sweden' | 'switzerland' | 'uk' | 'westus' | 'westus3';
2538
+ /** @example ["gpt-4-0125-preview","gpt-4-0613"] */
2539
+ models: 'gpt-4o-2024-05-13' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | 'gpt-4-0613' | 'gpt-35-turbo-0125' | 'gpt-35-turbo-1106';
2540
+ /** This is not returned in the API. */
2541
+ openAIKey: string;
2542
+ openAIEndpoint: string;
2543
+ }
2544
+ export interface CreateCartesiaCredentialDTO {
2545
+ provider: 'cartesia';
2546
+ /** This is not returned in the API. */
2547
+ apiKey: string;
2548
+ }
2549
+ export interface CreateCustomLLMCredentialDTO {
2550
+ provider: 'custom-llm';
2551
+ /** This is not returned in the API. */
2552
+ apiKey: string;
1937
2553
  }
1938
2554
  export interface CreateDeepgramCredentialDTO {
1939
2555
  provider: 'deepgram';
1940
2556
  /** This is not returned in the API. */
1941
2557
  apiKey: string;
1942
2558
  }
1943
- export interface CreateOpenAICredentialDTO {
1944
- provider: 'openai';
2559
+ export interface CreateDeepInfraCredentialDTO {
2560
+ provider: 'deepinfra';
1945
2561
  /** This is not returned in the API. */
1946
2562
  apiKey: string;
1947
2563
  }
1948
- export interface CreateTogetherAICredentialDTO {
1949
- provider: 'together-ai';
2564
+ export interface CreateElevenLabsCredentialDTO {
2565
+ provider: '11labs';
1950
2566
  /** This is not returned in the API. */
1951
2567
  apiKey: string;
1952
2568
  }
1953
- export interface CreateAnyscaleCredentialDTO {
1954
- provider: 'anyscale';
2569
+ export interface CreateGoHighLevelCredentialDTO {
2570
+ provider: 'gohighlevel';
1955
2571
  /** This is not returned in the API. */
1956
2572
  apiKey: string;
1957
2573
  }
1958
- export interface CreateOpenRouterCredentialDTO {
1959
- provider: 'openrouter';
2574
+ export interface CreateGroqCredentialDTO {
2575
+ provider: 'groq';
1960
2576
  /** This is not returned in the API. */
1961
2577
  apiKey: string;
1962
2578
  }
1963
- export interface CreatePerplexityAICredentialDTO {
1964
- provider: 'perplexity-ai';
2579
+ export interface CreateLmntCredentialDTO {
2580
+ provider: 'lmnt';
1965
2581
  /** This is not returned in the API. */
1966
2582
  apiKey: string;
1967
2583
  }
1968
- export interface CreateDeepInfraCredentialDTO {
1969
- provider: 'deepinfra';
2584
+ export interface CreateMakeCredentialDTO {
2585
+ provider: 'make';
2586
+ /** Team ID */
2587
+ teamId: string;
2588
+ /** Region of your application. For example: eu1, eu2, us1, us2 */
2589
+ region: string;
1970
2590
  /** This is not returned in the API. */
1971
2591
  apiKey: string;
1972
2592
  }
1973
- export interface CreateCustomLLMCredentialDTO {
1974
- provider: 'custom-llm';
2593
+ export interface CreateOpenAICredentialDTO {
2594
+ provider: 'openai';
1975
2595
  /** This is not returned in the API. */
1976
2596
  apiKey: string;
1977
2597
  }
1978
- export interface CreateElevenLabsCredentialDTO {
1979
- provider: '11labs';
2598
+ export interface CreateOpenRouterCredentialDTO {
2599
+ provider: 'openrouter';
2600
+ /** This is not returned in the API. */
2601
+ apiKey: string;
2602
+ }
2603
+ export interface CreatePerplexityAICredentialDTO {
2604
+ provider: 'perplexity-ai';
1980
2605
  /** This is not returned in the API. */
1981
2606
  apiKey: string;
1982
2607
  }
@@ -1996,15 +2621,16 @@ export interface CreateRunpodCredentialDTO {
1996
2621
  /** This is not returned in the API. */
1997
2622
  apiKey: string;
1998
2623
  }
1999
- export interface CreateGroqCredentialDTO {
2000
- provider: 'groq';
2624
+ export interface CreateTogetherAICredentialDTO {
2625
+ provider: 'together-ai';
2001
2626
  /** This is not returned in the API. */
2002
2627
  apiKey: string;
2003
2628
  }
2004
- export interface CreateAnthropicCredentialDTO {
2005
- provider: 'anthropic';
2629
+ export interface CreateTwilioCredentialDTO {
2630
+ provider: 'twilio';
2006
2631
  /** This is not returned in the API. */
2007
- apiKey: string;
2632
+ authToken: string;
2633
+ accountSid: string;
2008
2634
  }
2009
2635
  export interface CreateVonageCredentialDTO {
2010
2636
  provider: 'vonage';
@@ -2012,54 +2638,86 @@ export interface CreateVonageCredentialDTO {
2012
2638
  apiSecret: string;
2013
2639
  apiKey: string;
2014
2640
  }
2015
- export interface UpdateTwilioCredentialDTO {
2016
- provider: 'twilio';
2641
+ export interface UpdateAnyscaleCredentialDTO {
2642
+ provider: 'anyscale';
2017
2643
  /** This is not returned in the API. */
2018
- authToken: string;
2019
- accountSid: string;
2644
+ apiKey: string;
2020
2645
  }
2021
- export interface UpdateDeepgramCredentialDTO {
2022
- provider: 'deepgram';
2646
+ export interface UpdateAnthropicCredentialDTO {
2647
+ provider: 'anthropic';
2023
2648
  /** This is not returned in the API. */
2024
2649
  apiKey: string;
2025
2650
  }
2026
- export interface UpdateOpenAICredentialDTO {
2027
- provider: 'openai';
2651
+ export interface UpdateAzureOpenAICredentialDTO {
2652
+ provider: 'azure-openai';
2653
+ region: 'australia' | 'canada' | 'eastus2' | 'eastus' | 'france' | 'india' | 'japan' | 'northcentralus' | 'norway' | 'southcentralus' | 'sweden' | 'switzerland' | 'uk' | 'westus' | 'westus3';
2654
+ /** @example ["gpt-4-0125-preview","gpt-4-0613"] */
2655
+ models: 'gpt-4o-2024-05-13' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | 'gpt-4-0613' | 'gpt-35-turbo-0125' | 'gpt-35-turbo-1106';
2028
2656
  /** This is not returned in the API. */
2029
- apiKey: string;
2657
+ openAIKey: string;
2658
+ openAIEndpoint: string;
2030
2659
  }
2031
- export interface UpdateTogetherAICredentialDTO {
2032
- provider: 'together-ai';
2660
+ export interface UpdateCartesiaCredentialDTO {
2661
+ provider: 'cartesia';
2033
2662
  /** This is not returned in the API. */
2034
2663
  apiKey: string;
2035
2664
  }
2036
- export interface UpdateAnyscaleCredentialDTO {
2037
- provider: 'anyscale';
2665
+ export interface UpdateCustomLLMCredentialDTO {
2666
+ provider: 'custom-llm';
2038
2667
  /** This is not returned in the API. */
2039
2668
  apiKey: string;
2040
2669
  }
2041
- export interface UpdateOpenRouterCredentialDTO {
2042
- provider: 'openrouter';
2670
+ export interface UpdateDeepInfraCredentialDTO {
2671
+ provider: 'deepinfra';
2043
2672
  /** This is not returned in the API. */
2044
2673
  apiKey: string;
2045
2674
  }
2046
- export interface UpdatePerplexityAICredentialDTO {
2047
- provider: 'perplexity-ai';
2675
+ export interface UpdateDeepgramCredentialDTO {
2676
+ provider: 'deepgram';
2048
2677
  /** This is not returned in the API. */
2049
2678
  apiKey: string;
2050
2679
  }
2051
- export interface UpdateDeepInfraCredentialDTO {
2052
- provider: 'deepinfra';
2680
+ export interface UpdateElevenLabsCredentialDTO {
2681
+ provider: '11labs';
2053
2682
  /** This is not returned in the API. */
2054
2683
  apiKey: string;
2055
2684
  }
2056
- export interface UpdateCustomLLMCredentialDTO {
2057
- provider: 'custom-llm';
2685
+ export interface UpdateGoHighLevelCredentialDTO {
2686
+ provider: 'gohighlevel';
2058
2687
  /** This is not returned in the API. */
2059
2688
  apiKey: string;
2060
2689
  }
2061
- export interface UpdateElevenLabsCredentialDTO {
2062
- provider: '11labs';
2690
+ export interface UpdateGroqCredentialDTO {
2691
+ provider: 'groq';
2692
+ /** This is not returned in the API. */
2693
+ apiKey: string;
2694
+ }
2695
+ export interface UpdateLmntCredentialDTO {
2696
+ provider: 'lmnt';
2697
+ /** This is not returned in the API. */
2698
+ apiKey: string;
2699
+ }
2700
+ export interface UpdateMakeCredentialDTO {
2701
+ provider: 'make';
2702
+ /** Team ID */
2703
+ teamId: string;
2704
+ /** Region of your application. For example: eu1, eu2, us1, us2 */
2705
+ region: string;
2706
+ /** This is not returned in the API. */
2707
+ apiKey: string;
2708
+ }
2709
+ export interface UpdateOpenAICredentialDTO {
2710
+ provider: 'openai';
2711
+ /** This is not returned in the API. */
2712
+ apiKey: string;
2713
+ }
2714
+ export interface UpdateOpenRouterCredentialDTO {
2715
+ provider: 'openrouter';
2716
+ /** This is not returned in the API. */
2717
+ apiKey: string;
2718
+ }
2719
+ export interface UpdatePerplexityAICredentialDTO {
2720
+ provider: 'perplexity-ai';
2063
2721
  /** This is not returned in the API. */
2064
2722
  apiKey: string;
2065
2723
  }
@@ -2079,15 +2737,16 @@ export interface UpdateRunpodCredentialDTO {
2079
2737
  /** This is not returned in the API. */
2080
2738
  apiKey: string;
2081
2739
  }
2082
- export interface UpdateGroqCredentialDTO {
2083
- provider: 'groq';
2740
+ export interface UpdateTogetherAICredentialDTO {
2741
+ provider: 'together-ai';
2084
2742
  /** This is not returned in the API. */
2085
2743
  apiKey: string;
2086
2744
  }
2087
- export interface UpdateAnthropicCredentialDTO {
2088
- provider: 'anthropic';
2745
+ export interface UpdateTwilioCredentialDTO {
2746
+ provider: 'twilio';
2089
2747
  /** This is not returned in the API. */
2090
- apiKey: string;
2748
+ authToken: string;
2749
+ accountSid: string;
2091
2750
  }
2092
2751
  export interface UpdateVonageCredentialDTO {
2093
2752
  provider: 'vonage';
@@ -2106,244 +2765,491 @@ export interface BuyPhoneNumberDTO {
2106
2765
  * This is the name of the phone number. This is just for your own reference.
2107
2766
  * @maxLength 40
2108
2767
  */
2109
- name?: string;
2768
+ name?: string;
2769
+ /**
2770
+ * This is the assistant that will be used for incoming calls to this phone number.
2771
+ *
2772
+ * If this is not set, then the phone number will not handle incoming calls.
2773
+ */
2774
+ assistantId?: string | null;
2775
+ /**
2776
+ * This is the server URL that will be used to handle this phone number.
2777
+ *
2778
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2779
+ *
2780
+ * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2781
+ */
2782
+ serverUrl?: string;
2783
+ /**
2784
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2785
+ *
2786
+ * Same precendence logic as serverUrl.
2787
+ */
2788
+ serverUrlSecret?: string;
2789
+ }
2790
+ export interface PhoneNumber {
2791
+ /** This is the unique identifier for the phone number. */
2792
+ id: string;
2793
+ /** This is the unique identifier for the org that this phone number belongs to. */
2794
+ orgId: string;
2795
+ /**
2796
+ * This is the ISO 8601 date-time string of when the phone number was created.
2797
+ * @format date-time
2798
+ */
2799
+ createdAt: string;
2800
+ /**
2801
+ * This is the ISO 8601 date-time string of when the phone number was last updated.
2802
+ * @format date-time
2803
+ */
2804
+ updatedAt: string;
2805
+ /** This is the subscription for the phone number. */
2806
+ stripeSubscriptionId?: string;
2807
+ /** This is the subscription's status. */
2808
+ stripeSubscriptionStatus?: string;
2809
+ /**
2810
+ * This is the subscription's current period start.
2811
+ * @format date-time
2812
+ */
2813
+ stripeSubscriptionCurrentPeriodStart?: string;
2814
+ /** These are the digits of the phone number. */
2815
+ number: string;
2816
+ /**
2817
+ * This is the Twilio Account SID for the phone number.
2818
+ *
2819
+ * This is for numbers not bought on Vapi.
2820
+ */
2821
+ twilioAccountSid?: string;
2822
+ /**
2823
+ * This is the Twilio Auth Token for the phone number.
2824
+ *
2825
+ * This is for numbers not bought on Vapi.
2826
+ */
2827
+ twilioAuthToken?: string;
2828
+ /**
2829
+ * This is the credential that will be used to handle this phone number.
2830
+ *
2831
+ * This is for numbers not bought on Vapi.
2832
+ */
2833
+ credentialId?: string;
2834
+ /**
2835
+ * This is the name of the phone number. This is just for your own reference.
2836
+ * @maxLength 40
2837
+ */
2838
+ name?: string;
2839
+ /**
2840
+ * This is the assistant that will be used for incoming calls to this phone number.
2841
+ *
2842
+ * If this is not set, then the phone number will not handle incoming calls.
2843
+ */
2844
+ assistantId?: string | null;
2845
+ /**
2846
+ * This is the server URL that will be used to handle this phone number.
2847
+ *
2848
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2849
+ *
2850
+ * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2851
+ */
2852
+ serverUrl?: string;
2853
+ /**
2854
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2855
+ *
2856
+ * Same precendence logic as serverUrl.
2857
+ */
2858
+ serverUrlSecret?: string;
2859
+ }
2860
+ export interface ImportVonagePhoneNumberDTO {
2861
+ /** These are the digits of the phone number you own on your Vonage. */
2862
+ vonagePhoneNumber: string;
2863
+ /**
2864
+ * This is the credential that will be used to handle this phone number.
2865
+ *
2866
+ * You can add the Vonage credentials in the Provider Keys page on the dashboard to get the credentialId.
2867
+ */
2868
+ credentialId: string;
2869
+ /**
2870
+ * This is the name of the phone number. This is just for your own reference.
2871
+ * @maxLength 40
2872
+ */
2873
+ name?: string;
2874
+ /**
2875
+ * This is the assistant that will be used for incoming calls to this phone number.
2876
+ *
2877
+ * If this is not set, then the phone number will not handle incoming calls.
2878
+ */
2879
+ assistantId?: string | null;
2880
+ /**
2881
+ * This is the server URL that will be used to handle this phone number.
2882
+ *
2883
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2884
+ *
2885
+ * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2886
+ */
2887
+ serverUrl?: string;
2888
+ /**
2889
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2890
+ *
2891
+ * Same precendence logic as serverUrl.
2892
+ */
2893
+ serverUrlSecret?: string;
2894
+ }
2895
+ export interface UpdatePhoneNumberDTO {
2896
+ /**
2897
+ * This is the name of the phone number. This is just for your own reference.
2898
+ * @maxLength 40
2899
+ */
2900
+ name?: string;
2901
+ /**
2902
+ * This is the assistant that will be used for incoming calls to this phone number.
2903
+ *
2904
+ * If this is not set, then the phone number will not handle incoming calls.
2905
+ */
2906
+ assistantId?: string | null;
2907
+ /**
2908
+ * This is the server URL that will be used to handle this phone number.
2909
+ *
2910
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2911
+ *
2912
+ * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2913
+ */
2914
+ serverUrl?: string;
2915
+ /**
2916
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2917
+ *
2918
+ * Same precendence logic as serverUrl.
2919
+ */
2920
+ serverUrlSecret?: string;
2921
+ }
2922
+ export interface Metrics {
2923
+ orgId: string;
2924
+ rangeStart: string;
2925
+ rangeEnd: string;
2926
+ bill: number;
2927
+ billWithinBillingLimit: boolean;
2928
+ billDailyBreakdown: object;
2929
+ callActive: string;
2930
+ callActiveWithinConcurrencyLimit: boolean;
2931
+ callMinutes: string;
2932
+ callMinutesDailyBreakdown: object;
2933
+ callMinutesAverage: string;
2934
+ callMinutesAverageDailyBreakdown: object;
2935
+ callCount: string;
2936
+ callCountDailyBreakdown: object;
2937
+ }
2938
+ export interface CallLogPrivileged {
2939
+ /** This is the unique identifier for the call. */
2940
+ callId: string;
2941
+ /** This is the unique identifier for the org that this call log belongs to. */
2942
+ orgId: string;
2943
+ /** This is the log message associated with the call. */
2944
+ log: string;
2945
+ /** This is the level of the log message. */
2946
+ level: 'INFO' | 'LOG' | 'WARN' | 'ERROR' | 'CHECKPOINT';
2947
+ /**
2948
+ * This is the ISO 8601 date-time string of when the log was created.
2949
+ * @format date-time
2950
+ */
2951
+ time: string;
2952
+ }
2953
+ export interface PaginationMeta {
2954
+ itemsPerPage: number;
2955
+ totalItems: number;
2956
+ currentPage: number;
2957
+ }
2958
+ export interface CallLogsPaginatedResponse {
2959
+ results: CallLogPrivileged[];
2960
+ metadata: PaginationMeta;
2961
+ }
2962
+ export interface MakeTool {
2963
+ /**
2964
+ * This determines if the tool is async.
2965
+ *
2966
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
2967
+ *
2968
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
2969
+ *
2970
+ * Defaults to synchronous (`false`).
2971
+ * @example false
2972
+ */
2973
+ async?: boolean;
2974
+ /**
2975
+ * These are the messages that will be spoken to the user as the tool is running.
2976
+ *
2977
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
2978
+ */
2979
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
2980
+ /** The type of tool. "make" for Make tool. */
2981
+ type: 'make';
2982
+ /** The unique identifier for the tool library. */
2983
+ id: string;
2984
+ /** The unique identifier for the organization that this tool library belongs to. */
2985
+ orgId: string;
2986
+ /**
2987
+ * The ISO 8601 date-time string of when the tool library was created.
2988
+ * @format date-time
2989
+ */
2990
+ createdAt: string;
2991
+ /**
2992
+ * The ISO 8601 date-time string of when the tool library was last updated.
2993
+ * @format date-time
2994
+ */
2995
+ updatedAt: string;
2996
+ /**
2997
+ * This is the function definition of the tool.
2998
+ *
2999
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
3000
+ */
3001
+ function?: OpenAIFunction;
3002
+ /**
3003
+ * This is the server that will be hit when this tool is requested by the model.
3004
+ *
3005
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
3006
+ *
3007
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
3008
+ */
3009
+ server?: Server;
3010
+ metadata: MakeToolMetadata;
3011
+ }
3012
+ export interface GhlTool {
3013
+ /**
3014
+ * This determines if the tool is async.
3015
+ *
3016
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
3017
+ *
3018
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
3019
+ *
3020
+ * Defaults to synchronous (`false`).
3021
+ * @example false
3022
+ */
3023
+ async?: boolean;
3024
+ /**
3025
+ * These are the messages that will be spoken to the user as the tool is running.
3026
+ *
3027
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
3028
+ */
3029
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
3030
+ /** The type of tool. "ghl" for GHL tool. */
3031
+ type: 'ghl';
3032
+ /** The unique identifier for the tool library. */
3033
+ id: string;
3034
+ /** The unique identifier for the organization that this tool library belongs to. */
3035
+ orgId: string;
3036
+ /**
3037
+ * The ISO 8601 date-time string of when the tool library was created.
3038
+ * @format date-time
3039
+ */
3040
+ createdAt: string;
3041
+ /**
3042
+ * The ISO 8601 date-time string of when the tool library was last updated.
3043
+ * @format date-time
3044
+ */
3045
+ updatedAt: string;
3046
+ /**
3047
+ * This is the function definition of the tool.
3048
+ *
3049
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
3050
+ */
3051
+ function?: OpenAIFunction;
2110
3052
  /**
2111
- * This is the assistant that will be used for incoming calls to this phone number.
3053
+ * This is the server that will be hit when this tool is requested by the model.
2112
3054
  *
2113
- * If this is not set, then the phone number will not handle incoming calls.
3055
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
3056
+ *
3057
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
2114
3058
  */
2115
- assistantId?: string | null;
3059
+ server?: Server;
3060
+ metadata: GhlToolMetadata;
3061
+ }
3062
+ export interface FunctionTool {
2116
3063
  /**
2117
- * This is the server URL that will be used to handle this phone number.
3064
+ * This determines if the tool is async.
2118
3065
  *
2119
- * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
3066
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
2120
3067
  *
2121
- * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
3068
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
3069
+ *
3070
+ * Defaults to synchronous (`false`).
3071
+ * @example false
2122
3072
  */
2123
- serverUrl?: string;
3073
+ async?: boolean;
2124
3074
  /**
2125
- * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
3075
+ * These are the messages that will be spoken to the user as the tool is running.
2126
3076
  *
2127
- * Same precendence logic as serverUrl.
3077
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
2128
3078
  */
2129
- serverUrlSecret?: string;
2130
- }
2131
- export interface PhoneNumber {
2132
- /** This is the unique identifier for the phone number. */
3079
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
3080
+ /** The type of tool. "function" for Function tool. */
3081
+ type: 'function';
3082
+ /** The unique identifier for the tool library. */
2133
3083
  id: string;
2134
- /** This is the unique identifier for the org that this phone number belongs to. */
3084
+ /** The unique identifier for the organization that this tool library belongs to. */
2135
3085
  orgId: string;
2136
3086
  /**
2137
- * This is the ISO 8601 date-time string of when the phone number was created.
3087
+ * The ISO 8601 date-time string of when the tool library was created.
2138
3088
  * @format date-time
2139
3089
  */
2140
3090
  createdAt: string;
2141
3091
  /**
2142
- * This is the ISO 8601 date-time string of when the phone number was last updated.
3092
+ * The ISO 8601 date-time string of when the tool library was last updated.
2143
3093
  * @format date-time
2144
3094
  */
2145
3095
  updatedAt: string;
2146
- /** This is the subscription for the phone number. */
2147
- stripeSubscriptionId?: string;
2148
- /** This is the subscription's status. */
2149
- stripeSubscriptionStatus?: string;
2150
3096
  /**
2151
- * This is the subscription's current period start.
2152
- * @format date-time
2153
- */
2154
- stripeSubscriptionCurrentPeriodStart?: string;
2155
- /** These are the digits of the phone number. */
2156
- number: string;
2157
- /**
2158
- * This is the Twilio Account SID for the phone number.
3097
+ * This is the function definition of the tool.
2159
3098
  *
2160
- * This is for numbers not bought on Vapi.
3099
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
2161
3100
  */
2162
- twilioAccountSid?: string;
3101
+ function?: OpenAIFunction;
2163
3102
  /**
2164
- * This is the Twilio Auth Token for the phone number.
3103
+ * This is the server that will be hit when this tool is requested by the model.
2165
3104
  *
2166
- * This is for numbers not bought on Vapi.
2167
- */
2168
- twilioAuthToken?: string;
2169
- /**
2170
- * This is the credential that will be used to handle this phone number.
3105
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
2171
3106
  *
2172
- * This is for numbers not bought on Vapi.
3107
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
2173
3108
  */
2174
- credentialId?: string;
3109
+ server?: Server;
3110
+ }
3111
+ export interface UpdateMakeToolDTO {
2175
3112
  /**
2176
- * This is the name of the phone number. This is just for your own reference.
2177
- * @maxLength 40
3113
+ * This determines if the tool is async.
3114
+ *
3115
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
3116
+ *
3117
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
3118
+ *
3119
+ * Defaults to synchronous (`false`).
3120
+ * @example false
2178
3121
  */
2179
- name?: string;
3122
+ async?: boolean;
2180
3123
  /**
2181
- * This is the assistant that will be used for incoming calls to this phone number.
3124
+ * These are the messages that will be spoken to the user as the tool is running.
2182
3125
  *
2183
- * If this is not set, then the phone number will not handle incoming calls.
3126
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
2184
3127
  */
2185
- assistantId?: string | null;
3128
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
3129
+ /** The type of tool. "make" for Make tool. */
3130
+ type: 'make';
3131
+ metadata: MakeToolMetadata;
2186
3132
  /**
2187
- * This is the server URL that will be used to handle this phone number.
2188
- *
2189
- * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
3133
+ * This is the function definition of the tool.
2190
3134
  *
2191
- * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
3135
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
2192
3136
  */
2193
- serverUrl?: string;
3137
+ function?: OpenAIFunction;
2194
3138
  /**
2195
- * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
3139
+ * This is the server that will be hit when this tool is requested by the model.
2196
3140
  *
2197
- * Same precendence logic as serverUrl.
3141
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
3142
+ *
3143
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
2198
3144
  */
2199
- serverUrlSecret?: string;
3145
+ server?: Server;
2200
3146
  }
2201
- export interface ImportVonagePhoneNumberDTO {
2202
- /** These are the digits of the phone number you own on your Vonage. */
2203
- vonagePhoneNumber: string;
3147
+ export interface UpdateGhlToolDTO {
2204
3148
  /**
2205
- * This is the credential that will be used to handle this phone number.
3149
+ * This determines if the tool is async.
2206
3150
  *
2207
- * You can add the Vonage credentials in the Provider Keys page on the dashboard to get the credentialId.
2208
- */
2209
- credentialId: string;
2210
- /**
2211
- * This is the name of the phone number. This is just for your own reference.
2212
- * @maxLength 40
3151
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
3152
+ *
3153
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
3154
+ *
3155
+ * Defaults to synchronous (`false`).
3156
+ * @example false
2213
3157
  */
2214
- name?: string;
3158
+ async?: boolean;
2215
3159
  /**
2216
- * This is the assistant that will be used for incoming calls to this phone number.
3160
+ * These are the messages that will be spoken to the user as the tool is running.
2217
3161
  *
2218
- * If this is not set, then the phone number will not handle incoming calls.
3162
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
2219
3163
  */
2220
- assistantId?: string | null;
3164
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
3165
+ /** The type of tool. "ghl" for GHL tool. */
3166
+ type: 'ghl';
3167
+ metadata: GhlToolMetadata;
2221
3168
  /**
2222
- * This is the server URL that will be used to handle this phone number.
3169
+ * This is the function definition of the tool.
2223
3170
  *
2224
- * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2225
- *
2226
- * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
3171
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
2227
3172
  */
2228
- serverUrl?: string;
3173
+ function?: OpenAIFunction;
2229
3174
  /**
2230
- * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
3175
+ * This is the server that will be hit when this tool is requested by the model.
2231
3176
  *
2232
- * Same precendence logic as serverUrl.
3177
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
3178
+ *
3179
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
2233
3180
  */
2234
- serverUrlSecret?: string;
3181
+ server?: Server;
2235
3182
  }
2236
- export interface UpdatePhoneNumberDTO {
3183
+ export interface UpdateFunctionToolDTO {
2237
3184
  /**
2238
- * This is the name of the phone number. This is just for your own reference.
2239
- * @maxLength 40
3185
+ * This determines if the tool is async.
3186
+ *
3187
+ * If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
3188
+ *
3189
+ * If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
3190
+ *
3191
+ * Defaults to synchronous (`false`).
3192
+ * @example false
2240
3193
  */
2241
- name?: string;
3194
+ async?: boolean;
2242
3195
  /**
2243
- * This is the assistant that will be used for incoming calls to this phone number.
3196
+ * These are the messages that will be spoken to the user as the tool is running.
2244
3197
  *
2245
- * If this is not set, then the phone number will not handle incoming calls.
3198
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
2246
3199
  */
2247
- assistantId?: string | null;
3200
+ messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
3201
+ /** The type of tool. "function" for Function tool. */
3202
+ type: 'function';
2248
3203
  /**
2249
- * This is the server URL that will be used to handle this phone number.
2250
- *
2251
- * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
3204
+ * This is the function definition of the tool.
2252
3205
  *
2253
- * This overrides the serverUrl set on the org. Order of precedence: function.serverUrl > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
3206
+ * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, this is a custom function definition.
2254
3207
  */
2255
- serverUrl?: string;
3208
+ function?: OpenAIFunction;
2256
3209
  /**
2257
- * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
3210
+ * This is the server that will be hit when this tool is requested by the model.
2258
3211
  *
2259
- * Same precendence logic as serverUrl.
3212
+ * All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
3213
+ *
3214
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.serverUrl.
2260
3215
  */
2261
- serverUrlSecret?: string;
3216
+ server?: Server;
2262
3217
  }
2263
- export interface Metrics {
2264
- orgId: string;
2265
- rangeStart: string;
2266
- rangeEnd: string;
2267
- bill: number;
2268
- billWithinBillingLimit: boolean;
2269
- billDailyBreakdown: object;
2270
- callActive: string;
2271
- callActiveWithinConcurrencyLimit: boolean;
2272
- callMinutes: string;
2273
- callMinutesDailyBreakdown: object;
2274
- callMinutesAverage: string;
2275
- callMinutesAverageDailyBreakdown: object;
2276
- callCount: string;
2277
- callCountDailyBreakdown: object;
3218
+ export interface CreateFileDTO {
3219
+ /** @format binary */
3220
+ file: File;
2278
3221
  }
2279
- export interface VoiceLibrary {
2280
- /** This is the voice provider that will be used. */
2281
- provider?: '11labs' | 'playht' | 'rime-ai' | 'deepgram' | 'openai' | 'azure' | 'lmnt' | 'neets';
2282
- /** The ID of the voice provided by the provider. */
2283
- providerId?: string;
2284
- /** The unique slug of the voice. */
2285
- slug?: string;
2286
- /** The name of the voice. */
3222
+ export interface File {
3223
+ /** This is the name of the file. This is just for your own reference. */
2287
3224
  name?: string;
2288
- /** The language of the voice. */
2289
- language?: string;
2290
- /** The language code of the voice. */
2291
- languageCode?: string;
2292
- /** The model of the voice. */
2293
- model?: string;
2294
- /** The supported models of the voice. */
2295
- supportedModels?: string;
2296
- /** The gender of the voice. */
2297
- gender?: 'male' | 'female';
2298
- /** The accent of the voice. */
2299
- accent?: string;
2300
- /** The preview URL of the voice. */
2301
- previewUrl?: string;
2302
- /** The credential ID of the voice. */
2303
- credentialId?: string;
2304
- /** The deletion status of the voice. */
2305
- isDeleted: boolean;
2306
- /** The unique identifier for the voice library. */
3225
+ originalName?: string;
3226
+ /** @default "file" */
3227
+ object?: 'file';
3228
+ bytes?: number;
3229
+ purpose?: string;
3230
+ mimetype?: string;
3231
+ url?: string;
3232
+ metadata?: object;
3233
+ status?: 'indexed' | 'not_indexed';
3234
+ key?: string;
3235
+ path?: string;
3236
+ /** @default "files" */
3237
+ bucket?: string;
3238
+ /** This is the unique identifier for the file. */
2307
3239
  id: string;
2308
- /** The unique identifier for the organization that this voice library belongs to. */
3240
+ /** This is the unique identifier for the org that this file belongs to. */
2309
3241
  orgId: string;
2310
- /** The Public voice is shared accross all the organizations. */
2311
- isPublic: boolean;
2312
3242
  /**
2313
- * The ISO 8601 date-time string of when the voice library was created.
3243
+ * This is the ISO 8601 date-time string of when the file was created.
2314
3244
  * @format date-time
2315
3245
  */
2316
3246
  createdAt: string;
2317
3247
  /**
2318
- * The ISO 8601 date-time string of when the voice library was last updated.
3248
+ * This is the ISO 8601 date-time string of when the file was last updated.
2319
3249
  * @format date-time
2320
3250
  */
2321
3251
  updatedAt: string;
2322
3252
  }
2323
- export interface CallLogPrivileged {
2324
- /** This is the unique identifier for the call. */
2325
- callId: string;
2326
- /** This is the unique identifier for the org that this call log belongs to. */
2327
- orgId: string;
2328
- /** This is the log message associated with the call. */
2329
- log: string;
2330
- /** This is the level of the log message. */
2331
- level: 'INFO' | 'LOG' | 'WARN' | 'ERROR' | 'CHECKPOINT';
2332
- /**
2333
- * This is the ISO 8601 date-time string of when the log was created.
2334
- * @format date-time
2335
- */
2336
- time: string;
2337
- }
2338
- export interface PaginationMeta {
2339
- itemsPerPage: number;
2340
- totalItems: number;
2341
- currentPage: number;
2342
- }
2343
- export interface CallLogsPaginatedResponse {
2344
- results: CallLogPrivileged[];
2345
- metadata: PaginationMeta;
2346
- }
2347
3253
  export type QueryParamsType = Record<string | number, any>;
2348
3254
  export type ResponseFormat = keyof Omit<Body, 'body' | 'bodyUsed'>;
2349
3255
  export interface FullRequestParams extends Omit<RequestInit, 'body'> {
@@ -2590,6 +3496,26 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
2590
3496
  * @secure
2591
3497
  */
2592
3498
  callControllerFindOne: (id: string, params?: RequestParams) => Promise<HttpResponse<Call, any>>;
3499
+ /**
3500
+ * No description
3501
+ *
3502
+ * @tags Calls
3503
+ * @name CallControllerDeleteCallData
3504
+ * @summary Delete Call Data
3505
+ * @request DELETE:/call/{id}
3506
+ * @secure
3507
+ */
3508
+ callControllerDeleteCallData: (id: string, params?: RequestParams) => Promise<HttpResponse<Call, any>>;
3509
+ /**
3510
+ * No description
3511
+ *
3512
+ * @tags Calls
3513
+ * @name CallControllerUpdate
3514
+ * @summary Update Call
3515
+ * @request PATCH:/call/{id}
3516
+ * @secure
3517
+ */
3518
+ callControllerUpdate: (id: string, data: UpdateCallDTO, params?: RequestParams) => Promise<HttpResponse<Call, any>>;
2593
3519
  /**
2594
3520
  * No description
2595
3521
  *
@@ -2622,68 +3548,88 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
2622
3548
  * @secure
2623
3549
  */
2624
3550
  credentialControllerCreate: (data: ({
2625
- provider: 'twilio';
2626
- } & CreateTwilioCredentialDTO) | ({
3551
+ provider: '11labs';
3552
+ } & CreateElevenLabsCredentialDTO) | ({
3553
+ provider: 'anthropic';
3554
+ } & CreateAnthropicCredentialDTO) | ({
3555
+ provider: 'anyscale';
3556
+ } & CreateAnyscaleCredentialDTO) | ({
3557
+ provider: 'azure-openai';
3558
+ } & CreateAzureOpenAICredentialDTO) | ({
3559
+ provider: 'cartesia';
3560
+ } & CreateCartesiaCredentialDTO) | ({
3561
+ provider: 'custom-llm';
3562
+ } & CreateCustomLLMCredentialDTO) | ({
2627
3563
  provider: 'deepgram';
2628
3564
  } & CreateDeepgramCredentialDTO) | ({
3565
+ provider: 'deepinfra';
3566
+ } & CreateDeepInfraCredentialDTO) | ({
3567
+ provider: 'gohighlevel';
3568
+ } & CreateGoHighLevelCredentialDTO) | ({
3569
+ provider: 'groq';
3570
+ } & CreateGroqCredentialDTO) | ({
3571
+ provider: 'lmnt';
3572
+ } & CreateLmntCredentialDTO) | ({
3573
+ provider: 'make';
3574
+ } & CreateMakeCredentialDTO) | ({
2629
3575
  provider: 'openai';
2630
3576
  } & CreateOpenAICredentialDTO) | ({
2631
- provider: 'together-ai';
2632
- } & CreateTogetherAICredentialDTO) | ({
2633
- provider: 'anyscale';
2634
- } & CreateAnyscaleCredentialDTO) | ({
2635
3577
  provider: 'openrouter';
2636
3578
  } & CreateOpenRouterCredentialDTO) | ({
2637
3579
  provider: 'perplexity-ai';
2638
3580
  } & CreatePerplexityAICredentialDTO) | ({
2639
- provider: 'deepinfra';
2640
- } & CreateDeepInfraCredentialDTO) | ({
2641
- provider: 'custom-llm';
2642
- } & CreateCustomLLMCredentialDTO) | ({
2643
- provider: '11labs';
2644
- } & CreateElevenLabsCredentialDTO) | ({
2645
3581
  provider: 'playht';
2646
3582
  } & CreatePlayHTCredentialDTO) | ({
2647
3583
  provider: 'rime-ai';
2648
3584
  } & CreateRimeAICredentialDTO) | ({
2649
3585
  provider: 'runpod';
2650
3586
  } & CreateRunpodCredentialDTO) | ({
2651
- provider: 'groq';
2652
- } & CreateGroqCredentialDTO) | ({
2653
- provider: 'anthropic';
2654
- } & CreateAnthropicCredentialDTO) | ({
3587
+ provider: 'together-ai';
3588
+ } & CreateTogetherAICredentialDTO) | ({
3589
+ provider: 'twilio';
3590
+ } & CreateTwilioCredentialDTO) | ({
2655
3591
  provider: 'vonage';
2656
3592
  } & CreateVonageCredentialDTO), params?: RequestParams) => Promise<HttpResponse<({
2657
- provider: 'twilio';
2658
- } & TwilioCredential) | ({
3593
+ provider: '11labs';
3594
+ } & ElevenLabsCredential) | ({
3595
+ provider: 'anthropic';
3596
+ } & AnthropicCredential) | ({
3597
+ provider: 'anyscale';
3598
+ } & AnyscaleCredential) | ({
3599
+ provider: 'azure-openai';
3600
+ } & AzureOpenAICredential) | ({
3601
+ provider: 'cartesia';
3602
+ } & CartesiaCredential) | ({
3603
+ provider: 'custom-llm';
3604
+ } & CustomLLMCredential) | ({
2659
3605
  provider: 'deepgram';
2660
3606
  } & DeepgramCredential) | ({
3607
+ provider: 'deepinfra';
3608
+ } & DeepInfraCredential) | ({
3609
+ provider: 'gohighlevel';
3610
+ } & GoHighLevelCredential) | ({
3611
+ provider: 'groq';
3612
+ } & GroqCredential) | ({
3613
+ provider: 'lmnt';
3614
+ } & LmntCredential) | ({
3615
+ provider: 'make';
3616
+ } & MakeCredential) | ({
2661
3617
  provider: 'openai';
2662
3618
  } & OpenAICredential) | ({
2663
- provider: 'together-ai';
2664
- } & TogetherAICredential) | ({
2665
- provider: 'anyscale';
2666
- } & AnyscaleCredential) | ({
2667
3619
  provider: 'openrouter';
2668
3620
  } & OpenRouterCredential) | ({
2669
3621
  provider: 'perplexity-ai';
2670
3622
  } & PerplexityAICredential) | ({
2671
- provider: 'deepinfra';
2672
- } & DeepInfraCredential) | ({
2673
- provider: 'custom-llm';
2674
- } & CustomLLMCredential) | ({
2675
- provider: '11labs';
2676
- } & ElevenLabsCredential) | ({
2677
3623
  provider: 'playht';
2678
3624
  } & PlayHTCredential) | ({
2679
3625
  provider: 'rime-ai';
2680
3626
  } & RimeAICredential) | ({
2681
3627
  provider: 'runpod';
2682
3628
  } & RunpodCredential) | ({
2683
- provider: 'groq';
2684
- } & GroqCredential) | ({
2685
- provider: 'anthropic';
2686
- } & AnthropicCredential) | ({
3629
+ provider: 'together-ai';
3630
+ } & TogetherAICredential) | ({
3631
+ provider: 'twilio';
3632
+ } & TwilioCredential) | ({
2687
3633
  provider: 'vonage';
2688
3634
  } & VonageCredential), any>>;
2689
3635
  /**
@@ -2743,36 +3689,46 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
2743
3689
  */
2744
3690
  updatedAtLe?: string;
2745
3691
  }, params?: RequestParams) => Promise<HttpResponse<(({
2746
- provider: 'twilio';
2747
- } & TwilioCredential) | ({
3692
+ provider: '11labs';
3693
+ } & ElevenLabsCredential) | ({
3694
+ provider: 'anthropic';
3695
+ } & AnthropicCredential) | ({
3696
+ provider: 'anyscale';
3697
+ } & AnyscaleCredential) | ({
3698
+ provider: 'azure-openai';
3699
+ } & AzureOpenAICredential) | ({
3700
+ provider: 'cartesia';
3701
+ } & CartesiaCredential) | ({
3702
+ provider: 'custom-llm';
3703
+ } & CustomLLMCredential) | ({
2748
3704
  provider: 'deepgram';
2749
3705
  } & DeepgramCredential) | ({
3706
+ provider: 'deepinfra';
3707
+ } & DeepInfraCredential) | ({
3708
+ provider: 'gohighlevel';
3709
+ } & GoHighLevelCredential) | ({
3710
+ provider: 'groq';
3711
+ } & GroqCredential) | ({
3712
+ provider: 'lmnt';
3713
+ } & LmntCredential) | ({
3714
+ provider: 'make';
3715
+ } & MakeCredential) | ({
2750
3716
  provider: 'openai';
2751
3717
  } & OpenAICredential) | ({
2752
- provider: 'together-ai';
2753
- } & TogetherAICredential) | ({
2754
- provider: 'anyscale';
2755
- } & AnyscaleCredential) | ({
2756
3718
  provider: 'openrouter';
2757
3719
  } & OpenRouterCredential) | ({
2758
3720
  provider: 'perplexity-ai';
2759
3721
  } & PerplexityAICredential) | ({
2760
- provider: 'deepinfra';
2761
- } & DeepInfraCredential) | ({
2762
- provider: 'custom-llm';
2763
- } & CustomLLMCredential) | ({
2764
- provider: '11labs';
2765
- } & ElevenLabsCredential) | ({
2766
3722
  provider: 'playht';
2767
3723
  } & PlayHTCredential) | ({
2768
3724
  provider: 'rime-ai';
2769
3725
  } & RimeAICredential) | ({
2770
3726
  provider: 'runpod';
2771
3727
  } & RunpodCredential) | ({
2772
- provider: 'groq';
2773
- } & GroqCredential) | ({
2774
- provider: 'anthropic';
2775
- } & AnthropicCredential) | ({
3728
+ provider: 'together-ai';
3729
+ } & TogetherAICredential) | ({
3730
+ provider: 'twilio';
3731
+ } & TwilioCredential) | ({
2776
3732
  provider: 'vonage';
2777
3733
  } & VonageCredential))[], any>>;
2778
3734
  /**
@@ -2785,36 +3741,46 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
2785
3741
  * @secure
2786
3742
  */
2787
3743
  credentialControllerFindOne: (id: string, params?: RequestParams) => Promise<HttpResponse<({
2788
- provider: 'twilio';
2789
- } & TwilioCredential) | ({
3744
+ provider: '11labs';
3745
+ } & ElevenLabsCredential) | ({
3746
+ provider: 'anthropic';
3747
+ } & AnthropicCredential) | ({
3748
+ provider: 'anyscale';
3749
+ } & AnyscaleCredential) | ({
3750
+ provider: 'azure-openai';
3751
+ } & AzureOpenAICredential) | ({
3752
+ provider: 'cartesia';
3753
+ } & CartesiaCredential) | ({
3754
+ provider: 'custom-llm';
3755
+ } & CustomLLMCredential) | ({
2790
3756
  provider: 'deepgram';
2791
3757
  } & DeepgramCredential) | ({
3758
+ provider: 'deepinfra';
3759
+ } & DeepInfraCredential) | ({
3760
+ provider: 'gohighlevel';
3761
+ } & GoHighLevelCredential) | ({
3762
+ provider: 'groq';
3763
+ } & GroqCredential) | ({
3764
+ provider: 'lmnt';
3765
+ } & LmntCredential) | ({
3766
+ provider: 'make';
3767
+ } & MakeCredential) | ({
2792
3768
  provider: 'openai';
2793
3769
  } & OpenAICredential) | ({
2794
- provider: 'together-ai';
2795
- } & TogetherAICredential) | ({
2796
- provider: 'anyscale';
2797
- } & AnyscaleCredential) | ({
2798
3770
  provider: 'openrouter';
2799
3771
  } & OpenRouterCredential) | ({
2800
3772
  provider: 'perplexity-ai';
2801
3773
  } & PerplexityAICredential) | ({
2802
- provider: 'deepinfra';
2803
- } & DeepInfraCredential) | ({
2804
- provider: 'custom-llm';
2805
- } & CustomLLMCredential) | ({
2806
- provider: '11labs';
2807
- } & ElevenLabsCredential) | ({
2808
3774
  provider: 'playht';
2809
3775
  } & PlayHTCredential) | ({
2810
3776
  provider: 'rime-ai';
2811
3777
  } & RimeAICredential) | ({
2812
3778
  provider: 'runpod';
2813
3779
  } & RunpodCredential) | ({
2814
- provider: 'groq';
2815
- } & GroqCredential) | ({
2816
- provider: 'anthropic';
2817
- } & AnthropicCredential) | ({
3780
+ provider: 'together-ai';
3781
+ } & TogetherAICredential) | ({
3782
+ provider: 'twilio';
3783
+ } & TwilioCredential) | ({
2818
3784
  provider: 'vonage';
2819
3785
  } & VonageCredential), any>>;
2820
3786
  /**
@@ -2827,68 +3793,88 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
2827
3793
  * @secure
2828
3794
  */
2829
3795
  credentialControllerUpdate: (id: string, data: ({
2830
- provider: 'twilio';
2831
- } & UpdateTwilioCredentialDTO) | ({
3796
+ provider: '11labs';
3797
+ } & UpdateElevenLabsCredentialDTO) | ({
3798
+ provider: 'anthropic';
3799
+ } & UpdateAnthropicCredentialDTO) | ({
3800
+ provider: 'anyscale';
3801
+ } & UpdateAnyscaleCredentialDTO) | ({
3802
+ provider: 'azure-openai';
3803
+ } & UpdateAzureOpenAICredentialDTO) | ({
3804
+ provider: 'cartesia';
3805
+ } & UpdateCartesiaCredentialDTO) | ({
3806
+ provider: 'custom-llm';
3807
+ } & UpdateCustomLLMCredentialDTO) | ({
2832
3808
  provider: 'deepgram';
2833
3809
  } & UpdateDeepgramCredentialDTO) | ({
3810
+ provider: 'deepinfra';
3811
+ } & UpdateDeepInfraCredentialDTO) | ({
3812
+ provider: 'gohighlevel';
3813
+ } & UpdateGoHighLevelCredentialDTO) | ({
3814
+ provider: 'groq';
3815
+ } & UpdateGroqCredentialDTO) | ({
3816
+ provider: 'lmnt';
3817
+ } & UpdateLmntCredentialDTO) | ({
3818
+ provider: 'make';
3819
+ } & UpdateMakeCredentialDTO) | ({
2834
3820
  provider: 'openai';
2835
3821
  } & UpdateOpenAICredentialDTO) | ({
2836
- provider: 'together-ai';
2837
- } & UpdateTogetherAICredentialDTO) | ({
2838
- provider: 'anyscale';
2839
- } & UpdateAnyscaleCredentialDTO) | ({
2840
3822
  provider: 'openrouter';
2841
3823
  } & UpdateOpenRouterCredentialDTO) | ({
2842
3824
  provider: 'perplexity-ai';
2843
3825
  } & UpdatePerplexityAICredentialDTO) | ({
2844
- provider: 'deepinfra';
2845
- } & UpdateDeepInfraCredentialDTO) | ({
2846
- provider: 'custom-llm';
2847
- } & UpdateCustomLLMCredentialDTO) | ({
2848
- provider: '11labs';
2849
- } & UpdateElevenLabsCredentialDTO) | ({
2850
3826
  provider: 'playht';
2851
3827
  } & UpdatePlayHTCredentialDTO) | ({
2852
3828
  provider: 'rime-ai';
2853
3829
  } & UpdateRimeAICredentialDTO) | ({
2854
3830
  provider: 'runpod';
2855
3831
  } & UpdateRunpodCredentialDTO) | ({
2856
- provider: 'groq';
2857
- } & UpdateGroqCredentialDTO) | ({
2858
- provider: 'anthropic';
2859
- } & UpdateAnthropicCredentialDTO) | ({
3832
+ provider: 'together-ai';
3833
+ } & UpdateTogetherAICredentialDTO) | ({
3834
+ provider: 'twilio';
3835
+ } & UpdateTwilioCredentialDTO) | ({
2860
3836
  provider: 'vonage';
2861
3837
  } & UpdateVonageCredentialDTO), params?: RequestParams) => Promise<HttpResponse<({
2862
- provider: 'twilio';
2863
- } & TwilioCredential) | ({
3838
+ provider: '11labs';
3839
+ } & ElevenLabsCredential) | ({
3840
+ provider: 'anthropic';
3841
+ } & AnthropicCredential) | ({
3842
+ provider: 'anyscale';
3843
+ } & AnyscaleCredential) | ({
3844
+ provider: 'azure-openai';
3845
+ } & AzureOpenAICredential) | ({
3846
+ provider: 'cartesia';
3847
+ } & CartesiaCredential) | ({
3848
+ provider: 'custom-llm';
3849
+ } & CustomLLMCredential) | ({
2864
3850
  provider: 'deepgram';
2865
3851
  } & DeepgramCredential) | ({
3852
+ provider: 'deepinfra';
3853
+ } & DeepInfraCredential) | ({
3854
+ provider: 'gohighlevel';
3855
+ } & GoHighLevelCredential) | ({
3856
+ provider: 'groq';
3857
+ } & GroqCredential) | ({
3858
+ provider: 'lmnt';
3859
+ } & LmntCredential) | ({
3860
+ provider: 'make';
3861
+ } & MakeCredential) | ({
2866
3862
  provider: 'openai';
2867
3863
  } & OpenAICredential) | ({
2868
- provider: 'together-ai';
2869
- } & TogetherAICredential) | ({
2870
- provider: 'anyscale';
2871
- } & AnyscaleCredential) | ({
2872
3864
  provider: 'openrouter';
2873
3865
  } & OpenRouterCredential) | ({
2874
3866
  provider: 'perplexity-ai';
2875
3867
  } & PerplexityAICredential) | ({
2876
- provider: 'deepinfra';
2877
- } & DeepInfraCredential) | ({
2878
- provider: 'custom-llm';
2879
- } & CustomLLMCredential) | ({
2880
- provider: '11labs';
2881
- } & ElevenLabsCredential) | ({
2882
3868
  provider: 'playht';
2883
3869
  } & PlayHTCredential) | ({
2884
3870
  provider: 'rime-ai';
2885
3871
  } & RimeAICredential) | ({
2886
3872
  provider: 'runpod';
2887
3873
  } & RunpodCredential) | ({
2888
- provider: 'groq';
2889
- } & GroqCredential) | ({
2890
- provider: 'anthropic';
2891
- } & AnthropicCredential) | ({
3874
+ provider: 'together-ai';
3875
+ } & TogetherAICredential) | ({
3876
+ provider: 'twilio';
3877
+ } & TwilioCredential) | ({
2892
3878
  provider: 'vonage';
2893
3879
  } & VonageCredential), any>>;
2894
3880
  /**
@@ -2901,36 +3887,46 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
2901
3887
  * @secure
2902
3888
  */
2903
3889
  credentialControllerRemove: (id: string, params?: RequestParams) => Promise<HttpResponse<({
2904
- provider: 'twilio';
2905
- } & TwilioCredential) | ({
3890
+ provider: '11labs';
3891
+ } & ElevenLabsCredential) | ({
3892
+ provider: 'anthropic';
3893
+ } & AnthropicCredential) | ({
3894
+ provider: 'anyscale';
3895
+ } & AnyscaleCredential) | ({
3896
+ provider: 'azure-openai';
3897
+ } & AzureOpenAICredential) | ({
3898
+ provider: 'cartesia';
3899
+ } & CartesiaCredential) | ({
3900
+ provider: 'custom-llm';
3901
+ } & CustomLLMCredential) | ({
2906
3902
  provider: 'deepgram';
2907
3903
  } & DeepgramCredential) | ({
3904
+ provider: 'deepinfra';
3905
+ } & DeepInfraCredential) | ({
3906
+ provider: 'gohighlevel';
3907
+ } & GoHighLevelCredential) | ({
3908
+ provider: 'groq';
3909
+ } & GroqCredential) | ({
3910
+ provider: 'lmnt';
3911
+ } & LmntCredential) | ({
3912
+ provider: 'make';
3913
+ } & MakeCredential) | ({
2908
3914
  provider: 'openai';
2909
3915
  } & OpenAICredential) | ({
2910
- provider: 'together-ai';
2911
- } & TogetherAICredential) | ({
2912
- provider: 'anyscale';
2913
- } & AnyscaleCredential) | ({
2914
3916
  provider: 'openrouter';
2915
3917
  } & OpenRouterCredential) | ({
2916
3918
  provider: 'perplexity-ai';
2917
3919
  } & PerplexityAICredential) | ({
2918
- provider: 'deepinfra';
2919
- } & DeepInfraCredential) | ({
2920
- provider: 'custom-llm';
2921
- } & CustomLLMCredential) | ({
2922
- provider: '11labs';
2923
- } & ElevenLabsCredential) | ({
2924
3920
  provider: 'playht';
2925
3921
  } & PlayHTCredential) | ({
2926
3922
  provider: 'rime-ai';
2927
3923
  } & RimeAICredential) | ({
2928
3924
  provider: 'runpod';
2929
3925
  } & RunpodCredential) | ({
2930
- provider: 'groq';
2931
- } & GroqCredential) | ({
2932
- provider: 'anthropic';
2933
- } & AnthropicCredential) | ({
3926
+ provider: 'together-ai';
3927
+ } & TogetherAICredential) | ({
3928
+ provider: 'twilio';
3929
+ } & TwilioCredential) | ({
2934
3930
  provider: 'vonage';
2935
3931
  } & VonageCredential), any>>;
2936
3932
  };
@@ -3085,45 +4081,106 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3085
4081
  rangeEnd?: string;
3086
4082
  }, params?: RequestParams) => Promise<HttpResponse<Metrics[], any>>;
3087
4083
  };
3088
- voiceLibrary: {
4084
+ log: {
3089
4085
  /**
3090
4086
  * No description
3091
4087
  *
3092
- * @tags Voice Library
3093
- * @name VoiceLibraryControllerVoiceGetByProvider
3094
- * @summary Get voices in Voice Library by Providers
3095
- * @request GET:/voice-library/{provider}
4088
+ * @tags Logs
4089
+ * @name LoggingControllerGetLogs
4090
+ * @summary Get Call Logs
4091
+ * @request GET:/log
3096
4092
  * @secure
3097
4093
  */
3098
- voiceLibraryControllerVoiceGetByProvider: (provider: '11labs' | 'playht' | 'rime-ai' | 'deepgram' | 'openai' | 'azure' | 'lmnt' | 'neets', params?: RequestParams) => Promise<HttpResponse<VoiceLibrary[], any>>;
4094
+ loggingControllerGetLogs: (query: {
4095
+ callId: string;
4096
+ /**
4097
+ * This is the page number to return. Defaults to 1.
4098
+ * @min 1
4099
+ */
4100
+ page?: number;
4101
+ /** This is the sort order for pagination. Defaults to 'ASC'. */
4102
+ sortOrder?: 'ASC' | 'DESC';
4103
+ /**
4104
+ * This is the maximum number of items to return. Defaults to 100.
4105
+ * @min 0
4106
+ * @max 1000
4107
+ */
4108
+ limit?: number;
4109
+ /**
4110
+ * This will return items where the createdAt is greater than the specified value.
4111
+ * @format date-time
4112
+ */
4113
+ createdAtGt?: string;
4114
+ /**
4115
+ * This will return items where the createdAt is less than the specified value.
4116
+ * @format date-time
4117
+ */
4118
+ createdAtLt?: string;
4119
+ /**
4120
+ * This will return items where the createdAt is greater than or equal to the specified value.
4121
+ * @format date-time
4122
+ */
4123
+ createdAtGe?: string;
4124
+ /**
4125
+ * This will return items where the createdAt is less than or equal to the specified value.
4126
+ * @format date-time
4127
+ */
4128
+ createdAtLe?: string;
4129
+ /**
4130
+ * This will return items where the updatedAt is greater than the specified value.
4131
+ * @format date-time
4132
+ */
4133
+ updatedAtGt?: string;
4134
+ /**
4135
+ * This will return items where the updatedAt is less than the specified value.
4136
+ * @format date-time
4137
+ */
4138
+ updatedAtLt?: string;
4139
+ /**
4140
+ * This will return items where the updatedAt is greater than or equal to the specified value.
4141
+ * @format date-time
4142
+ */
4143
+ updatedAtGe?: string;
4144
+ /**
4145
+ * This will return items where the updatedAt is less than or equal to the specified value.
4146
+ * @format date-time
4147
+ */
4148
+ updatedAtLe?: string;
4149
+ }, params?: RequestParams) => Promise<HttpResponse<CallLogsPaginatedResponse, any>>;
4150
+ };
4151
+ tool: {
3099
4152
  /**
3100
4153
  * No description
3101
4154
  *
3102
- * @tags Voice Library
3103
- * @name VoiceLibraryControllerVoiceLibrarySyncByProvider
3104
- * @summary Sync voices in Voice Library by Providers
3105
- * @request POST:/voice-library/sync/{provider}
4155
+ * @tags Tools
4156
+ * @name ToolControllerCreate
4157
+ * @summary Create Tool
4158
+ * @request POST:/tool
3106
4159
  * @secure
3107
4160
  */
3108
- voiceLibraryControllerVoiceLibrarySyncByProvider: (provider: '11labs' | 'playht' | 'rime-ai' | 'deepgram' | 'openai' | 'azure' | 'lmnt' | 'neets', params?: RequestParams) => Promise<HttpResponse<VoiceLibrary[], any>>;
3109
- };
3110
- logging: {
4161
+ toolControllerCreate: (data: ({
4162
+ type: 'make';
4163
+ } & CreateMakeToolDTO) | ({
4164
+ type: 'ghl';
4165
+ } & CreateGhlToolDTO) | ({
4166
+ type: 'function';
4167
+ } & CreateFunctionToolDTO), params?: RequestParams) => Promise<HttpResponse<({
4168
+ type: 'make';
4169
+ } & MakeTool) | ({
4170
+ type: 'ghl';
4171
+ } & GhlTool) | ({
4172
+ type: 'function';
4173
+ } & FunctionTool), any>>;
3111
4174
  /**
3112
4175
  * No description
3113
4176
  *
3114
- * @tags Logging
3115
- * @name LoggingControllerGetLogs
3116
- * @summary Get Logging Logs
3117
- * @request GET:/logging
4177
+ * @tags Tools
4178
+ * @name ToolControllerFindAll
4179
+ * @summary List Tools
4180
+ * @request GET:/tool
3118
4181
  * @secure
3119
4182
  */
3120
- loggingControllerGetLogs: (query: {
3121
- callId: string;
3122
- /**
3123
- * This is the page number to return. Defaults to 1.
3124
- * @min 1
3125
- */
3126
- page?: number;
4183
+ toolControllerFindAll: (query?: {
3127
4184
  /**
3128
4185
  * This is the maximum number of items to return. Defaults to 100.
3129
4186
  * @min 0
@@ -3170,7 +4227,109 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3170
4227
  * @format date-time
3171
4228
  */
3172
4229
  updatedAtLe?: string;
3173
- }, params?: RequestParams) => Promise<HttpResponse<CallLogsPaginatedResponse, any>>;
4230
+ }, params?: RequestParams) => Promise<HttpResponse<(({
4231
+ type: 'make';
4232
+ } & MakeTool) | ({
4233
+ type: 'ghl';
4234
+ } & GhlTool) | ({
4235
+ type: 'function';
4236
+ } & FunctionTool))[], any>>;
4237
+ /**
4238
+ * No description
4239
+ *
4240
+ * @tags Tools
4241
+ * @name ToolControllerFindOne
4242
+ * @summary Get Tool
4243
+ * @request GET:/tool/{id}
4244
+ * @secure
4245
+ */
4246
+ toolControllerFindOne: (id: string, params?: RequestParams) => Promise<HttpResponse<({
4247
+ type: 'make';
4248
+ } & MakeTool) | ({
4249
+ type: 'ghl';
4250
+ } & GhlTool) | ({
4251
+ type: 'function';
4252
+ } & FunctionTool), any>>;
4253
+ /**
4254
+ * No description
4255
+ *
4256
+ * @tags Tools
4257
+ * @name ToolControllerUpdate
4258
+ * @summary Update Tool
4259
+ * @request PATCH:/tool/{id}
4260
+ * @secure
4261
+ */
4262
+ toolControllerUpdate: (id: string, data: ({
4263
+ type: 'make';
4264
+ } & UpdateMakeToolDTO) | ({
4265
+ type: 'ghl';
4266
+ } & UpdateGhlToolDTO) | ({
4267
+ type: 'function';
4268
+ } & UpdateFunctionToolDTO), params?: RequestParams) => Promise<HttpResponse<({
4269
+ type: 'make';
4270
+ } & MakeTool) | ({
4271
+ type: 'ghl';
4272
+ } & GhlTool) | ({
4273
+ type: 'function';
4274
+ } & FunctionTool), any>>;
4275
+ /**
4276
+ * No description
4277
+ *
4278
+ * @tags Tools
4279
+ * @name ToolControllerRemove
4280
+ * @summary Delete Tool
4281
+ * @request DELETE:/tool/{id}
4282
+ * @secure
4283
+ */
4284
+ toolControllerRemove: (id: string, params?: RequestParams) => Promise<HttpResponse<({
4285
+ type: 'make';
4286
+ } & MakeTool) | ({
4287
+ type: 'ghl';
4288
+ } & GhlTool) | ({
4289
+ type: 'function';
4290
+ } & FunctionTool), any>>;
4291
+ };
4292
+ file: {
4293
+ /**
4294
+ * No description
4295
+ *
4296
+ * @tags Files
4297
+ * @name FileControllerCreate
4298
+ * @summary Upload File
4299
+ * @request POST:/file/upload
4300
+ * @secure
4301
+ */
4302
+ fileControllerCreate: (data: CreateFileDTO, params?: RequestParams) => Promise<HttpResponse<File, void>>;
4303
+ /**
4304
+ * No description
4305
+ *
4306
+ * @tags Files
4307
+ * @name FileControllerFindAll
4308
+ * @summary List Files
4309
+ * @request GET:/file
4310
+ * @secure
4311
+ */
4312
+ fileControllerFindAll: (params?: RequestParams) => Promise<HttpResponse<File[], any>>;
4313
+ /**
4314
+ * No description
4315
+ *
4316
+ * @tags Files
4317
+ * @name FileControllerFindOne
4318
+ * @summary Get File
4319
+ * @request GET:/file/{id}
4320
+ * @secure
4321
+ */
4322
+ fileControllerFindOne: (id: string, params?: RequestParams) => Promise<HttpResponse<File, any>>;
4323
+ /**
4324
+ * No description
4325
+ *
4326
+ * @tags Files
4327
+ * @name FileControllerRemove
4328
+ * @summary Delete File
4329
+ * @request DELETE:/file/{id}
4330
+ * @secure
4331
+ */
4332
+ fileControllerRemove: (id: string, params?: RequestParams) => Promise<HttpResponse<File, any>>;
3174
4333
  };
3175
4334
  }
3176
4335
  export {};