@vapi-ai/web 2.2.5 → 2.2.7
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/api.ts +4345 -1210
- package/dist/api.d.ts +2083 -481
- package/dist/api.js +33 -0
- package/dist/vapi.js +1 -1
- package/package.json +1 -1
- package/vapi.ts +1 -1
package/dist/api.d.ts
CHANGED
|
@@ -1,3 +1,189 @@
|
|
|
1
|
+
export interface AnalysisCostBreakdown {
|
|
2
|
+
/** This is the cost to summarize the call. */
|
|
3
|
+
summary?: number;
|
|
4
|
+
/** This is the number of prompt tokens used to summarize the call. */
|
|
5
|
+
summaryPromptTokens?: number;
|
|
6
|
+
/** This is the number of completion tokens used to summarize the call. */
|
|
7
|
+
summaryCompletionTokens?: number;
|
|
8
|
+
/** This is the cost to extract structured data from the call. */
|
|
9
|
+
structuredData?: number;
|
|
10
|
+
/** This is the number of prompt tokens used to extract structured data from the call. */
|
|
11
|
+
structuredDataPromptTokens?: number;
|
|
12
|
+
/** This is the number of completion tokens used to extract structured data from the call. */
|
|
13
|
+
structuredDataCompletionTokens?: number;
|
|
14
|
+
/** This is the cost to evaluate if the call was successful. */
|
|
15
|
+
successEvaluation?: number;
|
|
16
|
+
/** This is the number of prompt tokens used to evaluate if the call was successful. */
|
|
17
|
+
successEvaluationPromptTokens?: number;
|
|
18
|
+
/** This is the number of completion tokens used to evaluate if the call was successful. */
|
|
19
|
+
successEvaluationCompletionTokens?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface CostBreakdown {
|
|
22
|
+
/** This is the cost of the transport provider, like Twilio or Vonage. */
|
|
23
|
+
transport?: number;
|
|
24
|
+
/** This is the cost of the speech-to-text service. */
|
|
25
|
+
stt?: number;
|
|
26
|
+
/** This is the cost of the language model. */
|
|
27
|
+
llm?: number;
|
|
28
|
+
/** This is the cost of the text-to-speech service. */
|
|
29
|
+
tts?: number;
|
|
30
|
+
/** This is the cost of Vapi. */
|
|
31
|
+
vapi?: number;
|
|
32
|
+
/** This is the total cost of the call. */
|
|
33
|
+
total?: number;
|
|
34
|
+
/** This is the LLM prompt tokens used for the call. */
|
|
35
|
+
llmPromptTokens?: number;
|
|
36
|
+
/** This is the LLM completion tokens used for the call. */
|
|
37
|
+
llmCompletionTokens?: number;
|
|
38
|
+
/** This is the TTS characters used for the call. */
|
|
39
|
+
ttsCharacters?: number;
|
|
40
|
+
/** This is the cost of the analysis. */
|
|
41
|
+
analysisCostBreakdown?: AnalysisCostBreakdown;
|
|
42
|
+
}
|
|
43
|
+
export interface TranscriptPlan {
|
|
44
|
+
/**
|
|
45
|
+
* This determines whether the transcript is stored in `call.artifact.transcript`. Defaults to true.
|
|
46
|
+
*
|
|
47
|
+
* @default true
|
|
48
|
+
* @example true
|
|
49
|
+
*/
|
|
50
|
+
enabled?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* This is the name of the assistant in the transcript. Defaults to 'AI'.
|
|
53
|
+
*
|
|
54
|
+
* Usage:
|
|
55
|
+
* - If you want to change the name of the assistant in the transcript, set this. Example, here is what the transcript would look like with `assistantName` set to 'Buyer':
|
|
56
|
+
* ```
|
|
57
|
+
* User: Hello, how are you?
|
|
58
|
+
* Buyer: I'm fine.
|
|
59
|
+
* User: Do you want to buy a car?
|
|
60
|
+
* Buyer: No.
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @default 'AI'
|
|
64
|
+
*/
|
|
65
|
+
assistantName?: string;
|
|
66
|
+
/**
|
|
67
|
+
* This is the name of the user in the transcript. Defaults to 'User'.
|
|
68
|
+
*
|
|
69
|
+
* Usage:
|
|
70
|
+
* - If you want to change the name of the user in the transcript, set this. Example, here is what the transcript would look like with `userName` set to 'Seller':
|
|
71
|
+
* ```
|
|
72
|
+
* Seller: Hello, how are you?
|
|
73
|
+
* AI: I'm fine.
|
|
74
|
+
* Seller: Do you want to buy a car?
|
|
75
|
+
* AI: No.
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @default 'User'
|
|
79
|
+
*/
|
|
80
|
+
userName?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface ArtifactPlan {
|
|
83
|
+
/**
|
|
84
|
+
* This determines whether assistant's calls are recorded. Defaults to true.
|
|
85
|
+
*
|
|
86
|
+
* Usage:
|
|
87
|
+
* - If you don't want to record the calls, set this to false.
|
|
88
|
+
* - If you want to record the calls when `assistant.hipaaEnabled` (deprecated) or `assistant.compliancePlan.hipaaEnabled` explicity set this to true and make sure to provide S3 or GCP credentials on the Provider Credentials page in the Dashboard.
|
|
89
|
+
*
|
|
90
|
+
* You can find the recording at `call.artifact.recordingUrl` and `call.artifact.stereoRecordingUrl` after the call is ended.
|
|
91
|
+
*
|
|
92
|
+
* @default true
|
|
93
|
+
* @example true
|
|
94
|
+
*/
|
|
95
|
+
recordingEnabled?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* This determines the format of the recording. Defaults to `wav;l16`.
|
|
98
|
+
*
|
|
99
|
+
* @default 'wav;l16'
|
|
100
|
+
*/
|
|
101
|
+
recordingFormat?: 'wav;l16' | 'mp3';
|
|
102
|
+
/**
|
|
103
|
+
* This determines whether the video is recorded during the call. Defaults to false. Only relevant for `webCall` type.
|
|
104
|
+
*
|
|
105
|
+
* You can find the video recording at `call.artifact.videoRecordingUrl` after the call is ended.
|
|
106
|
+
*
|
|
107
|
+
* @default false
|
|
108
|
+
* @example false
|
|
109
|
+
*/
|
|
110
|
+
videoRecordingEnabled?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* This determines whether the SIP packet capture is enabled. Defaults to true. Only relevant for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`.
|
|
113
|
+
*
|
|
114
|
+
* You can find the packet capture at `call.artifact.pcapUrl` after the call is ended.
|
|
115
|
+
*
|
|
116
|
+
* @default true
|
|
117
|
+
* @example true
|
|
118
|
+
*/
|
|
119
|
+
pcapEnabled?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* This is the path where the SIP packet capture will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard.
|
|
122
|
+
*
|
|
123
|
+
* If credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it.
|
|
124
|
+
*
|
|
125
|
+
* Usage:
|
|
126
|
+
* - If you want to upload the packet capture to a specific path, set this to the path. Example: `/my-assistant-captures`.
|
|
127
|
+
* - If you want to upload the packet capture to the root of the bucket, set this to `/`.
|
|
128
|
+
*
|
|
129
|
+
* @default '/'
|
|
130
|
+
* @example "/pcaps"
|
|
131
|
+
*/
|
|
132
|
+
pcapS3PathPrefix?: string;
|
|
133
|
+
/** This is the plan for `call.artifact.transcript`. To disable, set `transcriptPlan.enabled` to false. */
|
|
134
|
+
transcriptPlan?: TranscriptPlan;
|
|
135
|
+
/**
|
|
136
|
+
* This is the path where the recording will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard.
|
|
137
|
+
*
|
|
138
|
+
* If credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it.
|
|
139
|
+
*
|
|
140
|
+
* Usage:
|
|
141
|
+
* - If you want to upload the recording to a specific path, set this to the path. Example: `/my-assistant-recordings`.
|
|
142
|
+
* - If you want to upload the recording to the root of the bucket, set this to `/`.
|
|
143
|
+
*
|
|
144
|
+
* @default '/'
|
|
145
|
+
*/
|
|
146
|
+
recordingPath?: string;
|
|
147
|
+
}
|
|
148
|
+
export interface Analysis {
|
|
149
|
+
/** This is the summary of the call. Customize by setting `assistant.analysisPlan.summaryPrompt`. */
|
|
150
|
+
summary?: string;
|
|
151
|
+
/** This is the structured data extracted from the call. Customize by setting `assistant.analysisPlan.structuredDataPrompt` and/or `assistant.analysisPlan.structuredDataSchema`. */
|
|
152
|
+
structuredData?: object;
|
|
153
|
+
/** This is the structured data catalog of the call. Customize by setting `assistant.analysisPlan.structuredDataMultiPlan`. */
|
|
154
|
+
structuredDataMulti?: object[];
|
|
155
|
+
/** This is the evaluation of the call. Customize by setting `assistant.analysisPlan.successEvaluationPrompt` and/or `assistant.analysisPlan.successEvaluationRubric`. */
|
|
156
|
+
successEvaluation?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface Monitor {
|
|
159
|
+
/** This is the URL where the assistant's calls can be listened to in real-time. To enable, set `assistant.monitorPlan.listenEnabled` to `true`. */
|
|
160
|
+
listenUrl?: string;
|
|
161
|
+
/** This is the URL where the assistant's calls can be controlled in real-time. To enable, set `assistant.monitorPlan.controlEnabled` to `true`. */
|
|
162
|
+
controlUrl?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface OpenAIMessage {
|
|
165
|
+
/** @maxLength 100000000 */
|
|
166
|
+
content: string | null;
|
|
167
|
+
role: 'assistant' | 'function' | 'user' | 'system' | 'tool';
|
|
168
|
+
}
|
|
169
|
+
export interface Artifact {
|
|
170
|
+
/** These are the messages that were spoken during the call. */
|
|
171
|
+
messages?: (UserMessage | SystemMessage | BotMessage | ToolCallMessage | ToolCallResultMessage)[];
|
|
172
|
+
/** These are the messages that were spoken during the call, formatted for OpenAI. */
|
|
173
|
+
messagesOpenAIFormatted?: OpenAIMessage[];
|
|
174
|
+
/** This is the recording url for the call. To enable, set `assistant.artifactPlan.recordingEnabled`. */
|
|
175
|
+
recordingUrl?: string;
|
|
176
|
+
/** This is the stereo recording url for the call. To enable, set `assistant.artifactPlan.recordingEnabled`. */
|
|
177
|
+
stereoRecordingUrl?: string;
|
|
178
|
+
/** This is video recording url for the call. To enable, set `assistant.artifactPlan.videoRecordingEnabled`. */
|
|
179
|
+
videoRecordingUrl?: string;
|
|
180
|
+
/** This is video recording start delay in ms. To enable, set `assistant.artifactPlan.videoRecordingEnabled`. This can be used to align the playback of the recording with artifact.messages timestamps. */
|
|
181
|
+
videoRecordingStartDelaySeconds?: number;
|
|
182
|
+
/** This is the transcript of the call. This is derived from `artifact.messages` but provided for convenience. */
|
|
183
|
+
transcript?: string;
|
|
184
|
+
/** This is the packet capture url for the call. This is only available for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`. */
|
|
185
|
+
pcapUrl?: string;
|
|
186
|
+
}
|
|
1
187
|
export interface FallbackTranscriberPlan {
|
|
2
188
|
transcribers: (FallbackAssemblyAITranscriber | FallbackAzureSpeechTranscriber | FallbackCustomTranscriber | FallbackDeepgramTranscriber | FallbackElevenLabsTranscriber | FallbackGladiaTranscriber | FallbackGoogleTranscriber | FallbackTalkscriberTranscriber | FallbackSpeechmaticsTranscriber | FallbackOpenAITranscriber)[];
|
|
3
189
|
}
|
|
@@ -6,6 +192,15 @@ export interface AssemblyAITranscriber {
|
|
|
6
192
|
provider: 'assembly-ai';
|
|
7
193
|
/** This is the language that will be set for the transcription. */
|
|
8
194
|
language?: 'en';
|
|
195
|
+
/**
|
|
196
|
+
* Transcripts below this confidence threshold will be discarded.
|
|
197
|
+
*
|
|
198
|
+
* @default 0.4
|
|
199
|
+
* @min 0
|
|
200
|
+
* @max 1
|
|
201
|
+
* @example 0.4
|
|
202
|
+
*/
|
|
203
|
+
confidenceThreshold?: number;
|
|
9
204
|
/** The WebSocket URL that the transcriber connects to. */
|
|
10
205
|
realtimeUrl?: string;
|
|
11
206
|
/** Add up to 2500 characters of custom vocabulary. */
|
|
@@ -131,9 +326,9 @@ export interface DeepgramTranscriber {
|
|
|
131
326
|
/** This is the transcription provider that will be used. */
|
|
132
327
|
provider: 'deepgram';
|
|
133
328
|
/** 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 */
|
|
134
|
-
model?: 'nova-3' | 'nova-3-general' | '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;
|
|
329
|
+
model?: 'nova-3' | 'nova-3-general' | 'nova-3-medical' | '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' | 'whisper' | string;
|
|
135
330
|
/** 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 */
|
|
136
|
-
language?: 'bg' | 'ca' | 'cs' | 'da' | 'da-DK' | 'de' | 'de-CH' | 'el' | 'en' | 'en-AU' | 'en-GB' | 'en-IN' | 'en-NZ' | 'en-US' | 'es' | 'es-419' | 'es-LATAM' | 'et' | 'fi' | 'fr' | 'fr-CA' | 'hi' | 'hi-Latn' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'ko-KR' | 'lt' | 'lv' | 'ms' | 'multi' | 'nl' | 'nl-BE' | 'no' | 'pl' | 'pt' | 'pt-BR' | 'ro' | 'ru' | 'sk' | 'sv' | 'sv-SE' | 'ta' | 'taq' | 'th' | 'th-TH' | 'tr' | 'uk' | 'vi' | 'zh' | 'zh-CN' | 'zh-HK' | 'zh-Hans' | 'zh-Hant' | 'zh-TW';
|
|
331
|
+
language?: 'ar' | 'az' | 'ba' | 'bg' | 'br' | 'ca' | 'cs' | 'da' | 'da-DK' | 'de' | 'de-CH' | 'el' | 'en' | 'en-AU' | 'en-GB' | 'en-IN' | 'en-NZ' | 'en-US' | 'es' | 'es-419' | 'es-LATAM' | 'et' | 'eu' | 'fi' | 'fr' | 'fr-CA' | 'ha' | 'haw' | 'he' | 'hi' | 'hi-Latn' | 'hu' | 'id' | 'is' | 'it' | 'ja' | 'jw' | 'kn' | 'ko' | 'ko-KR' | 'ln' | 'lt' | 'lv' | 'mk' | 'ms' | 'multi' | 'nl' | 'nl-BE' | 'no' | 'pl' | 'pt' | 'pt-BR' | 'ro' | 'ru' | 'sk' | 'sl' | 'sn' | 'so' | 'sr' | 'su' | 'sv' | 'sv-SE' | 'ta' | 'taq' | 'th' | 'th-TH' | 'tr' | 'tt' | 'uk' | 'ur' | 'vi' | 'yo' | 'zh' | 'zh-CN' | 'zh-HK' | 'zh-Hans' | 'zh-Hant' | 'zh-TW';
|
|
137
332
|
/**
|
|
138
333
|
* This will be use smart format option provided by Deepgram. It's default disabled because it can sometimes format numbers as times but it's getting better.
|
|
139
334
|
* @example false
|
|
@@ -191,6 +386,15 @@ export interface DeepgramTranscriber {
|
|
|
191
386
|
* @example false
|
|
192
387
|
*/
|
|
193
388
|
numerals?: boolean;
|
|
389
|
+
/**
|
|
390
|
+
* Transcripts below this confidence threshold will be discarded.
|
|
391
|
+
*
|
|
392
|
+
* @default 0.4
|
|
393
|
+
* @min 0
|
|
394
|
+
* @max 1
|
|
395
|
+
* @example 0.4
|
|
396
|
+
*/
|
|
397
|
+
confidenceThreshold?: number;
|
|
194
398
|
/** These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here. */
|
|
195
399
|
keywords?: string[];
|
|
196
400
|
/** Keyterm Prompting allows you improve Keyword Recall Rate (KRR) for important keyterms or phrases up to 90%. */
|
|
@@ -246,6 +450,15 @@ export interface GladiaTranscriber {
|
|
|
246
450
|
* @example false
|
|
247
451
|
*/
|
|
248
452
|
audioEnhancer?: boolean;
|
|
453
|
+
/**
|
|
454
|
+
* Transcripts below this confidence threshold will be discarded.
|
|
455
|
+
*
|
|
456
|
+
* @default 0.4
|
|
457
|
+
* @min 0
|
|
458
|
+
* @max 1
|
|
459
|
+
* @example 0.4
|
|
460
|
+
*/
|
|
461
|
+
confidenceThreshold?: number;
|
|
249
462
|
/** This is the plan for voice provider fallbacks in the event that the primary voice provider fails. */
|
|
250
463
|
fallbackPlan?: FallbackTranscriberPlan;
|
|
251
464
|
}
|
|
@@ -293,6 +506,15 @@ export interface FallbackAssemblyAITranscriber {
|
|
|
293
506
|
provider: 'assembly-ai';
|
|
294
507
|
/** This is the language that will be set for the transcription. */
|
|
295
508
|
language?: 'en';
|
|
509
|
+
/**
|
|
510
|
+
* Transcripts below this confidence threshold will be discarded.
|
|
511
|
+
*
|
|
512
|
+
* @default 0.4
|
|
513
|
+
* @min 0
|
|
514
|
+
* @max 1
|
|
515
|
+
* @example 0.4
|
|
516
|
+
*/
|
|
517
|
+
confidenceThreshold?: number;
|
|
296
518
|
/** The WebSocket URL that the transcriber connects to. */
|
|
297
519
|
realtimeUrl?: string;
|
|
298
520
|
/** Add up to 2500 characters of custom vocabulary. */
|
|
@@ -360,9 +582,9 @@ export interface FallbackDeepgramTranscriber {
|
|
|
360
582
|
/** This is the transcription provider that will be used. */
|
|
361
583
|
provider: 'deepgram';
|
|
362
584
|
/** 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 */
|
|
363
|
-
model?: 'nova-3' | 'nova-3-general' | '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;
|
|
585
|
+
model?: 'nova-3' | 'nova-3-general' | 'nova-3-medical' | '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' | 'whisper' | string;
|
|
364
586
|
/** 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 */
|
|
365
|
-
language?: 'bg' | 'ca' | 'cs' | 'da' | 'da-DK' | 'de' | 'de-CH' | 'el' | 'en' | 'en-AU' | 'en-GB' | 'en-IN' | 'en-NZ' | 'en-US' | 'es' | 'es-419' | 'es-LATAM' | 'et' | 'fi' | 'fr' | 'fr-CA' | 'hi' | 'hi-Latn' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'ko-KR' | 'lt' | 'lv' | 'ms' | 'multi' | 'nl' | 'nl-BE' | 'no' | 'pl' | 'pt' | 'pt-BR' | 'ro' | 'ru' | 'sk' | 'sv' | 'sv-SE' | 'ta' | 'taq' | 'th' | 'th-TH' | 'tr' | 'uk' | 'vi' | 'zh' | 'zh-CN' | 'zh-HK' | 'zh-Hans' | 'zh-Hant' | 'zh-TW';
|
|
587
|
+
language?: 'ar' | 'az' | 'ba' | 'bg' | 'br' | 'ca' | 'cs' | 'da' | 'da-DK' | 'de' | 'de-CH' | 'el' | 'en' | 'en-AU' | 'en-GB' | 'en-IN' | 'en-NZ' | 'en-US' | 'es' | 'es-419' | 'es-LATAM' | 'et' | 'eu' | 'fi' | 'fr' | 'fr-CA' | 'ha' | 'haw' | 'he' | 'hi' | 'hi-Latn' | 'hu' | 'id' | 'is' | 'it' | 'ja' | 'jw' | 'kn' | 'ko' | 'ko-KR' | 'ln' | 'lt' | 'lv' | 'mk' | 'ms' | 'multi' | 'nl' | 'nl-BE' | 'no' | 'pl' | 'pt' | 'pt-BR' | 'ro' | 'ru' | 'sk' | 'sl' | 'sn' | 'so' | 'sr' | 'su' | 'sv' | 'sv-SE' | 'ta' | 'taq' | 'th' | 'th-TH' | 'tr' | 'tt' | 'uk' | 'ur' | 'vi' | 'yo' | 'zh' | 'zh-CN' | 'zh-HK' | 'zh-Hans' | 'zh-Hant' | 'zh-TW';
|
|
366
588
|
/**
|
|
367
589
|
* This will be use smart format option provided by Deepgram. It's default disabled because it can sometimes format numbers as times but it's getting better.
|
|
368
590
|
* @example false
|
|
@@ -420,6 +642,15 @@ export interface FallbackDeepgramTranscriber {
|
|
|
420
642
|
* @example false
|
|
421
643
|
*/
|
|
422
644
|
numerals?: boolean;
|
|
645
|
+
/**
|
|
646
|
+
* Transcripts below this confidence threshold will be discarded.
|
|
647
|
+
*
|
|
648
|
+
* @default 0.4
|
|
649
|
+
* @min 0
|
|
650
|
+
* @max 1
|
|
651
|
+
* @example 0.4
|
|
652
|
+
*/
|
|
653
|
+
confidenceThreshold?: number;
|
|
423
654
|
/** These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here. */
|
|
424
655
|
keywords?: string[];
|
|
425
656
|
/** Keyterm Prompting allows you improve Keyword Recall Rate (KRR) for important keyterms or phrases up to 90%. */
|
|
@@ -471,6 +702,15 @@ export interface FallbackGladiaTranscriber {
|
|
|
471
702
|
* @example false
|
|
472
703
|
*/
|
|
473
704
|
audioEnhancer?: boolean;
|
|
705
|
+
/**
|
|
706
|
+
* Transcripts below this confidence threshold will be discarded.
|
|
707
|
+
*
|
|
708
|
+
* @default 0.4
|
|
709
|
+
* @min 0
|
|
710
|
+
* @max 1
|
|
711
|
+
* @example 0.4
|
|
712
|
+
*/
|
|
713
|
+
confidenceThreshold?: number;
|
|
474
714
|
}
|
|
475
715
|
export interface FallbackSpeechmaticsTranscriber {
|
|
476
716
|
/** This is the transcription provider that will be used. */
|
|
@@ -530,7 +770,7 @@ export interface Condition {
|
|
|
530
770
|
* This is the value you want to compare against the parameter.
|
|
531
771
|
* @maxLength 1000
|
|
532
772
|
*/
|
|
533
|
-
value:
|
|
773
|
+
value: string;
|
|
534
774
|
}
|
|
535
775
|
export interface ToolMessageStart {
|
|
536
776
|
/**
|
|
@@ -1425,32 +1665,232 @@ export interface CreateCustomKnowledgeBaseDTO {
|
|
|
1425
1665
|
*/
|
|
1426
1666
|
server: Server;
|
|
1427
1667
|
}
|
|
1428
|
-
export interface
|
|
1429
|
-
/** @maxLength 100000000 */
|
|
1430
|
-
content: string | null;
|
|
1431
|
-
role: 'assistant' | 'function' | 'user' | 'system' | 'tool';
|
|
1432
|
-
}
|
|
1433
|
-
export interface AnyscaleModel {
|
|
1434
|
-
/** This is the starting state for the conversation. */
|
|
1435
|
-
messages?: OpenAIMessage[];
|
|
1668
|
+
export interface KnowledgeBase {
|
|
1436
1669
|
/**
|
|
1437
|
-
*
|
|
1438
|
-
*
|
|
1439
|
-
* Both `tools` and `toolIds` can be used together.
|
|
1670
|
+
* The name of the knowledge base
|
|
1671
|
+
* @example "My Knowledge Base"
|
|
1440
1672
|
*/
|
|
1441
|
-
|
|
1673
|
+
name: string;
|
|
1442
1674
|
/**
|
|
1443
|
-
*
|
|
1444
|
-
*
|
|
1445
|
-
* Both `tools` and `toolIds` can be used together.
|
|
1675
|
+
* The provider of the knowledge base
|
|
1676
|
+
* @example "google"
|
|
1446
1677
|
*/
|
|
1447
|
-
|
|
1448
|
-
/**
|
|
1449
|
-
|
|
1450
|
-
/**
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1678
|
+
provider: 'google';
|
|
1679
|
+
/** The model to use for the knowledge base */
|
|
1680
|
+
model?: 'gemini-2.0-flash-thinking-exp' | 'gemini-2.0-pro-exp-02-05' | 'gemini-2.0-flash' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-preview-02-05' | 'gemini-2.0-flash-exp' | 'gemini-2.0-flash-realtime-exp' | 'gemini-1.5-flash' | 'gemini-1.5-flash-002' | 'gemini-1.5-pro' | 'gemini-1.5-pro-002' | 'gemini-1.0-pro';
|
|
1681
|
+
/** A description of the knowledge base */
|
|
1682
|
+
description: string;
|
|
1683
|
+
/** The file IDs associated with this knowledge base */
|
|
1684
|
+
fileIds: string[];
|
|
1685
|
+
}
|
|
1686
|
+
export interface CreateQueryToolDTO {
|
|
1687
|
+
/**
|
|
1688
|
+
* This determines if the tool is async.
|
|
1689
|
+
*
|
|
1690
|
+
* 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.
|
|
1691
|
+
*
|
|
1692
|
+
* 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.
|
|
1693
|
+
*
|
|
1694
|
+
* Defaults to synchronous (`false`).
|
|
1695
|
+
* @example false
|
|
1696
|
+
*/
|
|
1697
|
+
async?: boolean;
|
|
1698
|
+
/**
|
|
1699
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
1700
|
+
*
|
|
1701
|
+
* 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.
|
|
1702
|
+
*/
|
|
1703
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
1704
|
+
/** The type of tool. "query" for Query tool. */
|
|
1705
|
+
type: 'query';
|
|
1706
|
+
/** The knowledge bases to query */
|
|
1707
|
+
knowledgeBases?: KnowledgeBase[];
|
|
1708
|
+
/**
|
|
1709
|
+
* This is the function definition of the tool.
|
|
1710
|
+
*
|
|
1711
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
1712
|
+
*
|
|
1713
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
1714
|
+
*/
|
|
1715
|
+
function?: OpenAIFunction;
|
|
1716
|
+
/**
|
|
1717
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
1718
|
+
*
|
|
1719
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
1720
|
+
*
|
|
1721
|
+
* 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.
|
|
1722
|
+
*/
|
|
1723
|
+
server?: Server;
|
|
1724
|
+
}
|
|
1725
|
+
export interface CreateGoogleCalendarCreateEventToolDTO {
|
|
1726
|
+
/**
|
|
1727
|
+
* This determines if the tool is async.
|
|
1728
|
+
*
|
|
1729
|
+
* 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.
|
|
1730
|
+
*
|
|
1731
|
+
* 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.
|
|
1732
|
+
*
|
|
1733
|
+
* Defaults to synchronous (`false`).
|
|
1734
|
+
* @example false
|
|
1735
|
+
*/
|
|
1736
|
+
async?: boolean;
|
|
1737
|
+
/**
|
|
1738
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
1739
|
+
*
|
|
1740
|
+
* 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.
|
|
1741
|
+
*/
|
|
1742
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
1743
|
+
/** The type of tool. "google.calendar.event.create" for Google Calendar tool. */
|
|
1744
|
+
type: 'google.calendar.event.create';
|
|
1745
|
+
/**
|
|
1746
|
+
* This is the function definition of the tool.
|
|
1747
|
+
*
|
|
1748
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
1749
|
+
*
|
|
1750
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
1751
|
+
*/
|
|
1752
|
+
function?: OpenAIFunction;
|
|
1753
|
+
/**
|
|
1754
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
1755
|
+
*
|
|
1756
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
1757
|
+
*
|
|
1758
|
+
* 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.
|
|
1759
|
+
*/
|
|
1760
|
+
server?: Server;
|
|
1761
|
+
}
|
|
1762
|
+
export interface CreateGoogleSheetsRowAppendToolDTO {
|
|
1763
|
+
/**
|
|
1764
|
+
* This determines if the tool is async.
|
|
1765
|
+
*
|
|
1766
|
+
* 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.
|
|
1767
|
+
*
|
|
1768
|
+
* 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.
|
|
1769
|
+
*
|
|
1770
|
+
* Defaults to synchronous (`false`).
|
|
1771
|
+
* @example false
|
|
1772
|
+
*/
|
|
1773
|
+
async?: boolean;
|
|
1774
|
+
/**
|
|
1775
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
1776
|
+
*
|
|
1777
|
+
* 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.
|
|
1778
|
+
*/
|
|
1779
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
1780
|
+
/** The type of tool. "google.sheets.row.append" for Google Sheets tool. */
|
|
1781
|
+
type: 'google.sheets.row.append';
|
|
1782
|
+
/**
|
|
1783
|
+
* This is the function definition of the tool.
|
|
1784
|
+
*
|
|
1785
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
1786
|
+
*
|
|
1787
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
1788
|
+
*/
|
|
1789
|
+
function?: OpenAIFunction;
|
|
1790
|
+
/**
|
|
1791
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
1792
|
+
*
|
|
1793
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
1794
|
+
*
|
|
1795
|
+
* 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.
|
|
1796
|
+
*/
|
|
1797
|
+
server?: Server;
|
|
1798
|
+
}
|
|
1799
|
+
export interface CreateGoogleCalendarCheckAvailabilityToolDTO {
|
|
1800
|
+
/**
|
|
1801
|
+
* This determines if the tool is async.
|
|
1802
|
+
*
|
|
1803
|
+
* 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.
|
|
1804
|
+
*
|
|
1805
|
+
* 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.
|
|
1806
|
+
*
|
|
1807
|
+
* Defaults to synchronous (`false`).
|
|
1808
|
+
* @example false
|
|
1809
|
+
*/
|
|
1810
|
+
async?: boolean;
|
|
1811
|
+
/**
|
|
1812
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
1813
|
+
*
|
|
1814
|
+
* 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.
|
|
1815
|
+
*/
|
|
1816
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
1817
|
+
/** The type of tool. "google.calendar.availability.check" for Google Calendar availability check tool. */
|
|
1818
|
+
type: 'google.calendar.availability.check';
|
|
1819
|
+
/**
|
|
1820
|
+
* This is the function definition of the tool.
|
|
1821
|
+
*
|
|
1822
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
1823
|
+
*
|
|
1824
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
1825
|
+
*/
|
|
1826
|
+
function?: OpenAIFunction;
|
|
1827
|
+
/**
|
|
1828
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
1829
|
+
*
|
|
1830
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
1831
|
+
*
|
|
1832
|
+
* 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.
|
|
1833
|
+
*/
|
|
1834
|
+
server?: Server;
|
|
1835
|
+
}
|
|
1836
|
+
export interface CreateSlackSendMessageToolDTO {
|
|
1837
|
+
/**
|
|
1838
|
+
* This determines if the tool is async.
|
|
1839
|
+
*
|
|
1840
|
+
* 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.
|
|
1841
|
+
*
|
|
1842
|
+
* 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.
|
|
1843
|
+
*
|
|
1844
|
+
* Defaults to synchronous (`false`).
|
|
1845
|
+
* @example false
|
|
1846
|
+
*/
|
|
1847
|
+
async?: boolean;
|
|
1848
|
+
/**
|
|
1849
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
1850
|
+
*
|
|
1851
|
+
* 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.
|
|
1852
|
+
*/
|
|
1853
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
1854
|
+
/** The type of tool. "slack.message.send" for Slack send message tool. */
|
|
1855
|
+
type: 'slack.message.send';
|
|
1856
|
+
/**
|
|
1857
|
+
* This is the function definition of the tool.
|
|
1858
|
+
*
|
|
1859
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
1860
|
+
*
|
|
1861
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
1862
|
+
*/
|
|
1863
|
+
function?: OpenAIFunction;
|
|
1864
|
+
/**
|
|
1865
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
1866
|
+
*
|
|
1867
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
1868
|
+
*
|
|
1869
|
+
* 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.
|
|
1870
|
+
*/
|
|
1871
|
+
server?: Server;
|
|
1872
|
+
}
|
|
1873
|
+
export interface AnyscaleModel {
|
|
1874
|
+
/** This is the starting state for the conversation. */
|
|
1875
|
+
messages?: OpenAIMessage[];
|
|
1876
|
+
/**
|
|
1877
|
+
* These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
|
|
1878
|
+
*
|
|
1879
|
+
* Both `tools` and `toolIds` can be used together.
|
|
1880
|
+
*/
|
|
1881
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1882
|
+
/**
|
|
1883
|
+
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1884
|
+
*
|
|
1885
|
+
* Both `tools` and `toolIds` can be used together.
|
|
1886
|
+
*/
|
|
1887
|
+
toolIds?: string[];
|
|
1888
|
+
/** These are the options for the knowledge base. */
|
|
1889
|
+
knowledgeBase?: CreateCustomKnowledgeBaseDTO;
|
|
1890
|
+
/** This is the ID of the knowledge base the model will use. */
|
|
1891
|
+
knowledgeBaseId?: string;
|
|
1892
|
+
provider: 'anyscale';
|
|
1893
|
+
/** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
|
|
1454
1894
|
model: string;
|
|
1455
1895
|
/**
|
|
1456
1896
|
* This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
|
|
@@ -1500,7 +1940,7 @@ export interface AnthropicModel {
|
|
|
1500
1940
|
*
|
|
1501
1941
|
* Both `tools` and `toolIds` can be used together.
|
|
1502
1942
|
*/
|
|
1503
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
1943
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1504
1944
|
/**
|
|
1505
1945
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1506
1946
|
*
|
|
@@ -1559,7 +1999,7 @@ export interface CerebrasModel {
|
|
|
1559
1999
|
*
|
|
1560
2000
|
* Both `tools` and `toolIds` can be used together.
|
|
1561
2001
|
*/
|
|
1562
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2002
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1563
2003
|
/**
|
|
1564
2004
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1565
2005
|
*
|
|
@@ -1611,7 +2051,7 @@ export interface CustomLLMModel {
|
|
|
1611
2051
|
*
|
|
1612
2052
|
* Both `tools` and `toolIds` can be used together.
|
|
1613
2053
|
*/
|
|
1614
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2054
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1615
2055
|
/**
|
|
1616
2056
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1617
2057
|
*
|
|
@@ -1684,7 +2124,7 @@ export interface DeepInfraModel {
|
|
|
1684
2124
|
*
|
|
1685
2125
|
* Both `tools` and `toolIds` can be used together.
|
|
1686
2126
|
*/
|
|
1687
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2127
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1688
2128
|
/**
|
|
1689
2129
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1690
2130
|
*
|
|
@@ -1736,7 +2176,7 @@ export interface DeepSeekModel {
|
|
|
1736
2176
|
*
|
|
1737
2177
|
* Both `tools` and `toolIds` can be used together.
|
|
1738
2178
|
*/
|
|
1739
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2179
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1740
2180
|
/**
|
|
1741
2181
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1742
2182
|
*
|
|
@@ -1824,7 +2264,7 @@ export interface GoogleModel {
|
|
|
1824
2264
|
*
|
|
1825
2265
|
* Both `tools` and `toolIds` can be used together.
|
|
1826
2266
|
*/
|
|
1827
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2267
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1828
2268
|
/**
|
|
1829
2269
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1830
2270
|
*
|
|
@@ -1881,7 +2321,7 @@ export interface GroqModel {
|
|
|
1881
2321
|
*
|
|
1882
2322
|
* Both `tools` and `toolIds` can be used together.
|
|
1883
2323
|
*/
|
|
1884
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2324
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1885
2325
|
/**
|
|
1886
2326
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1887
2327
|
*
|
|
@@ -1933,7 +2373,7 @@ export interface InflectionAIModel {
|
|
|
1933
2373
|
*
|
|
1934
2374
|
* Both `tools` and `toolIds` can be used together.
|
|
1935
2375
|
*/
|
|
1936
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2376
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1937
2377
|
/**
|
|
1938
2378
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1939
2379
|
*
|
|
@@ -1985,7 +2425,7 @@ export interface OpenAIModel {
|
|
|
1985
2425
|
*
|
|
1986
2426
|
* Both `tools` and `toolIds` can be used together.
|
|
1987
2427
|
*/
|
|
1988
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2428
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
1989
2429
|
/**
|
|
1990
2430
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
1991
2431
|
*
|
|
@@ -1999,12 +2439,12 @@ export interface OpenAIModel {
|
|
|
1999
2439
|
/** This is the provider that will be used for the model. */
|
|
2000
2440
|
provider: 'openai';
|
|
2001
2441
|
/** This is the OpenAI model that will be used. */
|
|
2002
|
-
model: 'gpt-4.5-preview' | 'chatgpt-4o-latest' | 'o3-mini' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o1-mini' | 'o1-mini-2024-09-12' | 'gpt-4o-realtime-preview-2024-10-01' | 'gpt-4o-realtime-preview-2024-12-17' | 'gpt-4o-mini-realtime-preview-2024-12-17' | 'gpt-4o-mini' | 'gpt-4o-mini
|
|
2442
|
+
model: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-4.5-preview' | 'chatgpt-4o-latest' | 'o3' | 'o3-mini' | 'o4-mini' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o1-mini' | 'o1-mini-2024-09-12' | 'gpt-4o-realtime-preview-2024-10-01' | 'gpt-4o-realtime-preview-2024-12-17' | 'gpt-4o-mini-realtime-preview-2024-12-17' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | 'gpt-4' | 'gpt-4-0613' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | 'gpt-3.5-turbo-0613';
|
|
2003
2443
|
/**
|
|
2004
2444
|
* These are the fallback models that will be used if the primary model fails. This shouldn't be specified unless you have a specific reason to do so. Vapi will automatically find the fastest fallbacks that make sense.
|
|
2005
2445
|
* @example ["gpt-4-0125-preview","gpt-4-0613"]
|
|
2006
2446
|
*/
|
|
2007
|
-
fallbackModels?: 'gpt-4.5-preview' | 'chatgpt-4o-latest' | 'o3-mini' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o1-mini' | 'o1-mini-2024-09-12' | 'gpt-4o-realtime-preview-2024-10-01' | 'gpt-4o-realtime-preview-2024-12-17' | 'gpt-4o-mini-realtime-preview-2024-12-17' | 'gpt-4o-mini' | 'gpt-4o-mini
|
|
2447
|
+
fallbackModels?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-4.5-preview' | 'chatgpt-4o-latest' | 'o3' | 'o3-mini' | 'o4-mini' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o1-mini' | 'o1-mini-2024-09-12' | 'gpt-4o-realtime-preview-2024-10-01' | 'gpt-4o-realtime-preview-2024-12-17' | 'gpt-4o-mini-realtime-preview-2024-12-17' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | 'gpt-4' | 'gpt-4-0613' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | 'gpt-3.5-turbo-0613';
|
|
2008
2448
|
/**
|
|
2009
2449
|
* This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
|
|
2010
2450
|
* @min 0
|
|
@@ -2043,7 +2483,7 @@ export interface OpenRouterModel {
|
|
|
2043
2483
|
*
|
|
2044
2484
|
* Both `tools` and `toolIds` can be used together.
|
|
2045
2485
|
*/
|
|
2046
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2486
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
2047
2487
|
/**
|
|
2048
2488
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
2049
2489
|
*
|
|
@@ -2095,7 +2535,7 @@ export interface PerplexityAIModel {
|
|
|
2095
2535
|
*
|
|
2096
2536
|
* Both `tools` and `toolIds` can be used together.
|
|
2097
2537
|
*/
|
|
2098
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2538
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
2099
2539
|
/**
|
|
2100
2540
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
2101
2541
|
*
|
|
@@ -2147,7 +2587,7 @@ export interface TogetherAIModel {
|
|
|
2147
2587
|
*
|
|
2148
2588
|
* Both `tools` and `toolIds` can be used together.
|
|
2149
2589
|
*/
|
|
2150
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2590
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
2151
2591
|
/**
|
|
2152
2592
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
2153
2593
|
*
|
|
@@ -2193,8 +2633,11 @@ export interface TogetherAIModel {
|
|
|
2193
2633
|
}
|
|
2194
2634
|
export interface AIEdgeCondition {
|
|
2195
2635
|
type: 'ai';
|
|
2196
|
-
/**
|
|
2197
|
-
|
|
2636
|
+
/**
|
|
2637
|
+
* This is the prompt for the AI edge condition. It should evaluate to a boolean.
|
|
2638
|
+
* @maxLength 1000
|
|
2639
|
+
*/
|
|
2640
|
+
prompt: string;
|
|
2198
2641
|
}
|
|
2199
2642
|
export interface LogicEdgeCondition {
|
|
2200
2643
|
type: 'logic';
|
|
@@ -2215,6 +2658,8 @@ export interface Edge {
|
|
|
2215
2658
|
}
|
|
2216
2659
|
export interface Workflow {
|
|
2217
2660
|
nodes: (Say | Gather | ApiRequest | Hangup | Transfer)[];
|
|
2661
|
+
/** These are the options for the workflow's LLM. */
|
|
2662
|
+
model?: AnthropicModel | AnyscaleModel | CerebrasModel | CustomLLMModel | DeepInfraModel | DeepSeekModel | GoogleModel | GroqModel | InflectionAIModel | OpenAIModel | OpenRouterModel | PerplexityAIModel | TogetherAIModel | XaiModel;
|
|
2218
2663
|
id: string;
|
|
2219
2664
|
orgId: string;
|
|
2220
2665
|
/** @format date-time */
|
|
@@ -2233,7 +2678,7 @@ export interface VapiModel {
|
|
|
2233
2678
|
*
|
|
2234
2679
|
* Both `tools` and `toolIds` can be used together.
|
|
2235
2680
|
*/
|
|
2236
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2681
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
2237
2682
|
/**
|
|
2238
2683
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
2239
2684
|
*
|
|
@@ -2289,7 +2734,7 @@ export interface XaiModel {
|
|
|
2289
2734
|
*
|
|
2290
2735
|
* Both `tools` and `toolIds` can be used together.
|
|
2291
2736
|
*/
|
|
2292
|
-
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO)[];
|
|
2737
|
+
tools?: (CreateDtmfToolDTO | CreateEndCallToolDTO | CreateVoicemailToolDTO | CreateFunctionToolDTO | CreateGhlToolDTO | CreateMakeToolDTO | CreateTransferCallToolDTO | CreateQueryToolDTO | CreateGoogleCalendarCreateEventToolDTO | CreateGoogleSheetsRowAppendToolDTO | CreateGoogleCalendarCheckAvailabilityToolDTO | CreateSlackSendMessageToolDTO)[];
|
|
2293
2738
|
/**
|
|
2294
2739
|
* These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
2295
2740
|
*
|
|
@@ -2345,6 +2790,15 @@ export interface ExactReplacement {
|
|
|
2345
2790
|
* - Replace a company name with its phonetic pronunciation: { type: 'exact', key: 'Vapi', value: 'Vappy' }
|
|
2346
2791
|
*/
|
|
2347
2792
|
type: 'exact';
|
|
2793
|
+
/**
|
|
2794
|
+
* This option let's you control whether to replace all instances of the key or only the first one. By default, it only replaces the first instance.
|
|
2795
|
+
* Examples:
|
|
2796
|
+
* - For { type: 'exact', key: 'hello', value: 'hi', replaceAllEnabled: false }. Before: "hello world, hello universe" | After: "hi world, hello universe"
|
|
2797
|
+
* - For { type: 'exact', key: 'hello', value: 'hi', replaceAllEnabled: true }. Before: "hello world, hello universe" | After: "hi world, hi universe"
|
|
2798
|
+
* @default false
|
|
2799
|
+
* @default false
|
|
2800
|
+
*/
|
|
2801
|
+
replaceAllEnabled?: boolean;
|
|
2348
2802
|
/** This is the key to replace. */
|
|
2349
2803
|
key: string;
|
|
2350
2804
|
/**
|
|
@@ -2494,6 +2948,12 @@ export interface FallbackPlan {
|
|
|
2494
2948
|
voices: (FallbackAzureVoice | FallbackCartesiaVoice | FallbackHumeVoice | FallbackCustomVoice | FallbackDeepgramVoice | FallbackElevenLabsVoice | FallbackVapiVoice | FallbackLMNTVoice | FallbackOpenAIVoice | FallbackPlayHTVoice | FallbackRimeAIVoice | FallbackSmallestAIVoice | FallbackTavusVoice)[];
|
|
2495
2949
|
}
|
|
2496
2950
|
export interface AzureVoice {
|
|
2951
|
+
/**
|
|
2952
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
2953
|
+
* @default true
|
|
2954
|
+
* @example true
|
|
2955
|
+
*/
|
|
2956
|
+
cachingEnabled?: boolean;
|
|
2497
2957
|
/** This is the voice provider that will be used. */
|
|
2498
2958
|
provider: 'azure';
|
|
2499
2959
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2510,12 +2970,17 @@ export interface AzureVoice {
|
|
|
2510
2970
|
fallbackPlan?: FallbackPlan;
|
|
2511
2971
|
}
|
|
2512
2972
|
export interface CartesiaExperimentalControls {
|
|
2513
|
-
|
|
2514
|
-
speed?: 'slowest' | 'slow' | 'normal' | 'fast' | 'fastest';
|
|
2973
|
+
speed?: 'slowest' | 'slow' | 'normal' | 'fast' | 'fastest' | number;
|
|
2515
2974
|
/** @example ["happiness:high"] */
|
|
2516
2975
|
emotion?: 'anger:lowest' | 'anger:low' | 'anger:high' | 'anger:highest' | 'positivity:lowest' | 'positivity:low' | 'positivity:high' | 'positivity:highest' | 'surprise:lowest' | 'surprise:low' | 'surprise:high' | 'surprise:highest' | 'sadness:lowest' | 'sadness:low' | 'sadness:high' | 'sadness:highest' | 'curiosity:lowest' | 'curiosity:low' | 'curiosity:high' | 'curiosity:highest';
|
|
2517
2976
|
}
|
|
2518
2977
|
export interface CartesiaVoice {
|
|
2978
|
+
/**
|
|
2979
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
2980
|
+
* @default true
|
|
2981
|
+
* @example true
|
|
2982
|
+
*/
|
|
2983
|
+
cachingEnabled?: boolean;
|
|
2519
2984
|
/** This is the voice provider that will be used. */
|
|
2520
2985
|
provider: 'cartesia';
|
|
2521
2986
|
/** The ID of the particular voice you want to use. */
|
|
@@ -2538,6 +3003,12 @@ export interface CartesiaVoice {
|
|
|
2538
3003
|
fallbackPlan?: FallbackPlan;
|
|
2539
3004
|
}
|
|
2540
3005
|
export interface CustomVoice {
|
|
3006
|
+
/**
|
|
3007
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3008
|
+
* @default true
|
|
3009
|
+
* @example true
|
|
3010
|
+
*/
|
|
3011
|
+
cachingEnabled?: boolean;
|
|
2541
3012
|
/** This is the voice provider that will be used. Use `custom-voice` for providers that are not natively supported. */
|
|
2542
3013
|
provider: 'custom-voice';
|
|
2543
3014
|
/** This is the plan for chunking the model output before it is sent to the voice provider. */
|
|
@@ -2571,10 +3042,24 @@ export interface CustomVoice {
|
|
|
2571
3042
|
fallbackPlan?: FallbackPlan;
|
|
2572
3043
|
}
|
|
2573
3044
|
export interface DeepgramVoice {
|
|
3045
|
+
/**
|
|
3046
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3047
|
+
* @default true
|
|
3048
|
+
* @example true
|
|
3049
|
+
*/
|
|
3050
|
+
cachingEnabled?: boolean;
|
|
2574
3051
|
/** This is the voice provider that will be used. */
|
|
2575
3052
|
provider: 'deepgram';
|
|
2576
|
-
/**
|
|
2577
|
-
|
|
3053
|
+
/**
|
|
3054
|
+
* This is the Deepgram Voice ID
|
|
3055
|
+
* This is the provider-specific ID that will be used.
|
|
3056
|
+
*/
|
|
3057
|
+
voiceId: 'asteria' | 'luna' | 'stella' | 'athena' | 'hera' | 'orion' | 'arcas' | 'perseus' | 'angus' | 'orpheus' | 'helios' | 'zeus' | 'thalia' | 'andromeda' | 'helena' | 'apollo' | 'aries' | 'amalthea' | 'atlas' | 'aurora' | 'callista' | 'cora' | 'cordelia' | 'delia' | 'draco' | 'electra' | 'harmonia' | 'hermes' | 'hyperion' | 'iris' | 'janus' | 'juno' | 'jupiter' | 'mars' | 'minerva' | 'neptune' | 'odysseus' | 'ophelia' | 'pandora' | 'phoebe' | 'pluto' | 'saturn' | 'selene' | 'theia' | 'vesta';
|
|
3058
|
+
/**
|
|
3059
|
+
* This is the model that will be used. Defaults to 'aura-2' when not specified.
|
|
3060
|
+
* @example "aura-2"
|
|
3061
|
+
*/
|
|
3062
|
+
model?: 'aura' | 'aura-2';
|
|
2578
3063
|
/**
|
|
2579
3064
|
* If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
|
|
2580
3065
|
*
|
|
@@ -2591,6 +3076,12 @@ export interface DeepgramVoice {
|
|
|
2591
3076
|
fallbackPlan?: FallbackPlan;
|
|
2592
3077
|
}
|
|
2593
3078
|
export interface ElevenLabsVoice {
|
|
3079
|
+
/**
|
|
3080
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3081
|
+
* @default true
|
|
3082
|
+
* @example true
|
|
3083
|
+
*/
|
|
3084
|
+
cachingEnabled?: boolean;
|
|
2594
3085
|
/** This is the voice provider that will be used. */
|
|
2595
3086
|
provider: '11labs';
|
|
2596
3087
|
/** This is the provider-specific ID that will be used. Ensure the Voice is present in your 11Labs Voice Library. */
|
|
@@ -2642,6 +3133,11 @@ export interface ElevenLabsVoice {
|
|
|
2642
3133
|
* @example false
|
|
2643
3134
|
*/
|
|
2644
3135
|
enableSsmlParsing?: boolean;
|
|
3136
|
+
/**
|
|
3137
|
+
* Defines the auto mode for voice settings. Defaults to false.
|
|
3138
|
+
* @example false
|
|
3139
|
+
*/
|
|
3140
|
+
autoMode?: boolean;
|
|
2645
3141
|
/**
|
|
2646
3142
|
* This is the model that will be used. Defaults to 'eleven_turbo_v2' if not specified.
|
|
2647
3143
|
* @example "eleven_turbo_v2_5"
|
|
@@ -2655,6 +3151,12 @@ export interface ElevenLabsVoice {
|
|
|
2655
3151
|
fallbackPlan?: FallbackPlan;
|
|
2656
3152
|
}
|
|
2657
3153
|
export interface HumeVoice {
|
|
3154
|
+
/**
|
|
3155
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3156
|
+
* @default true
|
|
3157
|
+
* @example true
|
|
3158
|
+
*/
|
|
3159
|
+
cachingEnabled?: boolean;
|
|
2658
3160
|
/** This is the voice provider that will be used. */
|
|
2659
3161
|
provider: 'hume';
|
|
2660
3162
|
/**
|
|
@@ -2682,6 +3184,12 @@ export interface HumeVoice {
|
|
|
2682
3184
|
fallbackPlan?: FallbackPlan;
|
|
2683
3185
|
}
|
|
2684
3186
|
export interface LMNTVoice {
|
|
3187
|
+
/**
|
|
3188
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3189
|
+
* @default true
|
|
3190
|
+
* @example true
|
|
3191
|
+
*/
|
|
3192
|
+
cachingEnabled?: boolean;
|
|
2685
3193
|
/** This is the voice provider that will be used. */
|
|
2686
3194
|
provider: 'lmnt';
|
|
2687
3195
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2699,9 +3207,15 @@ export interface LMNTVoice {
|
|
|
2699
3207
|
fallbackPlan?: FallbackPlan;
|
|
2700
3208
|
}
|
|
2701
3209
|
export interface NeuphonicVoice {
|
|
2702
|
-
/**
|
|
2703
|
-
|
|
2704
|
-
|
|
3210
|
+
/**
|
|
3211
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3212
|
+
* @default true
|
|
3213
|
+
* @example true
|
|
3214
|
+
*/
|
|
3215
|
+
cachingEnabled?: boolean;
|
|
3216
|
+
/** This is the voice provider that will be used. */
|
|
3217
|
+
provider: 'neuphonic';
|
|
3218
|
+
/** This is the provider-specific ID that will be used. */
|
|
2705
3219
|
voiceId: string;
|
|
2706
3220
|
/**
|
|
2707
3221
|
* This is the model that will be used. Defaults to 'neu_fast' if not specified.
|
|
@@ -2726,13 +3240,19 @@ export interface NeuphonicVoice {
|
|
|
2726
3240
|
fallbackPlan?: FallbackPlan;
|
|
2727
3241
|
}
|
|
2728
3242
|
export interface OpenAIVoice {
|
|
3243
|
+
/**
|
|
3244
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3245
|
+
* @default true
|
|
3246
|
+
* @example true
|
|
3247
|
+
*/
|
|
3248
|
+
cachingEnabled?: boolean;
|
|
2729
3249
|
/** This is the voice provider that will be used. */
|
|
2730
3250
|
provider: 'openai';
|
|
2731
3251
|
/**
|
|
2732
3252
|
* This is the provider-specific ID that will be used.
|
|
2733
3253
|
* Please note that ash, ballad, coral, sage, and verse may only be used with realtime models.
|
|
2734
3254
|
*/
|
|
2735
|
-
voiceId: 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' |
|
|
3255
|
+
voiceId: 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' | string;
|
|
2736
3256
|
/** This is the model that will be used for text-to-speech. */
|
|
2737
3257
|
model?: 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts';
|
|
2738
3258
|
/**
|
|
@@ -2754,6 +3274,12 @@ export interface OpenAIVoice {
|
|
|
2754
3274
|
fallbackPlan?: FallbackPlan;
|
|
2755
3275
|
}
|
|
2756
3276
|
export interface PlayHTVoice {
|
|
3277
|
+
/**
|
|
3278
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3279
|
+
* @default true
|
|
3280
|
+
* @example true
|
|
3281
|
+
*/
|
|
3282
|
+
cachingEnabled?: boolean;
|
|
2757
3283
|
/** This is the voice provider that will be used. */
|
|
2758
3284
|
provider: 'playht';
|
|
2759
3285
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2808,6 +3334,12 @@ export interface PlayHTVoice {
|
|
|
2808
3334
|
fallbackPlan?: FallbackPlan;
|
|
2809
3335
|
}
|
|
2810
3336
|
export interface RimeAIVoice {
|
|
3337
|
+
/**
|
|
3338
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3339
|
+
* @default true
|
|
3340
|
+
* @example true
|
|
3341
|
+
*/
|
|
3342
|
+
cachingEnabled?: boolean;
|
|
2811
3343
|
/** This is the voice provider that will be used. */
|
|
2812
3344
|
provider: 'rime-ai';
|
|
2813
3345
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2849,6 +3381,12 @@ export interface RimeAIVoice {
|
|
|
2849
3381
|
fallbackPlan?: FallbackPlan;
|
|
2850
3382
|
}
|
|
2851
3383
|
export interface SmallestAIVoice {
|
|
3384
|
+
/**
|
|
3385
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3386
|
+
* @default true
|
|
3387
|
+
* @example true
|
|
3388
|
+
*/
|
|
3389
|
+
cachingEnabled?: boolean;
|
|
2852
3390
|
/** This is the voice provider that will be used. */
|
|
2853
3391
|
provider: 'smallest-ai';
|
|
2854
3392
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2906,6 +3444,12 @@ export interface TavusConversationProperties {
|
|
|
2906
3444
|
awsAssumeRoleArn?: string;
|
|
2907
3445
|
}
|
|
2908
3446
|
export interface TavusVoice {
|
|
3447
|
+
/**
|
|
3448
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3449
|
+
* @default true
|
|
3450
|
+
* @example true
|
|
3451
|
+
*/
|
|
3452
|
+
cachingEnabled?: boolean;
|
|
2909
3453
|
/** This is the voice provider that will be used. */
|
|
2910
3454
|
provider: 'tavus';
|
|
2911
3455
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2928,6 +3472,12 @@ export interface TavusVoice {
|
|
|
2928
3472
|
fallbackPlan?: FallbackPlan;
|
|
2929
3473
|
}
|
|
2930
3474
|
export interface VapiVoice {
|
|
3475
|
+
/**
|
|
3476
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3477
|
+
* @default true
|
|
3478
|
+
* @example true
|
|
3479
|
+
*/
|
|
3480
|
+
cachingEnabled?: boolean;
|
|
2931
3481
|
/** This is the voice provider that will be used. */
|
|
2932
3482
|
provider: 'vapi';
|
|
2933
3483
|
/** The voices provided by Vapi */
|
|
@@ -2954,6 +3504,12 @@ export interface VapiVoice {
|
|
|
2954
3504
|
fallbackPlan?: FallbackPlan;
|
|
2955
3505
|
}
|
|
2956
3506
|
export interface FallbackAzureVoice {
|
|
3507
|
+
/**
|
|
3508
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3509
|
+
* @default true
|
|
3510
|
+
* @example true
|
|
3511
|
+
*/
|
|
3512
|
+
cachingEnabled?: boolean;
|
|
2957
3513
|
/** This is the voice provider that will be used. */
|
|
2958
3514
|
provider: 'azure';
|
|
2959
3515
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -2968,6 +3524,12 @@ export interface FallbackAzureVoice {
|
|
|
2968
3524
|
chunkPlan?: ChunkPlan;
|
|
2969
3525
|
}
|
|
2970
3526
|
export interface FallbackCartesiaVoice {
|
|
3527
|
+
/**
|
|
3528
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3529
|
+
* @default true
|
|
3530
|
+
* @example true
|
|
3531
|
+
*/
|
|
3532
|
+
cachingEnabled?: boolean;
|
|
2971
3533
|
/** This is the voice provider that will be used. */
|
|
2972
3534
|
provider: 'cartesia';
|
|
2973
3535
|
/** The ID of the particular voice you want to use. */
|
|
@@ -2988,6 +3550,12 @@ export interface FallbackCartesiaVoice {
|
|
|
2988
3550
|
chunkPlan?: ChunkPlan;
|
|
2989
3551
|
}
|
|
2990
3552
|
export interface FallbackCustomVoice {
|
|
3553
|
+
/**
|
|
3554
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3555
|
+
* @default true
|
|
3556
|
+
* @example true
|
|
3557
|
+
*/
|
|
3558
|
+
cachingEnabled?: boolean;
|
|
2991
3559
|
/** This is the voice provider that will be used. Use `custom-voice` for providers that are not natively supported. */
|
|
2992
3560
|
provider: 'custom-voice';
|
|
2993
3561
|
/**
|
|
@@ -3019,10 +3587,24 @@ export interface FallbackCustomVoice {
|
|
|
3019
3587
|
chunkPlan?: ChunkPlan;
|
|
3020
3588
|
}
|
|
3021
3589
|
export interface FallbackDeepgramVoice {
|
|
3590
|
+
/**
|
|
3591
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3592
|
+
* @default true
|
|
3593
|
+
* @example true
|
|
3594
|
+
*/
|
|
3595
|
+
cachingEnabled?: boolean;
|
|
3022
3596
|
/** This is the voice provider that will be used. */
|
|
3023
3597
|
provider: 'deepgram';
|
|
3024
|
-
/**
|
|
3025
|
-
|
|
3598
|
+
/**
|
|
3599
|
+
* This is the Deepgram Voice ID
|
|
3600
|
+
* This is the provider-specific ID that will be used.
|
|
3601
|
+
*/
|
|
3602
|
+
voiceId: 'asteria' | 'luna' | 'stella' | 'athena' | 'hera' | 'orion' | 'arcas' | 'perseus' | 'angus' | 'orpheus' | 'helios' | 'zeus' | 'thalia' | 'andromeda' | 'helena' | 'apollo' | 'aries' | 'amalthea' | 'atlas' | 'aurora' | 'callista' | 'cora' | 'cordelia' | 'delia' | 'draco' | 'electra' | 'harmonia' | 'hermes' | 'hyperion' | 'iris' | 'janus' | 'juno' | 'jupiter' | 'mars' | 'minerva' | 'neptune' | 'odysseus' | 'ophelia' | 'pandora' | 'phoebe' | 'pluto' | 'saturn' | 'selene' | 'theia' | 'vesta';
|
|
3603
|
+
/**
|
|
3604
|
+
* This is the model that will be used. Defaults to 'aura-2' when not specified.
|
|
3605
|
+
* @example "aura-2"
|
|
3606
|
+
*/
|
|
3607
|
+
model?: 'aura' | 'aura-2';
|
|
3026
3608
|
/**
|
|
3027
3609
|
* If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
|
|
3028
3610
|
*
|
|
@@ -3037,6 +3619,12 @@ export interface FallbackDeepgramVoice {
|
|
|
3037
3619
|
chunkPlan?: ChunkPlan;
|
|
3038
3620
|
}
|
|
3039
3621
|
export interface FallbackElevenLabsVoice {
|
|
3622
|
+
/**
|
|
3623
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3624
|
+
* @default true
|
|
3625
|
+
* @example true
|
|
3626
|
+
*/
|
|
3627
|
+
cachingEnabled?: boolean;
|
|
3040
3628
|
/** This is the voice provider that will be used. */
|
|
3041
3629
|
provider: '11labs';
|
|
3042
3630
|
/** This is the provider-specific ID that will be used. Ensure the Voice is present in your 11Labs Voice Library. */
|
|
@@ -3088,6 +3676,11 @@ export interface FallbackElevenLabsVoice {
|
|
|
3088
3676
|
* @example false
|
|
3089
3677
|
*/
|
|
3090
3678
|
enableSsmlParsing?: boolean;
|
|
3679
|
+
/**
|
|
3680
|
+
* Defines the auto mode for voice settings. Defaults to false.
|
|
3681
|
+
* @example false
|
|
3682
|
+
*/
|
|
3683
|
+
autoMode?: boolean;
|
|
3091
3684
|
/**
|
|
3092
3685
|
* This is the model that will be used. Defaults to 'eleven_turbo_v2' if not specified.
|
|
3093
3686
|
* @example "eleven_turbo_v2_5"
|
|
@@ -3099,6 +3692,12 @@ export interface FallbackElevenLabsVoice {
|
|
|
3099
3692
|
chunkPlan?: ChunkPlan;
|
|
3100
3693
|
}
|
|
3101
3694
|
export interface FallbackHumeVoice {
|
|
3695
|
+
/**
|
|
3696
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3697
|
+
* @default true
|
|
3698
|
+
* @example true
|
|
3699
|
+
*/
|
|
3700
|
+
cachingEnabled?: boolean;
|
|
3102
3701
|
/** This is the voice provider that will be used. */
|
|
3103
3702
|
provider: 'hume';
|
|
3104
3703
|
/**
|
|
@@ -3124,6 +3723,12 @@ export interface FallbackHumeVoice {
|
|
|
3124
3723
|
chunkPlan?: ChunkPlan;
|
|
3125
3724
|
}
|
|
3126
3725
|
export interface FallbackLMNTVoice {
|
|
3726
|
+
/**
|
|
3727
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3728
|
+
* @default true
|
|
3729
|
+
* @example true
|
|
3730
|
+
*/
|
|
3731
|
+
cachingEnabled?: boolean;
|
|
3127
3732
|
/** This is the voice provider that will be used. */
|
|
3128
3733
|
provider: 'lmnt';
|
|
3129
3734
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -3139,6 +3744,12 @@ export interface FallbackLMNTVoice {
|
|
|
3139
3744
|
chunkPlan?: ChunkPlan;
|
|
3140
3745
|
}
|
|
3141
3746
|
export interface FallbackNeuphonicVoice {
|
|
3747
|
+
/**
|
|
3748
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3749
|
+
* @default true
|
|
3750
|
+
* @example true
|
|
3751
|
+
*/
|
|
3752
|
+
cachingEnabled?: boolean;
|
|
3142
3753
|
/** This is the voice provider that will be used. */
|
|
3143
3754
|
provider: 'neuphonic';
|
|
3144
3755
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -3164,13 +3775,19 @@ export interface FallbackNeuphonicVoice {
|
|
|
3164
3775
|
chunkPlan?: ChunkPlan;
|
|
3165
3776
|
}
|
|
3166
3777
|
export interface FallbackOpenAIVoice {
|
|
3778
|
+
/**
|
|
3779
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3780
|
+
* @default true
|
|
3781
|
+
* @example true
|
|
3782
|
+
*/
|
|
3783
|
+
cachingEnabled?: boolean;
|
|
3167
3784
|
/** This is the voice provider that will be used. */
|
|
3168
3785
|
provider: 'openai';
|
|
3169
3786
|
/**
|
|
3170
3787
|
* This is the provider-specific ID that will be used.
|
|
3171
3788
|
* Please note that ash, ballad, coral, sage, and verse may only be used with realtime models.
|
|
3172
3789
|
*/
|
|
3173
|
-
voiceId: 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' |
|
|
3790
|
+
voiceId: 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' | string;
|
|
3174
3791
|
/** This is the model that will be used for text-to-speech. */
|
|
3175
3792
|
model?: 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts';
|
|
3176
3793
|
/**
|
|
@@ -3190,6 +3807,12 @@ export interface FallbackOpenAIVoice {
|
|
|
3190
3807
|
chunkPlan?: ChunkPlan;
|
|
3191
3808
|
}
|
|
3192
3809
|
export interface FallbackPlayHTVoice {
|
|
3810
|
+
/**
|
|
3811
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3812
|
+
* @default true
|
|
3813
|
+
* @example true
|
|
3814
|
+
*/
|
|
3815
|
+
cachingEnabled?: boolean;
|
|
3193
3816
|
/** This is the voice provider that will be used. */
|
|
3194
3817
|
provider: 'playht';
|
|
3195
3818
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -3242,6 +3865,12 @@ export interface FallbackPlayHTVoice {
|
|
|
3242
3865
|
chunkPlan?: ChunkPlan;
|
|
3243
3866
|
}
|
|
3244
3867
|
export interface FallbackRimeAIVoice {
|
|
3868
|
+
/**
|
|
3869
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3870
|
+
* @default true
|
|
3871
|
+
* @example true
|
|
3872
|
+
*/
|
|
3873
|
+
cachingEnabled?: boolean;
|
|
3245
3874
|
/** This is the voice provider that will be used. */
|
|
3246
3875
|
provider: 'rime-ai';
|
|
3247
3876
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -3281,6 +3910,12 @@ export interface FallbackRimeAIVoice {
|
|
|
3281
3910
|
chunkPlan?: ChunkPlan;
|
|
3282
3911
|
}
|
|
3283
3912
|
export interface FallbackSmallestAIVoice {
|
|
3913
|
+
/**
|
|
3914
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3915
|
+
* @default true
|
|
3916
|
+
* @example true
|
|
3917
|
+
*/
|
|
3918
|
+
cachingEnabled?: boolean;
|
|
3284
3919
|
/** This is the voice provider that will be used. */
|
|
3285
3920
|
provider: 'smallest-ai';
|
|
3286
3921
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -3296,6 +3931,12 @@ export interface FallbackSmallestAIVoice {
|
|
|
3296
3931
|
chunkPlan?: ChunkPlan;
|
|
3297
3932
|
}
|
|
3298
3933
|
export interface FallbackTavusVoice {
|
|
3934
|
+
/**
|
|
3935
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3936
|
+
* @default true
|
|
3937
|
+
* @example true
|
|
3938
|
+
*/
|
|
3939
|
+
cachingEnabled?: boolean;
|
|
3299
3940
|
/** This is the voice provider that will be used. */
|
|
3300
3941
|
provider: 'tavus';
|
|
3301
3942
|
/** This is the provider-specific ID that will be used. */
|
|
@@ -3316,6 +3957,12 @@ export interface FallbackTavusVoice {
|
|
|
3316
3957
|
chunkPlan?: ChunkPlan;
|
|
3317
3958
|
}
|
|
3318
3959
|
export interface FallbackVapiVoice {
|
|
3960
|
+
/**
|
|
3961
|
+
* This is the flag to toggle voice caching for the assistant.
|
|
3962
|
+
* @default true
|
|
3963
|
+
* @example true
|
|
3964
|
+
*/
|
|
3965
|
+
cachingEnabled?: boolean;
|
|
3319
3966
|
/** This is the voice provider that will be used. */
|
|
3320
3967
|
provider: 'vapi';
|
|
3321
3968
|
/** The voices provided by Vapi */
|
|
@@ -3621,7 +4268,7 @@ export interface CreateCloudflareCredentialDTO {
|
|
|
3621
4268
|
name?: string;
|
|
3622
4269
|
}
|
|
3623
4270
|
export interface OAuth2AuthenticationPlan {
|
|
3624
|
-
type: 'oauth2';
|
|
4271
|
+
type: 'oauth2' | 'aws-sts';
|
|
3625
4272
|
/** This is the OAuth2 URL. */
|
|
3626
4273
|
url: string;
|
|
3627
4274
|
/** This is the OAuth2 client ID. */
|
|
@@ -4096,6 +4743,28 @@ export interface CreateGoogleCalendarOAuth2AuthorizationCredentialDTO {
|
|
|
4096
4743
|
*/
|
|
4097
4744
|
name?: string;
|
|
4098
4745
|
}
|
|
4746
|
+
export interface CreateGoogleSheetsOAuth2AuthorizationCredentialDTO {
|
|
4747
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
4748
|
+
/** The authorization ID for the OAuth2 authorization */
|
|
4749
|
+
authorizationId: string;
|
|
4750
|
+
/**
|
|
4751
|
+
* This is the name of credential. This is just for your reference.
|
|
4752
|
+
* @minLength 1
|
|
4753
|
+
* @maxLength 40
|
|
4754
|
+
*/
|
|
4755
|
+
name?: string;
|
|
4756
|
+
}
|
|
4757
|
+
export interface CreateSlackOAuth2AuthorizationCredentialDTO {
|
|
4758
|
+
provider: 'slack.oauth2-authorization';
|
|
4759
|
+
/** The authorization ID for the OAuth2 authorization */
|
|
4760
|
+
authorizationId: string;
|
|
4761
|
+
/**
|
|
4762
|
+
* This is the name of credential. This is just for your reference.
|
|
4763
|
+
* @minLength 1
|
|
4764
|
+
* @maxLength 40
|
|
4765
|
+
*/
|
|
4766
|
+
name?: string;
|
|
4767
|
+
}
|
|
4099
4768
|
export interface TransferAssistantHookAction {
|
|
4100
4769
|
/** This is the type of action - must be "transfer" */
|
|
4101
4770
|
type: 'transfer';
|
|
@@ -4345,111 +5014,6 @@ export interface AnalysisPlan {
|
|
|
4345
5014
|
/** This is the plan for generating the success evaluation of the call. This outputs to `call.analysis.successEvaluation`. */
|
|
4346
5015
|
successEvaluationPlan?: SuccessEvaluationPlan;
|
|
4347
5016
|
}
|
|
4348
|
-
export interface TranscriptPlan {
|
|
4349
|
-
/**
|
|
4350
|
-
* This determines whether the transcript is stored in `call.artifact.transcript`. Defaults to true.
|
|
4351
|
-
*
|
|
4352
|
-
* @default true
|
|
4353
|
-
* @example true
|
|
4354
|
-
*/
|
|
4355
|
-
enabled?: boolean;
|
|
4356
|
-
/**
|
|
4357
|
-
* This is the name of the assistant in the transcript. Defaults to 'AI'.
|
|
4358
|
-
*
|
|
4359
|
-
* Usage:
|
|
4360
|
-
* - If you want to change the name of the assistant in the transcript, set this. Example, here is what the transcript would look like with `assistantName` set to 'Buyer':
|
|
4361
|
-
* ```
|
|
4362
|
-
* User: Hello, how are you?
|
|
4363
|
-
* Buyer: I'm fine.
|
|
4364
|
-
* User: Do you want to buy a car?
|
|
4365
|
-
* Buyer: No.
|
|
4366
|
-
* ```
|
|
4367
|
-
*
|
|
4368
|
-
* @default 'AI'
|
|
4369
|
-
*/
|
|
4370
|
-
assistantName?: string;
|
|
4371
|
-
/**
|
|
4372
|
-
* This is the name of the user in the transcript. Defaults to 'User'.
|
|
4373
|
-
*
|
|
4374
|
-
* Usage:
|
|
4375
|
-
* - If you want to change the name of the user in the transcript, set this. Example, here is what the transcript would look like with `userName` set to 'Seller':
|
|
4376
|
-
* ```
|
|
4377
|
-
* Seller: Hello, how are you?
|
|
4378
|
-
* AI: I'm fine.
|
|
4379
|
-
* Seller: Do you want to buy a car?
|
|
4380
|
-
* AI: No.
|
|
4381
|
-
* ```
|
|
4382
|
-
*
|
|
4383
|
-
* @default 'User'
|
|
4384
|
-
*/
|
|
4385
|
-
userName?: string;
|
|
4386
|
-
}
|
|
4387
|
-
export interface ArtifactPlan {
|
|
4388
|
-
/**
|
|
4389
|
-
* This determines whether assistant's calls are recorded. Defaults to true.
|
|
4390
|
-
*
|
|
4391
|
-
* Usage:
|
|
4392
|
-
* - If you don't want to record the calls, set this to false.
|
|
4393
|
-
* - If you want to record the calls when `assistant.hipaaEnabled` (deprecated) or `assistant.compliancePlan.hipaaEnabled` explicity set this to true and make sure to provide S3 or GCP credentials on the Provider Credentials page in the Dashboard.
|
|
4394
|
-
*
|
|
4395
|
-
* You can find the recording at `call.artifact.recordingUrl` and `call.artifact.stereoRecordingUrl` after the call is ended.
|
|
4396
|
-
*
|
|
4397
|
-
* @default true
|
|
4398
|
-
* @example true
|
|
4399
|
-
*/
|
|
4400
|
-
recordingEnabled?: boolean;
|
|
4401
|
-
/**
|
|
4402
|
-
* This determines the format of the recording. Defaults to `wav;l16`.
|
|
4403
|
-
*
|
|
4404
|
-
* @default 'wav;l16'
|
|
4405
|
-
*/
|
|
4406
|
-
recordingFormat?: 'wav;l16' | 'mp3';
|
|
4407
|
-
/**
|
|
4408
|
-
* This determines whether the video is recorded during the call. Defaults to false. Only relevant for `webCall` type.
|
|
4409
|
-
*
|
|
4410
|
-
* You can find the video recording at `call.artifact.videoRecordingUrl` after the call is ended.
|
|
4411
|
-
*
|
|
4412
|
-
* @default false
|
|
4413
|
-
* @example false
|
|
4414
|
-
*/
|
|
4415
|
-
videoRecordingEnabled?: boolean;
|
|
4416
|
-
/**
|
|
4417
|
-
* This determines whether the SIP packet capture is enabled. Defaults to true. Only relevant for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`.
|
|
4418
|
-
*
|
|
4419
|
-
* You can find the packet capture at `call.artifact.pcapUrl` after the call is ended.
|
|
4420
|
-
*
|
|
4421
|
-
* @default true
|
|
4422
|
-
* @example true
|
|
4423
|
-
*/
|
|
4424
|
-
pcapEnabled?: boolean;
|
|
4425
|
-
/**
|
|
4426
|
-
* This is the path where the SIP packet capture will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard.
|
|
4427
|
-
*
|
|
4428
|
-
* If credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it.
|
|
4429
|
-
*
|
|
4430
|
-
* Usage:
|
|
4431
|
-
* - If you want to upload the packet capture to a specific path, set this to the path. Example: `/my-assistant-captures`.
|
|
4432
|
-
* - If you want to upload the packet capture to the root of the bucket, set this to `/`.
|
|
4433
|
-
*
|
|
4434
|
-
* @default '/'
|
|
4435
|
-
* @example "/pcaps"
|
|
4436
|
-
*/
|
|
4437
|
-
pcapS3PathPrefix?: string;
|
|
4438
|
-
/** This is the plan for `call.artifact.transcript`. To disable, set `transcriptPlan.enabled` to false. */
|
|
4439
|
-
transcriptPlan?: TranscriptPlan;
|
|
4440
|
-
/**
|
|
4441
|
-
* This is the path where the recording will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard.
|
|
4442
|
-
*
|
|
4443
|
-
* If credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it.
|
|
4444
|
-
*
|
|
4445
|
-
* Usage:
|
|
4446
|
-
* - If you want to upload the recording to a specific path, set this to the path. Example: `/my-assistant-recordings`.
|
|
4447
|
-
* - If you want to upload the recording to the root of the bucket, set this to `/`.
|
|
4448
|
-
*
|
|
4449
|
-
* @default '/'
|
|
4450
|
-
*/
|
|
4451
|
-
recordingPath?: string;
|
|
4452
|
-
}
|
|
4453
5017
|
export interface MessagePlan {
|
|
4454
5018
|
/**
|
|
4455
5019
|
* This are the messages that the assistant will speak when the user hasn't responded for `idleTimeoutSeconds`. Each time the timeout is triggered, a random message will be chosen from this array.
|
|
@@ -4469,6 +5033,12 @@ export interface MessagePlan {
|
|
|
4469
5033
|
* @max 10
|
|
4470
5034
|
*/
|
|
4471
5035
|
idleMessageMaxSpokenCount?: number;
|
|
5036
|
+
/**
|
|
5037
|
+
* This determines whether the idle message count is reset whenever the user speaks.
|
|
5038
|
+
*
|
|
5039
|
+
* @default false
|
|
5040
|
+
*/
|
|
5041
|
+
idleMessageResetCountOnUserSpeechEnabled?: boolean;
|
|
4472
5042
|
/**
|
|
4473
5043
|
* This is the timeout in seconds before a message from `idleMessages` is spoken. The clock starts when the assistant finishes speaking and remains active until the user speaks.
|
|
4474
5044
|
*
|
|
@@ -4626,13 +5196,13 @@ export interface LivekitSmartEndpointingPlan {
|
|
|
4626
5196
|
/**
|
|
4627
5197
|
* This expression describes how long the bot will wait to start speaking based on the likelihood that the user has reached an endpoint.
|
|
4628
5198
|
*
|
|
4629
|
-
* This is a millisecond valued function. It maps probabilities (real numbers on [0,1]) to
|
|
5199
|
+
* This is a millisecond valued function. It maps probabilities (real numbers on [0,1]) to milliseconds that the bot should wait before speaking ([0, \infty]). Any negative values that are returned are set to zero (the bot can't start talking in the past).
|
|
4630
5200
|
*
|
|
4631
5201
|
* A probability of zero represents very high confidence that the caller has stopped speaking, and would like the bot to speak to them. A probability of one represents very high confidence that the caller is still speaking.
|
|
4632
5202
|
*
|
|
4633
5203
|
* Under the hood, this is parsed into a mathjs expression. Whatever you use to write your expression needs to be valid with respect to mathjs
|
|
4634
5204
|
*
|
|
4635
|
-
* @default "
|
|
5205
|
+
* @default "70 + 4000 * x"
|
|
4636
5206
|
*/
|
|
4637
5207
|
waitFunction?: string;
|
|
4638
5208
|
}
|
|
@@ -4903,10 +5473,10 @@ export interface CreateAssistantDTO {
|
|
|
4903
5473
|
*/
|
|
4904
5474
|
voicemailDetection?: GoogleVoicemailDetectionPlan | OpenAIVoicemailDetectionPlan | TwilioVoicemailDetectionPlan;
|
|
4905
5475
|
/**
|
|
4906
|
-
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input. You can check the shape of the messages in ClientMessage schema.
|
|
4907
|
-
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input"]
|
|
5476
|
+
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started. You can check the shape of the messages in ClientMessage schema.
|
|
5477
|
+
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input","workflow.node.started"]
|
|
4908
5478
|
*/
|
|
4909
|
-
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'transfer-update' | 'user-interrupted' | 'voice-input';
|
|
5479
|
+
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'tool.completed' | 'transfer-update' | 'user-interrupted' | 'voice-input' | 'workflow.node.started';
|
|
4910
5480
|
/**
|
|
4911
5481
|
* These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,user-interrupted. You can check the shape of the messages in ServerMessage schema.
|
|
4912
5482
|
* @example ["conversation-update","end-of-call-report","function-call","hang","speech-update","status-update","tool-calls","transfer-destination-request","user-interrupted"]
|
|
@@ -4962,7 +5532,101 @@ export interface CreateAssistantDTO {
|
|
|
4962
5532
|
*/
|
|
4963
5533
|
observabilityPlan?: LangfuseObservabilityPlan;
|
|
4964
5534
|
/** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
|
|
4965
|
-
credentials?: (
|
|
5535
|
+
credentials?: (({
|
|
5536
|
+
provider: '11labs';
|
|
5537
|
+
} & CreateElevenLabsCredentialDTO) | ({
|
|
5538
|
+
provider: 'anthropic';
|
|
5539
|
+
} & CreateAnthropicCredentialDTO) | ({
|
|
5540
|
+
provider: 'anyscale';
|
|
5541
|
+
} & CreateAnyscaleCredentialDTO) | ({
|
|
5542
|
+
provider: 'assembly-ai';
|
|
5543
|
+
} & CreateAssemblyAICredentialDTO) | ({
|
|
5544
|
+
provider: 'azure-openai';
|
|
5545
|
+
} & CreateAzureOpenAICredentialDTO) | ({
|
|
5546
|
+
provider: 'azure';
|
|
5547
|
+
} & CreateAzureCredentialDTO) | ({
|
|
5548
|
+
provider: 'byo-sip-trunk';
|
|
5549
|
+
} & CreateByoSipTrunkCredentialDTO) | ({
|
|
5550
|
+
provider: 'cartesia';
|
|
5551
|
+
} & CreateCartesiaCredentialDTO) | ({
|
|
5552
|
+
provider: 'cerebras';
|
|
5553
|
+
} & CreateCerebrasCredentialDTO) | ({
|
|
5554
|
+
provider: 'cloudflare';
|
|
5555
|
+
} & CreateCloudflareCredentialDTO) | ({
|
|
5556
|
+
provider: 'custom-llm';
|
|
5557
|
+
} & CreateCustomLLMCredentialDTO) | ({
|
|
5558
|
+
provider: 'deepgram';
|
|
5559
|
+
} & CreateDeepgramCredentialDTO) | ({
|
|
5560
|
+
provider: 'deepinfra';
|
|
5561
|
+
} & CreateDeepInfraCredentialDTO) | ({
|
|
5562
|
+
provider: 'deep-seek';
|
|
5563
|
+
} & CreateDeepSeekCredentialDTO) | ({
|
|
5564
|
+
provider: 'gcp';
|
|
5565
|
+
} & CreateGcpCredentialDTO) | ({
|
|
5566
|
+
provider: 'gladia';
|
|
5567
|
+
} & CreateGladiaCredentialDTO) | ({
|
|
5568
|
+
provider: 'gohighlevel';
|
|
5569
|
+
} & CreateGoHighLevelCredentialDTO) | ({
|
|
5570
|
+
provider: 'google';
|
|
5571
|
+
} & CreateGoogleCredentialDTO) | ({
|
|
5572
|
+
provider: 'groq';
|
|
5573
|
+
} & CreateGroqCredentialDTO) | ({
|
|
5574
|
+
provider: 'inflection-ai';
|
|
5575
|
+
} & CreateInflectionAICredentialDTO) | ({
|
|
5576
|
+
provider: 'langfuse';
|
|
5577
|
+
} & CreateLangfuseCredentialDTO) | ({
|
|
5578
|
+
provider: 'lmnt';
|
|
5579
|
+
} & CreateLmntCredentialDTO) | ({
|
|
5580
|
+
provider: 'make';
|
|
5581
|
+
} & CreateMakeCredentialDTO) | ({
|
|
5582
|
+
provider: 'openai';
|
|
5583
|
+
} & CreateOpenAICredentialDTO) | ({
|
|
5584
|
+
provider: 'openrouter';
|
|
5585
|
+
} & CreateOpenRouterCredentialDTO) | ({
|
|
5586
|
+
provider: 'perplexity-ai';
|
|
5587
|
+
} & CreatePerplexityAICredentialDTO) | ({
|
|
5588
|
+
provider: 'playht';
|
|
5589
|
+
} & CreatePlayHTCredentialDTO) | ({
|
|
5590
|
+
provider: 'rime-ai';
|
|
5591
|
+
} & CreateRimeAICredentialDTO) | ({
|
|
5592
|
+
provider: 'runpod';
|
|
5593
|
+
} & CreateRunpodCredentialDTO) | ({
|
|
5594
|
+
provider: 's3';
|
|
5595
|
+
} & CreateS3CredentialDTO) | ({
|
|
5596
|
+
provider: 'supabase';
|
|
5597
|
+
} & CreateSupabaseCredentialDTO) | ({
|
|
5598
|
+
provider: 'smallest-ai';
|
|
5599
|
+
} & CreateSmallestAICredentialDTO) | ({
|
|
5600
|
+
provider: 'tavus';
|
|
5601
|
+
} & CreateTavusCredentialDTO) | ({
|
|
5602
|
+
provider: 'together-ai';
|
|
5603
|
+
} & CreateTogetherAICredentialDTO) | ({
|
|
5604
|
+
provider: 'twilio';
|
|
5605
|
+
} & CreateTwilioCredentialDTO) | ({
|
|
5606
|
+
provider: 'vonage';
|
|
5607
|
+
} & CreateVonageCredentialDTO) | ({
|
|
5608
|
+
provider: 'webhook';
|
|
5609
|
+
} & CreateWebhookCredentialDTO) | ({
|
|
5610
|
+
provider: 'xai';
|
|
5611
|
+
} & CreateXAiCredentialDTO) | ({
|
|
5612
|
+
provider: 'neuphonic';
|
|
5613
|
+
} & CreateNeuphonicCredentialDTO) | ({
|
|
5614
|
+
provider: 'hume';
|
|
5615
|
+
} & CreateHumeCredentialDTO) | ({
|
|
5616
|
+
provider: 'mistral';
|
|
5617
|
+
} & CreateMistralCredentialDTO) | ({
|
|
5618
|
+
provider: 'speechmatics';
|
|
5619
|
+
} & CreateSpeechmaticsCredentialDTO) | ({
|
|
5620
|
+
provider: 'trieve';
|
|
5621
|
+
} & CreateTrieveCredentialDTO) | ({
|
|
5622
|
+
provider: 'google.calendar.oauth2-client';
|
|
5623
|
+
} & CreateGoogleCalendarOAuth2ClientCredentialDTO) | ({
|
|
5624
|
+
provider: 'google.calendar.oauth2-authorization';
|
|
5625
|
+
} & CreateGoogleCalendarOAuth2AuthorizationCredentialDTO) | ({
|
|
5626
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
5627
|
+
} & CreateGoogleSheetsOAuth2AuthorizationCredentialDTO) | ({
|
|
5628
|
+
provider: 'slack.oauth2-authorization';
|
|
5629
|
+
} & CreateSlackOAuth2AuthorizationCredentialDTO))[];
|
|
4966
5630
|
/**
|
|
4967
5631
|
* This is the name of the assistant.
|
|
4968
5632
|
*
|
|
@@ -5087,10 +5751,10 @@ export interface AssistantOverrides {
|
|
|
5087
5751
|
*/
|
|
5088
5752
|
voicemailDetection?: GoogleVoicemailDetectionPlan | OpenAIVoicemailDetectionPlan | TwilioVoicemailDetectionPlan;
|
|
5089
5753
|
/**
|
|
5090
|
-
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input. You can check the shape of the messages in ClientMessage schema.
|
|
5091
|
-
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input"]
|
|
5754
|
+
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started. You can check the shape of the messages in ClientMessage schema.
|
|
5755
|
+
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input","workflow.node.started"]
|
|
5092
5756
|
*/
|
|
5093
|
-
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'transfer-update' | 'user-interrupted' | 'voice-input';
|
|
5757
|
+
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'tool.completed' | 'transfer-update' | 'user-interrupted' | 'voice-input' | 'workflow.node.started';
|
|
5094
5758
|
/**
|
|
5095
5759
|
* These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,user-interrupted. You can check the shape of the messages in ServerMessage schema.
|
|
5096
5760
|
* @example ["conversation-update","end-of-call-report","function-call","hang","speech-update","status-update","tool-calls","transfer-destination-request","user-interrupted"]
|
|
@@ -5146,7 +5810,101 @@ export interface AssistantOverrides {
|
|
|
5146
5810
|
*/
|
|
5147
5811
|
observabilityPlan?: LangfuseObservabilityPlan;
|
|
5148
5812
|
/** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
|
|
5149
|
-
credentials?: (
|
|
5813
|
+
credentials?: (({
|
|
5814
|
+
provider: '11labs';
|
|
5815
|
+
} & CreateElevenLabsCredentialDTO) | ({
|
|
5816
|
+
provider: 'anthropic';
|
|
5817
|
+
} & CreateAnthropicCredentialDTO) | ({
|
|
5818
|
+
provider: 'anyscale';
|
|
5819
|
+
} & CreateAnyscaleCredentialDTO) | ({
|
|
5820
|
+
provider: 'assembly-ai';
|
|
5821
|
+
} & CreateAssemblyAICredentialDTO) | ({
|
|
5822
|
+
provider: 'azure-openai';
|
|
5823
|
+
} & CreateAzureOpenAICredentialDTO) | ({
|
|
5824
|
+
provider: 'azure';
|
|
5825
|
+
} & CreateAzureCredentialDTO) | ({
|
|
5826
|
+
provider: 'byo-sip-trunk';
|
|
5827
|
+
} & CreateByoSipTrunkCredentialDTO) | ({
|
|
5828
|
+
provider: 'cartesia';
|
|
5829
|
+
} & CreateCartesiaCredentialDTO) | ({
|
|
5830
|
+
provider: 'cerebras';
|
|
5831
|
+
} & CreateCerebrasCredentialDTO) | ({
|
|
5832
|
+
provider: 'cloudflare';
|
|
5833
|
+
} & CreateCloudflareCredentialDTO) | ({
|
|
5834
|
+
provider: 'custom-llm';
|
|
5835
|
+
} & CreateCustomLLMCredentialDTO) | ({
|
|
5836
|
+
provider: 'deepgram';
|
|
5837
|
+
} & CreateDeepgramCredentialDTO) | ({
|
|
5838
|
+
provider: 'deepinfra';
|
|
5839
|
+
} & CreateDeepInfraCredentialDTO) | ({
|
|
5840
|
+
provider: 'deep-seek';
|
|
5841
|
+
} & CreateDeepSeekCredentialDTO) | ({
|
|
5842
|
+
provider: 'gcp';
|
|
5843
|
+
} & CreateGcpCredentialDTO) | ({
|
|
5844
|
+
provider: 'gladia';
|
|
5845
|
+
} & CreateGladiaCredentialDTO) | ({
|
|
5846
|
+
provider: 'gohighlevel';
|
|
5847
|
+
} & CreateGoHighLevelCredentialDTO) | ({
|
|
5848
|
+
provider: 'google';
|
|
5849
|
+
} & CreateGoogleCredentialDTO) | ({
|
|
5850
|
+
provider: 'groq';
|
|
5851
|
+
} & CreateGroqCredentialDTO) | ({
|
|
5852
|
+
provider: 'inflection-ai';
|
|
5853
|
+
} & CreateInflectionAICredentialDTO) | ({
|
|
5854
|
+
provider: 'langfuse';
|
|
5855
|
+
} & CreateLangfuseCredentialDTO) | ({
|
|
5856
|
+
provider: 'lmnt';
|
|
5857
|
+
} & CreateLmntCredentialDTO) | ({
|
|
5858
|
+
provider: 'make';
|
|
5859
|
+
} & CreateMakeCredentialDTO) | ({
|
|
5860
|
+
provider: 'openai';
|
|
5861
|
+
} & CreateOpenAICredentialDTO) | ({
|
|
5862
|
+
provider: 'openrouter';
|
|
5863
|
+
} & CreateOpenRouterCredentialDTO) | ({
|
|
5864
|
+
provider: 'perplexity-ai';
|
|
5865
|
+
} & CreatePerplexityAICredentialDTO) | ({
|
|
5866
|
+
provider: 'playht';
|
|
5867
|
+
} & CreatePlayHTCredentialDTO) | ({
|
|
5868
|
+
provider: 'rime-ai';
|
|
5869
|
+
} & CreateRimeAICredentialDTO) | ({
|
|
5870
|
+
provider: 'runpod';
|
|
5871
|
+
} & CreateRunpodCredentialDTO) | ({
|
|
5872
|
+
provider: 's3';
|
|
5873
|
+
} & CreateS3CredentialDTO) | ({
|
|
5874
|
+
provider: 'supabase';
|
|
5875
|
+
} & CreateSupabaseCredentialDTO) | ({
|
|
5876
|
+
provider: 'smallest-ai';
|
|
5877
|
+
} & CreateSmallestAICredentialDTO) | ({
|
|
5878
|
+
provider: 'tavus';
|
|
5879
|
+
} & CreateTavusCredentialDTO) | ({
|
|
5880
|
+
provider: 'together-ai';
|
|
5881
|
+
} & CreateTogetherAICredentialDTO) | ({
|
|
5882
|
+
provider: 'twilio';
|
|
5883
|
+
} & CreateTwilioCredentialDTO) | ({
|
|
5884
|
+
provider: 'vonage';
|
|
5885
|
+
} & CreateVonageCredentialDTO) | ({
|
|
5886
|
+
provider: 'webhook';
|
|
5887
|
+
} & CreateWebhookCredentialDTO) | ({
|
|
5888
|
+
provider: 'xai';
|
|
5889
|
+
} & CreateXAiCredentialDTO) | ({
|
|
5890
|
+
provider: 'neuphonic';
|
|
5891
|
+
} & CreateNeuphonicCredentialDTO) | ({
|
|
5892
|
+
provider: 'hume';
|
|
5893
|
+
} & CreateHumeCredentialDTO) | ({
|
|
5894
|
+
provider: 'mistral';
|
|
5895
|
+
} & CreateMistralCredentialDTO) | ({
|
|
5896
|
+
provider: 'speechmatics';
|
|
5897
|
+
} & CreateSpeechmaticsCredentialDTO) | ({
|
|
5898
|
+
provider: 'trieve';
|
|
5899
|
+
} & CreateTrieveCredentialDTO) | ({
|
|
5900
|
+
provider: 'google.calendar.oauth2-client';
|
|
5901
|
+
} & CreateGoogleCalendarOAuth2ClientCredentialDTO) | ({
|
|
5902
|
+
provider: 'google.calendar.oauth2-authorization';
|
|
5903
|
+
} & CreateGoogleCalendarOAuth2AuthorizationCredentialDTO) | ({
|
|
5904
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
5905
|
+
} & CreateGoogleSheetsOAuth2AuthorizationCredentialDTO) | ({
|
|
5906
|
+
provider: 'slack.oauth2-authorization';
|
|
5907
|
+
} & CreateSlackOAuth2AuthorizationCredentialDTO))[];
|
|
5150
5908
|
/**
|
|
5151
5909
|
* These are values that will be used to replace the template variables in the assistant messages and other text-based fields.
|
|
5152
5910
|
* This uses LiquidJS syntax. https://liquidjs.com/tutorials/intro-to-liquid.html
|
|
@@ -5273,6 +6031,15 @@ export interface CreateSquadDTO {
|
|
|
5273
6031
|
*/
|
|
5274
6032
|
membersOverrides?: AssistantOverrides;
|
|
5275
6033
|
}
|
|
6034
|
+
export interface PhoneNumberHookCallRinging {
|
|
6035
|
+
/**
|
|
6036
|
+
* This is the event to trigger the hook on
|
|
6037
|
+
* @maxLength 1000
|
|
6038
|
+
*/
|
|
6039
|
+
on: 'call.ringing';
|
|
6040
|
+
/** This is the set of actions to perform when the hook triggers */
|
|
6041
|
+
do: any[];
|
|
6042
|
+
}
|
|
5276
6043
|
export interface ImportTwilioPhoneNumberDTO {
|
|
5277
6044
|
/**
|
|
5278
6045
|
* This is the fallback destination an inbound call will be transferred to if:
|
|
@@ -5283,6 +6050,8 @@ export interface ImportTwilioPhoneNumberDTO {
|
|
|
5283
6050
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
5284
6051
|
*/
|
|
5285
6052
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
6053
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
6054
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
5286
6055
|
/**
|
|
5287
6056
|
* These are the digits of the phone number you own on your Twilio.
|
|
5288
6057
|
* @deprecated
|
|
@@ -5340,6 +6109,11 @@ export interface CreateCustomerDTO {
|
|
|
5340
6109
|
* @example null
|
|
5341
6110
|
*/
|
|
5342
6111
|
extension?: string;
|
|
6112
|
+
/**
|
|
6113
|
+
* These are the overrides for the assistant's settings and template variables specific to this customer.
|
|
6114
|
+
* This allows customization of the assistant's behavior for individual customers in batch calls.
|
|
6115
|
+
*/
|
|
6116
|
+
assistantOverrides?: AssistantOverrides;
|
|
5343
6117
|
/**
|
|
5344
6118
|
* This is the number of the customer.
|
|
5345
6119
|
* @minLength 3
|
|
@@ -5356,136 +6130,21 @@ export interface CreateCustomerDTO {
|
|
|
5356
6130
|
*/
|
|
5357
6131
|
name?: string;
|
|
5358
6132
|
}
|
|
5359
|
-
export interface
|
|
5360
|
-
/**
|
|
5361
|
-
* This is the name of the call. This is just for your own reference.
|
|
5362
|
-
* @maxLength 40
|
|
5363
|
-
*/
|
|
5364
|
-
name?: string;
|
|
5365
|
-
/** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
|
|
5366
|
-
assistantId?: string;
|
|
5367
|
-
/** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
|
|
5368
|
-
assistant?: CreateAssistantDTO;
|
|
5369
|
-
/** These are the overrides for the `assistant` or `assistantId`'s settings and template variables. */
|
|
5370
|
-
assistantOverrides?: AssistantOverrides;
|
|
5371
|
-
/** This is the squad that will be used for the call. To use a transient squad, use `squad` instead. */
|
|
5372
|
-
squadId?: string;
|
|
5373
|
-
/** This is a squad that will be used for the call. To use an existing squad, use `squadId` instead. */
|
|
5374
|
-
squad?: CreateSquadDTO;
|
|
6133
|
+
export interface SchedulePlan {
|
|
5375
6134
|
/**
|
|
5376
|
-
* This is the
|
|
5377
|
-
*
|
|
5378
|
-
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
6135
|
+
* This is the ISO 8601 date-time string of the earliest time the call can be scheduled.
|
|
6136
|
+
* @format date-time
|
|
5379
6137
|
*/
|
|
5380
|
-
|
|
6138
|
+
earliestAt: string;
|
|
5381
6139
|
/**
|
|
5382
|
-
* This is the
|
|
5383
|
-
*
|
|
5384
|
-
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
6140
|
+
* This is the ISO 8601 date-time string of the latest time the call can be scheduled.
|
|
6141
|
+
* @format date-time
|
|
5385
6142
|
*/
|
|
5386
|
-
|
|
5387
|
-
/**
|
|
5388
|
-
* This is the customer that will be called. To call a transient customer , use `customer` instead.
|
|
5389
|
-
*
|
|
5390
|
-
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
5391
|
-
*/
|
|
5392
|
-
customerId?: string;
|
|
5393
|
-
/**
|
|
5394
|
-
* This is the customer that will be called. To call an existing customer, use `customerId` instead.
|
|
5395
|
-
*
|
|
5396
|
-
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
5397
|
-
*/
|
|
5398
|
-
customer?: CreateCustomerDTO;
|
|
5399
|
-
}
|
|
5400
|
-
export interface AnalysisCostBreakdown {
|
|
5401
|
-
/** This is the cost to summarize the call. */
|
|
5402
|
-
summary?: number;
|
|
5403
|
-
/** This is the number of prompt tokens used to summarize the call. */
|
|
5404
|
-
summaryPromptTokens?: number;
|
|
5405
|
-
/** This is the number of completion tokens used to summarize the call. */
|
|
5406
|
-
summaryCompletionTokens?: number;
|
|
5407
|
-
/** This is the cost to extract structured data from the call. */
|
|
5408
|
-
structuredData?: number;
|
|
5409
|
-
/** This is the number of prompt tokens used to extract structured data from the call. */
|
|
5410
|
-
structuredDataPromptTokens?: number;
|
|
5411
|
-
/** This is the number of completion tokens used to extract structured data from the call. */
|
|
5412
|
-
structuredDataCompletionTokens?: number;
|
|
5413
|
-
/** This is the cost to evaluate if the call was successful. */
|
|
5414
|
-
successEvaluation?: number;
|
|
5415
|
-
/** This is the number of prompt tokens used to evaluate if the call was successful. */
|
|
5416
|
-
successEvaluationPromptTokens?: number;
|
|
5417
|
-
/** This is the number of completion tokens used to evaluate if the call was successful. */
|
|
5418
|
-
successEvaluationCompletionTokens?: number;
|
|
5419
|
-
}
|
|
5420
|
-
export interface CostBreakdown {
|
|
5421
|
-
/** This is the cost of the transport provider, like Twilio or Vonage. */
|
|
5422
|
-
transport?: number;
|
|
5423
|
-
/** This is the cost of the speech-to-text service. */
|
|
5424
|
-
stt?: number;
|
|
5425
|
-
/** This is the cost of the language model. */
|
|
5426
|
-
llm?: number;
|
|
5427
|
-
/** This is the cost of the text-to-speech service. */
|
|
5428
|
-
tts?: number;
|
|
5429
|
-
/** This is the cost of Vapi. */
|
|
5430
|
-
vapi?: number;
|
|
5431
|
-
/** This is the total cost of the call. */
|
|
5432
|
-
total?: number;
|
|
5433
|
-
/** This is the LLM prompt tokens used for the call. */
|
|
5434
|
-
llmPromptTokens?: number;
|
|
5435
|
-
/** This is the LLM completion tokens used for the call. */
|
|
5436
|
-
llmCompletionTokens?: number;
|
|
5437
|
-
/** This is the TTS characters used for the call. */
|
|
5438
|
-
ttsCharacters?: number;
|
|
5439
|
-
/** This is the cost of the analysis. */
|
|
5440
|
-
analysisCostBreakdown?: AnalysisCostBreakdown;
|
|
5441
|
-
}
|
|
5442
|
-
export interface Analysis {
|
|
5443
|
-
/** This is the summary of the call. Customize by setting `assistant.analysisPlan.summaryPrompt`. */
|
|
5444
|
-
summary?: string;
|
|
5445
|
-
/** This is the structured data extracted from the call. Customize by setting `assistant.analysisPlan.structuredDataPrompt` and/or `assistant.analysisPlan.structuredDataSchema`. */
|
|
5446
|
-
structuredData?: object;
|
|
5447
|
-
/** This is the structured data catalog of the call. Customize by setting `assistant.analysisPlan.structuredDataMultiPlan`. */
|
|
5448
|
-
structuredDataMulti?: object[];
|
|
5449
|
-
/** This is the evaluation of the call. Customize by setting `assistant.analysisPlan.successEvaluationPrompt` and/or `assistant.analysisPlan.successEvaluationRubric`. */
|
|
5450
|
-
successEvaluation?: string;
|
|
5451
|
-
}
|
|
5452
|
-
export interface Monitor {
|
|
5453
|
-
/** This is the URL where the assistant's calls can be listened to in real-time. To enable, set `assistant.monitorPlan.listenEnabled` to `true`. */
|
|
5454
|
-
listenUrl?: string;
|
|
5455
|
-
/** This is the URL where the assistant's calls can be controlled in real-time. To enable, set `assistant.monitorPlan.controlEnabled` to `true`. */
|
|
5456
|
-
controlUrl?: string;
|
|
5457
|
-
}
|
|
5458
|
-
export interface Artifact {
|
|
5459
|
-
/** These are the messages that were spoken during the call. */
|
|
5460
|
-
messages?: (UserMessage | SystemMessage | BotMessage | ToolCallMessage | ToolCallResultMessage)[];
|
|
5461
|
-
/** These are the messages that were spoken during the call, formatted for OpenAI. */
|
|
5462
|
-
messagesOpenAIFormatted?: OpenAIMessage[];
|
|
5463
|
-
/** This is the recording url for the call. To enable, set `assistant.artifactPlan.recordingEnabled`. */
|
|
5464
|
-
recordingUrl?: string;
|
|
5465
|
-
/** This is the stereo recording url for the call. To enable, set `assistant.artifactPlan.recordingEnabled`. */
|
|
5466
|
-
stereoRecordingUrl?: string;
|
|
5467
|
-
/** This is video recording url for the call. To enable, set `assistant.artifactPlan.videoRecordingEnabled`. */
|
|
5468
|
-
videoRecordingUrl?: string;
|
|
5469
|
-
/** This is video recording start delay in ms. To enable, set `assistant.artifactPlan.videoRecordingEnabled`. This can be used to align the playback of the recording with artifact.messages timestamps. */
|
|
5470
|
-
videoRecordingStartDelaySeconds?: number;
|
|
5471
|
-
/** This is the transcript of the call. This is derived from `artifact.messages` but provided for convenience. */
|
|
5472
|
-
transcript?: string;
|
|
5473
|
-
/** This is the packet capture url for the call. This is only available for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`. */
|
|
5474
|
-
pcapUrl?: string;
|
|
5475
|
-
}
|
|
5476
|
-
export interface Transport {
|
|
5477
|
-
/** This is the provider used for the call. */
|
|
5478
|
-
provider?: 'twilio' | 'vonage' | 'vapi' | 'daily' | 'telnyx';
|
|
5479
|
-
/**
|
|
5480
|
-
* This is determines whether the assistant will have video enabled.
|
|
5481
|
-
*
|
|
5482
|
-
* Only relevant for `webCall` type.
|
|
5483
|
-
*/
|
|
5484
|
-
assistantVideoEnabled?: boolean;
|
|
6143
|
+
latestAt?: string;
|
|
5485
6144
|
}
|
|
5486
6145
|
export interface Call {
|
|
5487
6146
|
/** This is the type of call. */
|
|
5488
|
-
type?: 'inboundPhoneCall' | 'outboundPhoneCall' | 'webCall';
|
|
6147
|
+
type?: 'inboundPhoneCall' | 'outboundPhoneCall' | 'webCall' | 'vapi.websocketCall';
|
|
5489
6148
|
/** These are the costs of individual components of the call in USD. */
|
|
5490
6149
|
costs?: (TransportCost | TranscriberCost | ModelCost | VoiceCost | VapiCost | VoicemailDetectionCost | AnalysisCost)[];
|
|
5491
6150
|
messages?: (UserMessage | SystemMessage | BotMessage | ToolCallMessage | ToolCallResultMessage)[];
|
|
@@ -5504,7 +6163,7 @@ export interface Call {
|
|
|
5504
6163
|
/** This is the status of the call. */
|
|
5505
6164
|
status?: 'scheduled' | 'queued' | 'ringing' | 'in-progress' | 'forwarding' | 'ended';
|
|
5506
6165
|
/** This is the explanation for how the call ended. */
|
|
5507
|
-
endedReason?: 'assistant-not-valid' | 'assistant-not-provided' | 'call-start-error-neither-assistant-nor-server-set' | 'assistant-request-failed' | 'assistant-request-returned-error' | 'assistant-request-returned-unspeakable-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-ended-call-with-hangup-task' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'customer-busy' | 'customer-ended-call' | 'customer-did-not-answer' | 'customer-did-not-give-microphone-permission' | 'assistant-said-message-with-end-call-enabled' | 'exceeded-max-duration' | 'manually-canceled' | 'phone-call-provider-closed-websocket' | 'db-error' | 'assistant-not-found' | 'license-check-failed' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-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-smallest-ai-voice-failed' | 'pipeline-error-neuphonic-voice-failed' | 'pipeline-error-hume-voice-failed' | 'pipeline-error-sesame-voice-failed' | 'pipeline-error-deepgram-transcriber-failed' | 'pipeline-error-gladia-transcriber-failed' | 'pipeline-error-speechmatics-transcriber-failed' | 'pipeline-error-assembly-ai-transcriber-failed' | 'pipeline-error-talkscriber-transcriber-failed' | 'pipeline-error-azure-speech-transcriber-failed' | 'pipeline-error-vapi-llm-failed' | 'pipeline-error-vapi-400-bad-request-validation-failed' | 'pipeline-error-vapi-401-unauthorized' | 'pipeline-error-vapi-403-model-access-denied' | 'pipeline-error-vapi-429-exceeded-quota' | 'pipeline-error-vapi-500-server-error' | 'pipeline-no-available-model' | 'worker-shutdown' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'vonage-completed' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'vapifault-phone-call-worker-setup-socket-error' | 'vapifault-phone-call-worker-worker-setup-socket-timeout' | 'vapifault-phone-call-worker-could-not-find-call' | 'vapifault-transport-never-connected' | 'vapifault-web-call-worker-setup-failed' | 'vapifault-transport-connected-but-call-not-active' | 'vapifault-call-started-but-connection-to-transport-missing' | 'pipeline-error-openai-llm-failed' | 'pipeline-error-azure-openai-llm-failed' | 'pipeline-error-groq-llm-failed' | 'pipeline-error-google-llm-failed' | 'pipeline-error-xai-llm-failed' | 'pipeline-error-mistral-llm-failed' | 'pipeline-error-inflection-ai-llm-failed' | 'pipeline-error-cerebras-llm-failed' | 'pipeline-error-deep-seek-llm-failed' | 'pipeline-error-openai-400-bad-request-validation-failed' | 'pipeline-error-openai-401-unauthorized' | 'pipeline-error-openai-403-model-access-denied' | 'pipeline-error-openai-429-exceeded-quota' | 'pipeline-error-openai-500-server-error' | 'pipeline-error-google-400-bad-request-validation-failed' | 'pipeline-error-google-401-unauthorized' | 'pipeline-error-google-403-model-access-denied' | 'pipeline-error-google-429-exceeded-quota' | 'pipeline-error-google-500-server-error' | 'pipeline-error-xai-400-bad-request-validation-failed' | 'pipeline-error-xai-401-unauthorized' | 'pipeline-error-xai-403-model-access-denied' | 'pipeline-error-xai-429-exceeded-quota' | 'pipeline-error-xai-500-server-error' | 'pipeline-error-mistral-400-bad-request-validation-failed' | 'pipeline-error-mistral-401-unauthorized' | 'pipeline-error-mistral-403-model-access-denied' | 'pipeline-error-mistral-429-exceeded-quota' | 'pipeline-error-mistral-500-server-error' | 'pipeline-error-inflection-ai-400-bad-request-validation-failed' | 'pipeline-error-inflection-ai-401-unauthorized' | 'pipeline-error-inflection-ai-403-model-access-denied' | 'pipeline-error-inflection-ai-429-exceeded-quota' | 'pipeline-error-inflection-ai-500-server-error' | 'pipeline-error-deep-seek-400-bad-request-validation-failed' | 'pipeline-error-deep-seek-401-unauthorized' | 'pipeline-error-deep-seek-403-model-access-denied' | 'pipeline-error-deep-seek-429-exceeded-quota' | 'pipeline-error-deep-seek-500-server-error' | 'pipeline-error-azure-openai-400-bad-request-validation-failed' | 'pipeline-error-azure-openai-401-unauthorized' | 'pipeline-error-azure-openai-403-model-access-denied' | 'pipeline-error-azure-openai-429-exceeded-quota' | 'pipeline-error-azure-openai-500-server-error' | 'pipeline-error-groq-400-bad-request-validation-failed' | 'pipeline-error-groq-401-unauthorized' | 'pipeline-error-groq-403-model-access-denied' | 'pipeline-error-groq-429-exceeded-quota' | 'pipeline-error-groq-500-server-error' | 'pipeline-error-cerebras-400-bad-request-validation-failed' | 'pipeline-error-cerebras-401-unauthorized' | 'pipeline-error-cerebras-403-model-access-denied' | 'pipeline-error-cerebras-429-exceeded-quota' | 'pipeline-error-cerebras-500-server-error' | 'pipeline-error-anthropic-400-bad-request-validation-failed' | 'pipeline-error-anthropic-401-unauthorized' | 'pipeline-error-anthropic-403-model-access-denied' | 'pipeline-error-anthropic-429-exceeded-quota' | 'pipeline-error-anthropic-500-server-error' | 'pipeline-error-anthropic-llm-failed' | 'pipeline-error-together-ai-400-bad-request-validation-failed' | 'pipeline-error-together-ai-401-unauthorized' | 'pipeline-error-together-ai-403-model-access-denied' | 'pipeline-error-together-ai-429-exceeded-quota' | 'pipeline-error-together-ai-500-server-error' | 'pipeline-error-together-ai-llm-failed' | 'pipeline-error-anyscale-400-bad-request-validation-failed' | 'pipeline-error-anyscale-401-unauthorized' | 'pipeline-error-anyscale-403-model-access-denied' | 'pipeline-error-anyscale-429-exceeded-quota' | 'pipeline-error-anyscale-500-server-error' | 'pipeline-error-anyscale-llm-failed' | 'pipeline-error-openrouter-400-bad-request-validation-failed' | 'pipeline-error-openrouter-401-unauthorized' | 'pipeline-error-openrouter-403-model-access-denied' | 'pipeline-error-openrouter-429-exceeded-quota' | 'pipeline-error-openrouter-500-server-error' | 'pipeline-error-openrouter-llm-failed' | 'pipeline-error-perplexity-ai-400-bad-request-validation-failed' | 'pipeline-error-perplexity-ai-401-unauthorized' | 'pipeline-error-perplexity-ai-403-model-access-denied' | 'pipeline-error-perplexity-ai-429-exceeded-quota' | 'pipeline-error-perplexity-ai-500-server-error' | 'pipeline-error-perplexity-ai-llm-failed' | 'pipeline-error-deepinfra-400-bad-request-validation-failed' | 'pipeline-error-deepinfra-401-unauthorized' | 'pipeline-error-deepinfra-403-model-access-denied' | 'pipeline-error-deepinfra-429-exceeded-quota' | 'pipeline-error-deepinfra-500-server-error' | 'pipeline-error-deepinfra-llm-failed' | 'pipeline-error-runpod-400-bad-request-validation-failed' | 'pipeline-error-runpod-401-unauthorized' | 'pipeline-error-runpod-403-model-access-denied' | 'pipeline-error-runpod-429-exceeded-quota' | 'pipeline-error-runpod-500-server-error' | 'pipeline-error-runpod-llm-failed' | 'pipeline-error-custom-llm-400-bad-request-validation-failed' | 'pipeline-error-custom-llm-401-unauthorized' | 'pipeline-error-custom-llm-403-model-access-denied' | 'pipeline-error-custom-llm-429-exceeded-quota' | 'pipeline-error-custom-llm-500-server-error' | 'pipeline-error-custom-llm-llm-failed' | 'pipeline-error-custom-voice-failed' | 'pipeline-error-cartesia-socket-hang-up' | 'pipeline-error-cartesia-requested-payment' | 'pipeline-error-cartesia-500-server-error' | 'pipeline-error-cartesia-503-server-error' | 'pipeline-error-cartesia-522-server-error' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-unauthorized-to-access-model' | 'pipeline-error-eleven-labs-professional-voices-only-for-creator-plus' | 'pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | '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-eleven-labs-invalid-voice-samples' | 'pipeline-error-eleven-labs-voice-disabled-by-owner' | 'pipeline-error-eleven-labs-blocked-account-in-probation' | 'pipeline-error-eleven-labs-blocked-content-against-their-policy' | 'pipeline-error-eleven-labs-missing-samples-for-voice-clone' | 'pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'pipeline-error-eleven-labs-voice-not-allowed-for-free-users' | 'pipeline-error-eleven-labs-500-server-error' | 'pipeline-error-eleven-labs-max-character-limit-exceeded' | 'pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | '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-invalid-emotion' | 'pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri' | 'pipeline-error-playht-401-unauthorized' | 'pipeline-error-playht-403-forbidden-out-of-characters' | 'pipeline-error-playht-403-forbidden-api-access-not-available' | 'pipeline-error-playht-429-exceeded-quota' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'pipeline-error-tavus-video-failed' | 'pipeline-error-custom-transcriber-failed' | 'pipeline-error-11labs-transcriber-failed' | 'pipeline-error-deepgram-returning-403-model-access-denied' | 'pipeline-error-deepgram-returning-401-invalid-credentials' | 'pipeline-error-deepgram-returning-404-not-found' | 'pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination' | 'pipeline-error-deepgram-returning-500-invalid-json' | 'pipeline-error-deepgram-returning-502-network-error' | 'pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach' | 'pipeline-error-google-transcriber-failed' | 'pipeline-error-openai-transcriber-failed' | 'call.start.error-get-org' | 'call.start.error-get-subscription' | 'call.start.error-get-assistant' | 'call.start.error-get-phone-number' | 'call.start.error-get-customer' | 'call.start.error-get-resources-validation' | 'call.start.error-vapi-number-international' | 'call.start.error-vapi-number-outbound-daily-limit' | 'call.start.error-get-transport' | 'silence-timed-out' | 'sip-gateway-failed-to-connect-call' | 'twilio-failed-to-connect-call' | 'twilio-reported-customer-misdialed' | 'vonage-rejected' | 'voicemail';
|
|
6166
|
+
endedReason?: 'call-start-error-neither-assistant-nor-server-set' | 'assistant-request-failed' | 'assistant-request-returned-error' | 'assistant-request-returned-unspeakable-error' | 'assistant-request-returned-invalid-assistant' | 'assistant-request-returned-no-assistant' | 'assistant-request-returned-forwarding-phone-number' | 'call.start.error-get-org' | 'call.start.error-get-subscription' | 'call.start.error-get-assistant' | 'call.start.error-get-phone-number' | 'call.start.error-get-customer' | 'call.start.error-get-resources-validation' | 'call.start.error-vapi-number-international' | 'call.start.error-vapi-number-outbound-daily-limit' | 'call.start.error-get-transport' | 'assistant-not-valid' | 'database-error' | 'assistant-not-found' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-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-smallest-ai-voice-failed' | 'pipeline-error-neuphonic-voice-failed' | 'pipeline-error-hume-voice-failed' | 'pipeline-error-sesame-voice-failed' | 'pipeline-error-tavus-video-failed' | 'call.in-progress.error-vapifault-openai-voice-failed' | 'call.in-progress.error-vapifault-cartesia-voice-failed' | 'call.in-progress.error-vapifault-deepgram-voice-failed' | 'call.in-progress.error-vapifault-eleven-labs-voice-failed' | 'call.in-progress.error-vapifault-playht-voice-failed' | 'call.in-progress.error-vapifault-lmnt-voice-failed' | 'call.in-progress.error-vapifault-azure-voice-failed' | 'call.in-progress.error-vapifault-rime-ai-voice-failed' | 'call.in-progress.error-vapifault-smallest-ai-voice-failed' | 'call.in-progress.error-vapifault-neuphonic-voice-failed' | 'call.in-progress.error-vapifault-hume-voice-failed' | 'call.in-progress.error-vapifault-sesame-voice-failed' | 'call.in-progress.error-vapifault-tavus-video-failed' | 'pipeline-error-vapi-llm-failed' | 'pipeline-error-vapi-400-bad-request-validation-failed' | 'pipeline-error-vapi-401-unauthorized' | 'pipeline-error-vapi-403-model-access-denied' | 'pipeline-error-vapi-429-exceeded-quota' | 'pipeline-error-vapi-500-server-error' | 'pipeline-error-vapi-503-server-overloaded-error' | 'call.in-progress.error-vapifault-vapi-llm-failed' | 'call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-vapi-401-unauthorized' | 'call.in-progress.error-vapifault-vapi-403-model-access-denied' | 'call.in-progress.error-vapifault-vapi-429-exceeded-quota' | 'call.in-progress.error-providerfault-vapi-500-server-error' | 'call.in-progress.error-providerfault-vapi-503-server-overloaded-error' | 'pipeline-error-deepgram-transcriber-failed' | 'call.in-progress.error-vapifault-deepgram-transcriber-failed' | 'pipeline-error-gladia-transcriber-failed' | 'call.in-progress.error-vapifault-gladia-transcriber-failed' | 'pipeline-error-speechmatics-transcriber-failed' | 'call.in-progress.error-vapifault-speechmatics-transcriber-failed' | 'pipeline-error-assembly-ai-transcriber-failed' | 'pipeline-error-assembly-ai-returning-400-insufficent-funds' | 'pipeline-error-assembly-ai-returning-400-paid-only-feature' | 'pipeline-error-assembly-ai-returning-401-invalid-credentials' | 'pipeline-error-assembly-ai-returning-500-invalid-schema' | 'pipeline-error-assembly-ai-returning-500-word-boost-parsing-failed' | 'call.in-progress.error-vapifault-assembly-ai-transcriber-failed' | 'call.in-progress.error-vapifault-assembly-ai-returning-400-insufficent-funds' | 'call.in-progress.error-vapifault-assembly-ai-returning-400-paid-only-feature' | 'call.in-progress.error-vapifault-assembly-ai-returning-401-invalid-credentials' | 'call.in-progress.error-vapifault-assembly-ai-returning-500-invalid-schema' | 'call.in-progress.error-vapifault-assembly-ai-returning-500-word-boost-parsing-failed' | 'pipeline-error-talkscriber-transcriber-failed' | 'call.in-progress.error-vapifault-talkscriber-transcriber-failed' | 'pipeline-error-azure-speech-transcriber-failed' | 'call.in-progress.error-vapifault-azure-speech-transcriber-failed' | 'call.in-progress.error-pipeline-no-available-llm-model' | 'worker-shutdown' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'vonage-completed' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'call.in-progress.error-providerfault-transport-never-connected' | 'call.in-progress.error-vapifault-worker-not-available' | 'call.in-progress.error-vapifault-transport-never-connected' | 'call.in-progress.error-vapifault-transport-connected-but-call-not-active' | 'call.in-progress.error-vapifault-call-started-but-connection-to-transport-missing' | 'call.in-progress.error-vapifault-openai-llm-failed' | 'call.in-progress.error-vapifault-azure-openai-llm-failed' | 'call.in-progress.error-vapifault-groq-llm-failed' | 'call.in-progress.error-vapifault-google-llm-failed' | 'call.in-progress.error-vapifault-xai-llm-failed' | 'call.in-progress.error-vapifault-mistral-llm-failed' | 'call.in-progress.error-vapifault-inflection-ai-llm-failed' | 'call.in-progress.error-vapifault-cerebras-llm-failed' | 'call.in-progress.error-vapifault-deep-seek-llm-failed' | 'pipeline-error-openai-400-bad-request-validation-failed' | 'pipeline-error-openai-401-unauthorized' | 'pipeline-error-openai-401-incorrect-api-key' | 'pipeline-error-openai-401-account-not-in-organization' | 'pipeline-error-openai-403-model-access-denied' | 'pipeline-error-openai-429-exceeded-quota' | 'pipeline-error-openai-429-rate-limit-reached' | 'pipeline-error-openai-500-server-error' | 'pipeline-error-openai-503-server-overloaded-error' | 'pipeline-error-openai-llm-failed' | 'call.in-progress.error-vapifault-openai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-openai-401-unauthorized' | 'call.in-progress.error-vapifault-openai-401-incorrect-api-key' | 'call.in-progress.error-vapifault-openai-401-account-not-in-organization' | 'call.in-progress.error-vapifault-openai-403-model-access-denied' | 'call.in-progress.error-vapifault-openai-429-exceeded-quota' | 'call.in-progress.error-vapifault-openai-429-rate-limit-reached' | 'call.in-progress.error-providerfault-openai-500-server-error' | 'call.in-progress.error-providerfault-openai-503-server-overloaded-error' | 'pipeline-error-azure-openai-400-bad-request-validation-failed' | 'pipeline-error-azure-openai-401-unauthorized' | 'pipeline-error-azure-openai-403-model-access-denied' | 'pipeline-error-azure-openai-429-exceeded-quota' | 'pipeline-error-azure-openai-500-server-error' | 'pipeline-error-azure-openai-503-server-overloaded-error' | 'pipeline-error-azure-openai-llm-failed' | 'call.in-progress.error-vapifault-azure-openai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-azure-openai-401-unauthorized' | 'call.in-progress.error-vapifault-azure-openai-403-model-access-denied' | 'call.in-progress.error-vapifault-azure-openai-429-exceeded-quota' | 'call.in-progress.error-providerfault-azure-openai-500-server-error' | 'call.in-progress.error-providerfault-azure-openai-503-server-overloaded-error' | 'pipeline-error-google-400-bad-request-validation-failed' | 'pipeline-error-google-401-unauthorized' | 'pipeline-error-google-403-model-access-denied' | 'pipeline-error-google-429-exceeded-quota' | 'pipeline-error-google-500-server-error' | 'pipeline-error-google-503-server-overloaded-error' | 'pipeline-error-google-llm-failed' | 'call.in-progress.error-vapifault-google-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-google-401-unauthorized' | 'call.in-progress.error-vapifault-google-403-model-access-denied' | 'call.in-progress.error-vapifault-google-429-exceeded-quota' | 'call.in-progress.error-providerfault-google-500-server-error' | 'call.in-progress.error-providerfault-google-503-server-overloaded-error' | 'pipeline-error-xai-400-bad-request-validation-failed' | 'pipeline-error-xai-401-unauthorized' | 'pipeline-error-xai-403-model-access-denied' | 'pipeline-error-xai-429-exceeded-quota' | 'pipeline-error-xai-500-server-error' | 'pipeline-error-xai-503-server-overloaded-error' | 'pipeline-error-xai-llm-failed' | 'call.in-progress.error-vapifault-xai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-xai-401-unauthorized' | 'call.in-progress.error-vapifault-xai-403-model-access-denied' | 'call.in-progress.error-vapifault-xai-429-exceeded-quota' | 'call.in-progress.error-providerfault-xai-500-server-error' | 'call.in-progress.error-providerfault-xai-503-server-overloaded-error' | 'pipeline-error-mistral-400-bad-request-validation-failed' | 'pipeline-error-mistral-401-unauthorized' | 'pipeline-error-mistral-403-model-access-denied' | 'pipeline-error-mistral-429-exceeded-quota' | 'pipeline-error-mistral-500-server-error' | 'pipeline-error-mistral-503-server-overloaded-error' | 'pipeline-error-mistral-llm-failed' | 'call.in-progress.error-vapifault-mistral-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-mistral-401-unauthorized' | 'call.in-progress.error-vapifault-mistral-403-model-access-denied' | 'call.in-progress.error-vapifault-mistral-429-exceeded-quota' | 'call.in-progress.error-providerfault-mistral-500-server-error' | 'call.in-progress.error-providerfault-mistral-503-server-overloaded-error' | 'pipeline-error-inflection-ai-400-bad-request-validation-failed' | 'pipeline-error-inflection-ai-401-unauthorized' | 'pipeline-error-inflection-ai-403-model-access-denied' | 'pipeline-error-inflection-ai-429-exceeded-quota' | 'pipeline-error-inflection-ai-500-server-error' | 'pipeline-error-inflection-ai-503-server-overloaded-error' | 'pipeline-error-inflection-ai-llm-failed' | 'call.in-progress.error-vapifault-inflection-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-inflection-ai-401-unauthorized' | 'call.in-progress.error-vapifault-inflection-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-inflection-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-inflection-ai-500-server-error' | 'call.in-progress.error-providerfault-inflection-ai-503-server-overloaded-error' | 'pipeline-error-deep-seek-400-bad-request-validation-failed' | 'pipeline-error-deep-seek-401-unauthorized' | 'pipeline-error-deep-seek-403-model-access-denied' | 'pipeline-error-deep-seek-429-exceeded-quota' | 'pipeline-error-deep-seek-500-server-error' | 'pipeline-error-deep-seek-503-server-overloaded-error' | 'pipeline-error-deep-seek-llm-failed' | 'call.in-progress.error-vapifault-deep-seek-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-deep-seek-401-unauthorized' | 'call.in-progress.error-vapifault-deep-seek-403-model-access-denied' | 'call.in-progress.error-vapifault-deep-seek-429-exceeded-quota' | 'call.in-progress.error-providerfault-deep-seek-500-server-error' | 'call.in-progress.error-providerfault-deep-seek-503-server-overloaded-error' | 'pipeline-error-groq-400-bad-request-validation-failed' | 'pipeline-error-groq-401-unauthorized' | 'pipeline-error-groq-403-model-access-denied' | 'pipeline-error-groq-429-exceeded-quota' | 'pipeline-error-groq-500-server-error' | 'pipeline-error-groq-503-server-overloaded-error' | 'pipeline-error-groq-llm-failed' | 'call.in-progress.error-vapifault-groq-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-groq-401-unauthorized' | 'call.in-progress.error-vapifault-groq-403-model-access-denied' | 'call.in-progress.error-vapifault-groq-429-exceeded-quota' | 'call.in-progress.error-providerfault-groq-500-server-error' | 'call.in-progress.error-providerfault-groq-503-server-overloaded-error' | 'pipeline-error-cerebras-400-bad-request-validation-failed' | 'pipeline-error-cerebras-401-unauthorized' | 'pipeline-error-cerebras-403-model-access-denied' | 'pipeline-error-cerebras-429-exceeded-quota' | 'pipeline-error-cerebras-500-server-error' | 'pipeline-error-cerebras-503-server-overloaded-error' | 'pipeline-error-cerebras-llm-failed' | 'call.in-progress.error-vapifault-cerebras-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-cerebras-401-unauthorized' | 'call.in-progress.error-vapifault-cerebras-403-model-access-denied' | 'call.in-progress.error-vapifault-cerebras-429-exceeded-quota' | 'call.in-progress.error-providerfault-cerebras-500-server-error' | 'call.in-progress.error-providerfault-cerebras-503-server-overloaded-error' | 'pipeline-error-anthropic-400-bad-request-validation-failed' | 'pipeline-error-anthropic-401-unauthorized' | 'pipeline-error-anthropic-403-model-access-denied' | 'pipeline-error-anthropic-429-exceeded-quota' | 'pipeline-error-anthropic-500-server-error' | 'pipeline-error-anthropic-503-server-overloaded-error' | 'pipeline-error-anthropic-llm-failed' | 'call.in-progress.error-vapifault-anthropic-llm-failed' | 'call.in-progress.error-vapifault-anthropic-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-500-server-error' | 'call.in-progress.error-providerfault-anthropic-503-server-overloaded-error' | 'pipeline-error-anthropic-bedrock-400-bad-request-validation-failed' | 'pipeline-error-anthropic-bedrock-401-unauthorized' | 'pipeline-error-anthropic-bedrock-403-model-access-denied' | 'pipeline-error-anthropic-bedrock-429-exceeded-quota' | 'pipeline-error-anthropic-bedrock-500-server-error' | 'pipeline-error-anthropic-bedrock-503-server-overloaded-error' | 'pipeline-error-anthropic-bedrock-llm-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-llm-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-bedrock-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-bedrock-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-bedrock-500-server-error' | 'call.in-progress.error-providerfault-anthropic-bedrock-503-server-overloaded-error' | 'pipeline-error-anthropic-vertex-400-bad-request-validation-failed' | 'pipeline-error-anthropic-vertex-401-unauthorized' | 'pipeline-error-anthropic-vertex-403-model-access-denied' | 'pipeline-error-anthropic-vertex-429-exceeded-quota' | 'pipeline-error-anthropic-vertex-500-server-error' | 'pipeline-error-anthropic-vertex-503-server-overloaded-error' | 'pipeline-error-anthropic-vertex-llm-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-llm-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-vertex-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-vertex-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-vertex-500-server-error' | 'call.in-progress.error-providerfault-anthropic-vertex-503-server-overloaded-error' | 'pipeline-error-together-ai-400-bad-request-validation-failed' | 'pipeline-error-together-ai-401-unauthorized' | 'pipeline-error-together-ai-403-model-access-denied' | 'pipeline-error-together-ai-429-exceeded-quota' | 'pipeline-error-together-ai-500-server-error' | 'pipeline-error-together-ai-503-server-overloaded-error' | 'pipeline-error-together-ai-llm-failed' | 'call.in-progress.error-vapifault-together-ai-llm-failed' | 'call.in-progress.error-vapifault-together-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-together-ai-401-unauthorized' | 'call.in-progress.error-vapifault-together-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-together-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-together-ai-500-server-error' | 'call.in-progress.error-providerfault-together-ai-503-server-overloaded-error' | 'pipeline-error-anyscale-400-bad-request-validation-failed' | 'pipeline-error-anyscale-401-unauthorized' | 'pipeline-error-anyscale-403-model-access-denied' | 'pipeline-error-anyscale-429-exceeded-quota' | 'pipeline-error-anyscale-500-server-error' | 'pipeline-error-anyscale-503-server-overloaded-error' | 'pipeline-error-anyscale-llm-failed' | 'call.in-progress.error-vapifault-anyscale-llm-failed' | 'call.in-progress.error-vapifault-anyscale-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anyscale-401-unauthorized' | 'call.in-progress.error-vapifault-anyscale-403-model-access-denied' | 'call.in-progress.error-vapifault-anyscale-429-exceeded-quota' | 'call.in-progress.error-providerfault-anyscale-500-server-error' | 'call.in-progress.error-providerfault-anyscale-503-server-overloaded-error' | 'pipeline-error-openrouter-400-bad-request-validation-failed' | 'pipeline-error-openrouter-401-unauthorized' | 'pipeline-error-openrouter-403-model-access-denied' | 'pipeline-error-openrouter-429-exceeded-quota' | 'pipeline-error-openrouter-500-server-error' | 'pipeline-error-openrouter-503-server-overloaded-error' | 'pipeline-error-openrouter-llm-failed' | 'call.in-progress.error-vapifault-openrouter-llm-failed' | 'call.in-progress.error-vapifault-openrouter-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-openrouter-401-unauthorized' | 'call.in-progress.error-vapifault-openrouter-403-model-access-denied' | 'call.in-progress.error-vapifault-openrouter-429-exceeded-quota' | 'call.in-progress.error-providerfault-openrouter-500-server-error' | 'call.in-progress.error-providerfault-openrouter-503-server-overloaded-error' | 'pipeline-error-perplexity-ai-400-bad-request-validation-failed' | 'pipeline-error-perplexity-ai-401-unauthorized' | 'pipeline-error-perplexity-ai-403-model-access-denied' | 'pipeline-error-perplexity-ai-429-exceeded-quota' | 'pipeline-error-perplexity-ai-500-server-error' | 'pipeline-error-perplexity-ai-503-server-overloaded-error' | 'pipeline-error-perplexity-ai-llm-failed' | 'call.in-progress.error-vapifault-perplexity-ai-llm-failed' | 'call.in-progress.error-vapifault-perplexity-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-perplexity-ai-401-unauthorized' | 'call.in-progress.error-vapifault-perplexity-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-perplexity-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-perplexity-ai-500-server-error' | 'call.in-progress.error-providerfault-perplexity-ai-503-server-overloaded-error' | 'pipeline-error-deepinfra-400-bad-request-validation-failed' | 'pipeline-error-deepinfra-401-unauthorized' | 'pipeline-error-deepinfra-403-model-access-denied' | 'pipeline-error-deepinfra-429-exceeded-quota' | 'pipeline-error-deepinfra-500-server-error' | 'pipeline-error-deepinfra-503-server-overloaded-error' | 'pipeline-error-deepinfra-llm-failed' | 'call.in-progress.error-vapifault-deepinfra-llm-failed' | 'call.in-progress.error-vapifault-deepinfra-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-deepinfra-401-unauthorized' | 'call.in-progress.error-vapifault-deepinfra-403-model-access-denied' | 'call.in-progress.error-vapifault-deepinfra-429-exceeded-quota' | 'call.in-progress.error-providerfault-deepinfra-500-server-error' | 'call.in-progress.error-providerfault-deepinfra-503-server-overloaded-error' | 'pipeline-error-runpod-400-bad-request-validation-failed' | 'pipeline-error-runpod-401-unauthorized' | 'pipeline-error-runpod-403-model-access-denied' | 'pipeline-error-runpod-429-exceeded-quota' | 'pipeline-error-runpod-500-server-error' | 'pipeline-error-runpod-503-server-overloaded-error' | 'pipeline-error-runpod-llm-failed' | 'call.in-progress.error-vapifault-runpod-llm-failed' | 'call.in-progress.error-vapifault-runpod-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-runpod-401-unauthorized' | 'call.in-progress.error-vapifault-runpod-403-model-access-denied' | 'call.in-progress.error-vapifault-runpod-429-exceeded-quota' | 'call.in-progress.error-providerfault-runpod-500-server-error' | 'call.in-progress.error-providerfault-runpod-503-server-overloaded-error' | 'pipeline-error-custom-llm-400-bad-request-validation-failed' | 'pipeline-error-custom-llm-401-unauthorized' | 'pipeline-error-custom-llm-403-model-access-denied' | 'pipeline-error-custom-llm-429-exceeded-quota' | 'pipeline-error-custom-llm-500-server-error' | 'pipeline-error-custom-llm-503-server-overloaded-error' | 'pipeline-error-custom-llm-llm-failed' | 'call.in-progress.error-vapifault-custom-llm-llm-failed' | 'call.in-progress.error-vapifault-custom-llm-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-custom-llm-401-unauthorized' | 'call.in-progress.error-vapifault-custom-llm-403-model-access-denied' | 'call.in-progress.error-vapifault-custom-llm-429-exceeded-quota' | 'call.in-progress.error-providerfault-custom-llm-500-server-error' | 'call.in-progress.error-providerfault-custom-llm-503-server-overloaded-error' | 'pipeline-error-custom-voice-failed' | 'pipeline-error-cartesia-socket-hang-up' | 'pipeline-error-cartesia-requested-payment' | 'pipeline-error-cartesia-500-server-error' | 'pipeline-error-cartesia-503-server-error' | 'pipeline-error-cartesia-522-server-error' | 'call.in-progress.error-vapifault-cartesia-socket-hang-up' | 'call.in-progress.error-vapifault-cartesia-requested-payment' | 'call.in-progress.error-providerfault-cartesia-500-server-error' | 'call.in-progress.error-providerfault-cartesia-503-server-error' | 'call.in-progress.error-providerfault-cartesia-522-server-error' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-unauthorized-to-access-model' | 'pipeline-error-eleven-labs-professional-voices-only-for-creator-plus' | 'pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | '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-eleven-labs-invalid-voice-samples' | 'pipeline-error-eleven-labs-voice-disabled-by-owner' | 'pipeline-error-eleven-labs-blocked-account-in-probation' | 'pipeline-error-eleven-labs-blocked-content-against-their-policy' | 'pipeline-error-eleven-labs-missing-samples-for-voice-clone' | 'pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'pipeline-error-eleven-labs-voice-not-allowed-for-free-users' | 'pipeline-error-eleven-labs-max-character-limit-exceeded' | 'pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | 'pipeline-error-eleven-labs-500-server-error' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-found' | 'call.in-progress.error-vapifault-eleven-labs-quota-exceeded' | 'call.in-progress.error-vapifault-eleven-labs-unauthorized-access' | 'call.in-progress.error-vapifault-eleven-labs-unauthorized-to-access-model' | 'call.in-progress.error-vapifault-eleven-labs-professional-voices-only-for-creator-plus' | 'call.in-progress.error-vapifault-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-system-busy-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned' | 'call.in-progress.error-vapifault-eleven-labs-invalid-api-key' | 'call.in-progress.error-vapifault-eleven-labs-invalid-voice-samples' | 'call.in-progress.error-vapifault-eleven-labs-voice-disabled-by-owner' | 'call.in-progress.error-vapifault-eleven-labs-blocked-account-in-probation' | 'call.in-progress.error-vapifault-eleven-labs-blocked-content-against-their-policy' | 'call.in-progress.error-vapifault-eleven-labs-missing-samples-for-voice-clone' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-allowed-for-free-users' | 'call.in-progress.error-vapifault-eleven-labs-max-character-limit-exceeded' | 'call.in-progress.error-vapifault-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | 'call.in-progress.error-providerfault-eleven-labs-500-server-error' | '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-invalid-emotion' | 'pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri' | 'pipeline-error-playht-401-unauthorized' | 'pipeline-error-playht-403-forbidden-out-of-characters' | 'pipeline-error-playht-403-forbidden-api-access-not-available' | 'pipeline-error-playht-429-exceeded-quota' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'call.in-progress.error-vapifault-playht-request-timed-out' | 'call.in-progress.error-vapifault-playht-invalid-voice' | 'call.in-progress.error-vapifault-playht-unexpected-error' | 'call.in-progress.error-vapifault-playht-out-of-credits' | 'call.in-progress.error-vapifault-playht-invalid-emotion' | 'call.in-progress.error-vapifault-playht-voice-must-be-a-valid-voice-manifest-uri' | 'call.in-progress.error-vapifault-playht-401-unauthorized' | 'call.in-progress.error-vapifault-playht-403-forbidden-out-of-characters' | 'call.in-progress.error-vapifault-playht-403-forbidden-api-access-not-available' | 'call.in-progress.error-vapifault-playht-429-exceeded-quota' | 'call.in-progress.error-providerfault-playht-502-gateway-error' | 'call.in-progress.error-providerfault-playht-504-gateway-error' | 'pipeline-error-custom-transcriber-failed' | 'call.in-progress.error-vapifault-custom-transcriber-failed' | 'pipeline-error-eleven-labs-transcriber-failed' | 'call.in-progress.error-vapifault-eleven-labs-transcriber-failed' | 'pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination' | 'pipeline-error-deepgram-returning-401-invalid-credentials' | 'pipeline-error-deepgram-returning-403-model-access-denied' | 'pipeline-error-deepgram-returning-404-not-found' | 'pipeline-error-deepgram-returning-500-invalid-json' | 'pipeline-error-deepgram-returning-502-network-error' | 'pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach' | 'call.in-progress.error-vapifault-deepgram-returning-400-no-such-model-language-tier-combination' | 'call.in-progress.error-vapifault-deepgram-returning-401-invalid-credentials' | 'call.in-progress.error-vapifault-deepgram-returning-404-not-found' | 'call.in-progress.error-vapifault-deepgram-returning-403-model-access-denied' | 'call.in-progress.error-providerfault-deepgram-returning-500-invalid-json' | 'call.in-progress.error-providerfault-deepgram-returning-502-network-error' | 'call.in-progress.error-providerfault-deepgram-returning-502-bad-gateway-ehostunreach' | 'pipeline-error-google-transcriber-failed' | 'call.in-progress.error-vapifault-google-transcriber-failed' | 'pipeline-error-openai-transcriber-failed' | 'call.in-progress.error-vapifault-openai-transcriber-failed' | 'assistant-ended-call' | 'assistant-said-end-call-phrase' | 'assistant-ended-call-with-hangup-task' | 'assistant-ended-call-after-message-spoken' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'call.in-progress.error-assistant-did-not-receive-customer-audio' | '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' | 'call.forwarding.operator-busy' | 'silence-timed-out' | 'call.in-progress.error-sip-telephony-provider-failed-to-connect-call' | 'call.ringing.hook-executed-say' | 'call.ringing.hook-executed-transfer' | 'twilio-failed-to-connect-call' | 'twilio-reported-customer-misdialed' | 'vonage-rejected' | 'voicemail';
|
|
5508
6167
|
/** This is the destination where the call ended up being transferred to. If the call was not transferred, this will be empty. */
|
|
5509
6168
|
destination?: TransferDestinationNumber | TransferDestinationSip;
|
|
5510
6169
|
/** This is the unique identifier for the call. */
|
|
@@ -5543,8 +6202,6 @@ export interface Call {
|
|
|
5543
6202
|
monitor?: Monitor;
|
|
5544
6203
|
/** These are the artifacts created from the call. Configure in `assistant.artifactPlan`. */
|
|
5545
6204
|
artifact?: Artifact;
|
|
5546
|
-
/** This is the transport used for the call. */
|
|
5547
|
-
transport?: Transport;
|
|
5548
6205
|
/**
|
|
5549
6206
|
* The ID of the call as provided by the phone number service. callSid in Twilio. conversationUuid in Vonage. callControlId in Telnyx.
|
|
5550
6207
|
*
|
|
@@ -5590,6 +6247,71 @@ export interface Call {
|
|
|
5590
6247
|
* @maxLength 40
|
|
5591
6248
|
*/
|
|
5592
6249
|
name?: string;
|
|
6250
|
+
/** This is the schedule plan of the call. */
|
|
6251
|
+
schedulePlan?: SchedulePlan;
|
|
6252
|
+
/** This is the transport of the call. */
|
|
6253
|
+
transport?: object;
|
|
6254
|
+
}
|
|
6255
|
+
export interface CallBatchError {
|
|
6256
|
+
customer: CreateCustomerDTO;
|
|
6257
|
+
error: string;
|
|
6258
|
+
}
|
|
6259
|
+
export interface CallBatchResponse {
|
|
6260
|
+
/** This is the list of calls that were created. */
|
|
6261
|
+
results: Call[];
|
|
6262
|
+
/** This is the list of calls that failed to be created. */
|
|
6263
|
+
errors: CallBatchError[];
|
|
6264
|
+
}
|
|
6265
|
+
export interface CreateCallDTO {
|
|
6266
|
+
/**
|
|
6267
|
+
* This is used to issue batch calls to multiple customers.
|
|
6268
|
+
*
|
|
6269
|
+
* Only relevant for `outboundPhoneCall`. To call a single customer, use `customer` instead.
|
|
6270
|
+
*/
|
|
6271
|
+
customers?: CreateCustomerDTO[];
|
|
6272
|
+
/**
|
|
6273
|
+
* This is the name of the call. This is just for your own reference.
|
|
6274
|
+
* @maxLength 40
|
|
6275
|
+
*/
|
|
6276
|
+
name?: string;
|
|
6277
|
+
/** This is the schedule plan of the call. */
|
|
6278
|
+
schedulePlan?: SchedulePlan;
|
|
6279
|
+
/** This is the transport of the call. */
|
|
6280
|
+
transport?: object;
|
|
6281
|
+
/** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
|
|
6282
|
+
assistantId?: string;
|
|
6283
|
+
/** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
|
|
6284
|
+
assistant?: CreateAssistantDTO;
|
|
6285
|
+
/** These are the overrides for the `assistant` or `assistantId`'s settings and template variables. */
|
|
6286
|
+
assistantOverrides?: AssistantOverrides;
|
|
6287
|
+
/** This is the squad that will be used for the call. To use a transient squad, use `squad` instead. */
|
|
6288
|
+
squadId?: string;
|
|
6289
|
+
/** This is a squad that will be used for the call. To use an existing squad, use `squadId` instead. */
|
|
6290
|
+
squad?: CreateSquadDTO;
|
|
6291
|
+
/**
|
|
6292
|
+
* This is the phone number that will be used for the call. To use a transient number, use `phoneNumber` instead.
|
|
6293
|
+
*
|
|
6294
|
+
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
6295
|
+
*/
|
|
6296
|
+
phoneNumberId?: string;
|
|
6297
|
+
/**
|
|
6298
|
+
* This is the phone number that will be used for the call. To use an existing number, use `phoneNumberId` instead.
|
|
6299
|
+
*
|
|
6300
|
+
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
6301
|
+
*/
|
|
6302
|
+
phoneNumber?: ImportTwilioPhoneNumberDTO;
|
|
6303
|
+
/**
|
|
6304
|
+
* This is the customer that will be called. To call a transient customer , use `customer` instead.
|
|
6305
|
+
*
|
|
6306
|
+
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
6307
|
+
*/
|
|
6308
|
+
customerId?: string;
|
|
6309
|
+
/**
|
|
6310
|
+
* This is the customer that will be called. To call an existing customer, use `customerId` instead.
|
|
6311
|
+
*
|
|
6312
|
+
* Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
|
|
6313
|
+
*/
|
|
6314
|
+
customer?: CreateCustomerDTO;
|
|
5593
6315
|
}
|
|
5594
6316
|
export interface PaginationMeta {
|
|
5595
6317
|
itemsPerPage: number;
|
|
@@ -5601,11 +6323,21 @@ export interface CallPaginatedResponse {
|
|
|
5601
6323
|
metadata: PaginationMeta;
|
|
5602
6324
|
}
|
|
5603
6325
|
export interface CreateOutboundCallDTO {
|
|
6326
|
+
/**
|
|
6327
|
+
* This is used to issue batch calls to multiple customers.
|
|
6328
|
+
*
|
|
6329
|
+
* Only relevant for `outboundPhoneCall`. To call a single customer, use `customer` instead.
|
|
6330
|
+
*/
|
|
6331
|
+
customers?: CreateCustomerDTO[];
|
|
5604
6332
|
/**
|
|
5605
6333
|
* This is the name of the call. This is just for your own reference.
|
|
5606
6334
|
* @maxLength 40
|
|
5607
6335
|
*/
|
|
5608
6336
|
name?: string;
|
|
6337
|
+
/** This is the schedule plan of the call. */
|
|
6338
|
+
schedulePlan?: SchedulePlan;
|
|
6339
|
+
/** This is the transport of the call. */
|
|
6340
|
+
transport?: object;
|
|
5609
6341
|
/** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
|
|
5610
6342
|
assistantId?: string;
|
|
5611
6343
|
/** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
|
|
@@ -5770,6 +6502,8 @@ export interface Transfer {
|
|
|
5770
6502
|
}
|
|
5771
6503
|
export interface CreateWorkflowDTO {
|
|
5772
6504
|
nodes: (Say | Gather | ApiRequest | Hangup | Transfer)[];
|
|
6505
|
+
/** These are the options for the workflow's LLM. */
|
|
6506
|
+
model?: AnthropicModel | AnyscaleModel | CerebrasModel | CustomLLMModel | DeepInfraModel | DeepSeekModel | GoogleModel | GroqModel | InflectionAIModel | OpenAIModel | OpenRouterModel | PerplexityAIModel | TogetherAIModel | XaiModel;
|
|
5773
6507
|
/** @maxLength 80 */
|
|
5774
6508
|
name: string;
|
|
5775
6509
|
edges: Edge[];
|
|
@@ -5817,10 +6551,10 @@ export interface Assistant {
|
|
|
5817
6551
|
*/
|
|
5818
6552
|
voicemailDetection?: GoogleVoicemailDetectionPlan | OpenAIVoicemailDetectionPlan | TwilioVoicemailDetectionPlan;
|
|
5819
6553
|
/**
|
|
5820
|
-
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input. You can check the shape of the messages in ClientMessage schema.
|
|
5821
|
-
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input"]
|
|
6554
|
+
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started. You can check the shape of the messages in ClientMessage schema.
|
|
6555
|
+
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input","workflow.node.started"]
|
|
5822
6556
|
*/
|
|
5823
|
-
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'transfer-update' | 'user-interrupted' | 'voice-input';
|
|
6557
|
+
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'tool.completed' | 'transfer-update' | 'user-interrupted' | 'voice-input' | 'workflow.node.started';
|
|
5824
6558
|
/**
|
|
5825
6559
|
* These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,user-interrupted. You can check the shape of the messages in ServerMessage schema.
|
|
5826
6560
|
* @example ["conversation-update","end-of-call-report","function-call","hang","speech-update","status-update","tool-calls","transfer-destination-request","user-interrupted"]
|
|
@@ -5876,7 +6610,101 @@ export interface Assistant {
|
|
|
5876
6610
|
*/
|
|
5877
6611
|
observabilityPlan?: LangfuseObservabilityPlan;
|
|
5878
6612
|
/** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
|
|
5879
|
-
credentials?: (
|
|
6613
|
+
credentials?: (({
|
|
6614
|
+
provider: '11labs';
|
|
6615
|
+
} & CreateElevenLabsCredentialDTO) | ({
|
|
6616
|
+
provider: 'anthropic';
|
|
6617
|
+
} & CreateAnthropicCredentialDTO) | ({
|
|
6618
|
+
provider: 'anyscale';
|
|
6619
|
+
} & CreateAnyscaleCredentialDTO) | ({
|
|
6620
|
+
provider: 'assembly-ai';
|
|
6621
|
+
} & CreateAssemblyAICredentialDTO) | ({
|
|
6622
|
+
provider: 'azure-openai';
|
|
6623
|
+
} & CreateAzureOpenAICredentialDTO) | ({
|
|
6624
|
+
provider: 'azure';
|
|
6625
|
+
} & CreateAzureCredentialDTO) | ({
|
|
6626
|
+
provider: 'byo-sip-trunk';
|
|
6627
|
+
} & CreateByoSipTrunkCredentialDTO) | ({
|
|
6628
|
+
provider: 'cartesia';
|
|
6629
|
+
} & CreateCartesiaCredentialDTO) | ({
|
|
6630
|
+
provider: 'cerebras';
|
|
6631
|
+
} & CreateCerebrasCredentialDTO) | ({
|
|
6632
|
+
provider: 'cloudflare';
|
|
6633
|
+
} & CreateCloudflareCredentialDTO) | ({
|
|
6634
|
+
provider: 'custom-llm';
|
|
6635
|
+
} & CreateCustomLLMCredentialDTO) | ({
|
|
6636
|
+
provider: 'deepgram';
|
|
6637
|
+
} & CreateDeepgramCredentialDTO) | ({
|
|
6638
|
+
provider: 'deepinfra';
|
|
6639
|
+
} & CreateDeepInfraCredentialDTO) | ({
|
|
6640
|
+
provider: 'deep-seek';
|
|
6641
|
+
} & CreateDeepSeekCredentialDTO) | ({
|
|
6642
|
+
provider: 'gcp';
|
|
6643
|
+
} & CreateGcpCredentialDTO) | ({
|
|
6644
|
+
provider: 'gladia';
|
|
6645
|
+
} & CreateGladiaCredentialDTO) | ({
|
|
6646
|
+
provider: 'gohighlevel';
|
|
6647
|
+
} & CreateGoHighLevelCredentialDTO) | ({
|
|
6648
|
+
provider: 'google';
|
|
6649
|
+
} & CreateGoogleCredentialDTO) | ({
|
|
6650
|
+
provider: 'groq';
|
|
6651
|
+
} & CreateGroqCredentialDTO) | ({
|
|
6652
|
+
provider: 'inflection-ai';
|
|
6653
|
+
} & CreateInflectionAICredentialDTO) | ({
|
|
6654
|
+
provider: 'langfuse';
|
|
6655
|
+
} & CreateLangfuseCredentialDTO) | ({
|
|
6656
|
+
provider: 'lmnt';
|
|
6657
|
+
} & CreateLmntCredentialDTO) | ({
|
|
6658
|
+
provider: 'make';
|
|
6659
|
+
} & CreateMakeCredentialDTO) | ({
|
|
6660
|
+
provider: 'openai';
|
|
6661
|
+
} & CreateOpenAICredentialDTO) | ({
|
|
6662
|
+
provider: 'openrouter';
|
|
6663
|
+
} & CreateOpenRouterCredentialDTO) | ({
|
|
6664
|
+
provider: 'perplexity-ai';
|
|
6665
|
+
} & CreatePerplexityAICredentialDTO) | ({
|
|
6666
|
+
provider: 'playht';
|
|
6667
|
+
} & CreatePlayHTCredentialDTO) | ({
|
|
6668
|
+
provider: 'rime-ai';
|
|
6669
|
+
} & CreateRimeAICredentialDTO) | ({
|
|
6670
|
+
provider: 'runpod';
|
|
6671
|
+
} & CreateRunpodCredentialDTO) | ({
|
|
6672
|
+
provider: 's3';
|
|
6673
|
+
} & CreateS3CredentialDTO) | ({
|
|
6674
|
+
provider: 'supabase';
|
|
6675
|
+
} & CreateSupabaseCredentialDTO) | ({
|
|
6676
|
+
provider: 'smallest-ai';
|
|
6677
|
+
} & CreateSmallestAICredentialDTO) | ({
|
|
6678
|
+
provider: 'tavus';
|
|
6679
|
+
} & CreateTavusCredentialDTO) | ({
|
|
6680
|
+
provider: 'together-ai';
|
|
6681
|
+
} & CreateTogetherAICredentialDTO) | ({
|
|
6682
|
+
provider: 'twilio';
|
|
6683
|
+
} & CreateTwilioCredentialDTO) | ({
|
|
6684
|
+
provider: 'vonage';
|
|
6685
|
+
} & CreateVonageCredentialDTO) | ({
|
|
6686
|
+
provider: 'webhook';
|
|
6687
|
+
} & CreateWebhookCredentialDTO) | ({
|
|
6688
|
+
provider: 'xai';
|
|
6689
|
+
} & CreateXAiCredentialDTO) | ({
|
|
6690
|
+
provider: 'neuphonic';
|
|
6691
|
+
} & CreateNeuphonicCredentialDTO) | ({
|
|
6692
|
+
provider: 'hume';
|
|
6693
|
+
} & CreateHumeCredentialDTO) | ({
|
|
6694
|
+
provider: 'mistral';
|
|
6695
|
+
} & CreateMistralCredentialDTO) | ({
|
|
6696
|
+
provider: 'speechmatics';
|
|
6697
|
+
} & CreateSpeechmaticsCredentialDTO) | ({
|
|
6698
|
+
provider: 'trieve';
|
|
6699
|
+
} & CreateTrieveCredentialDTO) | ({
|
|
6700
|
+
provider: 'google.calendar.oauth2-client';
|
|
6701
|
+
} & CreateGoogleCalendarOAuth2ClientCredentialDTO) | ({
|
|
6702
|
+
provider: 'google.calendar.oauth2-authorization';
|
|
6703
|
+
} & CreateGoogleCalendarOAuth2AuthorizationCredentialDTO) | ({
|
|
6704
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
6705
|
+
} & CreateGoogleSheetsOAuth2AuthorizationCredentialDTO) | ({
|
|
6706
|
+
provider: 'slack.oauth2-authorization';
|
|
6707
|
+
} & CreateSlackOAuth2AuthorizationCredentialDTO))[];
|
|
5880
6708
|
/**
|
|
5881
6709
|
* This is the name of the assistant.
|
|
5882
6710
|
*
|
|
@@ -6019,10 +6847,10 @@ export interface UpdateAssistantDTO {
|
|
|
6019
6847
|
*/
|
|
6020
6848
|
voicemailDetection?: GoogleVoicemailDetectionPlan | OpenAIVoicemailDetectionPlan | TwilioVoicemailDetectionPlan;
|
|
6021
6849
|
/**
|
|
6022
|
-
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input. You can check the shape of the messages in ClientMessage schema.
|
|
6023
|
-
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input"]
|
|
6850
|
+
* These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started. You can check the shape of the messages in ClientMessage schema.
|
|
6851
|
+
* @example ["conversation-update","function-call","hang","model-output","speech-update","status-update","transfer-update","transcript","tool-calls","user-interrupted","voice-input","workflow.node.started"]
|
|
6024
6852
|
*/
|
|
6025
|
-
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'transfer-update' | 'user-interrupted' | 'voice-input';
|
|
6853
|
+
clientMessages?: 'conversation-update' | 'function-call' | 'function-call-result' | 'hang' | 'language-changed' | 'metadata' | 'model-output' | 'speech-update' | 'status-update' | 'transcript' | 'tool-calls' | 'tool-calls-result' | 'tool.completed' | 'transfer-update' | 'user-interrupted' | 'voice-input' | 'workflow.node.started';
|
|
6026
6854
|
/**
|
|
6027
6855
|
* These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,user-interrupted. You can check the shape of the messages in ServerMessage schema.
|
|
6028
6856
|
* @example ["conversation-update","end-of-call-report","function-call","hang","speech-update","status-update","tool-calls","transfer-destination-request","user-interrupted"]
|
|
@@ -6078,7 +6906,101 @@ export interface UpdateAssistantDTO {
|
|
|
6078
6906
|
*/
|
|
6079
6907
|
observabilityPlan?: LangfuseObservabilityPlan;
|
|
6080
6908
|
/** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
|
|
6081
|
-
credentials?: (
|
|
6909
|
+
credentials?: (({
|
|
6910
|
+
provider: '11labs';
|
|
6911
|
+
} & CreateElevenLabsCredentialDTO) | ({
|
|
6912
|
+
provider: 'anthropic';
|
|
6913
|
+
} & CreateAnthropicCredentialDTO) | ({
|
|
6914
|
+
provider: 'anyscale';
|
|
6915
|
+
} & CreateAnyscaleCredentialDTO) | ({
|
|
6916
|
+
provider: 'assembly-ai';
|
|
6917
|
+
} & CreateAssemblyAICredentialDTO) | ({
|
|
6918
|
+
provider: 'azure-openai';
|
|
6919
|
+
} & CreateAzureOpenAICredentialDTO) | ({
|
|
6920
|
+
provider: 'azure';
|
|
6921
|
+
} & CreateAzureCredentialDTO) | ({
|
|
6922
|
+
provider: 'byo-sip-trunk';
|
|
6923
|
+
} & CreateByoSipTrunkCredentialDTO) | ({
|
|
6924
|
+
provider: 'cartesia';
|
|
6925
|
+
} & CreateCartesiaCredentialDTO) | ({
|
|
6926
|
+
provider: 'cerebras';
|
|
6927
|
+
} & CreateCerebrasCredentialDTO) | ({
|
|
6928
|
+
provider: 'cloudflare';
|
|
6929
|
+
} & CreateCloudflareCredentialDTO) | ({
|
|
6930
|
+
provider: 'custom-llm';
|
|
6931
|
+
} & CreateCustomLLMCredentialDTO) | ({
|
|
6932
|
+
provider: 'deepgram';
|
|
6933
|
+
} & CreateDeepgramCredentialDTO) | ({
|
|
6934
|
+
provider: 'deepinfra';
|
|
6935
|
+
} & CreateDeepInfraCredentialDTO) | ({
|
|
6936
|
+
provider: 'deep-seek';
|
|
6937
|
+
} & CreateDeepSeekCredentialDTO) | ({
|
|
6938
|
+
provider: 'gcp';
|
|
6939
|
+
} & CreateGcpCredentialDTO) | ({
|
|
6940
|
+
provider: 'gladia';
|
|
6941
|
+
} & CreateGladiaCredentialDTO) | ({
|
|
6942
|
+
provider: 'gohighlevel';
|
|
6943
|
+
} & CreateGoHighLevelCredentialDTO) | ({
|
|
6944
|
+
provider: 'google';
|
|
6945
|
+
} & CreateGoogleCredentialDTO) | ({
|
|
6946
|
+
provider: 'groq';
|
|
6947
|
+
} & CreateGroqCredentialDTO) | ({
|
|
6948
|
+
provider: 'inflection-ai';
|
|
6949
|
+
} & CreateInflectionAICredentialDTO) | ({
|
|
6950
|
+
provider: 'langfuse';
|
|
6951
|
+
} & CreateLangfuseCredentialDTO) | ({
|
|
6952
|
+
provider: 'lmnt';
|
|
6953
|
+
} & CreateLmntCredentialDTO) | ({
|
|
6954
|
+
provider: 'make';
|
|
6955
|
+
} & CreateMakeCredentialDTO) | ({
|
|
6956
|
+
provider: 'openai';
|
|
6957
|
+
} & CreateOpenAICredentialDTO) | ({
|
|
6958
|
+
provider: 'openrouter';
|
|
6959
|
+
} & CreateOpenRouterCredentialDTO) | ({
|
|
6960
|
+
provider: 'perplexity-ai';
|
|
6961
|
+
} & CreatePerplexityAICredentialDTO) | ({
|
|
6962
|
+
provider: 'playht';
|
|
6963
|
+
} & CreatePlayHTCredentialDTO) | ({
|
|
6964
|
+
provider: 'rime-ai';
|
|
6965
|
+
} & CreateRimeAICredentialDTO) | ({
|
|
6966
|
+
provider: 'runpod';
|
|
6967
|
+
} & CreateRunpodCredentialDTO) | ({
|
|
6968
|
+
provider: 's3';
|
|
6969
|
+
} & CreateS3CredentialDTO) | ({
|
|
6970
|
+
provider: 'supabase';
|
|
6971
|
+
} & CreateSupabaseCredentialDTO) | ({
|
|
6972
|
+
provider: 'smallest-ai';
|
|
6973
|
+
} & CreateSmallestAICredentialDTO) | ({
|
|
6974
|
+
provider: 'tavus';
|
|
6975
|
+
} & CreateTavusCredentialDTO) | ({
|
|
6976
|
+
provider: 'together-ai';
|
|
6977
|
+
} & CreateTogetherAICredentialDTO) | ({
|
|
6978
|
+
provider: 'twilio';
|
|
6979
|
+
} & CreateTwilioCredentialDTO) | ({
|
|
6980
|
+
provider: 'vonage';
|
|
6981
|
+
} & CreateVonageCredentialDTO) | ({
|
|
6982
|
+
provider: 'webhook';
|
|
6983
|
+
} & CreateWebhookCredentialDTO) | ({
|
|
6984
|
+
provider: 'xai';
|
|
6985
|
+
} & CreateXAiCredentialDTO) | ({
|
|
6986
|
+
provider: 'neuphonic';
|
|
6987
|
+
} & CreateNeuphonicCredentialDTO) | ({
|
|
6988
|
+
provider: 'hume';
|
|
6989
|
+
} & CreateHumeCredentialDTO) | ({
|
|
6990
|
+
provider: 'mistral';
|
|
6991
|
+
} & CreateMistralCredentialDTO) | ({
|
|
6992
|
+
provider: 'speechmatics';
|
|
6993
|
+
} & CreateSpeechmaticsCredentialDTO) | ({
|
|
6994
|
+
provider: 'trieve';
|
|
6995
|
+
} & CreateTrieveCredentialDTO) | ({
|
|
6996
|
+
provider: 'google.calendar.oauth2-client';
|
|
6997
|
+
} & CreateGoogleCalendarOAuth2ClientCredentialDTO) | ({
|
|
6998
|
+
provider: 'google.calendar.oauth2-authorization';
|
|
6999
|
+
} & CreateGoogleCalendarOAuth2AuthorizationCredentialDTO) | ({
|
|
7000
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
7001
|
+
} & CreateGoogleSheetsOAuth2AuthorizationCredentialDTO) | ({
|
|
7002
|
+
provider: 'slack.oauth2-authorization';
|
|
7003
|
+
} & CreateSlackOAuth2AuthorizationCredentialDTO))[];
|
|
6082
7004
|
/**
|
|
6083
7005
|
* This is the name of the assistant.
|
|
6084
7006
|
*
|
|
@@ -6175,6 +7097,8 @@ export interface ByoPhoneNumber {
|
|
|
6175
7097
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6176
7098
|
*/
|
|
6177
7099
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7100
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7101
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6178
7102
|
/** This is to bring your own phone numbers from your own SIP trunks or Carriers. */
|
|
6179
7103
|
provider: 'byo-phone-number';
|
|
6180
7104
|
/**
|
|
@@ -6256,6 +7180,8 @@ export interface TwilioPhoneNumber {
|
|
|
6256
7180
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6257
7181
|
*/
|
|
6258
7182
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7183
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7184
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6259
7185
|
/** This is to use numbers bought on Twilio. */
|
|
6260
7186
|
provider: 'twilio';
|
|
6261
7187
|
/** This is the unique identifier for the phone number. */
|
|
@@ -6318,6 +7244,8 @@ export interface VonagePhoneNumber {
|
|
|
6318
7244
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6319
7245
|
*/
|
|
6320
7246
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7247
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7248
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6321
7249
|
/** This is to use numbers bought on Vonage. */
|
|
6322
7250
|
provider: 'vonage';
|
|
6323
7251
|
/** This is the unique identifier for the phone number. */
|
|
@@ -6394,6 +7322,8 @@ export interface VapiPhoneNumber {
|
|
|
6394
7322
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6395
7323
|
*/
|
|
6396
7324
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7325
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7326
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6397
7327
|
/** This is to create free SIP phone numbers on Vapi. */
|
|
6398
7328
|
provider: 'vapi';
|
|
6399
7329
|
/** This is the unique identifier for the phone number. */
|
|
@@ -6470,6 +7400,8 @@ export interface TelnyxPhoneNumber {
|
|
|
6470
7400
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6471
7401
|
*/
|
|
6472
7402
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7403
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7404
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6473
7405
|
/** This is to use numbers bought on Telnyx. */
|
|
6474
7406
|
provider: 'telnyx';
|
|
6475
7407
|
/** This is the unique identifier for the phone number. */
|
|
@@ -6530,6 +7462,8 @@ export interface CreateByoPhoneNumberDTO {
|
|
|
6530
7462
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6531
7463
|
*/
|
|
6532
7464
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7465
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7466
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6533
7467
|
/** This is to bring your own phone numbers from your own SIP trunks or Carriers. */
|
|
6534
7468
|
provider: 'byo-phone-number';
|
|
6535
7469
|
/**
|
|
@@ -6595,6 +7529,8 @@ export interface CreateTwilioPhoneNumberDTO {
|
|
|
6595
7529
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6596
7530
|
*/
|
|
6597
7531
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7532
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7533
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6598
7534
|
/** This is to use numbers bought on Twilio. */
|
|
6599
7535
|
provider: 'twilio';
|
|
6600
7536
|
/** These are the digits of the phone number you own on your Twilio. */
|
|
@@ -6641,6 +7577,8 @@ export interface CreateVonagePhoneNumberDTO {
|
|
|
6641
7577
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6642
7578
|
*/
|
|
6643
7579
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7580
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7581
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6644
7582
|
/** This is to use numbers bought on Vonage. */
|
|
6645
7583
|
provider: 'vonage';
|
|
6646
7584
|
/** These are the digits of the phone number you own on your Vonage. */
|
|
@@ -6685,6 +7623,8 @@ export interface CreateVapiPhoneNumberDTO {
|
|
|
6685
7623
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6686
7624
|
*/
|
|
6687
7625
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7626
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7627
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6688
7628
|
/** This is to create free SIP phone numbers on Vapi. */
|
|
6689
7629
|
provider: 'vapi';
|
|
6690
7630
|
/**
|
|
@@ -6743,6 +7683,8 @@ export interface CreateTelnyxPhoneNumberDTO {
|
|
|
6743
7683
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6744
7684
|
*/
|
|
6745
7685
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7686
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7687
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6746
7688
|
/** This is to use numbers bought on Telnyx. */
|
|
6747
7689
|
provider: 'telnyx';
|
|
6748
7690
|
/** These are the digits of the phone number you own on your Telnyx. */
|
|
@@ -6787,6 +7729,8 @@ export interface UpdateByoPhoneNumberDTO {
|
|
|
6787
7729
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6788
7730
|
*/
|
|
6789
7731
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7732
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7733
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6790
7734
|
/**
|
|
6791
7735
|
* This is the flag to toggle the E164 check for the `number` field. This is an advanced property which should be used if you know your use case requires it.
|
|
6792
7736
|
*
|
|
@@ -6850,6 +7794,8 @@ export interface UpdateTwilioPhoneNumberDTO {
|
|
|
6850
7794
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6851
7795
|
*/
|
|
6852
7796
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7797
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7798
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6853
7799
|
/**
|
|
6854
7800
|
* This is the name of the phone number. This is just for your own reference.
|
|
6855
7801
|
* @maxLength 40
|
|
@@ -6894,6 +7840,8 @@ export interface UpdateVonagePhoneNumberDTO {
|
|
|
6894
7840
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6895
7841
|
*/
|
|
6896
7842
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7843
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7844
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6897
7845
|
/**
|
|
6898
7846
|
* This is the name of the phone number. This is just for your own reference.
|
|
6899
7847
|
* @maxLength 40
|
|
@@ -6936,6 +7884,8 @@ export interface UpdateVapiPhoneNumberDTO {
|
|
|
6936
7884
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6937
7885
|
*/
|
|
6938
7886
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7887
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7888
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6939
7889
|
/**
|
|
6940
7890
|
* This is the name of the phone number. This is just for your own reference.
|
|
6941
7891
|
* @maxLength 40
|
|
@@ -6986,6 +7936,8 @@ export interface UpdateTelnyxPhoneNumberDTO {
|
|
|
6986
7936
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
6987
7937
|
*/
|
|
6988
7938
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7939
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7940
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
6989
7941
|
/**
|
|
6990
7942
|
* This is the name of the phone number. This is just for your own reference.
|
|
6991
7943
|
* @maxLength 40
|
|
@@ -7028,6 +7980,8 @@ export interface ImportVonagePhoneNumberDTO {
|
|
|
7028
7980
|
* If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
7029
7981
|
*/
|
|
7030
7982
|
fallbackDestination?: TransferDestinationNumber | TransferDestinationSip;
|
|
7983
|
+
/** This is the hooks that will be used for incoming calls to this phone number. */
|
|
7984
|
+
hooks?: PhoneNumberHookCallRinging[];
|
|
7031
7985
|
/**
|
|
7032
7986
|
* These are the digits of the phone number you own on your Vonage.
|
|
7033
7987
|
* @deprecated
|
|
@@ -7609,27 +8563,6 @@ export interface TextEditorTool {
|
|
|
7609
8563
|
*/
|
|
7610
8564
|
name: 'str_replace_editor';
|
|
7611
8565
|
}
|
|
7612
|
-
export interface KnowledgeBase {
|
|
7613
|
-
/**
|
|
7614
|
-
* The name of the knowledge base
|
|
7615
|
-
* @example "My Knowledge Base"
|
|
7616
|
-
*/
|
|
7617
|
-
name: string;
|
|
7618
|
-
/**
|
|
7619
|
-
* The provider of the knowledge base
|
|
7620
|
-
* @example "google"
|
|
7621
|
-
*/
|
|
7622
|
-
provider: 'google';
|
|
7623
|
-
/**
|
|
7624
|
-
* The model to use for the knowledge base
|
|
7625
|
-
* @example "gemini-1.5-flash"
|
|
7626
|
-
*/
|
|
7627
|
-
model: 'gemini-2.0-flash-thinking-exp' | 'gemini-2.0-pro-exp-02-05' | 'gemini-2.0-flash' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-preview-02-05' | 'gemini-2.0-flash-exp' | 'gemini-2.0-flash-realtime-exp' | 'gemini-1.5-flash' | 'gemini-1.5-flash-002' | 'gemini-1.5-pro' | 'gemini-1.5-pro-002' | 'gemini-1.0-pro';
|
|
7628
|
-
/** A description of the knowledge base */
|
|
7629
|
-
description: string;
|
|
7630
|
-
/** The file IDs associated with this knowledge base */
|
|
7631
|
-
fileIds: string[];
|
|
7632
|
-
}
|
|
7633
8566
|
export interface QueryTool {
|
|
7634
8567
|
/**
|
|
7635
8568
|
* This determines if the tool is async.
|
|
@@ -7785,7 +8718,342 @@ export interface GoogleSheetsRowAppendTool {
|
|
|
7785
8718
|
*/
|
|
7786
8719
|
server?: Server;
|
|
7787
8720
|
}
|
|
7788
|
-
export interface
|
|
8721
|
+
export interface GoogleCalendarCheckAvailabilityTool {
|
|
8722
|
+
/**
|
|
8723
|
+
* This determines if the tool is async.
|
|
8724
|
+
*
|
|
8725
|
+
* 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.
|
|
8726
|
+
*
|
|
8727
|
+
* 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.
|
|
8728
|
+
*
|
|
8729
|
+
* Defaults to synchronous (`false`).
|
|
8730
|
+
* @example false
|
|
8731
|
+
*/
|
|
8732
|
+
async?: boolean;
|
|
8733
|
+
/**
|
|
8734
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
8735
|
+
*
|
|
8736
|
+
* 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.
|
|
8737
|
+
*/
|
|
8738
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8739
|
+
/** The type of tool. "google.calendar.availability.check" for Google Calendar availability check tool. */
|
|
8740
|
+
type: 'google.calendar.availability.check';
|
|
8741
|
+
/** This is the unique identifier for the tool. */
|
|
8742
|
+
id: string;
|
|
8743
|
+
/** This is the unique identifier for the organization that this tool belongs to. */
|
|
8744
|
+
orgId: string;
|
|
8745
|
+
/**
|
|
8746
|
+
* This is the ISO 8601 date-time string of when the tool was created.
|
|
8747
|
+
* @format date-time
|
|
8748
|
+
*/
|
|
8749
|
+
createdAt: string;
|
|
8750
|
+
/**
|
|
8751
|
+
* This is the ISO 8601 date-time string of when the tool was last updated.
|
|
8752
|
+
* @format date-time
|
|
8753
|
+
*/
|
|
8754
|
+
updatedAt: string;
|
|
8755
|
+
/**
|
|
8756
|
+
* This is the function definition of the tool.
|
|
8757
|
+
*
|
|
8758
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
8759
|
+
*
|
|
8760
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
8761
|
+
*/
|
|
8762
|
+
function?: OpenAIFunction;
|
|
8763
|
+
/**
|
|
8764
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
8765
|
+
*
|
|
8766
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
8767
|
+
*
|
|
8768
|
+
* 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.
|
|
8769
|
+
*/
|
|
8770
|
+
server?: Server;
|
|
8771
|
+
}
|
|
8772
|
+
export interface SlackSendMessageTool {
|
|
8773
|
+
/**
|
|
8774
|
+
* This determines if the tool is async.
|
|
8775
|
+
*
|
|
8776
|
+
* 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.
|
|
8777
|
+
*
|
|
8778
|
+
* 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.
|
|
8779
|
+
*
|
|
8780
|
+
* Defaults to synchronous (`false`).
|
|
8781
|
+
* @example false
|
|
8782
|
+
*/
|
|
8783
|
+
async?: boolean;
|
|
8784
|
+
/**
|
|
8785
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
8786
|
+
*
|
|
8787
|
+
* 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.
|
|
8788
|
+
*/
|
|
8789
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8790
|
+
/** The type of tool. "slack.message.send" for Slack send message tool. */
|
|
8791
|
+
type: 'slack.message.send';
|
|
8792
|
+
/** This is the unique identifier for the tool. */
|
|
8793
|
+
id: string;
|
|
8794
|
+
/** This is the unique identifier for the organization that this tool belongs to. */
|
|
8795
|
+
orgId: string;
|
|
8796
|
+
/**
|
|
8797
|
+
* This is the ISO 8601 date-time string of when the tool was created.
|
|
8798
|
+
* @format date-time
|
|
8799
|
+
*/
|
|
8800
|
+
createdAt: string;
|
|
8801
|
+
/**
|
|
8802
|
+
* This is the ISO 8601 date-time string of when the tool was last updated.
|
|
8803
|
+
* @format date-time
|
|
8804
|
+
*/
|
|
8805
|
+
updatedAt: string;
|
|
8806
|
+
/**
|
|
8807
|
+
* This is the function definition of the tool.
|
|
8808
|
+
*
|
|
8809
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
8810
|
+
*
|
|
8811
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
8812
|
+
*/
|
|
8813
|
+
function?: OpenAIFunction;
|
|
8814
|
+
/**
|
|
8815
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
8816
|
+
*
|
|
8817
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
8818
|
+
*
|
|
8819
|
+
* 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.
|
|
8820
|
+
*/
|
|
8821
|
+
server?: Server;
|
|
8822
|
+
}
|
|
8823
|
+
export interface SmsSendTool {
|
|
8824
|
+
/**
|
|
8825
|
+
* This determines if the tool is async.
|
|
8826
|
+
*
|
|
8827
|
+
* 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.
|
|
8828
|
+
*
|
|
8829
|
+
* 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.
|
|
8830
|
+
*
|
|
8831
|
+
* Defaults to synchronous (`false`).
|
|
8832
|
+
* @example false
|
|
8833
|
+
*/
|
|
8834
|
+
async?: boolean;
|
|
8835
|
+
/**
|
|
8836
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
8837
|
+
*
|
|
8838
|
+
* 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.
|
|
8839
|
+
*/
|
|
8840
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8841
|
+
/** The type of tool. "sms" for Twilio SMS sending tool. */
|
|
8842
|
+
type: 'sms';
|
|
8843
|
+
/** This is the unique identifier for the tool. */
|
|
8844
|
+
id: string;
|
|
8845
|
+
/** This is the unique identifier for the organization that this tool belongs to. */
|
|
8846
|
+
orgId: string;
|
|
8847
|
+
/**
|
|
8848
|
+
* This is the ISO 8601 date-time string of when the tool was created.
|
|
8849
|
+
* @format date-time
|
|
8850
|
+
*/
|
|
8851
|
+
createdAt: string;
|
|
8852
|
+
/**
|
|
8853
|
+
* This is the ISO 8601 date-time string of when the tool was last updated.
|
|
8854
|
+
* @format date-time
|
|
8855
|
+
*/
|
|
8856
|
+
updatedAt: string;
|
|
8857
|
+
/**
|
|
8858
|
+
* This is the function definition of the tool.
|
|
8859
|
+
*
|
|
8860
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
8861
|
+
*
|
|
8862
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
8863
|
+
*/
|
|
8864
|
+
function?: OpenAIFunction;
|
|
8865
|
+
/**
|
|
8866
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
8867
|
+
*
|
|
8868
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
8869
|
+
*
|
|
8870
|
+
* 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.
|
|
8871
|
+
*/
|
|
8872
|
+
server?: Server;
|
|
8873
|
+
}
|
|
8874
|
+
export interface McpTool {
|
|
8875
|
+
/**
|
|
8876
|
+
* This determines if the tool is async.
|
|
8877
|
+
*
|
|
8878
|
+
* 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.
|
|
8879
|
+
*
|
|
8880
|
+
* 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.
|
|
8881
|
+
*
|
|
8882
|
+
* Defaults to synchronous (`false`).
|
|
8883
|
+
* @example false
|
|
8884
|
+
*/
|
|
8885
|
+
async?: boolean;
|
|
8886
|
+
/**
|
|
8887
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
8888
|
+
*
|
|
8889
|
+
* 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.
|
|
8890
|
+
*/
|
|
8891
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8892
|
+
/** The type of tool. "mcp" for MCP tool. */
|
|
8893
|
+
type: 'mcp';
|
|
8894
|
+
/** This is the unique identifier for the tool. */
|
|
8895
|
+
id: string;
|
|
8896
|
+
/** This is the unique identifier for the organization that this tool belongs to. */
|
|
8897
|
+
orgId: string;
|
|
8898
|
+
/**
|
|
8899
|
+
* This is the ISO 8601 date-time string of when the tool was created.
|
|
8900
|
+
* @format date-time
|
|
8901
|
+
*/
|
|
8902
|
+
createdAt: string;
|
|
8903
|
+
/**
|
|
8904
|
+
* This is the ISO 8601 date-time string of when the tool was last updated.
|
|
8905
|
+
* @format date-time
|
|
8906
|
+
*/
|
|
8907
|
+
updatedAt: string;
|
|
8908
|
+
/**
|
|
8909
|
+
* This is the function definition of the tool.
|
|
8910
|
+
*
|
|
8911
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
8912
|
+
*
|
|
8913
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
8914
|
+
*/
|
|
8915
|
+
function?: OpenAIFunction;
|
|
8916
|
+
/**
|
|
8917
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
8918
|
+
*
|
|
8919
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
8920
|
+
*
|
|
8921
|
+
* 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.
|
|
8922
|
+
*/
|
|
8923
|
+
server?: Server;
|
|
8924
|
+
}
|
|
8925
|
+
export interface CreateOutputToolDTO {
|
|
8926
|
+
/**
|
|
8927
|
+
* This determines if the tool is async.
|
|
8928
|
+
*
|
|
8929
|
+
* 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.
|
|
8930
|
+
*
|
|
8931
|
+
* 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.
|
|
8932
|
+
*
|
|
8933
|
+
* Defaults to synchronous (`false`).
|
|
8934
|
+
* @example false
|
|
8935
|
+
*/
|
|
8936
|
+
async?: boolean;
|
|
8937
|
+
/**
|
|
8938
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
8939
|
+
*
|
|
8940
|
+
* 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.
|
|
8941
|
+
*/
|
|
8942
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8943
|
+
/** The type of tool. "output" for Output tool. */
|
|
8944
|
+
type: 'output';
|
|
8945
|
+
/**
|
|
8946
|
+
* This is the function definition of the tool.
|
|
8947
|
+
*
|
|
8948
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
8949
|
+
*
|
|
8950
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
8951
|
+
*/
|
|
8952
|
+
function?: OpenAIFunction;
|
|
8953
|
+
/**
|
|
8954
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
8955
|
+
*
|
|
8956
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
8957
|
+
*
|
|
8958
|
+
* 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.
|
|
8959
|
+
*/
|
|
8960
|
+
server?: Server;
|
|
8961
|
+
}
|
|
8962
|
+
export interface CreateBashToolDTO {
|
|
8963
|
+
/**
|
|
8964
|
+
* This determines if the tool is async.
|
|
8965
|
+
*
|
|
8966
|
+
* 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.
|
|
8967
|
+
*
|
|
8968
|
+
* 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.
|
|
8969
|
+
*
|
|
8970
|
+
* Defaults to synchronous (`false`).
|
|
8971
|
+
* @example false
|
|
8972
|
+
*/
|
|
8973
|
+
async?: boolean;
|
|
8974
|
+
/**
|
|
8975
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
8976
|
+
*
|
|
8977
|
+
* 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.
|
|
8978
|
+
*/
|
|
8979
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8980
|
+
/** The type of tool. "bash" for Bash tool. */
|
|
8981
|
+
type: 'bash';
|
|
8982
|
+
/** The sub type of tool. */
|
|
8983
|
+
subType: 'bash_20241022';
|
|
8984
|
+
/**
|
|
8985
|
+
* The name of the tool, fixed to 'bash'
|
|
8986
|
+
* @default "bash"
|
|
8987
|
+
*/
|
|
8988
|
+
name: 'bash';
|
|
8989
|
+
/**
|
|
8990
|
+
* This is the function definition of the tool.
|
|
8991
|
+
*
|
|
8992
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
8993
|
+
*
|
|
8994
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
8995
|
+
*/
|
|
8996
|
+
function?: OpenAIFunction;
|
|
8997
|
+
/**
|
|
8998
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
8999
|
+
*
|
|
9000
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
9001
|
+
*
|
|
9002
|
+
* 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.
|
|
9003
|
+
*/
|
|
9004
|
+
server?: Server;
|
|
9005
|
+
}
|
|
9006
|
+
export interface CreateComputerToolDTO {
|
|
9007
|
+
/**
|
|
9008
|
+
* This determines if the tool is async.
|
|
9009
|
+
*
|
|
9010
|
+
* 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.
|
|
9011
|
+
*
|
|
9012
|
+
* 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.
|
|
9013
|
+
*
|
|
9014
|
+
* Defaults to synchronous (`false`).
|
|
9015
|
+
* @example false
|
|
9016
|
+
*/
|
|
9017
|
+
async?: boolean;
|
|
9018
|
+
/**
|
|
9019
|
+
* These are the messages that will be spoken to the user as the tool is running.
|
|
9020
|
+
*
|
|
9021
|
+
* 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.
|
|
9022
|
+
*/
|
|
9023
|
+
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
9024
|
+
/** The type of tool. "computer" for Computer tool. */
|
|
9025
|
+
type: 'computer';
|
|
9026
|
+
/** The sub type of tool. */
|
|
9027
|
+
subType: 'computer_20241022';
|
|
9028
|
+
/**
|
|
9029
|
+
* The name of the tool, fixed to 'computer'
|
|
9030
|
+
* @default "computer"
|
|
9031
|
+
*/
|
|
9032
|
+
name: 'computer';
|
|
9033
|
+
/** The display width in pixels */
|
|
9034
|
+
displayWidthPx: number;
|
|
9035
|
+
/** The display height in pixels */
|
|
9036
|
+
displayHeightPx: number;
|
|
9037
|
+
/** Optional display number */
|
|
9038
|
+
displayNumber?: number;
|
|
9039
|
+
/**
|
|
9040
|
+
* This is the function definition of the tool.
|
|
9041
|
+
*
|
|
9042
|
+
* For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
9043
|
+
*
|
|
9044
|
+
* An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
9045
|
+
*/
|
|
9046
|
+
function?: OpenAIFunction;
|
|
9047
|
+
/**
|
|
9048
|
+
* This is the server that will be hit when this tool is requested by the model.
|
|
9049
|
+
*
|
|
9050
|
+
* All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
9051
|
+
*
|
|
9052
|
+
* 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.
|
|
9053
|
+
*/
|
|
9054
|
+
server?: Server;
|
|
9055
|
+
}
|
|
9056
|
+
export interface CreateTextEditorToolDTO {
|
|
7789
9057
|
/**
|
|
7790
9058
|
* This determines if the tool is async.
|
|
7791
9059
|
*
|
|
@@ -7803,8 +9071,15 @@ export interface CreateOutputToolDTO {
|
|
|
7803
9071
|
* 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.
|
|
7804
9072
|
*/
|
|
7805
9073
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
7806
|
-
/** The type of tool. "
|
|
7807
|
-
type: '
|
|
9074
|
+
/** The type of tool. "textEditor" for Text Editor tool. */
|
|
9075
|
+
type: 'textEditor';
|
|
9076
|
+
/** The sub type of tool. */
|
|
9077
|
+
subType: 'text_editor_20241022';
|
|
9078
|
+
/**
|
|
9079
|
+
* The name of the tool, fixed to 'str_replace_editor'
|
|
9080
|
+
* @default "str_replace_editor"
|
|
9081
|
+
*/
|
|
9082
|
+
name: 'str_replace_editor';
|
|
7808
9083
|
/**
|
|
7809
9084
|
* This is the function definition of the tool.
|
|
7810
9085
|
*
|
|
@@ -7822,7 +9097,7 @@ export interface CreateOutputToolDTO {
|
|
|
7822
9097
|
*/
|
|
7823
9098
|
server?: Server;
|
|
7824
9099
|
}
|
|
7825
|
-
export interface
|
|
9100
|
+
export interface CreateSmsSendToolDTO {
|
|
7826
9101
|
/**
|
|
7827
9102
|
* This determines if the tool is async.
|
|
7828
9103
|
*
|
|
@@ -7840,15 +9115,8 @@ export interface CreateBashToolDTO {
|
|
|
7840
9115
|
* 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.
|
|
7841
9116
|
*/
|
|
7842
9117
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
7843
|
-
/** The type of tool. "
|
|
7844
|
-
type: '
|
|
7845
|
-
/** The sub type of tool. */
|
|
7846
|
-
subType: 'bash_20241022';
|
|
7847
|
-
/**
|
|
7848
|
-
* The name of the tool, fixed to 'bash'
|
|
7849
|
-
* @default "bash"
|
|
7850
|
-
*/
|
|
7851
|
-
name: 'bash';
|
|
9118
|
+
/** The type of tool. "sms" for Twilio SMS sending tool. */
|
|
9119
|
+
type: 'sms';
|
|
7852
9120
|
/**
|
|
7853
9121
|
* This is the function definition of the tool.
|
|
7854
9122
|
*
|
|
@@ -7866,7 +9134,7 @@ export interface CreateBashToolDTO {
|
|
|
7866
9134
|
*/
|
|
7867
9135
|
server?: Server;
|
|
7868
9136
|
}
|
|
7869
|
-
export interface
|
|
9137
|
+
export interface CreateMcpToolDTO {
|
|
7870
9138
|
/**
|
|
7871
9139
|
* This determines if the tool is async.
|
|
7872
9140
|
*
|
|
@@ -7884,21 +9152,8 @@ export interface CreateComputerToolDTO {
|
|
|
7884
9152
|
* 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.
|
|
7885
9153
|
*/
|
|
7886
9154
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
7887
|
-
/** The type of tool. "
|
|
7888
|
-
type: '
|
|
7889
|
-
/** The sub type of tool. */
|
|
7890
|
-
subType: 'computer_20241022';
|
|
7891
|
-
/**
|
|
7892
|
-
* The name of the tool, fixed to 'computer'
|
|
7893
|
-
* @default "computer"
|
|
7894
|
-
*/
|
|
7895
|
-
name: 'computer';
|
|
7896
|
-
/** The display width in pixels */
|
|
7897
|
-
displayWidthPx: number;
|
|
7898
|
-
/** The display height in pixels */
|
|
7899
|
-
displayHeightPx: number;
|
|
7900
|
-
/** Optional display number */
|
|
7901
|
-
displayNumber?: number;
|
|
9155
|
+
/** The type of tool. "mcp" for MCP tool. */
|
|
9156
|
+
type: 'mcp';
|
|
7902
9157
|
/**
|
|
7903
9158
|
* This is the function definition of the tool.
|
|
7904
9159
|
*
|
|
@@ -7916,7 +9171,7 @@ export interface CreateComputerToolDTO {
|
|
|
7916
9171
|
*/
|
|
7917
9172
|
server?: Server;
|
|
7918
9173
|
}
|
|
7919
|
-
export interface
|
|
9174
|
+
export interface UpdateDtmfToolDTO {
|
|
7920
9175
|
/**
|
|
7921
9176
|
* This determines if the tool is async.
|
|
7922
9177
|
*
|
|
@@ -7934,15 +9189,6 @@ export interface CreateTextEditorToolDTO {
|
|
|
7934
9189
|
* 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.
|
|
7935
9190
|
*/
|
|
7936
9191
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
7937
|
-
/** The type of tool. "textEditor" for Text Editor tool. */
|
|
7938
|
-
type: 'textEditor';
|
|
7939
|
-
/** The sub type of tool. */
|
|
7940
|
-
subType: 'text_editor_20241022';
|
|
7941
|
-
/**
|
|
7942
|
-
* The name of the tool, fixed to 'str_replace_editor'
|
|
7943
|
-
* @default "str_replace_editor"
|
|
7944
|
-
*/
|
|
7945
|
-
name: 'str_replace_editor';
|
|
7946
9192
|
/**
|
|
7947
9193
|
* This is the function definition of the tool.
|
|
7948
9194
|
*
|
|
@@ -7960,7 +9206,7 @@ export interface CreateTextEditorToolDTO {
|
|
|
7960
9206
|
*/
|
|
7961
9207
|
server?: Server;
|
|
7962
9208
|
}
|
|
7963
|
-
export interface
|
|
9209
|
+
export interface UpdateEndCallToolDTO {
|
|
7964
9210
|
/**
|
|
7965
9211
|
* This determines if the tool is async.
|
|
7966
9212
|
*
|
|
@@ -7978,10 +9224,6 @@ export interface CreateQueryToolDTO {
|
|
|
7978
9224
|
* 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.
|
|
7979
9225
|
*/
|
|
7980
9226
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
7981
|
-
/** The type of tool. "query" for Query tool. */
|
|
7982
|
-
type: 'query';
|
|
7983
|
-
/** The knowledge bases to query */
|
|
7984
|
-
knowledgeBases?: KnowledgeBase[];
|
|
7985
9227
|
/**
|
|
7986
9228
|
* This is the function definition of the tool.
|
|
7987
9229
|
*
|
|
@@ -7999,7 +9241,7 @@ export interface CreateQueryToolDTO {
|
|
|
7999
9241
|
*/
|
|
8000
9242
|
server?: Server;
|
|
8001
9243
|
}
|
|
8002
|
-
export interface
|
|
9244
|
+
export interface UpdateFunctionToolDTO {
|
|
8003
9245
|
/**
|
|
8004
9246
|
* This determines if the tool is async.
|
|
8005
9247
|
*
|
|
@@ -8017,8 +9259,6 @@ export interface CreateGoogleCalendarCreateEventToolDTO {
|
|
|
8017
9259
|
* 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.
|
|
8018
9260
|
*/
|
|
8019
9261
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8020
|
-
/** The type of tool. "google.calendar.event.create" for Google Calendar tool. */
|
|
8021
|
-
type: 'google.calendar.event.create';
|
|
8022
9262
|
/**
|
|
8023
9263
|
* This is the function definition of the tool.
|
|
8024
9264
|
*
|
|
@@ -8036,7 +9276,7 @@ export interface CreateGoogleCalendarCreateEventToolDTO {
|
|
|
8036
9276
|
*/
|
|
8037
9277
|
server?: Server;
|
|
8038
9278
|
}
|
|
8039
|
-
export interface
|
|
9279
|
+
export interface UpdateGhlToolDTO {
|
|
8040
9280
|
/**
|
|
8041
9281
|
* This determines if the tool is async.
|
|
8042
9282
|
*
|
|
@@ -8054,8 +9294,6 @@ export interface CreateGoogleSheetsRowAppendToolDTO {
|
|
|
8054
9294
|
* 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.
|
|
8055
9295
|
*/
|
|
8056
9296
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8057
|
-
/** The type of tool. "google.sheets.row.append" for Google Sheets tool. */
|
|
8058
|
-
type: 'google.sheets.row.append';
|
|
8059
9297
|
/**
|
|
8060
9298
|
* This is the function definition of the tool.
|
|
8061
9299
|
*
|
|
@@ -8072,8 +9310,9 @@ export interface CreateGoogleSheetsRowAppendToolDTO {
|
|
|
8072
9310
|
* 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.
|
|
8073
9311
|
*/
|
|
8074
9312
|
server?: Server;
|
|
9313
|
+
metadata?: GhlToolMetadata;
|
|
8075
9314
|
}
|
|
8076
|
-
export interface
|
|
9315
|
+
export interface UpdateMakeToolDTO {
|
|
8077
9316
|
/**
|
|
8078
9317
|
* This determines if the tool is async.
|
|
8079
9318
|
*
|
|
@@ -8107,8 +9346,9 @@ export interface UpdateDtmfToolDTO {
|
|
|
8107
9346
|
* 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.
|
|
8108
9347
|
*/
|
|
8109
9348
|
server?: Server;
|
|
9349
|
+
metadata?: MakeToolMetadata;
|
|
8110
9350
|
}
|
|
8111
|
-
export interface
|
|
9351
|
+
export interface UpdateTransferCallToolDTO {
|
|
8112
9352
|
/**
|
|
8113
9353
|
* This determines if the tool is async.
|
|
8114
9354
|
*
|
|
@@ -8126,6 +9366,8 @@ export interface UpdateEndCallToolDTO {
|
|
|
8126
9366
|
* 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.
|
|
8127
9367
|
*/
|
|
8128
9368
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
9369
|
+
/** 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. */
|
|
9370
|
+
destinations?: (TransferDestinationAssistant | TransferDestinationStep | TransferDestinationNumber | TransferDestinationSip)[];
|
|
8129
9371
|
/**
|
|
8130
9372
|
* This is the function definition of the tool.
|
|
8131
9373
|
*
|
|
@@ -8143,7 +9385,7 @@ export interface UpdateEndCallToolDTO {
|
|
|
8143
9385
|
*/
|
|
8144
9386
|
server?: Server;
|
|
8145
9387
|
}
|
|
8146
|
-
export interface
|
|
9388
|
+
export interface UpdateOutputToolDTO {
|
|
8147
9389
|
/**
|
|
8148
9390
|
* This determines if the tool is async.
|
|
8149
9391
|
*
|
|
@@ -8178,7 +9420,7 @@ export interface UpdateFunctionToolDTO {
|
|
|
8178
9420
|
*/
|
|
8179
9421
|
server?: Server;
|
|
8180
9422
|
}
|
|
8181
|
-
export interface
|
|
9423
|
+
export interface UpdateBashToolDTO {
|
|
8182
9424
|
/**
|
|
8183
9425
|
* This determines if the tool is async.
|
|
8184
9426
|
*
|
|
@@ -8196,6 +9438,8 @@ export interface UpdateGhlToolDTO {
|
|
|
8196
9438
|
* 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.
|
|
8197
9439
|
*/
|
|
8198
9440
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
9441
|
+
/** The sub type of tool. */
|
|
9442
|
+
subType?: 'bash_20241022';
|
|
8199
9443
|
/**
|
|
8200
9444
|
* This is the function definition of the tool.
|
|
8201
9445
|
*
|
|
@@ -8212,9 +9456,13 @@ export interface UpdateGhlToolDTO {
|
|
|
8212
9456
|
* 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.
|
|
8213
9457
|
*/
|
|
8214
9458
|
server?: Server;
|
|
8215
|
-
|
|
9459
|
+
/**
|
|
9460
|
+
* The name of the tool, fixed to 'bash'
|
|
9461
|
+
* @default "bash"
|
|
9462
|
+
*/
|
|
9463
|
+
name?: 'bash';
|
|
8216
9464
|
}
|
|
8217
|
-
export interface
|
|
9465
|
+
export interface UpdateComputerToolDTO {
|
|
8218
9466
|
/**
|
|
8219
9467
|
* This determines if the tool is async.
|
|
8220
9468
|
*
|
|
@@ -8232,6 +9480,8 @@ export interface UpdateMakeToolDTO {
|
|
|
8232
9480
|
* 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.
|
|
8233
9481
|
*/
|
|
8234
9482
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
9483
|
+
/** The sub type of tool. */
|
|
9484
|
+
subType?: 'computer_20241022';
|
|
8235
9485
|
/**
|
|
8236
9486
|
* This is the function definition of the tool.
|
|
8237
9487
|
*
|
|
@@ -8248,9 +9498,19 @@ export interface UpdateMakeToolDTO {
|
|
|
8248
9498
|
* 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.
|
|
8249
9499
|
*/
|
|
8250
9500
|
server?: Server;
|
|
8251
|
-
|
|
9501
|
+
/**
|
|
9502
|
+
* The name of the tool, fixed to 'computer'
|
|
9503
|
+
* @default "computer"
|
|
9504
|
+
*/
|
|
9505
|
+
name?: 'computer';
|
|
9506
|
+
/** The display width in pixels */
|
|
9507
|
+
displayWidthPx?: number;
|
|
9508
|
+
/** The display height in pixels */
|
|
9509
|
+
displayHeightPx?: number;
|
|
9510
|
+
/** Optional display number */
|
|
9511
|
+
displayNumber?: number;
|
|
8252
9512
|
}
|
|
8253
|
-
export interface
|
|
9513
|
+
export interface UpdateTextEditorToolDTO {
|
|
8254
9514
|
/**
|
|
8255
9515
|
* This determines if the tool is async.
|
|
8256
9516
|
*
|
|
@@ -8268,8 +9528,8 @@ export interface UpdateTransferCallToolDTO {
|
|
|
8268
9528
|
* 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.
|
|
8269
9529
|
*/
|
|
8270
9530
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8271
|
-
/**
|
|
8272
|
-
|
|
9531
|
+
/** The sub type of tool. */
|
|
9532
|
+
subType?: 'text_editor_20241022';
|
|
8273
9533
|
/**
|
|
8274
9534
|
* This is the function definition of the tool.
|
|
8275
9535
|
*
|
|
@@ -8286,8 +9546,13 @@ export interface UpdateTransferCallToolDTO {
|
|
|
8286
9546
|
* 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.
|
|
8287
9547
|
*/
|
|
8288
9548
|
server?: Server;
|
|
9549
|
+
/**
|
|
9550
|
+
* The name of the tool, fixed to 'str_replace_editor'
|
|
9551
|
+
* @default "str_replace_editor"
|
|
9552
|
+
*/
|
|
9553
|
+
name?: 'str_replace_editor';
|
|
8289
9554
|
}
|
|
8290
|
-
export interface
|
|
9555
|
+
export interface UpdateQueryToolDTO {
|
|
8291
9556
|
/**
|
|
8292
9557
|
* This determines if the tool is async.
|
|
8293
9558
|
*
|
|
@@ -8305,6 +9570,8 @@ export interface UpdateOutputToolDTO {
|
|
|
8305
9570
|
* 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.
|
|
8306
9571
|
*/
|
|
8307
9572
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
9573
|
+
/** The knowledge bases to query */
|
|
9574
|
+
knowledgeBases?: KnowledgeBase[];
|
|
8308
9575
|
/**
|
|
8309
9576
|
* This is the function definition of the tool.
|
|
8310
9577
|
*
|
|
@@ -8322,7 +9589,7 @@ export interface UpdateOutputToolDTO {
|
|
|
8322
9589
|
*/
|
|
8323
9590
|
server?: Server;
|
|
8324
9591
|
}
|
|
8325
|
-
export interface
|
|
9592
|
+
export interface UpdateGoogleCalendarCreateEventToolDTO {
|
|
8326
9593
|
/**
|
|
8327
9594
|
* This determines if the tool is async.
|
|
8328
9595
|
*
|
|
@@ -8340,8 +9607,6 @@ export interface UpdateBashToolDTO {
|
|
|
8340
9607
|
* 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.
|
|
8341
9608
|
*/
|
|
8342
9609
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8343
|
-
/** The sub type of tool. */
|
|
8344
|
-
subType?: 'bash_20241022';
|
|
8345
9610
|
/**
|
|
8346
9611
|
* This is the function definition of the tool.
|
|
8347
9612
|
*
|
|
@@ -8358,13 +9623,8 @@ export interface UpdateBashToolDTO {
|
|
|
8358
9623
|
* 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.
|
|
8359
9624
|
*/
|
|
8360
9625
|
server?: Server;
|
|
8361
|
-
/**
|
|
8362
|
-
* The name of the tool, fixed to 'bash'
|
|
8363
|
-
* @default "bash"
|
|
8364
|
-
*/
|
|
8365
|
-
name?: 'bash';
|
|
8366
9626
|
}
|
|
8367
|
-
export interface
|
|
9627
|
+
export interface UpdateGoogleSheetsRowAppendToolDTO {
|
|
8368
9628
|
/**
|
|
8369
9629
|
* This determines if the tool is async.
|
|
8370
9630
|
*
|
|
@@ -8382,8 +9642,6 @@ export interface UpdateComputerToolDTO {
|
|
|
8382
9642
|
* 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.
|
|
8383
9643
|
*/
|
|
8384
9644
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8385
|
-
/** The sub type of tool. */
|
|
8386
|
-
subType?: 'computer_20241022';
|
|
8387
9645
|
/**
|
|
8388
9646
|
* This is the function definition of the tool.
|
|
8389
9647
|
*
|
|
@@ -8400,19 +9658,8 @@ export interface UpdateComputerToolDTO {
|
|
|
8400
9658
|
* 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.
|
|
8401
9659
|
*/
|
|
8402
9660
|
server?: Server;
|
|
8403
|
-
/**
|
|
8404
|
-
* The name of the tool, fixed to 'computer'
|
|
8405
|
-
* @default "computer"
|
|
8406
|
-
*/
|
|
8407
|
-
name?: 'computer';
|
|
8408
|
-
/** The display width in pixels */
|
|
8409
|
-
displayWidthPx?: number;
|
|
8410
|
-
/** The display height in pixels */
|
|
8411
|
-
displayHeightPx?: number;
|
|
8412
|
-
/** Optional display number */
|
|
8413
|
-
displayNumber?: number;
|
|
8414
9661
|
}
|
|
8415
|
-
export interface
|
|
9662
|
+
export interface UpdateGoogleCalendarCheckAvailabilityToolDTO {
|
|
8416
9663
|
/**
|
|
8417
9664
|
* This determines if the tool is async.
|
|
8418
9665
|
*
|
|
@@ -8430,8 +9677,6 @@ export interface UpdateTextEditorToolDTO {
|
|
|
8430
9677
|
* 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.
|
|
8431
9678
|
*/
|
|
8432
9679
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8433
|
-
/** The sub type of tool. */
|
|
8434
|
-
subType?: 'text_editor_20241022';
|
|
8435
9680
|
/**
|
|
8436
9681
|
* This is the function definition of the tool.
|
|
8437
9682
|
*
|
|
@@ -8448,13 +9693,8 @@ export interface UpdateTextEditorToolDTO {
|
|
|
8448
9693
|
* 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.
|
|
8449
9694
|
*/
|
|
8450
9695
|
server?: Server;
|
|
8451
|
-
/**
|
|
8452
|
-
* The name of the tool, fixed to 'str_replace_editor'
|
|
8453
|
-
* @default "str_replace_editor"
|
|
8454
|
-
*/
|
|
8455
|
-
name?: 'str_replace_editor';
|
|
8456
9696
|
}
|
|
8457
|
-
export interface
|
|
9697
|
+
export interface UpdateSlackSendMessageToolDTO {
|
|
8458
9698
|
/**
|
|
8459
9699
|
* This determines if the tool is async.
|
|
8460
9700
|
*
|
|
@@ -8472,8 +9712,6 @@ export interface UpdateQueryToolDTO {
|
|
|
8472
9712
|
* 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.
|
|
8473
9713
|
*/
|
|
8474
9714
|
messages?: (ToolMessageStart | ToolMessageComplete | ToolMessageFailed | ToolMessageDelayed)[];
|
|
8475
|
-
/** The knowledge bases to query */
|
|
8476
|
-
knowledgeBases?: KnowledgeBase[];
|
|
8477
9715
|
/**
|
|
8478
9716
|
* This is the function definition of the tool.
|
|
8479
9717
|
*
|
|
@@ -8491,7 +9729,7 @@ export interface UpdateQueryToolDTO {
|
|
|
8491
9729
|
*/
|
|
8492
9730
|
server?: Server;
|
|
8493
9731
|
}
|
|
8494
|
-
export interface
|
|
9732
|
+
export interface UpdateSmsSendToolDTO {
|
|
8495
9733
|
/**
|
|
8496
9734
|
* This determines if the tool is async.
|
|
8497
9735
|
*
|
|
@@ -8526,7 +9764,7 @@ export interface UpdateGoogleCalendarCreateEventToolDTO {
|
|
|
8526
9764
|
*/
|
|
8527
9765
|
server?: Server;
|
|
8528
9766
|
}
|
|
8529
|
-
export interface
|
|
9767
|
+
export interface UpdateMcpToolDTO {
|
|
8530
9768
|
/**
|
|
8531
9769
|
* This determines if the tool is async.
|
|
8532
9770
|
*
|
|
@@ -8798,6 +10036,8 @@ export interface TrieveKnowledgeBaseImport {
|
|
|
8798
10036
|
}
|
|
8799
10037
|
export interface UpdateWorkflowDTO {
|
|
8800
10038
|
nodes?: (Say | Gather | ApiRequest | Hangup | Transfer)[];
|
|
10039
|
+
/** These are the options for the workflow's LLM. */
|
|
10040
|
+
model?: AnthropicModel | AnyscaleModel | CerebrasModel | CustomLLMModel | DeepInfraModel | DeepSeekModel | GoogleModel | GroqModel | InflectionAIModel | OpenAIModel | OpenRouterModel | PerplexityAIModel | TogetherAIModel | XaiModel;
|
|
8801
10041
|
/** @maxLength 80 */
|
|
8802
10042
|
name?: string;
|
|
8803
10043
|
edges?: Edge[];
|
|
@@ -8879,10 +10119,26 @@ export interface TestSuitePhoneNumber {
|
|
|
8879
10119
|
number: string;
|
|
8880
10120
|
}
|
|
8881
10121
|
export interface TargetPlan {
|
|
8882
|
-
/**
|
|
10122
|
+
/**
|
|
10123
|
+
* This is the phone number that is being tested.
|
|
10124
|
+
* During the actual test, it'll be called and the assistant attached to it will pick up and be tested.
|
|
10125
|
+
* To test an assistant directly, send assistantId instead.
|
|
10126
|
+
*/
|
|
8883
10127
|
phoneNumberId?: string;
|
|
8884
|
-
/**
|
|
10128
|
+
/**
|
|
10129
|
+
* This can be any phone number (even not on Vapi).
|
|
10130
|
+
* During the actual test, it'll be called.
|
|
10131
|
+
* To test a Vapi number, send phoneNumberId. To test an assistant directly, send assistantId instead.
|
|
10132
|
+
*/
|
|
8885
10133
|
phoneNumber?: TestSuitePhoneNumber;
|
|
10134
|
+
/**
|
|
10135
|
+
* This is the assistant being tested.
|
|
10136
|
+
* During the actual test, it'll invoked directly.
|
|
10137
|
+
* To test the assistant over phone number, send phoneNumberId instead.
|
|
10138
|
+
*/
|
|
10139
|
+
assistantId?: string;
|
|
10140
|
+
/** This is the assistant overrides applied to assistantId before it is tested. */
|
|
10141
|
+
assistantOverrides?: AssistantOverrides;
|
|
8886
10142
|
}
|
|
8887
10143
|
export interface TestSuite {
|
|
8888
10144
|
/** This is the unique identifier for the test suite. */
|
|
@@ -9185,14 +10441,22 @@ export interface TestSuiteRunScorerAI {
|
|
|
9185
10441
|
rubric: string;
|
|
9186
10442
|
}
|
|
9187
10443
|
export interface TestSuiteRunTestAttemptCall {
|
|
9188
|
-
/** This is the artifact
|
|
10444
|
+
/** This is the artifact of the call. */
|
|
9189
10445
|
artifact: Artifact;
|
|
9190
10446
|
}
|
|
10447
|
+
export interface TestSuiteRunTestAttemptMetadata {
|
|
10448
|
+
/** This is the session ID for the test attempt. */
|
|
10449
|
+
sessionId: string;
|
|
10450
|
+
}
|
|
9191
10451
|
export interface TestSuiteRunTestAttempt {
|
|
9192
10452
|
/** These are the results of the scorers used to evaluate the test attempt. */
|
|
9193
10453
|
scorerResults: TestSuiteRunScorerAI[];
|
|
9194
10454
|
/** This is the call made during the test attempt. */
|
|
9195
|
-
call
|
|
10455
|
+
call?: TestSuiteRunTestAttemptCall;
|
|
10456
|
+
/** This is the call ID for the test attempt. */
|
|
10457
|
+
callId?: string;
|
|
10458
|
+
/** This is the metadata for the test attempt. */
|
|
10459
|
+
metadata?: TestSuiteRunTestAttemptMetadata;
|
|
9196
10460
|
}
|
|
9197
10461
|
export interface TestSuiteRunTestResult {
|
|
9198
10462
|
/** This is the test that was run. */
|
|
@@ -9655,6 +10919,8 @@ export interface Org {
|
|
|
9655
10919
|
stripeSubscriptionStatus?: string;
|
|
9656
10920
|
/** This is the plan for the org. */
|
|
9657
10921
|
plan?: OrgPlan;
|
|
10922
|
+
/** This is the secret key used for signing JWT tokens for the org. */
|
|
10923
|
+
jwtSecret?: string;
|
|
9658
10924
|
/**
|
|
9659
10925
|
* This is the name of the org. This is just for your own reference.
|
|
9660
10926
|
* @maxLength 40
|
|
@@ -9771,6 +11037,10 @@ export interface UpdateUserRoleDTO {
|
|
|
9771
11037
|
userId: string;
|
|
9772
11038
|
role: 'admin' | 'editor' | 'viewer';
|
|
9773
11039
|
}
|
|
11040
|
+
export interface JwtResponse {
|
|
11041
|
+
accessToken: string;
|
|
11042
|
+
aud: object;
|
|
11043
|
+
}
|
|
9774
11044
|
export interface TokenRestrictions {
|
|
9775
11045
|
/** This determines whether the token is enabled or disabled. Default is true, it's enabled. */
|
|
9776
11046
|
enabled?: boolean;
|
|
@@ -11108,6 +12378,56 @@ export interface GoogleCalendarOAuth2AuthorizationCredential {
|
|
|
11108
12378
|
*/
|
|
11109
12379
|
name?: string;
|
|
11110
12380
|
}
|
|
12381
|
+
export interface GoogleSheetsOAuth2AuthorizationCredential {
|
|
12382
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
12383
|
+
/** The authorization ID for the OAuth2 authorization */
|
|
12384
|
+
authorizationId: string;
|
|
12385
|
+
/** This is the unique identifier for the credential. */
|
|
12386
|
+
id: string;
|
|
12387
|
+
/** This is the unique identifier for the org that this credential belongs to. */
|
|
12388
|
+
orgId: string;
|
|
12389
|
+
/**
|
|
12390
|
+
* This is the ISO 8601 date-time string of when the credential was created.
|
|
12391
|
+
* @format date-time
|
|
12392
|
+
*/
|
|
12393
|
+
createdAt: string;
|
|
12394
|
+
/**
|
|
12395
|
+
* This is the ISO 8601 date-time string of when the assistant was last updated.
|
|
12396
|
+
* @format date-time
|
|
12397
|
+
*/
|
|
12398
|
+
updatedAt: string;
|
|
12399
|
+
/**
|
|
12400
|
+
* This is the name of credential. This is just for your reference.
|
|
12401
|
+
* @minLength 1
|
|
12402
|
+
* @maxLength 40
|
|
12403
|
+
*/
|
|
12404
|
+
name?: string;
|
|
12405
|
+
}
|
|
12406
|
+
export interface SlackOAuth2AuthorizationCredential {
|
|
12407
|
+
provider: 'slack.oauth2-authorization';
|
|
12408
|
+
/** The authorization ID for the OAuth2 authorization */
|
|
12409
|
+
authorizationId: string;
|
|
12410
|
+
/** This is the unique identifier for the credential. */
|
|
12411
|
+
id: string;
|
|
12412
|
+
/** This is the unique identifier for the org that this credential belongs to. */
|
|
12413
|
+
orgId: string;
|
|
12414
|
+
/**
|
|
12415
|
+
* This is the ISO 8601 date-time string of when the credential was created.
|
|
12416
|
+
* @format date-time
|
|
12417
|
+
*/
|
|
12418
|
+
createdAt: string;
|
|
12419
|
+
/**
|
|
12420
|
+
* This is the ISO 8601 date-time string of when the assistant was last updated.
|
|
12421
|
+
* @format date-time
|
|
12422
|
+
*/
|
|
12423
|
+
updatedAt: string;
|
|
12424
|
+
/**
|
|
12425
|
+
* This is the name of credential. This is just for your reference.
|
|
12426
|
+
* @minLength 1
|
|
12427
|
+
* @maxLength 40
|
|
12428
|
+
*/
|
|
12429
|
+
name?: string;
|
|
12430
|
+
}
|
|
11111
12431
|
export interface CreateCerebrasCredentialDTO {
|
|
11112
12432
|
provider: 'cerebras';
|
|
11113
12433
|
/**
|
|
@@ -11770,6 +13090,26 @@ export interface UpdateGoogleCalendarOAuth2AuthorizationCredentialDTO {
|
|
|
11770
13090
|
*/
|
|
11771
13091
|
name?: string;
|
|
11772
13092
|
}
|
|
13093
|
+
export interface UpdateGoogleSheetsOAuth2AuthorizationCredentialDTO {
|
|
13094
|
+
/** The authorization ID for the OAuth2 authorization */
|
|
13095
|
+
authorizationId?: string;
|
|
13096
|
+
/**
|
|
13097
|
+
* This is the name of credential. This is just for your reference.
|
|
13098
|
+
* @minLength 1
|
|
13099
|
+
* @maxLength 40
|
|
13100
|
+
*/
|
|
13101
|
+
name?: string;
|
|
13102
|
+
}
|
|
13103
|
+
export interface UpdateSlackOAuth2AuthorizationCredentialDTO {
|
|
13104
|
+
/** The authorization ID for the OAuth2 authorization */
|
|
13105
|
+
authorizationId?: string;
|
|
13106
|
+
/**
|
|
13107
|
+
* This is the name of credential. This is just for your reference.
|
|
13108
|
+
* @minLength 1
|
|
13109
|
+
* @maxLength 40
|
|
13110
|
+
*/
|
|
13111
|
+
name?: string;
|
|
13112
|
+
}
|
|
11773
13113
|
export interface CredentialSessionResponse {
|
|
11774
13114
|
sessionToken: string;
|
|
11775
13115
|
}
|
|
@@ -11800,7 +13140,7 @@ export interface CredentialActionRequest {
|
|
|
11800
13140
|
}
|
|
11801
13141
|
export interface CredentialSessionDTO {
|
|
11802
13142
|
/** The type of credential to generate a session for. Only Nango user-facing providers are supported. */
|
|
11803
|
-
provider: 'google.calendar.oauth2-client' | 'google.calendar.oauth2-authorization' | 'google.sheets.oauth2-authorization';
|
|
13143
|
+
provider: 'google.calendar.oauth2-client' | 'google.calendar.oauth2-authorization' | 'google.sheets.oauth2-authorization' | 'slack.oauth2-authorization';
|
|
11804
13144
|
}
|
|
11805
13145
|
export interface ToolTemplateSetup {
|
|
11806
13146
|
title: string;
|
|
@@ -11966,6 +13306,12 @@ export interface SyncVoiceLibraryDTO {
|
|
|
11966
13306
|
/** List of providers you want to sync. */
|
|
11967
13307
|
providers?: 'vapi' | '11labs' | 'azure' | 'cartesia' | 'custom-voice' | 'deepgram' | 'hume' | 'lmnt' | 'neuphonic' | 'openai' | 'playht' | 'rime-ai' | 'smallest-ai' | 'tavus' | 'sesame';
|
|
11968
13308
|
}
|
|
13309
|
+
export interface CreateSesameVoiceDTO {
|
|
13310
|
+
/** The name of the voice. */
|
|
13311
|
+
voiceName?: string;
|
|
13312
|
+
/** The transcript of the utterance. */
|
|
13313
|
+
transcription?: string;
|
|
13314
|
+
}
|
|
11969
13315
|
export interface VoiceLibraryVoiceResponse {
|
|
11970
13316
|
voiceId: string;
|
|
11971
13317
|
name: string;
|
|
@@ -12036,6 +13382,8 @@ export interface ClientMessageSpeechUpdate {
|
|
|
12036
13382
|
status: 'started' | 'stopped';
|
|
12037
13383
|
/** This is the role which the speech update is for. */
|
|
12038
13384
|
role: 'assistant' | 'user';
|
|
13385
|
+
/** This is the turn number of the speech update (0-indexed). */
|
|
13386
|
+
turn?: number;
|
|
12039
13387
|
}
|
|
12040
13388
|
export interface ClientMessageTranscript {
|
|
12041
13389
|
/** This is the type of the message. "transcript" is sent as transcriber outputs partial or final transcript. */
|
|
@@ -12120,8 +13468,8 @@ export interface ServerMessageAssistantRequest {
|
|
|
12120
13468
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12121
13469
|
/** This is the type of the message. "assistant-request" is sent to fetch assistant configuration for an incoming call. */
|
|
12122
13470
|
type: 'assistant-request';
|
|
12123
|
-
/** This is the
|
|
12124
|
-
timestamp?:
|
|
13471
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13472
|
+
timestamp?: number;
|
|
12125
13473
|
/**
|
|
12126
13474
|
* This is a live version of the `call.artifact`.
|
|
12127
13475
|
*
|
|
@@ -12172,8 +13520,8 @@ export interface ServerMessageConversationUpdate {
|
|
|
12172
13520
|
messages?: (UserMessage | SystemMessage | BotMessage | ToolCallMessage | ToolCallResultMessage)[];
|
|
12173
13521
|
/** This is the most up-to-date conversation history at the time the message is sent, formatted for OpenAI. */
|
|
12174
13522
|
messagesOpenAIFormatted: OpenAIMessage[];
|
|
12175
|
-
/** This is the
|
|
12176
|
-
timestamp?:
|
|
13523
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13524
|
+
timestamp?: number;
|
|
12177
13525
|
/**
|
|
12178
13526
|
* This is a live version of the `call.artifact`.
|
|
12179
13527
|
*
|
|
@@ -12221,13 +13569,13 @@ export interface ServerMessageEndOfCallReport {
|
|
|
12221
13569
|
/** This is the type of the message. "end-of-call-report" is sent when the call ends and post-processing is complete. */
|
|
12222
13570
|
type: 'end-of-call-report';
|
|
12223
13571
|
/** This is the reason the call ended. This can also be found at `call.endedReason` on GET /call/:id. */
|
|
12224
|
-
endedReason: 'assistant-not-valid' | 'assistant-not-provided' | 'call-start-error-neither-assistant-nor-server-set' | 'assistant-request-failed' | 'assistant-request-returned-error' | 'assistant-request-returned-unspeakable-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-ended-call-with-hangup-task' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'customer-busy' | 'customer-ended-call' | 'customer-did-not-answer' | 'customer-did-not-give-microphone-permission' | 'assistant-said-message-with-end-call-enabled' | 'exceeded-max-duration' | 'manually-canceled' | 'phone-call-provider-closed-websocket' | 'db-error' | 'assistant-not-found' | 'license-check-failed' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-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-smallest-ai-voice-failed' | 'pipeline-error-neuphonic-voice-failed' | 'pipeline-error-hume-voice-failed' | 'pipeline-error-sesame-voice-failed' | 'pipeline-error-deepgram-transcriber-failed' | 'pipeline-error-gladia-transcriber-failed' | 'pipeline-error-speechmatics-transcriber-failed' | 'pipeline-error-assembly-ai-transcriber-failed' | 'pipeline-error-talkscriber-transcriber-failed' | 'pipeline-error-azure-speech-transcriber-failed' | 'pipeline-error-vapi-llm-failed' | 'pipeline-error-vapi-400-bad-request-validation-failed' | 'pipeline-error-vapi-401-unauthorized' | 'pipeline-error-vapi-403-model-access-denied' | 'pipeline-error-vapi-429-exceeded-quota' | 'pipeline-error-vapi-500-server-error' | 'pipeline-no-available-model' | 'worker-shutdown' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'vonage-completed' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'vapifault-phone-call-worker-setup-socket-error' | 'vapifault-phone-call-worker-worker-setup-socket-timeout' | 'vapifault-phone-call-worker-could-not-find-call' | 'vapifault-transport-never-connected' | 'vapifault-web-call-worker-setup-failed' | 'vapifault-transport-connected-but-call-not-active' | 'vapifault-call-started-but-connection-to-transport-missing' | 'pipeline-error-openai-llm-failed' | 'pipeline-error-azure-openai-llm-failed' | 'pipeline-error-groq-llm-failed' | 'pipeline-error-google-llm-failed' | 'pipeline-error-xai-llm-failed' | 'pipeline-error-mistral-llm-failed' | 'pipeline-error-inflection-ai-llm-failed' | 'pipeline-error-cerebras-llm-failed' | 'pipeline-error-deep-seek-llm-failed' | 'pipeline-error-openai-400-bad-request-validation-failed' | 'pipeline-error-openai-401-unauthorized' | 'pipeline-error-openai-403-model-access-denied' | 'pipeline-error-openai-429-exceeded-quota' | 'pipeline-error-openai-500-server-error' | 'pipeline-error-google-400-bad-request-validation-failed' | 'pipeline-error-google-401-unauthorized' | 'pipeline-error-google-403-model-access-denied' | 'pipeline-error-google-429-exceeded-quota' | 'pipeline-error-google-500-server-error' | 'pipeline-error-xai-400-bad-request-validation-failed' | 'pipeline-error-xai-401-unauthorized' | 'pipeline-error-xai-403-model-access-denied' | 'pipeline-error-xai-429-exceeded-quota' | 'pipeline-error-xai-500-server-error' | 'pipeline-error-mistral-400-bad-request-validation-failed' | 'pipeline-error-mistral-401-unauthorized' | 'pipeline-error-mistral-403-model-access-denied' | 'pipeline-error-mistral-429-exceeded-quota' | 'pipeline-error-mistral-500-server-error' | 'pipeline-error-inflection-ai-400-bad-request-validation-failed' | 'pipeline-error-inflection-ai-401-unauthorized' | 'pipeline-error-inflection-ai-403-model-access-denied' | 'pipeline-error-inflection-ai-429-exceeded-quota' | 'pipeline-error-inflection-ai-500-server-error' | 'pipeline-error-deep-seek-400-bad-request-validation-failed' | 'pipeline-error-deep-seek-401-unauthorized' | 'pipeline-error-deep-seek-403-model-access-denied' | 'pipeline-error-deep-seek-429-exceeded-quota' | 'pipeline-error-deep-seek-500-server-error' | 'pipeline-error-azure-openai-400-bad-request-validation-failed' | 'pipeline-error-azure-openai-401-unauthorized' | 'pipeline-error-azure-openai-403-model-access-denied' | 'pipeline-error-azure-openai-429-exceeded-quota' | 'pipeline-error-azure-openai-500-server-error' | 'pipeline-error-groq-400-bad-request-validation-failed' | 'pipeline-error-groq-401-unauthorized' | 'pipeline-error-groq-403-model-access-denied' | 'pipeline-error-groq-429-exceeded-quota' | 'pipeline-error-groq-500-server-error' | 'pipeline-error-cerebras-400-bad-request-validation-failed' | 'pipeline-error-cerebras-401-unauthorized' | 'pipeline-error-cerebras-403-model-access-denied' | 'pipeline-error-cerebras-429-exceeded-quota' | 'pipeline-error-cerebras-500-server-error' | 'pipeline-error-anthropic-400-bad-request-validation-failed' | 'pipeline-error-anthropic-401-unauthorized' | 'pipeline-error-anthropic-403-model-access-denied' | 'pipeline-error-anthropic-429-exceeded-quota' | 'pipeline-error-anthropic-500-server-error' | 'pipeline-error-anthropic-llm-failed' | 'pipeline-error-together-ai-400-bad-request-validation-failed' | 'pipeline-error-together-ai-401-unauthorized' | 'pipeline-error-together-ai-403-model-access-denied' | 'pipeline-error-together-ai-429-exceeded-quota' | 'pipeline-error-together-ai-500-server-error' | 'pipeline-error-together-ai-llm-failed' | 'pipeline-error-anyscale-400-bad-request-validation-failed' | 'pipeline-error-anyscale-401-unauthorized' | 'pipeline-error-anyscale-403-model-access-denied' | 'pipeline-error-anyscale-429-exceeded-quota' | 'pipeline-error-anyscale-500-server-error' | 'pipeline-error-anyscale-llm-failed' | 'pipeline-error-openrouter-400-bad-request-validation-failed' | 'pipeline-error-openrouter-401-unauthorized' | 'pipeline-error-openrouter-403-model-access-denied' | 'pipeline-error-openrouter-429-exceeded-quota' | 'pipeline-error-openrouter-500-server-error' | 'pipeline-error-openrouter-llm-failed' | 'pipeline-error-perplexity-ai-400-bad-request-validation-failed' | 'pipeline-error-perplexity-ai-401-unauthorized' | 'pipeline-error-perplexity-ai-403-model-access-denied' | 'pipeline-error-perplexity-ai-429-exceeded-quota' | 'pipeline-error-perplexity-ai-500-server-error' | 'pipeline-error-perplexity-ai-llm-failed' | 'pipeline-error-deepinfra-400-bad-request-validation-failed' | 'pipeline-error-deepinfra-401-unauthorized' | 'pipeline-error-deepinfra-403-model-access-denied' | 'pipeline-error-deepinfra-429-exceeded-quota' | 'pipeline-error-deepinfra-500-server-error' | 'pipeline-error-deepinfra-llm-failed' | 'pipeline-error-runpod-400-bad-request-validation-failed' | 'pipeline-error-runpod-401-unauthorized' | 'pipeline-error-runpod-403-model-access-denied' | 'pipeline-error-runpod-429-exceeded-quota' | 'pipeline-error-runpod-500-server-error' | 'pipeline-error-runpod-llm-failed' | 'pipeline-error-custom-llm-400-bad-request-validation-failed' | 'pipeline-error-custom-llm-401-unauthorized' | 'pipeline-error-custom-llm-403-model-access-denied' | 'pipeline-error-custom-llm-429-exceeded-quota' | 'pipeline-error-custom-llm-500-server-error' | 'pipeline-error-custom-llm-llm-failed' | 'pipeline-error-custom-voice-failed' | 'pipeline-error-cartesia-socket-hang-up' | 'pipeline-error-cartesia-requested-payment' | 'pipeline-error-cartesia-500-server-error' | 'pipeline-error-cartesia-503-server-error' | 'pipeline-error-cartesia-522-server-error' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-unauthorized-to-access-model' | 'pipeline-error-eleven-labs-professional-voices-only-for-creator-plus' | 'pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | '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-eleven-labs-invalid-voice-samples' | 'pipeline-error-eleven-labs-voice-disabled-by-owner' | 'pipeline-error-eleven-labs-blocked-account-in-probation' | 'pipeline-error-eleven-labs-blocked-content-against-their-policy' | 'pipeline-error-eleven-labs-missing-samples-for-voice-clone' | 'pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'pipeline-error-eleven-labs-voice-not-allowed-for-free-users' | 'pipeline-error-eleven-labs-500-server-error' | 'pipeline-error-eleven-labs-max-character-limit-exceeded' | 'pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | '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-invalid-emotion' | 'pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri' | 'pipeline-error-playht-401-unauthorized' | 'pipeline-error-playht-403-forbidden-out-of-characters' | 'pipeline-error-playht-403-forbidden-api-access-not-available' | 'pipeline-error-playht-429-exceeded-quota' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'pipeline-error-tavus-video-failed' | 'pipeline-error-custom-transcriber-failed' | 'pipeline-error-11labs-transcriber-failed' | 'pipeline-error-deepgram-returning-403-model-access-denied' | 'pipeline-error-deepgram-returning-401-invalid-credentials' | 'pipeline-error-deepgram-returning-404-not-found' | 'pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination' | 'pipeline-error-deepgram-returning-500-invalid-json' | 'pipeline-error-deepgram-returning-502-network-error' | 'pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach' | 'pipeline-error-google-transcriber-failed' | 'pipeline-error-openai-transcriber-failed' | 'call.start.error-get-org' | 'call.start.error-get-subscription' | 'call.start.error-get-assistant' | 'call.start.error-get-phone-number' | 'call.start.error-get-customer' | 'call.start.error-get-resources-validation' | 'call.start.error-vapi-number-international' | 'call.start.error-vapi-number-outbound-daily-limit' | 'call.start.error-get-transport' | 'silence-timed-out' | 'sip-gateway-failed-to-connect-call' | 'twilio-failed-to-connect-call' | 'twilio-reported-customer-misdialed' | 'vonage-rejected' | 'voicemail';
|
|
13572
|
+
endedReason: 'call-start-error-neither-assistant-nor-server-set' | 'assistant-request-failed' | 'assistant-request-returned-error' | 'assistant-request-returned-unspeakable-error' | 'assistant-request-returned-invalid-assistant' | 'assistant-request-returned-no-assistant' | 'assistant-request-returned-forwarding-phone-number' | 'call.start.error-get-org' | 'call.start.error-get-subscription' | 'call.start.error-get-assistant' | 'call.start.error-get-phone-number' | 'call.start.error-get-customer' | 'call.start.error-get-resources-validation' | 'call.start.error-vapi-number-international' | 'call.start.error-vapi-number-outbound-daily-limit' | 'call.start.error-get-transport' | 'assistant-not-valid' | 'database-error' | 'assistant-not-found' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-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-smallest-ai-voice-failed' | 'pipeline-error-neuphonic-voice-failed' | 'pipeline-error-hume-voice-failed' | 'pipeline-error-sesame-voice-failed' | 'pipeline-error-tavus-video-failed' | 'call.in-progress.error-vapifault-openai-voice-failed' | 'call.in-progress.error-vapifault-cartesia-voice-failed' | 'call.in-progress.error-vapifault-deepgram-voice-failed' | 'call.in-progress.error-vapifault-eleven-labs-voice-failed' | 'call.in-progress.error-vapifault-playht-voice-failed' | 'call.in-progress.error-vapifault-lmnt-voice-failed' | 'call.in-progress.error-vapifault-azure-voice-failed' | 'call.in-progress.error-vapifault-rime-ai-voice-failed' | 'call.in-progress.error-vapifault-smallest-ai-voice-failed' | 'call.in-progress.error-vapifault-neuphonic-voice-failed' | 'call.in-progress.error-vapifault-hume-voice-failed' | 'call.in-progress.error-vapifault-sesame-voice-failed' | 'call.in-progress.error-vapifault-tavus-video-failed' | 'pipeline-error-vapi-llm-failed' | 'pipeline-error-vapi-400-bad-request-validation-failed' | 'pipeline-error-vapi-401-unauthorized' | 'pipeline-error-vapi-403-model-access-denied' | 'pipeline-error-vapi-429-exceeded-quota' | 'pipeline-error-vapi-500-server-error' | 'pipeline-error-vapi-503-server-overloaded-error' | 'call.in-progress.error-vapifault-vapi-llm-failed' | 'call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-vapi-401-unauthorized' | 'call.in-progress.error-vapifault-vapi-403-model-access-denied' | 'call.in-progress.error-vapifault-vapi-429-exceeded-quota' | 'call.in-progress.error-providerfault-vapi-500-server-error' | 'call.in-progress.error-providerfault-vapi-503-server-overloaded-error' | 'pipeline-error-deepgram-transcriber-failed' | 'call.in-progress.error-vapifault-deepgram-transcriber-failed' | 'pipeline-error-gladia-transcriber-failed' | 'call.in-progress.error-vapifault-gladia-transcriber-failed' | 'pipeline-error-speechmatics-transcriber-failed' | 'call.in-progress.error-vapifault-speechmatics-transcriber-failed' | 'pipeline-error-assembly-ai-transcriber-failed' | 'pipeline-error-assembly-ai-returning-400-insufficent-funds' | 'pipeline-error-assembly-ai-returning-400-paid-only-feature' | 'pipeline-error-assembly-ai-returning-401-invalid-credentials' | 'pipeline-error-assembly-ai-returning-500-invalid-schema' | 'pipeline-error-assembly-ai-returning-500-word-boost-parsing-failed' | 'call.in-progress.error-vapifault-assembly-ai-transcriber-failed' | 'call.in-progress.error-vapifault-assembly-ai-returning-400-insufficent-funds' | 'call.in-progress.error-vapifault-assembly-ai-returning-400-paid-only-feature' | 'call.in-progress.error-vapifault-assembly-ai-returning-401-invalid-credentials' | 'call.in-progress.error-vapifault-assembly-ai-returning-500-invalid-schema' | 'call.in-progress.error-vapifault-assembly-ai-returning-500-word-boost-parsing-failed' | 'pipeline-error-talkscriber-transcriber-failed' | 'call.in-progress.error-vapifault-talkscriber-transcriber-failed' | 'pipeline-error-azure-speech-transcriber-failed' | 'call.in-progress.error-vapifault-azure-speech-transcriber-failed' | 'call.in-progress.error-pipeline-no-available-llm-model' | 'worker-shutdown' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'vonage-completed' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'call.in-progress.error-providerfault-transport-never-connected' | 'call.in-progress.error-vapifault-worker-not-available' | 'call.in-progress.error-vapifault-transport-never-connected' | 'call.in-progress.error-vapifault-transport-connected-but-call-not-active' | 'call.in-progress.error-vapifault-call-started-but-connection-to-transport-missing' | 'call.in-progress.error-vapifault-openai-llm-failed' | 'call.in-progress.error-vapifault-azure-openai-llm-failed' | 'call.in-progress.error-vapifault-groq-llm-failed' | 'call.in-progress.error-vapifault-google-llm-failed' | 'call.in-progress.error-vapifault-xai-llm-failed' | 'call.in-progress.error-vapifault-mistral-llm-failed' | 'call.in-progress.error-vapifault-inflection-ai-llm-failed' | 'call.in-progress.error-vapifault-cerebras-llm-failed' | 'call.in-progress.error-vapifault-deep-seek-llm-failed' | 'pipeline-error-openai-400-bad-request-validation-failed' | 'pipeline-error-openai-401-unauthorized' | 'pipeline-error-openai-401-incorrect-api-key' | 'pipeline-error-openai-401-account-not-in-organization' | 'pipeline-error-openai-403-model-access-denied' | 'pipeline-error-openai-429-exceeded-quota' | 'pipeline-error-openai-429-rate-limit-reached' | 'pipeline-error-openai-500-server-error' | 'pipeline-error-openai-503-server-overloaded-error' | 'pipeline-error-openai-llm-failed' | 'call.in-progress.error-vapifault-openai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-openai-401-unauthorized' | 'call.in-progress.error-vapifault-openai-401-incorrect-api-key' | 'call.in-progress.error-vapifault-openai-401-account-not-in-organization' | 'call.in-progress.error-vapifault-openai-403-model-access-denied' | 'call.in-progress.error-vapifault-openai-429-exceeded-quota' | 'call.in-progress.error-vapifault-openai-429-rate-limit-reached' | 'call.in-progress.error-providerfault-openai-500-server-error' | 'call.in-progress.error-providerfault-openai-503-server-overloaded-error' | 'pipeline-error-azure-openai-400-bad-request-validation-failed' | 'pipeline-error-azure-openai-401-unauthorized' | 'pipeline-error-azure-openai-403-model-access-denied' | 'pipeline-error-azure-openai-429-exceeded-quota' | 'pipeline-error-azure-openai-500-server-error' | 'pipeline-error-azure-openai-503-server-overloaded-error' | 'pipeline-error-azure-openai-llm-failed' | 'call.in-progress.error-vapifault-azure-openai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-azure-openai-401-unauthorized' | 'call.in-progress.error-vapifault-azure-openai-403-model-access-denied' | 'call.in-progress.error-vapifault-azure-openai-429-exceeded-quota' | 'call.in-progress.error-providerfault-azure-openai-500-server-error' | 'call.in-progress.error-providerfault-azure-openai-503-server-overloaded-error' | 'pipeline-error-google-400-bad-request-validation-failed' | 'pipeline-error-google-401-unauthorized' | 'pipeline-error-google-403-model-access-denied' | 'pipeline-error-google-429-exceeded-quota' | 'pipeline-error-google-500-server-error' | 'pipeline-error-google-503-server-overloaded-error' | 'pipeline-error-google-llm-failed' | 'call.in-progress.error-vapifault-google-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-google-401-unauthorized' | 'call.in-progress.error-vapifault-google-403-model-access-denied' | 'call.in-progress.error-vapifault-google-429-exceeded-quota' | 'call.in-progress.error-providerfault-google-500-server-error' | 'call.in-progress.error-providerfault-google-503-server-overloaded-error' | 'pipeline-error-xai-400-bad-request-validation-failed' | 'pipeline-error-xai-401-unauthorized' | 'pipeline-error-xai-403-model-access-denied' | 'pipeline-error-xai-429-exceeded-quota' | 'pipeline-error-xai-500-server-error' | 'pipeline-error-xai-503-server-overloaded-error' | 'pipeline-error-xai-llm-failed' | 'call.in-progress.error-vapifault-xai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-xai-401-unauthorized' | 'call.in-progress.error-vapifault-xai-403-model-access-denied' | 'call.in-progress.error-vapifault-xai-429-exceeded-quota' | 'call.in-progress.error-providerfault-xai-500-server-error' | 'call.in-progress.error-providerfault-xai-503-server-overloaded-error' | 'pipeline-error-mistral-400-bad-request-validation-failed' | 'pipeline-error-mistral-401-unauthorized' | 'pipeline-error-mistral-403-model-access-denied' | 'pipeline-error-mistral-429-exceeded-quota' | 'pipeline-error-mistral-500-server-error' | 'pipeline-error-mistral-503-server-overloaded-error' | 'pipeline-error-mistral-llm-failed' | 'call.in-progress.error-vapifault-mistral-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-mistral-401-unauthorized' | 'call.in-progress.error-vapifault-mistral-403-model-access-denied' | 'call.in-progress.error-vapifault-mistral-429-exceeded-quota' | 'call.in-progress.error-providerfault-mistral-500-server-error' | 'call.in-progress.error-providerfault-mistral-503-server-overloaded-error' | 'pipeline-error-inflection-ai-400-bad-request-validation-failed' | 'pipeline-error-inflection-ai-401-unauthorized' | 'pipeline-error-inflection-ai-403-model-access-denied' | 'pipeline-error-inflection-ai-429-exceeded-quota' | 'pipeline-error-inflection-ai-500-server-error' | 'pipeline-error-inflection-ai-503-server-overloaded-error' | 'pipeline-error-inflection-ai-llm-failed' | 'call.in-progress.error-vapifault-inflection-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-inflection-ai-401-unauthorized' | 'call.in-progress.error-vapifault-inflection-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-inflection-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-inflection-ai-500-server-error' | 'call.in-progress.error-providerfault-inflection-ai-503-server-overloaded-error' | 'pipeline-error-deep-seek-400-bad-request-validation-failed' | 'pipeline-error-deep-seek-401-unauthorized' | 'pipeline-error-deep-seek-403-model-access-denied' | 'pipeline-error-deep-seek-429-exceeded-quota' | 'pipeline-error-deep-seek-500-server-error' | 'pipeline-error-deep-seek-503-server-overloaded-error' | 'pipeline-error-deep-seek-llm-failed' | 'call.in-progress.error-vapifault-deep-seek-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-deep-seek-401-unauthorized' | 'call.in-progress.error-vapifault-deep-seek-403-model-access-denied' | 'call.in-progress.error-vapifault-deep-seek-429-exceeded-quota' | 'call.in-progress.error-providerfault-deep-seek-500-server-error' | 'call.in-progress.error-providerfault-deep-seek-503-server-overloaded-error' | 'pipeline-error-groq-400-bad-request-validation-failed' | 'pipeline-error-groq-401-unauthorized' | 'pipeline-error-groq-403-model-access-denied' | 'pipeline-error-groq-429-exceeded-quota' | 'pipeline-error-groq-500-server-error' | 'pipeline-error-groq-503-server-overloaded-error' | 'pipeline-error-groq-llm-failed' | 'call.in-progress.error-vapifault-groq-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-groq-401-unauthorized' | 'call.in-progress.error-vapifault-groq-403-model-access-denied' | 'call.in-progress.error-vapifault-groq-429-exceeded-quota' | 'call.in-progress.error-providerfault-groq-500-server-error' | 'call.in-progress.error-providerfault-groq-503-server-overloaded-error' | 'pipeline-error-cerebras-400-bad-request-validation-failed' | 'pipeline-error-cerebras-401-unauthorized' | 'pipeline-error-cerebras-403-model-access-denied' | 'pipeline-error-cerebras-429-exceeded-quota' | 'pipeline-error-cerebras-500-server-error' | 'pipeline-error-cerebras-503-server-overloaded-error' | 'pipeline-error-cerebras-llm-failed' | 'call.in-progress.error-vapifault-cerebras-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-cerebras-401-unauthorized' | 'call.in-progress.error-vapifault-cerebras-403-model-access-denied' | 'call.in-progress.error-vapifault-cerebras-429-exceeded-quota' | 'call.in-progress.error-providerfault-cerebras-500-server-error' | 'call.in-progress.error-providerfault-cerebras-503-server-overloaded-error' | 'pipeline-error-anthropic-400-bad-request-validation-failed' | 'pipeline-error-anthropic-401-unauthorized' | 'pipeline-error-anthropic-403-model-access-denied' | 'pipeline-error-anthropic-429-exceeded-quota' | 'pipeline-error-anthropic-500-server-error' | 'pipeline-error-anthropic-503-server-overloaded-error' | 'pipeline-error-anthropic-llm-failed' | 'call.in-progress.error-vapifault-anthropic-llm-failed' | 'call.in-progress.error-vapifault-anthropic-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-500-server-error' | 'call.in-progress.error-providerfault-anthropic-503-server-overloaded-error' | 'pipeline-error-anthropic-bedrock-400-bad-request-validation-failed' | 'pipeline-error-anthropic-bedrock-401-unauthorized' | 'pipeline-error-anthropic-bedrock-403-model-access-denied' | 'pipeline-error-anthropic-bedrock-429-exceeded-quota' | 'pipeline-error-anthropic-bedrock-500-server-error' | 'pipeline-error-anthropic-bedrock-503-server-overloaded-error' | 'pipeline-error-anthropic-bedrock-llm-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-llm-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-bedrock-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-bedrock-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-bedrock-500-server-error' | 'call.in-progress.error-providerfault-anthropic-bedrock-503-server-overloaded-error' | 'pipeline-error-anthropic-vertex-400-bad-request-validation-failed' | 'pipeline-error-anthropic-vertex-401-unauthorized' | 'pipeline-error-anthropic-vertex-403-model-access-denied' | 'pipeline-error-anthropic-vertex-429-exceeded-quota' | 'pipeline-error-anthropic-vertex-500-server-error' | 'pipeline-error-anthropic-vertex-503-server-overloaded-error' | 'pipeline-error-anthropic-vertex-llm-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-llm-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-vertex-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-vertex-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-vertex-500-server-error' | 'call.in-progress.error-providerfault-anthropic-vertex-503-server-overloaded-error' | 'pipeline-error-together-ai-400-bad-request-validation-failed' | 'pipeline-error-together-ai-401-unauthorized' | 'pipeline-error-together-ai-403-model-access-denied' | 'pipeline-error-together-ai-429-exceeded-quota' | 'pipeline-error-together-ai-500-server-error' | 'pipeline-error-together-ai-503-server-overloaded-error' | 'pipeline-error-together-ai-llm-failed' | 'call.in-progress.error-vapifault-together-ai-llm-failed' | 'call.in-progress.error-vapifault-together-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-together-ai-401-unauthorized' | 'call.in-progress.error-vapifault-together-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-together-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-together-ai-500-server-error' | 'call.in-progress.error-providerfault-together-ai-503-server-overloaded-error' | 'pipeline-error-anyscale-400-bad-request-validation-failed' | 'pipeline-error-anyscale-401-unauthorized' | 'pipeline-error-anyscale-403-model-access-denied' | 'pipeline-error-anyscale-429-exceeded-quota' | 'pipeline-error-anyscale-500-server-error' | 'pipeline-error-anyscale-503-server-overloaded-error' | 'pipeline-error-anyscale-llm-failed' | 'call.in-progress.error-vapifault-anyscale-llm-failed' | 'call.in-progress.error-vapifault-anyscale-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anyscale-401-unauthorized' | 'call.in-progress.error-vapifault-anyscale-403-model-access-denied' | 'call.in-progress.error-vapifault-anyscale-429-exceeded-quota' | 'call.in-progress.error-providerfault-anyscale-500-server-error' | 'call.in-progress.error-providerfault-anyscale-503-server-overloaded-error' | 'pipeline-error-openrouter-400-bad-request-validation-failed' | 'pipeline-error-openrouter-401-unauthorized' | 'pipeline-error-openrouter-403-model-access-denied' | 'pipeline-error-openrouter-429-exceeded-quota' | 'pipeline-error-openrouter-500-server-error' | 'pipeline-error-openrouter-503-server-overloaded-error' | 'pipeline-error-openrouter-llm-failed' | 'call.in-progress.error-vapifault-openrouter-llm-failed' | 'call.in-progress.error-vapifault-openrouter-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-openrouter-401-unauthorized' | 'call.in-progress.error-vapifault-openrouter-403-model-access-denied' | 'call.in-progress.error-vapifault-openrouter-429-exceeded-quota' | 'call.in-progress.error-providerfault-openrouter-500-server-error' | 'call.in-progress.error-providerfault-openrouter-503-server-overloaded-error' | 'pipeline-error-perplexity-ai-400-bad-request-validation-failed' | 'pipeline-error-perplexity-ai-401-unauthorized' | 'pipeline-error-perplexity-ai-403-model-access-denied' | 'pipeline-error-perplexity-ai-429-exceeded-quota' | 'pipeline-error-perplexity-ai-500-server-error' | 'pipeline-error-perplexity-ai-503-server-overloaded-error' | 'pipeline-error-perplexity-ai-llm-failed' | 'call.in-progress.error-vapifault-perplexity-ai-llm-failed' | 'call.in-progress.error-vapifault-perplexity-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-perplexity-ai-401-unauthorized' | 'call.in-progress.error-vapifault-perplexity-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-perplexity-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-perplexity-ai-500-server-error' | 'call.in-progress.error-providerfault-perplexity-ai-503-server-overloaded-error' | 'pipeline-error-deepinfra-400-bad-request-validation-failed' | 'pipeline-error-deepinfra-401-unauthorized' | 'pipeline-error-deepinfra-403-model-access-denied' | 'pipeline-error-deepinfra-429-exceeded-quota' | 'pipeline-error-deepinfra-500-server-error' | 'pipeline-error-deepinfra-503-server-overloaded-error' | 'pipeline-error-deepinfra-llm-failed' | 'call.in-progress.error-vapifault-deepinfra-llm-failed' | 'call.in-progress.error-vapifault-deepinfra-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-deepinfra-401-unauthorized' | 'call.in-progress.error-vapifault-deepinfra-403-model-access-denied' | 'call.in-progress.error-vapifault-deepinfra-429-exceeded-quota' | 'call.in-progress.error-providerfault-deepinfra-500-server-error' | 'call.in-progress.error-providerfault-deepinfra-503-server-overloaded-error' | 'pipeline-error-runpod-400-bad-request-validation-failed' | 'pipeline-error-runpod-401-unauthorized' | 'pipeline-error-runpod-403-model-access-denied' | 'pipeline-error-runpod-429-exceeded-quota' | 'pipeline-error-runpod-500-server-error' | 'pipeline-error-runpod-503-server-overloaded-error' | 'pipeline-error-runpod-llm-failed' | 'call.in-progress.error-vapifault-runpod-llm-failed' | 'call.in-progress.error-vapifault-runpod-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-runpod-401-unauthorized' | 'call.in-progress.error-vapifault-runpod-403-model-access-denied' | 'call.in-progress.error-vapifault-runpod-429-exceeded-quota' | 'call.in-progress.error-providerfault-runpod-500-server-error' | 'call.in-progress.error-providerfault-runpod-503-server-overloaded-error' | 'pipeline-error-custom-llm-400-bad-request-validation-failed' | 'pipeline-error-custom-llm-401-unauthorized' | 'pipeline-error-custom-llm-403-model-access-denied' | 'pipeline-error-custom-llm-429-exceeded-quota' | 'pipeline-error-custom-llm-500-server-error' | 'pipeline-error-custom-llm-503-server-overloaded-error' | 'pipeline-error-custom-llm-llm-failed' | 'call.in-progress.error-vapifault-custom-llm-llm-failed' | 'call.in-progress.error-vapifault-custom-llm-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-custom-llm-401-unauthorized' | 'call.in-progress.error-vapifault-custom-llm-403-model-access-denied' | 'call.in-progress.error-vapifault-custom-llm-429-exceeded-quota' | 'call.in-progress.error-providerfault-custom-llm-500-server-error' | 'call.in-progress.error-providerfault-custom-llm-503-server-overloaded-error' | 'pipeline-error-custom-voice-failed' | 'pipeline-error-cartesia-socket-hang-up' | 'pipeline-error-cartesia-requested-payment' | 'pipeline-error-cartesia-500-server-error' | 'pipeline-error-cartesia-503-server-error' | 'pipeline-error-cartesia-522-server-error' | 'call.in-progress.error-vapifault-cartesia-socket-hang-up' | 'call.in-progress.error-vapifault-cartesia-requested-payment' | 'call.in-progress.error-providerfault-cartesia-500-server-error' | 'call.in-progress.error-providerfault-cartesia-503-server-error' | 'call.in-progress.error-providerfault-cartesia-522-server-error' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-unauthorized-to-access-model' | 'pipeline-error-eleven-labs-professional-voices-only-for-creator-plus' | 'pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | '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-eleven-labs-invalid-voice-samples' | 'pipeline-error-eleven-labs-voice-disabled-by-owner' | 'pipeline-error-eleven-labs-blocked-account-in-probation' | 'pipeline-error-eleven-labs-blocked-content-against-their-policy' | 'pipeline-error-eleven-labs-missing-samples-for-voice-clone' | 'pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'pipeline-error-eleven-labs-voice-not-allowed-for-free-users' | 'pipeline-error-eleven-labs-max-character-limit-exceeded' | 'pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | 'pipeline-error-eleven-labs-500-server-error' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-found' | 'call.in-progress.error-vapifault-eleven-labs-quota-exceeded' | 'call.in-progress.error-vapifault-eleven-labs-unauthorized-access' | 'call.in-progress.error-vapifault-eleven-labs-unauthorized-to-access-model' | 'call.in-progress.error-vapifault-eleven-labs-professional-voices-only-for-creator-plus' | 'call.in-progress.error-vapifault-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-system-busy-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned' | 'call.in-progress.error-vapifault-eleven-labs-invalid-api-key' | 'call.in-progress.error-vapifault-eleven-labs-invalid-voice-samples' | 'call.in-progress.error-vapifault-eleven-labs-voice-disabled-by-owner' | 'call.in-progress.error-vapifault-eleven-labs-blocked-account-in-probation' | 'call.in-progress.error-vapifault-eleven-labs-blocked-content-against-their-policy' | 'call.in-progress.error-vapifault-eleven-labs-missing-samples-for-voice-clone' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-allowed-for-free-users' | 'call.in-progress.error-vapifault-eleven-labs-max-character-limit-exceeded' | 'call.in-progress.error-vapifault-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | 'call.in-progress.error-providerfault-eleven-labs-500-server-error' | '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-invalid-emotion' | 'pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri' | 'pipeline-error-playht-401-unauthorized' | 'pipeline-error-playht-403-forbidden-out-of-characters' | 'pipeline-error-playht-403-forbidden-api-access-not-available' | 'pipeline-error-playht-429-exceeded-quota' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'call.in-progress.error-vapifault-playht-request-timed-out' | 'call.in-progress.error-vapifault-playht-invalid-voice' | 'call.in-progress.error-vapifault-playht-unexpected-error' | 'call.in-progress.error-vapifault-playht-out-of-credits' | 'call.in-progress.error-vapifault-playht-invalid-emotion' | 'call.in-progress.error-vapifault-playht-voice-must-be-a-valid-voice-manifest-uri' | 'call.in-progress.error-vapifault-playht-401-unauthorized' | 'call.in-progress.error-vapifault-playht-403-forbidden-out-of-characters' | 'call.in-progress.error-vapifault-playht-403-forbidden-api-access-not-available' | 'call.in-progress.error-vapifault-playht-429-exceeded-quota' | 'call.in-progress.error-providerfault-playht-502-gateway-error' | 'call.in-progress.error-providerfault-playht-504-gateway-error' | 'pipeline-error-custom-transcriber-failed' | 'call.in-progress.error-vapifault-custom-transcriber-failed' | 'pipeline-error-eleven-labs-transcriber-failed' | 'call.in-progress.error-vapifault-eleven-labs-transcriber-failed' | 'pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination' | 'pipeline-error-deepgram-returning-401-invalid-credentials' | 'pipeline-error-deepgram-returning-403-model-access-denied' | 'pipeline-error-deepgram-returning-404-not-found' | 'pipeline-error-deepgram-returning-500-invalid-json' | 'pipeline-error-deepgram-returning-502-network-error' | 'pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach' | 'call.in-progress.error-vapifault-deepgram-returning-400-no-such-model-language-tier-combination' | 'call.in-progress.error-vapifault-deepgram-returning-401-invalid-credentials' | 'call.in-progress.error-vapifault-deepgram-returning-404-not-found' | 'call.in-progress.error-vapifault-deepgram-returning-403-model-access-denied' | 'call.in-progress.error-providerfault-deepgram-returning-500-invalid-json' | 'call.in-progress.error-providerfault-deepgram-returning-502-network-error' | 'call.in-progress.error-providerfault-deepgram-returning-502-bad-gateway-ehostunreach' | 'pipeline-error-google-transcriber-failed' | 'call.in-progress.error-vapifault-google-transcriber-failed' | 'pipeline-error-openai-transcriber-failed' | 'call.in-progress.error-vapifault-openai-transcriber-failed' | 'assistant-ended-call' | 'assistant-said-end-call-phrase' | 'assistant-ended-call-with-hangup-task' | 'assistant-ended-call-after-message-spoken' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'call.in-progress.error-assistant-did-not-receive-customer-audio' | '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' | 'call.forwarding.operator-busy' | 'silence-timed-out' | 'call.in-progress.error-sip-telephony-provider-failed-to-connect-call' | 'call.ringing.hook-executed-say' | 'call.ringing.hook-executed-transfer' | 'twilio-failed-to-connect-call' | 'twilio-reported-customer-misdialed' | 'vonage-rejected' | 'voicemail';
|
|
12225
13573
|
/** This is the cost of the call in USD. This can also be found at `call.cost` on GET /call/:id. */
|
|
12226
13574
|
cost?: number;
|
|
12227
13575
|
/** These are the costs of individual components of the call in USD. This can also be found at `call.costs` on GET /call/:id. */
|
|
12228
13576
|
costs?: (TransportCost | TranscriberCost | ModelCost | VoiceCost | VapiCost | VoicemailDetectionCost | AnalysisCost)[];
|
|
12229
|
-
/** This is the
|
|
12230
|
-
timestamp?:
|
|
13577
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13578
|
+
timestamp?: number;
|
|
12231
13579
|
/** These are the artifacts from the call. This can also be found at `call.artifact` on GET /call/:id. */
|
|
12232
13580
|
artifact: Artifact;
|
|
12233
13581
|
/**
|
|
@@ -12288,8 +13636,8 @@ export interface ServerMessageHang {
|
|
|
12288
13636
|
* - etc.
|
|
12289
13637
|
*/
|
|
12290
13638
|
type: 'hang';
|
|
12291
|
-
/** This is the
|
|
12292
|
-
timestamp?:
|
|
13639
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13640
|
+
timestamp?: number;
|
|
12293
13641
|
/**
|
|
12294
13642
|
* This is a live version of the `call.artifact`.
|
|
12295
13643
|
*
|
|
@@ -12340,8 +13688,8 @@ export interface ServerMessageKnowledgeBaseRequest {
|
|
|
12340
13688
|
messages?: (UserMessage | SystemMessage | BotMessage | ToolCallMessage | ToolCallResultMessage)[];
|
|
12341
13689
|
/** This is just `messages` formatted for OpenAI. */
|
|
12342
13690
|
messagesOpenAIFormatted: OpenAIMessage[];
|
|
12343
|
-
/** This is the
|
|
12344
|
-
timestamp?:
|
|
13691
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13692
|
+
timestamp?: number;
|
|
12345
13693
|
/**
|
|
12346
13694
|
* This is a live version of the `call.artifact`.
|
|
12347
13695
|
*
|
|
@@ -12388,8 +13736,8 @@ export interface ServerMessageModelOutput {
|
|
|
12388
13736
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12389
13737
|
/** This is the type of the message. "model-output" is sent as the model outputs tokens. */
|
|
12390
13738
|
type: 'model-output';
|
|
12391
|
-
/** This is the
|
|
12392
|
-
timestamp?:
|
|
13739
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13740
|
+
timestamp?: number;
|
|
12393
13741
|
/**
|
|
12394
13742
|
* This is a live version of the `call.artifact`.
|
|
12395
13743
|
*
|
|
@@ -12446,8 +13794,8 @@ export interface ServerMessagePhoneCallControl {
|
|
|
12446
13794
|
request: 'forward' | 'hang-up';
|
|
12447
13795
|
/** This is the destination to forward the call to if the request is "forward". */
|
|
12448
13796
|
destination?: TransferDestinationNumber | TransferDestinationSip;
|
|
12449
|
-
/** This is the
|
|
12450
|
-
timestamp?:
|
|
13797
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13798
|
+
timestamp?: number;
|
|
12451
13799
|
/**
|
|
12452
13800
|
* This is a live version of the `call.artifact`.
|
|
12453
13801
|
*
|
|
@@ -12498,8 +13846,10 @@ export interface ServerMessageSpeechUpdate {
|
|
|
12498
13846
|
status: 'started' | 'stopped';
|
|
12499
13847
|
/** This is the role which the speech update is for. */
|
|
12500
13848
|
role: 'assistant' | 'user';
|
|
12501
|
-
/** This is the
|
|
12502
|
-
|
|
13849
|
+
/** This is the turn number of the speech update (0-indexed). */
|
|
13850
|
+
turn?: number;
|
|
13851
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13852
|
+
timestamp?: number;
|
|
12503
13853
|
/**
|
|
12504
13854
|
* This is a live version of the `call.artifact`.
|
|
12505
13855
|
*
|
|
@@ -12549,15 +13899,15 @@ export interface ServerMessageStatusUpdate {
|
|
|
12549
13899
|
/** This is the status of the call. */
|
|
12550
13900
|
status: 'scheduled' | 'queued' | 'ringing' | 'in-progress' | 'forwarding' | 'ended';
|
|
12551
13901
|
/** This is the reason the call ended. This is only sent if the status is "ended". */
|
|
12552
|
-
endedReason?: 'assistant-not-valid' | 'assistant-not-provided' | 'call-start-error-neither-assistant-nor-server-set' | 'assistant-request-failed' | 'assistant-request-returned-error' | 'assistant-request-returned-unspeakable-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-ended-call-with-hangup-task' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'customer-busy' | 'customer-ended-call' | 'customer-did-not-answer' | 'customer-did-not-give-microphone-permission' | 'assistant-said-message-with-end-call-enabled' | 'exceeded-max-duration' | 'manually-canceled' | 'phone-call-provider-closed-websocket' | 'db-error' | 'assistant-not-found' | 'license-check-failed' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-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-smallest-ai-voice-failed' | 'pipeline-error-neuphonic-voice-failed' | 'pipeline-error-hume-voice-failed' | 'pipeline-error-sesame-voice-failed' | 'pipeline-error-deepgram-transcriber-failed' | 'pipeline-error-gladia-transcriber-failed' | 'pipeline-error-speechmatics-transcriber-failed' | 'pipeline-error-assembly-ai-transcriber-failed' | 'pipeline-error-talkscriber-transcriber-failed' | 'pipeline-error-azure-speech-transcriber-failed' | 'pipeline-error-vapi-llm-failed' | 'pipeline-error-vapi-400-bad-request-validation-failed' | 'pipeline-error-vapi-401-unauthorized' | 'pipeline-error-vapi-403-model-access-denied' | 'pipeline-error-vapi-429-exceeded-quota' | 'pipeline-error-vapi-500-server-error' | 'pipeline-no-available-model' | 'worker-shutdown' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'vonage-completed' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'vapifault-phone-call-worker-setup-socket-error' | 'vapifault-phone-call-worker-worker-setup-socket-timeout' | 'vapifault-phone-call-worker-could-not-find-call' | 'vapifault-transport-never-connected' | 'vapifault-web-call-worker-setup-failed' | 'vapifault-transport-connected-but-call-not-active' | 'vapifault-call-started-but-connection-to-transport-missing' | 'pipeline-error-openai-llm-failed' | 'pipeline-error-azure-openai-llm-failed' | 'pipeline-error-groq-llm-failed' | 'pipeline-error-google-llm-failed' | 'pipeline-error-xai-llm-failed' | 'pipeline-error-mistral-llm-failed' | 'pipeline-error-inflection-ai-llm-failed' | 'pipeline-error-cerebras-llm-failed' | 'pipeline-error-deep-seek-llm-failed' | 'pipeline-error-openai-400-bad-request-validation-failed' | 'pipeline-error-openai-401-unauthorized' | 'pipeline-error-openai-403-model-access-denied' | 'pipeline-error-openai-429-exceeded-quota' | 'pipeline-error-openai-500-server-error' | 'pipeline-error-google-400-bad-request-validation-failed' | 'pipeline-error-google-401-unauthorized' | 'pipeline-error-google-403-model-access-denied' | 'pipeline-error-google-429-exceeded-quota' | 'pipeline-error-google-500-server-error' | 'pipeline-error-xai-400-bad-request-validation-failed' | 'pipeline-error-xai-401-unauthorized' | 'pipeline-error-xai-403-model-access-denied' | 'pipeline-error-xai-429-exceeded-quota' | 'pipeline-error-xai-500-server-error' | 'pipeline-error-mistral-400-bad-request-validation-failed' | 'pipeline-error-mistral-401-unauthorized' | 'pipeline-error-mistral-403-model-access-denied' | 'pipeline-error-mistral-429-exceeded-quota' | 'pipeline-error-mistral-500-server-error' | 'pipeline-error-inflection-ai-400-bad-request-validation-failed' | 'pipeline-error-inflection-ai-401-unauthorized' | 'pipeline-error-inflection-ai-403-model-access-denied' | 'pipeline-error-inflection-ai-429-exceeded-quota' | 'pipeline-error-inflection-ai-500-server-error' | 'pipeline-error-deep-seek-400-bad-request-validation-failed' | 'pipeline-error-deep-seek-401-unauthorized' | 'pipeline-error-deep-seek-403-model-access-denied' | 'pipeline-error-deep-seek-429-exceeded-quota' | 'pipeline-error-deep-seek-500-server-error' | 'pipeline-error-azure-openai-400-bad-request-validation-failed' | 'pipeline-error-azure-openai-401-unauthorized' | 'pipeline-error-azure-openai-403-model-access-denied' | 'pipeline-error-azure-openai-429-exceeded-quota' | 'pipeline-error-azure-openai-500-server-error' | 'pipeline-error-groq-400-bad-request-validation-failed' | 'pipeline-error-groq-401-unauthorized' | 'pipeline-error-groq-403-model-access-denied' | 'pipeline-error-groq-429-exceeded-quota' | 'pipeline-error-groq-500-server-error' | 'pipeline-error-cerebras-400-bad-request-validation-failed' | 'pipeline-error-cerebras-401-unauthorized' | 'pipeline-error-cerebras-403-model-access-denied' | 'pipeline-error-cerebras-429-exceeded-quota' | 'pipeline-error-cerebras-500-server-error' | 'pipeline-error-anthropic-400-bad-request-validation-failed' | 'pipeline-error-anthropic-401-unauthorized' | 'pipeline-error-anthropic-403-model-access-denied' | 'pipeline-error-anthropic-429-exceeded-quota' | 'pipeline-error-anthropic-500-server-error' | 'pipeline-error-anthropic-llm-failed' | 'pipeline-error-together-ai-400-bad-request-validation-failed' | 'pipeline-error-together-ai-401-unauthorized' | 'pipeline-error-together-ai-403-model-access-denied' | 'pipeline-error-together-ai-429-exceeded-quota' | 'pipeline-error-together-ai-500-server-error' | 'pipeline-error-together-ai-llm-failed' | 'pipeline-error-anyscale-400-bad-request-validation-failed' | 'pipeline-error-anyscale-401-unauthorized' | 'pipeline-error-anyscale-403-model-access-denied' | 'pipeline-error-anyscale-429-exceeded-quota' | 'pipeline-error-anyscale-500-server-error' | 'pipeline-error-anyscale-llm-failed' | 'pipeline-error-openrouter-400-bad-request-validation-failed' | 'pipeline-error-openrouter-401-unauthorized' | 'pipeline-error-openrouter-403-model-access-denied' | 'pipeline-error-openrouter-429-exceeded-quota' | 'pipeline-error-openrouter-500-server-error' | 'pipeline-error-openrouter-llm-failed' | 'pipeline-error-perplexity-ai-400-bad-request-validation-failed' | 'pipeline-error-perplexity-ai-401-unauthorized' | 'pipeline-error-perplexity-ai-403-model-access-denied' | 'pipeline-error-perplexity-ai-429-exceeded-quota' | 'pipeline-error-perplexity-ai-500-server-error' | 'pipeline-error-perplexity-ai-llm-failed' | 'pipeline-error-deepinfra-400-bad-request-validation-failed' | 'pipeline-error-deepinfra-401-unauthorized' | 'pipeline-error-deepinfra-403-model-access-denied' | 'pipeline-error-deepinfra-429-exceeded-quota' | 'pipeline-error-deepinfra-500-server-error' | 'pipeline-error-deepinfra-llm-failed' | 'pipeline-error-runpod-400-bad-request-validation-failed' | 'pipeline-error-runpod-401-unauthorized' | 'pipeline-error-runpod-403-model-access-denied' | 'pipeline-error-runpod-429-exceeded-quota' | 'pipeline-error-runpod-500-server-error' | 'pipeline-error-runpod-llm-failed' | 'pipeline-error-custom-llm-400-bad-request-validation-failed' | 'pipeline-error-custom-llm-401-unauthorized' | 'pipeline-error-custom-llm-403-model-access-denied' | 'pipeline-error-custom-llm-429-exceeded-quota' | 'pipeline-error-custom-llm-500-server-error' | 'pipeline-error-custom-llm-llm-failed' | 'pipeline-error-custom-voice-failed' | 'pipeline-error-cartesia-socket-hang-up' | 'pipeline-error-cartesia-requested-payment' | 'pipeline-error-cartesia-500-server-error' | 'pipeline-error-cartesia-503-server-error' | 'pipeline-error-cartesia-522-server-error' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-unauthorized-to-access-model' | 'pipeline-error-eleven-labs-professional-voices-only-for-creator-plus' | 'pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | '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-eleven-labs-invalid-voice-samples' | 'pipeline-error-eleven-labs-voice-disabled-by-owner' | 'pipeline-error-eleven-labs-blocked-account-in-probation' | 'pipeline-error-eleven-labs-blocked-content-against-their-policy' | 'pipeline-error-eleven-labs-missing-samples-for-voice-clone' | 'pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'pipeline-error-eleven-labs-voice-not-allowed-for-free-users' | 'pipeline-error-eleven-labs-500-server-error' | 'pipeline-error-eleven-labs-max-character-limit-exceeded' | 'pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | '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-invalid-emotion' | 'pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri' | 'pipeline-error-playht-401-unauthorized' | 'pipeline-error-playht-403-forbidden-out-of-characters' | 'pipeline-error-playht-403-forbidden-api-access-not-available' | 'pipeline-error-playht-429-exceeded-quota' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'pipeline-error-tavus-video-failed' | 'pipeline-error-custom-transcriber-failed' | 'pipeline-error-11labs-transcriber-failed' | 'pipeline-error-deepgram-returning-403-model-access-denied' | 'pipeline-error-deepgram-returning-401-invalid-credentials' | 'pipeline-error-deepgram-returning-404-not-found' | 'pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination' | 'pipeline-error-deepgram-returning-500-invalid-json' | 'pipeline-error-deepgram-returning-502-network-error' | 'pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach' | 'pipeline-error-google-transcriber-failed' | 'pipeline-error-openai-transcriber-failed' | 'call.start.error-get-org' | 'call.start.error-get-subscription' | 'call.start.error-get-assistant' | 'call.start.error-get-phone-number' | 'call.start.error-get-customer' | 'call.start.error-get-resources-validation' | 'call.start.error-vapi-number-international' | 'call.start.error-vapi-number-outbound-daily-limit' | 'call.start.error-get-transport' | 'silence-timed-out' | 'sip-gateway-failed-to-connect-call' | 'twilio-failed-to-connect-call' | 'twilio-reported-customer-misdialed' | 'vonage-rejected' | 'voicemail';
|
|
13902
|
+
endedReason?: 'call-start-error-neither-assistant-nor-server-set' | 'assistant-request-failed' | 'assistant-request-returned-error' | 'assistant-request-returned-unspeakable-error' | 'assistant-request-returned-invalid-assistant' | 'assistant-request-returned-no-assistant' | 'assistant-request-returned-forwarding-phone-number' | 'call.start.error-get-org' | 'call.start.error-get-subscription' | 'call.start.error-get-assistant' | 'call.start.error-get-phone-number' | 'call.start.error-get-customer' | 'call.start.error-get-resources-validation' | 'call.start.error-vapi-number-international' | 'call.start.error-vapi-number-outbound-daily-limit' | 'call.start.error-get-transport' | 'assistant-not-valid' | 'database-error' | 'assistant-not-found' | 'pipeline-error-openai-voice-failed' | 'pipeline-error-cartesia-voice-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-smallest-ai-voice-failed' | 'pipeline-error-neuphonic-voice-failed' | 'pipeline-error-hume-voice-failed' | 'pipeline-error-sesame-voice-failed' | 'pipeline-error-tavus-video-failed' | 'call.in-progress.error-vapifault-openai-voice-failed' | 'call.in-progress.error-vapifault-cartesia-voice-failed' | 'call.in-progress.error-vapifault-deepgram-voice-failed' | 'call.in-progress.error-vapifault-eleven-labs-voice-failed' | 'call.in-progress.error-vapifault-playht-voice-failed' | 'call.in-progress.error-vapifault-lmnt-voice-failed' | 'call.in-progress.error-vapifault-azure-voice-failed' | 'call.in-progress.error-vapifault-rime-ai-voice-failed' | 'call.in-progress.error-vapifault-smallest-ai-voice-failed' | 'call.in-progress.error-vapifault-neuphonic-voice-failed' | 'call.in-progress.error-vapifault-hume-voice-failed' | 'call.in-progress.error-vapifault-sesame-voice-failed' | 'call.in-progress.error-vapifault-tavus-video-failed' | 'pipeline-error-vapi-llm-failed' | 'pipeline-error-vapi-400-bad-request-validation-failed' | 'pipeline-error-vapi-401-unauthorized' | 'pipeline-error-vapi-403-model-access-denied' | 'pipeline-error-vapi-429-exceeded-quota' | 'pipeline-error-vapi-500-server-error' | 'pipeline-error-vapi-503-server-overloaded-error' | 'call.in-progress.error-vapifault-vapi-llm-failed' | 'call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-vapi-401-unauthorized' | 'call.in-progress.error-vapifault-vapi-403-model-access-denied' | 'call.in-progress.error-vapifault-vapi-429-exceeded-quota' | 'call.in-progress.error-providerfault-vapi-500-server-error' | 'call.in-progress.error-providerfault-vapi-503-server-overloaded-error' | 'pipeline-error-deepgram-transcriber-failed' | 'call.in-progress.error-vapifault-deepgram-transcriber-failed' | 'pipeline-error-gladia-transcriber-failed' | 'call.in-progress.error-vapifault-gladia-transcriber-failed' | 'pipeline-error-speechmatics-transcriber-failed' | 'call.in-progress.error-vapifault-speechmatics-transcriber-failed' | 'pipeline-error-assembly-ai-transcriber-failed' | 'pipeline-error-assembly-ai-returning-400-insufficent-funds' | 'pipeline-error-assembly-ai-returning-400-paid-only-feature' | 'pipeline-error-assembly-ai-returning-401-invalid-credentials' | 'pipeline-error-assembly-ai-returning-500-invalid-schema' | 'pipeline-error-assembly-ai-returning-500-word-boost-parsing-failed' | 'call.in-progress.error-vapifault-assembly-ai-transcriber-failed' | 'call.in-progress.error-vapifault-assembly-ai-returning-400-insufficent-funds' | 'call.in-progress.error-vapifault-assembly-ai-returning-400-paid-only-feature' | 'call.in-progress.error-vapifault-assembly-ai-returning-401-invalid-credentials' | 'call.in-progress.error-vapifault-assembly-ai-returning-500-invalid-schema' | 'call.in-progress.error-vapifault-assembly-ai-returning-500-word-boost-parsing-failed' | 'pipeline-error-talkscriber-transcriber-failed' | 'call.in-progress.error-vapifault-talkscriber-transcriber-failed' | 'pipeline-error-azure-speech-transcriber-failed' | 'call.in-progress.error-vapifault-azure-speech-transcriber-failed' | 'call.in-progress.error-pipeline-no-available-llm-model' | 'worker-shutdown' | 'unknown-error' | 'vonage-disconnected' | 'vonage-failed-to-connect-call' | 'vonage-completed' | 'phone-call-provider-bypass-enabled-but-no-call-received' | 'call.in-progress.error-providerfault-transport-never-connected' | 'call.in-progress.error-vapifault-worker-not-available' | 'call.in-progress.error-vapifault-transport-never-connected' | 'call.in-progress.error-vapifault-transport-connected-but-call-not-active' | 'call.in-progress.error-vapifault-call-started-but-connection-to-transport-missing' | 'call.in-progress.error-vapifault-openai-llm-failed' | 'call.in-progress.error-vapifault-azure-openai-llm-failed' | 'call.in-progress.error-vapifault-groq-llm-failed' | 'call.in-progress.error-vapifault-google-llm-failed' | 'call.in-progress.error-vapifault-xai-llm-failed' | 'call.in-progress.error-vapifault-mistral-llm-failed' | 'call.in-progress.error-vapifault-inflection-ai-llm-failed' | 'call.in-progress.error-vapifault-cerebras-llm-failed' | 'call.in-progress.error-vapifault-deep-seek-llm-failed' | 'pipeline-error-openai-400-bad-request-validation-failed' | 'pipeline-error-openai-401-unauthorized' | 'pipeline-error-openai-401-incorrect-api-key' | 'pipeline-error-openai-401-account-not-in-organization' | 'pipeline-error-openai-403-model-access-denied' | 'pipeline-error-openai-429-exceeded-quota' | 'pipeline-error-openai-429-rate-limit-reached' | 'pipeline-error-openai-500-server-error' | 'pipeline-error-openai-503-server-overloaded-error' | 'pipeline-error-openai-llm-failed' | 'call.in-progress.error-vapifault-openai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-openai-401-unauthorized' | 'call.in-progress.error-vapifault-openai-401-incorrect-api-key' | 'call.in-progress.error-vapifault-openai-401-account-not-in-organization' | 'call.in-progress.error-vapifault-openai-403-model-access-denied' | 'call.in-progress.error-vapifault-openai-429-exceeded-quota' | 'call.in-progress.error-vapifault-openai-429-rate-limit-reached' | 'call.in-progress.error-providerfault-openai-500-server-error' | 'call.in-progress.error-providerfault-openai-503-server-overloaded-error' | 'pipeline-error-azure-openai-400-bad-request-validation-failed' | 'pipeline-error-azure-openai-401-unauthorized' | 'pipeline-error-azure-openai-403-model-access-denied' | 'pipeline-error-azure-openai-429-exceeded-quota' | 'pipeline-error-azure-openai-500-server-error' | 'pipeline-error-azure-openai-503-server-overloaded-error' | 'pipeline-error-azure-openai-llm-failed' | 'call.in-progress.error-vapifault-azure-openai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-azure-openai-401-unauthorized' | 'call.in-progress.error-vapifault-azure-openai-403-model-access-denied' | 'call.in-progress.error-vapifault-azure-openai-429-exceeded-quota' | 'call.in-progress.error-providerfault-azure-openai-500-server-error' | 'call.in-progress.error-providerfault-azure-openai-503-server-overloaded-error' | 'pipeline-error-google-400-bad-request-validation-failed' | 'pipeline-error-google-401-unauthorized' | 'pipeline-error-google-403-model-access-denied' | 'pipeline-error-google-429-exceeded-quota' | 'pipeline-error-google-500-server-error' | 'pipeline-error-google-503-server-overloaded-error' | 'pipeline-error-google-llm-failed' | 'call.in-progress.error-vapifault-google-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-google-401-unauthorized' | 'call.in-progress.error-vapifault-google-403-model-access-denied' | 'call.in-progress.error-vapifault-google-429-exceeded-quota' | 'call.in-progress.error-providerfault-google-500-server-error' | 'call.in-progress.error-providerfault-google-503-server-overloaded-error' | 'pipeline-error-xai-400-bad-request-validation-failed' | 'pipeline-error-xai-401-unauthorized' | 'pipeline-error-xai-403-model-access-denied' | 'pipeline-error-xai-429-exceeded-quota' | 'pipeline-error-xai-500-server-error' | 'pipeline-error-xai-503-server-overloaded-error' | 'pipeline-error-xai-llm-failed' | 'call.in-progress.error-vapifault-xai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-xai-401-unauthorized' | 'call.in-progress.error-vapifault-xai-403-model-access-denied' | 'call.in-progress.error-vapifault-xai-429-exceeded-quota' | 'call.in-progress.error-providerfault-xai-500-server-error' | 'call.in-progress.error-providerfault-xai-503-server-overloaded-error' | 'pipeline-error-mistral-400-bad-request-validation-failed' | 'pipeline-error-mistral-401-unauthorized' | 'pipeline-error-mistral-403-model-access-denied' | 'pipeline-error-mistral-429-exceeded-quota' | 'pipeline-error-mistral-500-server-error' | 'pipeline-error-mistral-503-server-overloaded-error' | 'pipeline-error-mistral-llm-failed' | 'call.in-progress.error-vapifault-mistral-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-mistral-401-unauthorized' | 'call.in-progress.error-vapifault-mistral-403-model-access-denied' | 'call.in-progress.error-vapifault-mistral-429-exceeded-quota' | 'call.in-progress.error-providerfault-mistral-500-server-error' | 'call.in-progress.error-providerfault-mistral-503-server-overloaded-error' | 'pipeline-error-inflection-ai-400-bad-request-validation-failed' | 'pipeline-error-inflection-ai-401-unauthorized' | 'pipeline-error-inflection-ai-403-model-access-denied' | 'pipeline-error-inflection-ai-429-exceeded-quota' | 'pipeline-error-inflection-ai-500-server-error' | 'pipeline-error-inflection-ai-503-server-overloaded-error' | 'pipeline-error-inflection-ai-llm-failed' | 'call.in-progress.error-vapifault-inflection-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-inflection-ai-401-unauthorized' | 'call.in-progress.error-vapifault-inflection-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-inflection-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-inflection-ai-500-server-error' | 'call.in-progress.error-providerfault-inflection-ai-503-server-overloaded-error' | 'pipeline-error-deep-seek-400-bad-request-validation-failed' | 'pipeline-error-deep-seek-401-unauthorized' | 'pipeline-error-deep-seek-403-model-access-denied' | 'pipeline-error-deep-seek-429-exceeded-quota' | 'pipeline-error-deep-seek-500-server-error' | 'pipeline-error-deep-seek-503-server-overloaded-error' | 'pipeline-error-deep-seek-llm-failed' | 'call.in-progress.error-vapifault-deep-seek-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-deep-seek-401-unauthorized' | 'call.in-progress.error-vapifault-deep-seek-403-model-access-denied' | 'call.in-progress.error-vapifault-deep-seek-429-exceeded-quota' | 'call.in-progress.error-providerfault-deep-seek-500-server-error' | 'call.in-progress.error-providerfault-deep-seek-503-server-overloaded-error' | 'pipeline-error-groq-400-bad-request-validation-failed' | 'pipeline-error-groq-401-unauthorized' | 'pipeline-error-groq-403-model-access-denied' | 'pipeline-error-groq-429-exceeded-quota' | 'pipeline-error-groq-500-server-error' | 'pipeline-error-groq-503-server-overloaded-error' | 'pipeline-error-groq-llm-failed' | 'call.in-progress.error-vapifault-groq-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-groq-401-unauthorized' | 'call.in-progress.error-vapifault-groq-403-model-access-denied' | 'call.in-progress.error-vapifault-groq-429-exceeded-quota' | 'call.in-progress.error-providerfault-groq-500-server-error' | 'call.in-progress.error-providerfault-groq-503-server-overloaded-error' | 'pipeline-error-cerebras-400-bad-request-validation-failed' | 'pipeline-error-cerebras-401-unauthorized' | 'pipeline-error-cerebras-403-model-access-denied' | 'pipeline-error-cerebras-429-exceeded-quota' | 'pipeline-error-cerebras-500-server-error' | 'pipeline-error-cerebras-503-server-overloaded-error' | 'pipeline-error-cerebras-llm-failed' | 'call.in-progress.error-vapifault-cerebras-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-cerebras-401-unauthorized' | 'call.in-progress.error-vapifault-cerebras-403-model-access-denied' | 'call.in-progress.error-vapifault-cerebras-429-exceeded-quota' | 'call.in-progress.error-providerfault-cerebras-500-server-error' | 'call.in-progress.error-providerfault-cerebras-503-server-overloaded-error' | 'pipeline-error-anthropic-400-bad-request-validation-failed' | 'pipeline-error-anthropic-401-unauthorized' | 'pipeline-error-anthropic-403-model-access-denied' | 'pipeline-error-anthropic-429-exceeded-quota' | 'pipeline-error-anthropic-500-server-error' | 'pipeline-error-anthropic-503-server-overloaded-error' | 'pipeline-error-anthropic-llm-failed' | 'call.in-progress.error-vapifault-anthropic-llm-failed' | 'call.in-progress.error-vapifault-anthropic-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-500-server-error' | 'call.in-progress.error-providerfault-anthropic-503-server-overloaded-error' | 'pipeline-error-anthropic-bedrock-400-bad-request-validation-failed' | 'pipeline-error-anthropic-bedrock-401-unauthorized' | 'pipeline-error-anthropic-bedrock-403-model-access-denied' | 'pipeline-error-anthropic-bedrock-429-exceeded-quota' | 'pipeline-error-anthropic-bedrock-500-server-error' | 'pipeline-error-anthropic-bedrock-503-server-overloaded-error' | 'pipeline-error-anthropic-bedrock-llm-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-llm-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-bedrock-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-bedrock-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-bedrock-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-bedrock-500-server-error' | 'call.in-progress.error-providerfault-anthropic-bedrock-503-server-overloaded-error' | 'pipeline-error-anthropic-vertex-400-bad-request-validation-failed' | 'pipeline-error-anthropic-vertex-401-unauthorized' | 'pipeline-error-anthropic-vertex-403-model-access-denied' | 'pipeline-error-anthropic-vertex-429-exceeded-quota' | 'pipeline-error-anthropic-vertex-500-server-error' | 'pipeline-error-anthropic-vertex-503-server-overloaded-error' | 'pipeline-error-anthropic-vertex-llm-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-llm-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anthropic-vertex-401-unauthorized' | 'call.in-progress.error-vapifault-anthropic-vertex-403-model-access-denied' | 'call.in-progress.error-vapifault-anthropic-vertex-429-exceeded-quota' | 'call.in-progress.error-providerfault-anthropic-vertex-500-server-error' | 'call.in-progress.error-providerfault-anthropic-vertex-503-server-overloaded-error' | 'pipeline-error-together-ai-400-bad-request-validation-failed' | 'pipeline-error-together-ai-401-unauthorized' | 'pipeline-error-together-ai-403-model-access-denied' | 'pipeline-error-together-ai-429-exceeded-quota' | 'pipeline-error-together-ai-500-server-error' | 'pipeline-error-together-ai-503-server-overloaded-error' | 'pipeline-error-together-ai-llm-failed' | 'call.in-progress.error-vapifault-together-ai-llm-failed' | 'call.in-progress.error-vapifault-together-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-together-ai-401-unauthorized' | 'call.in-progress.error-vapifault-together-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-together-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-together-ai-500-server-error' | 'call.in-progress.error-providerfault-together-ai-503-server-overloaded-error' | 'pipeline-error-anyscale-400-bad-request-validation-failed' | 'pipeline-error-anyscale-401-unauthorized' | 'pipeline-error-anyscale-403-model-access-denied' | 'pipeline-error-anyscale-429-exceeded-quota' | 'pipeline-error-anyscale-500-server-error' | 'pipeline-error-anyscale-503-server-overloaded-error' | 'pipeline-error-anyscale-llm-failed' | 'call.in-progress.error-vapifault-anyscale-llm-failed' | 'call.in-progress.error-vapifault-anyscale-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-anyscale-401-unauthorized' | 'call.in-progress.error-vapifault-anyscale-403-model-access-denied' | 'call.in-progress.error-vapifault-anyscale-429-exceeded-quota' | 'call.in-progress.error-providerfault-anyscale-500-server-error' | 'call.in-progress.error-providerfault-anyscale-503-server-overloaded-error' | 'pipeline-error-openrouter-400-bad-request-validation-failed' | 'pipeline-error-openrouter-401-unauthorized' | 'pipeline-error-openrouter-403-model-access-denied' | 'pipeline-error-openrouter-429-exceeded-quota' | 'pipeline-error-openrouter-500-server-error' | 'pipeline-error-openrouter-503-server-overloaded-error' | 'pipeline-error-openrouter-llm-failed' | 'call.in-progress.error-vapifault-openrouter-llm-failed' | 'call.in-progress.error-vapifault-openrouter-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-openrouter-401-unauthorized' | 'call.in-progress.error-vapifault-openrouter-403-model-access-denied' | 'call.in-progress.error-vapifault-openrouter-429-exceeded-quota' | 'call.in-progress.error-providerfault-openrouter-500-server-error' | 'call.in-progress.error-providerfault-openrouter-503-server-overloaded-error' | 'pipeline-error-perplexity-ai-400-bad-request-validation-failed' | 'pipeline-error-perplexity-ai-401-unauthorized' | 'pipeline-error-perplexity-ai-403-model-access-denied' | 'pipeline-error-perplexity-ai-429-exceeded-quota' | 'pipeline-error-perplexity-ai-500-server-error' | 'pipeline-error-perplexity-ai-503-server-overloaded-error' | 'pipeline-error-perplexity-ai-llm-failed' | 'call.in-progress.error-vapifault-perplexity-ai-llm-failed' | 'call.in-progress.error-vapifault-perplexity-ai-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-perplexity-ai-401-unauthorized' | 'call.in-progress.error-vapifault-perplexity-ai-403-model-access-denied' | 'call.in-progress.error-vapifault-perplexity-ai-429-exceeded-quota' | 'call.in-progress.error-providerfault-perplexity-ai-500-server-error' | 'call.in-progress.error-providerfault-perplexity-ai-503-server-overloaded-error' | 'pipeline-error-deepinfra-400-bad-request-validation-failed' | 'pipeline-error-deepinfra-401-unauthorized' | 'pipeline-error-deepinfra-403-model-access-denied' | 'pipeline-error-deepinfra-429-exceeded-quota' | 'pipeline-error-deepinfra-500-server-error' | 'pipeline-error-deepinfra-503-server-overloaded-error' | 'pipeline-error-deepinfra-llm-failed' | 'call.in-progress.error-vapifault-deepinfra-llm-failed' | 'call.in-progress.error-vapifault-deepinfra-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-deepinfra-401-unauthorized' | 'call.in-progress.error-vapifault-deepinfra-403-model-access-denied' | 'call.in-progress.error-vapifault-deepinfra-429-exceeded-quota' | 'call.in-progress.error-providerfault-deepinfra-500-server-error' | 'call.in-progress.error-providerfault-deepinfra-503-server-overloaded-error' | 'pipeline-error-runpod-400-bad-request-validation-failed' | 'pipeline-error-runpod-401-unauthorized' | 'pipeline-error-runpod-403-model-access-denied' | 'pipeline-error-runpod-429-exceeded-quota' | 'pipeline-error-runpod-500-server-error' | 'pipeline-error-runpod-503-server-overloaded-error' | 'pipeline-error-runpod-llm-failed' | 'call.in-progress.error-vapifault-runpod-llm-failed' | 'call.in-progress.error-vapifault-runpod-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-runpod-401-unauthorized' | 'call.in-progress.error-vapifault-runpod-403-model-access-denied' | 'call.in-progress.error-vapifault-runpod-429-exceeded-quota' | 'call.in-progress.error-providerfault-runpod-500-server-error' | 'call.in-progress.error-providerfault-runpod-503-server-overloaded-error' | 'pipeline-error-custom-llm-400-bad-request-validation-failed' | 'pipeline-error-custom-llm-401-unauthorized' | 'pipeline-error-custom-llm-403-model-access-denied' | 'pipeline-error-custom-llm-429-exceeded-quota' | 'pipeline-error-custom-llm-500-server-error' | 'pipeline-error-custom-llm-503-server-overloaded-error' | 'pipeline-error-custom-llm-llm-failed' | 'call.in-progress.error-vapifault-custom-llm-llm-failed' | 'call.in-progress.error-vapifault-custom-llm-400-bad-request-validation-failed' | 'call.in-progress.error-vapifault-custom-llm-401-unauthorized' | 'call.in-progress.error-vapifault-custom-llm-403-model-access-denied' | 'call.in-progress.error-vapifault-custom-llm-429-exceeded-quota' | 'call.in-progress.error-providerfault-custom-llm-500-server-error' | 'call.in-progress.error-providerfault-custom-llm-503-server-overloaded-error' | 'pipeline-error-custom-voice-failed' | 'pipeline-error-cartesia-socket-hang-up' | 'pipeline-error-cartesia-requested-payment' | 'pipeline-error-cartesia-500-server-error' | 'pipeline-error-cartesia-503-server-error' | 'pipeline-error-cartesia-522-server-error' | 'call.in-progress.error-vapifault-cartesia-socket-hang-up' | 'call.in-progress.error-vapifault-cartesia-requested-payment' | 'call.in-progress.error-providerfault-cartesia-500-server-error' | 'call.in-progress.error-providerfault-cartesia-503-server-error' | 'call.in-progress.error-providerfault-cartesia-522-server-error' | 'pipeline-error-eleven-labs-voice-not-found' | 'pipeline-error-eleven-labs-quota-exceeded' | 'pipeline-error-eleven-labs-unauthorized-access' | 'pipeline-error-eleven-labs-unauthorized-to-access-model' | 'pipeline-error-eleven-labs-professional-voices-only-for-creator-plus' | 'pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | '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-eleven-labs-invalid-voice-samples' | 'pipeline-error-eleven-labs-voice-disabled-by-owner' | 'pipeline-error-eleven-labs-blocked-account-in-probation' | 'pipeline-error-eleven-labs-blocked-content-against-their-policy' | 'pipeline-error-eleven-labs-missing-samples-for-voice-clone' | 'pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'pipeline-error-eleven-labs-voice-not-allowed-for-free-users' | 'pipeline-error-eleven-labs-max-character-limit-exceeded' | 'pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | 'pipeline-error-eleven-labs-500-server-error' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-found' | 'call.in-progress.error-vapifault-eleven-labs-quota-exceeded' | 'call.in-progress.error-vapifault-eleven-labs-unauthorized-access' | 'call.in-progress.error-vapifault-eleven-labs-unauthorized-to-access-model' | 'call.in-progress.error-vapifault-eleven-labs-professional-voices-only-for-creator-plus' | 'call.in-progress.error-vapifault-eleven-labs-blocked-free-plan-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-blocked-concurrent-requests-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-system-busy-and-requested-upgrade' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned' | 'call.in-progress.error-vapifault-eleven-labs-invalid-api-key' | 'call.in-progress.error-vapifault-eleven-labs-invalid-voice-samples' | 'call.in-progress.error-vapifault-eleven-labs-voice-disabled-by-owner' | 'call.in-progress.error-vapifault-eleven-labs-blocked-account-in-probation' | 'call.in-progress.error-vapifault-eleven-labs-blocked-content-against-their-policy' | 'call.in-progress.error-vapifault-eleven-labs-missing-samples-for-voice-clone' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned-and-cannot-be-used' | 'call.in-progress.error-vapifault-eleven-labs-voice-not-allowed-for-free-users' | 'call.in-progress.error-vapifault-eleven-labs-max-character-limit-exceeded' | 'call.in-progress.error-vapifault-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification' | 'call.in-progress.error-providerfault-eleven-labs-500-server-error' | '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-invalid-emotion' | 'pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri' | 'pipeline-error-playht-401-unauthorized' | 'pipeline-error-playht-403-forbidden-out-of-characters' | 'pipeline-error-playht-403-forbidden-api-access-not-available' | 'pipeline-error-playht-429-exceeded-quota' | 'pipeline-error-playht-502-gateway-error' | 'pipeline-error-playht-504-gateway-error' | 'call.in-progress.error-vapifault-playht-request-timed-out' | 'call.in-progress.error-vapifault-playht-invalid-voice' | 'call.in-progress.error-vapifault-playht-unexpected-error' | 'call.in-progress.error-vapifault-playht-out-of-credits' | 'call.in-progress.error-vapifault-playht-invalid-emotion' | 'call.in-progress.error-vapifault-playht-voice-must-be-a-valid-voice-manifest-uri' | 'call.in-progress.error-vapifault-playht-401-unauthorized' | 'call.in-progress.error-vapifault-playht-403-forbidden-out-of-characters' | 'call.in-progress.error-vapifault-playht-403-forbidden-api-access-not-available' | 'call.in-progress.error-vapifault-playht-429-exceeded-quota' | 'call.in-progress.error-providerfault-playht-502-gateway-error' | 'call.in-progress.error-providerfault-playht-504-gateway-error' | 'pipeline-error-custom-transcriber-failed' | 'call.in-progress.error-vapifault-custom-transcriber-failed' | 'pipeline-error-eleven-labs-transcriber-failed' | 'call.in-progress.error-vapifault-eleven-labs-transcriber-failed' | 'pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination' | 'pipeline-error-deepgram-returning-401-invalid-credentials' | 'pipeline-error-deepgram-returning-403-model-access-denied' | 'pipeline-error-deepgram-returning-404-not-found' | 'pipeline-error-deepgram-returning-500-invalid-json' | 'pipeline-error-deepgram-returning-502-network-error' | 'pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach' | 'call.in-progress.error-vapifault-deepgram-returning-400-no-such-model-language-tier-combination' | 'call.in-progress.error-vapifault-deepgram-returning-401-invalid-credentials' | 'call.in-progress.error-vapifault-deepgram-returning-404-not-found' | 'call.in-progress.error-vapifault-deepgram-returning-403-model-access-denied' | 'call.in-progress.error-providerfault-deepgram-returning-500-invalid-json' | 'call.in-progress.error-providerfault-deepgram-returning-502-network-error' | 'call.in-progress.error-providerfault-deepgram-returning-502-bad-gateway-ehostunreach' | 'pipeline-error-google-transcriber-failed' | 'call.in-progress.error-vapifault-google-transcriber-failed' | 'pipeline-error-openai-transcriber-failed' | 'call.in-progress.error-vapifault-openai-transcriber-failed' | 'assistant-ended-call' | 'assistant-said-end-call-phrase' | 'assistant-ended-call-with-hangup-task' | 'assistant-ended-call-after-message-spoken' | 'assistant-forwarded-call' | 'assistant-join-timed-out' | 'call.in-progress.error-assistant-did-not-receive-customer-audio' | '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' | 'call.forwarding.operator-busy' | 'silence-timed-out' | 'call.in-progress.error-sip-telephony-provider-failed-to-connect-call' | 'call.ringing.hook-executed-say' | 'call.ringing.hook-executed-transfer' | 'twilio-failed-to-connect-call' | 'twilio-reported-customer-misdialed' | 'vonage-rejected' | 'voicemail';
|
|
12553
13903
|
/** These are the conversation messages of the call. This is only sent if the status is "forwarding". */
|
|
12554
13904
|
messages?: (UserMessage | SystemMessage | BotMessage | ToolCallMessage | ToolCallResultMessage)[];
|
|
12555
13905
|
/** These are the conversation messages of the call. This is only sent if the status is "forwarding". */
|
|
12556
13906
|
messagesOpenAIFormatted?: OpenAIMessage[];
|
|
12557
13907
|
/** This is the destination the call is being transferred to. This is only sent if the status is "forwarding". */
|
|
12558
13908
|
destination?: TransferDestinationNumber | TransferDestinationSip;
|
|
12559
|
-
/** This is the
|
|
12560
|
-
timestamp?:
|
|
13909
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13910
|
+
timestamp?: number;
|
|
12561
13911
|
/**
|
|
12562
13912
|
* This is a live version of the `call.artifact`.
|
|
12563
13913
|
*
|
|
@@ -12616,8 +13966,8 @@ export interface ServerMessageToolCalls {
|
|
|
12616
13966
|
type?: 'tool-calls';
|
|
12617
13967
|
/** This is the list of tools calls that the model is requesting along with the original tool configuration. */
|
|
12618
13968
|
toolWithToolCallList: (FunctionToolWithToolCall | GhlToolWithToolCall | MakeToolWithToolCall | BashToolWithToolCall | ComputerToolWithToolCall | TextEditorToolWithToolCall | GoogleCalendarCreateEventToolWithToolCall)[];
|
|
12619
|
-
/** This is the
|
|
12620
|
-
timestamp?:
|
|
13969
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
13970
|
+
timestamp?: number;
|
|
12621
13971
|
/**
|
|
12622
13972
|
* This is a live version of the `call.artifact`.
|
|
12623
13973
|
*
|
|
@@ -12666,8 +14016,8 @@ export interface ServerMessageTransferDestinationRequest {
|
|
|
12666
14016
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12667
14017
|
/** This is the type of the message. "transfer-destination-request" is sent when the model is requesting transfer but destination is unknown. */
|
|
12668
14018
|
type: 'transfer-destination-request';
|
|
12669
|
-
/** This is the
|
|
12670
|
-
timestamp?:
|
|
14019
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14020
|
+
timestamp?: number;
|
|
12671
14021
|
/**
|
|
12672
14022
|
* This is a live version of the `call.artifact`.
|
|
12673
14023
|
*
|
|
@@ -12716,8 +14066,8 @@ export interface ServerMessageTransferUpdate {
|
|
|
12716
14066
|
type: 'transfer-update';
|
|
12717
14067
|
/** This is the destination of the transfer. */
|
|
12718
14068
|
destination?: TransferDestinationAssistant | TransferDestinationStep | TransferDestinationNumber | TransferDestinationSip;
|
|
12719
|
-
/** This is the
|
|
12720
|
-
timestamp?:
|
|
14069
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14070
|
+
timestamp?: number;
|
|
12721
14071
|
/**
|
|
12722
14072
|
* This is a live version of the `call.artifact`.
|
|
12723
14073
|
*
|
|
@@ -12772,8 +14122,8 @@ export interface ServerMessageTranscript {
|
|
|
12772
14122
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12773
14123
|
/** This is the type of the message. "transcript" is sent as transcriber outputs partial or final transcript. */
|
|
12774
14124
|
type: 'transcript' | "transcript[transcriptType='final']";
|
|
12775
|
-
/** This is the
|
|
12776
|
-
timestamp?:
|
|
14125
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14126
|
+
timestamp?: number;
|
|
12777
14127
|
/**
|
|
12778
14128
|
* This is a live version of the `call.artifact`.
|
|
12779
14129
|
*
|
|
@@ -12826,8 +14176,8 @@ export interface ServerMessageUserInterrupted {
|
|
|
12826
14176
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12827
14177
|
/** This is the type of the message. "user-interrupted" is sent when the user interrupts the assistant. */
|
|
12828
14178
|
type: 'user-interrupted';
|
|
12829
|
-
/** This is the
|
|
12830
|
-
timestamp?:
|
|
14179
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14180
|
+
timestamp?: number;
|
|
12831
14181
|
/**
|
|
12832
14182
|
* This is a live version of the `call.artifact`.
|
|
12833
14183
|
*
|
|
@@ -12874,8 +14224,8 @@ export interface ServerMessageLanguageChangeDetected {
|
|
|
12874
14224
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12875
14225
|
/** This is the type of the message. "language-change-detected" is sent when the transcriber is automatically switched based on the detected language. */
|
|
12876
14226
|
type: 'language-change-detected';
|
|
12877
|
-
/** This is the
|
|
12878
|
-
timestamp?:
|
|
14227
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14228
|
+
timestamp?: number;
|
|
12879
14229
|
/**
|
|
12880
14230
|
* This is a live version of the `call.artifact`.
|
|
12881
14231
|
*
|
|
@@ -12924,8 +14274,8 @@ export interface ServerMessageVoiceInput {
|
|
|
12924
14274
|
phoneNumber?: CreateByoPhoneNumberDTO | CreateTwilioPhoneNumberDTO | CreateVonagePhoneNumberDTO | CreateVapiPhoneNumberDTO;
|
|
12925
14275
|
/** This is the type of the message. "voice-input" is sent when a generation is requested from voice provider. */
|
|
12926
14276
|
type: 'voice-input';
|
|
12927
|
-
/** This is the
|
|
12928
|
-
timestamp?:
|
|
14277
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14278
|
+
timestamp?: number;
|
|
12929
14279
|
/**
|
|
12930
14280
|
* This is a live version of the `call.artifact`.
|
|
12931
14281
|
*
|
|
@@ -12997,8 +14347,8 @@ export interface ServerMessageVoiceRequest {
|
|
|
12997
14347
|
* ```
|
|
12998
14348
|
*/
|
|
12999
14349
|
type: 'voice-request';
|
|
13000
|
-
/** This is the
|
|
13001
|
-
timestamp?:
|
|
14350
|
+
/** This is the timestamp of when the message was sent in milliseconds since Unix Epoch. */
|
|
14351
|
+
timestamp?: number;
|
|
13002
14352
|
/**
|
|
13003
14353
|
* This is a live version of the `call.artifact`.
|
|
13004
14354
|
*
|
|
@@ -13124,6 +14474,8 @@ export interface ToolCallResult {
|
|
|
13124
14474
|
* 3. a response generated by the model, if neither exist
|
|
13125
14475
|
*/
|
|
13126
14476
|
error?: string;
|
|
14477
|
+
/** This is optional metadata for the tool call result to be sent to the client. */
|
|
14478
|
+
metadata?: object;
|
|
13127
14479
|
}
|
|
13128
14480
|
export interface ServerMessageResponseToolCalls {
|
|
13129
14481
|
/** These are the results of the "tool-calls" message. */
|
|
@@ -13291,6 +14643,8 @@ export interface ToolCallResultMessage {
|
|
|
13291
14643
|
time: number;
|
|
13292
14644
|
/** The number of seconds from the start of the conversation. */
|
|
13293
14645
|
secondsFromStart: number;
|
|
14646
|
+
/** The metadata for the tool call result. */
|
|
14647
|
+
metadata?: object;
|
|
13294
14648
|
}
|
|
13295
14649
|
export interface TransportCost {
|
|
13296
14650
|
/** This is the type of cost, always 'transport' for this class. */
|
|
@@ -13815,7 +15169,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
13815
15169
|
* @request POST:/call
|
|
13816
15170
|
* @secure
|
|
13817
15171
|
*/
|
|
13818
|
-
callControllerCreate: (data: CreateCallDTO, params?: RequestParams) => Promise<HttpResponse<Call, any>>;
|
|
15172
|
+
callControllerCreate: (data: CreateCallDTO, params?: RequestParams) => Promise<HttpResponse<Call | CallBatchResponse, any>>;
|
|
13819
15173
|
/**
|
|
13820
15174
|
* No description
|
|
13821
15175
|
*
|
|
@@ -13923,7 +15277,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
13923
15277
|
* @deprecated
|
|
13924
15278
|
* @secure
|
|
13925
15279
|
*/
|
|
13926
|
-
callControllerCreatePhoneCall: (data: CreateOutboundCallDTO, params?: RequestParams) => Promise<HttpResponse<Call, any>>;
|
|
15280
|
+
callControllerCreatePhoneCall: (data: CreateOutboundCallDTO, params?: RequestParams) => Promise<HttpResponse<Call | CallBatchResponse, any>>;
|
|
13927
15281
|
/**
|
|
13928
15282
|
* No description
|
|
13929
15283
|
*
|
|
@@ -14612,7 +15966,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14612
15966
|
type: 'google.calendar.event.create';
|
|
14613
15967
|
} & CreateGoogleCalendarCreateEventToolDTO) | ({
|
|
14614
15968
|
type: 'google.sheets.row.append';
|
|
14615
|
-
} & CreateGoogleSheetsRowAppendToolDTO)
|
|
15969
|
+
} & CreateGoogleSheetsRowAppendToolDTO) | ({
|
|
15970
|
+
type: 'google.calendar.availability.check';
|
|
15971
|
+
} & CreateGoogleCalendarCheckAvailabilityToolDTO) | ({
|
|
15972
|
+
type: 'slack.message.send';
|
|
15973
|
+
} & CreateSlackSendMessageToolDTO) | ({
|
|
15974
|
+
type: 'sms';
|
|
15975
|
+
} & CreateSmsSendToolDTO) | ({
|
|
15976
|
+
type: 'mcp';
|
|
15977
|
+
} & CreateMcpToolDTO), params?: RequestParams) => Promise<HttpResponse<({
|
|
14616
15978
|
type: 'dtmf';
|
|
14617
15979
|
} & DtmfTool) | ({
|
|
14618
15980
|
type: 'endCall';
|
|
@@ -14638,7 +16000,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14638
16000
|
type: 'google.calendar.event.create';
|
|
14639
16001
|
} & GoogleCalendarCreateEventTool) | ({
|
|
14640
16002
|
type: 'google.sheets.row.append';
|
|
14641
|
-
} & GoogleSheetsRowAppendTool)
|
|
16003
|
+
} & GoogleSheetsRowAppendTool) | ({
|
|
16004
|
+
type: 'google.calendar.availability.check';
|
|
16005
|
+
} & GoogleCalendarCheckAvailabilityTool) | ({
|
|
16006
|
+
type: 'slack.message.send';
|
|
16007
|
+
} & SlackSendMessageTool) | ({
|
|
16008
|
+
type: 'sms';
|
|
16009
|
+
} & SmsSendTool) | ({
|
|
16010
|
+
type: 'mcp';
|
|
16011
|
+
} & McpTool), any>>;
|
|
14642
16012
|
/**
|
|
14643
16013
|
* No description
|
|
14644
16014
|
*
|
|
@@ -14721,7 +16091,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14721
16091
|
type: 'google.calendar.event.create';
|
|
14722
16092
|
} & GoogleCalendarCreateEventTool) | ({
|
|
14723
16093
|
type: 'google.sheets.row.append';
|
|
14724
|
-
} & GoogleSheetsRowAppendTool)
|
|
16094
|
+
} & GoogleSheetsRowAppendTool) | ({
|
|
16095
|
+
type: 'google.calendar.availability.check';
|
|
16096
|
+
} & GoogleCalendarCheckAvailabilityTool) | ({
|
|
16097
|
+
type: 'slack.message.send';
|
|
16098
|
+
} & SlackSendMessageTool) | ({
|
|
16099
|
+
type: 'sms';
|
|
16100
|
+
} & SmsSendTool) | ({
|
|
16101
|
+
type: 'mcp';
|
|
16102
|
+
} & McpTool))[], any>>;
|
|
14725
16103
|
/**
|
|
14726
16104
|
* No description
|
|
14727
16105
|
*
|
|
@@ -14757,7 +16135,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14757
16135
|
type: 'google.calendar.event.create';
|
|
14758
16136
|
} & GoogleCalendarCreateEventTool) | ({
|
|
14759
16137
|
type: 'google.sheets.row.append';
|
|
14760
|
-
} & GoogleSheetsRowAppendTool)
|
|
16138
|
+
} & GoogleSheetsRowAppendTool) | ({
|
|
16139
|
+
type: 'google.calendar.availability.check';
|
|
16140
|
+
} & GoogleCalendarCheckAvailabilityTool) | ({
|
|
16141
|
+
type: 'slack.message.send';
|
|
16142
|
+
} & SlackSendMessageTool) | ({
|
|
16143
|
+
type: 'sms';
|
|
16144
|
+
} & SmsSendTool) | ({
|
|
16145
|
+
type: 'mcp';
|
|
16146
|
+
} & McpTool), any>>;
|
|
14761
16147
|
/**
|
|
14762
16148
|
* No description
|
|
14763
16149
|
*
|
|
@@ -14793,7 +16179,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14793
16179
|
type: 'google.calendar.event.create';
|
|
14794
16180
|
} & UpdateGoogleCalendarCreateEventToolDTO) | ({
|
|
14795
16181
|
type: 'google.sheets.row.append';
|
|
14796
|
-
} & UpdateGoogleSheetsRowAppendToolDTO)
|
|
16182
|
+
} & UpdateGoogleSheetsRowAppendToolDTO) | ({
|
|
16183
|
+
type: 'google.calendar.availability.check';
|
|
16184
|
+
} & UpdateGoogleCalendarCheckAvailabilityToolDTO) | ({
|
|
16185
|
+
type: 'slack.message.send';
|
|
16186
|
+
} & UpdateSlackSendMessageToolDTO) | ({
|
|
16187
|
+
type: 'sms';
|
|
16188
|
+
} & UpdateSmsSendToolDTO) | ({
|
|
16189
|
+
type: 'mcp';
|
|
16190
|
+
} & UpdateMcpToolDTO), params?: RequestParams) => Promise<HttpResponse<({
|
|
14797
16191
|
type: 'dtmf';
|
|
14798
16192
|
} & DtmfTool) | ({
|
|
14799
16193
|
type: 'endCall';
|
|
@@ -14819,7 +16213,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14819
16213
|
type: 'google.calendar.event.create';
|
|
14820
16214
|
} & GoogleCalendarCreateEventTool) | ({
|
|
14821
16215
|
type: 'google.sheets.row.append';
|
|
14822
|
-
} & GoogleSheetsRowAppendTool)
|
|
16216
|
+
} & GoogleSheetsRowAppendTool) | ({
|
|
16217
|
+
type: 'google.calendar.availability.check';
|
|
16218
|
+
} & GoogleCalendarCheckAvailabilityTool) | ({
|
|
16219
|
+
type: 'slack.message.send';
|
|
16220
|
+
} & SlackSendMessageTool) | ({
|
|
16221
|
+
type: 'sms';
|
|
16222
|
+
} & SmsSendTool) | ({
|
|
16223
|
+
type: 'mcp';
|
|
16224
|
+
} & McpTool), any>>;
|
|
14823
16225
|
/**
|
|
14824
16226
|
* No description
|
|
14825
16227
|
*
|
|
@@ -14855,7 +16257,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
14855
16257
|
type: 'google.calendar.event.create';
|
|
14856
16258
|
} & GoogleCalendarCreateEventTool) | ({
|
|
14857
16259
|
type: 'google.sheets.row.append';
|
|
14858
|
-
} & GoogleSheetsRowAppendTool)
|
|
16260
|
+
} & GoogleSheetsRowAppendTool) | ({
|
|
16261
|
+
type: 'google.calendar.availability.check';
|
|
16262
|
+
} & GoogleCalendarCheckAvailabilityTool) | ({
|
|
16263
|
+
type: 'slack.message.send';
|
|
16264
|
+
} & SlackSendMessageTool) | ({
|
|
16265
|
+
type: 'sms';
|
|
16266
|
+
} & SmsSendTool) | ({
|
|
16267
|
+
type: 'mcp';
|
|
16268
|
+
} & McpTool), any>>;
|
|
14859
16269
|
};
|
|
14860
16270
|
file: {
|
|
14861
16271
|
/**
|
|
@@ -15865,6 +17275,16 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
15865
17275
|
* @secure
|
|
15866
17276
|
*/
|
|
15867
17277
|
orgControllerUserUpdate: (id: string, data: UpdateUserRoleDTO, params?: RequestParams) => Promise<HttpResponse<void, any>>;
|
|
17278
|
+
/**
|
|
17279
|
+
* No description
|
|
17280
|
+
*
|
|
17281
|
+
* @tags Orgs
|
|
17282
|
+
* @name OrgControllerOrgToken
|
|
17283
|
+
* @summary Generate User Org JWT
|
|
17284
|
+
* @request GET:/org/{id}/auth
|
|
17285
|
+
* @secure
|
|
17286
|
+
*/
|
|
17287
|
+
orgControllerOrgToken: (id: string, params?: RequestParams) => Promise<HttpResponse<JwtResponse, any>>;
|
|
15868
17288
|
};
|
|
15869
17289
|
token: {
|
|
15870
17290
|
/**
|
|
@@ -15975,7 +17395,101 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
15975
17395
|
* @request POST:/credential
|
|
15976
17396
|
* @secure
|
|
15977
17397
|
*/
|
|
15978
|
-
credentialControllerCreate: (data:
|
|
17398
|
+
credentialControllerCreate: (data: ({
|
|
17399
|
+
provider: '11labs';
|
|
17400
|
+
} & CreateElevenLabsCredentialDTO) | ({
|
|
17401
|
+
provider: 'anthropic';
|
|
17402
|
+
} & CreateAnthropicCredentialDTO) | ({
|
|
17403
|
+
provider: 'anyscale';
|
|
17404
|
+
} & CreateAnyscaleCredentialDTO) | ({
|
|
17405
|
+
provider: 'assembly-ai';
|
|
17406
|
+
} & CreateAssemblyAICredentialDTO) | ({
|
|
17407
|
+
provider: 'azure-openai';
|
|
17408
|
+
} & CreateAzureOpenAICredentialDTO) | ({
|
|
17409
|
+
provider: 'azure';
|
|
17410
|
+
} & CreateAzureCredentialDTO) | ({
|
|
17411
|
+
provider: 'byo-sip-trunk';
|
|
17412
|
+
} & CreateByoSipTrunkCredentialDTO) | ({
|
|
17413
|
+
provider: 'cartesia';
|
|
17414
|
+
} & CreateCartesiaCredentialDTO) | ({
|
|
17415
|
+
provider: 'cerebras';
|
|
17416
|
+
} & CreateCerebrasCredentialDTO) | ({
|
|
17417
|
+
provider: 'cloudflare';
|
|
17418
|
+
} & CreateCloudflareCredentialDTO) | ({
|
|
17419
|
+
provider: 'custom-llm';
|
|
17420
|
+
} & CreateCustomLLMCredentialDTO) | ({
|
|
17421
|
+
provider: 'deepgram';
|
|
17422
|
+
} & CreateDeepgramCredentialDTO) | ({
|
|
17423
|
+
provider: 'deepinfra';
|
|
17424
|
+
} & CreateDeepInfraCredentialDTO) | ({
|
|
17425
|
+
provider: 'deep-seek';
|
|
17426
|
+
} & CreateDeepSeekCredentialDTO) | ({
|
|
17427
|
+
provider: 'gcp';
|
|
17428
|
+
} & CreateGcpCredentialDTO) | ({
|
|
17429
|
+
provider: 'gladia';
|
|
17430
|
+
} & CreateGladiaCredentialDTO) | ({
|
|
17431
|
+
provider: 'gohighlevel';
|
|
17432
|
+
} & CreateGoHighLevelCredentialDTO) | ({
|
|
17433
|
+
provider: 'google';
|
|
17434
|
+
} & CreateGoogleCredentialDTO) | ({
|
|
17435
|
+
provider: 'groq';
|
|
17436
|
+
} & CreateGroqCredentialDTO) | ({
|
|
17437
|
+
provider: 'inflection-ai';
|
|
17438
|
+
} & CreateInflectionAICredentialDTO) | ({
|
|
17439
|
+
provider: 'langfuse';
|
|
17440
|
+
} & CreateLangfuseCredentialDTO) | ({
|
|
17441
|
+
provider: 'lmnt';
|
|
17442
|
+
} & CreateLmntCredentialDTO) | ({
|
|
17443
|
+
provider: 'make';
|
|
17444
|
+
} & CreateMakeCredentialDTO) | ({
|
|
17445
|
+
provider: 'openai';
|
|
17446
|
+
} & CreateOpenAICredentialDTO) | ({
|
|
17447
|
+
provider: 'openrouter';
|
|
17448
|
+
} & CreateOpenRouterCredentialDTO) | ({
|
|
17449
|
+
provider: 'perplexity-ai';
|
|
17450
|
+
} & CreatePerplexityAICredentialDTO) | ({
|
|
17451
|
+
provider: 'playht';
|
|
17452
|
+
} & CreatePlayHTCredentialDTO) | ({
|
|
17453
|
+
provider: 'rime-ai';
|
|
17454
|
+
} & CreateRimeAICredentialDTO) | ({
|
|
17455
|
+
provider: 'runpod';
|
|
17456
|
+
} & CreateRunpodCredentialDTO) | ({
|
|
17457
|
+
provider: 's3';
|
|
17458
|
+
} & CreateS3CredentialDTO) | ({
|
|
17459
|
+
provider: 'supabase';
|
|
17460
|
+
} & CreateSupabaseCredentialDTO) | ({
|
|
17461
|
+
provider: 'smallest-ai';
|
|
17462
|
+
} & CreateSmallestAICredentialDTO) | ({
|
|
17463
|
+
provider: 'tavus';
|
|
17464
|
+
} & CreateTavusCredentialDTO) | ({
|
|
17465
|
+
provider: 'together-ai';
|
|
17466
|
+
} & CreateTogetherAICredentialDTO) | ({
|
|
17467
|
+
provider: 'twilio';
|
|
17468
|
+
} & CreateTwilioCredentialDTO) | ({
|
|
17469
|
+
provider: 'vonage';
|
|
17470
|
+
} & CreateVonageCredentialDTO) | ({
|
|
17471
|
+
provider: 'webhook';
|
|
17472
|
+
} & CreateWebhookCredentialDTO) | ({
|
|
17473
|
+
provider: 'xai';
|
|
17474
|
+
} & CreateXAiCredentialDTO) | ({
|
|
17475
|
+
provider: 'neuphonic';
|
|
17476
|
+
} & CreateNeuphonicCredentialDTO) | ({
|
|
17477
|
+
provider: 'hume';
|
|
17478
|
+
} & CreateHumeCredentialDTO) | ({
|
|
17479
|
+
provider: 'mistral';
|
|
17480
|
+
} & CreateMistralCredentialDTO) | ({
|
|
17481
|
+
provider: 'speechmatics';
|
|
17482
|
+
} & CreateSpeechmaticsCredentialDTO) | ({
|
|
17483
|
+
provider: 'trieve';
|
|
17484
|
+
} & CreateTrieveCredentialDTO) | ({
|
|
17485
|
+
provider: 'google.calendar.oauth2-client';
|
|
17486
|
+
} & CreateGoogleCalendarOAuth2ClientCredentialDTO) | ({
|
|
17487
|
+
provider: 'google.calendar.oauth2-authorization';
|
|
17488
|
+
} & CreateGoogleCalendarOAuth2AuthorizationCredentialDTO) | ({
|
|
17489
|
+
provider: 'google.sheets.oauth2-authorization';
|
|
17490
|
+
} & CreateGoogleSheetsOAuth2AuthorizationCredentialDTO) | ({
|
|
17491
|
+
provider: 'slack.oauth2-authorization';
|
|
17492
|
+
} & CreateSlackOAuth2AuthorizationCredentialDTO), params?: RequestParams) => Promise<HttpResponse<any, any>>;
|
|
15979
17493
|
/**
|
|
15980
17494
|
* No description
|
|
15981
17495
|
*
|
|
@@ -16032,7 +17546,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16032
17546
|
* @format date-time
|
|
16033
17547
|
*/
|
|
16034
17548
|
updatedAtLe?: string;
|
|
16035
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
17549
|
+
}, params?: RequestParams) => Promise<HttpResponse<any[], any>>;
|
|
16036
17550
|
/**
|
|
16037
17551
|
* No description
|
|
16038
17552
|
*
|
|
@@ -16042,7 +17556,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16042
17556
|
* @request GET:/credential/{id}
|
|
16043
17557
|
* @secure
|
|
16044
17558
|
*/
|
|
16045
|
-
credentialControllerFindOne: (id: string, params?: RequestParams) => Promise<HttpResponse<
|
|
17559
|
+
credentialControllerFindOne: (id: string, params?: RequestParams) => Promise<HttpResponse<any, any>>;
|
|
16046
17560
|
/**
|
|
16047
17561
|
* No description
|
|
16048
17562
|
*
|
|
@@ -16052,7 +17566,85 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16052
17566
|
* @request PATCH:/credential/{id}
|
|
16053
17567
|
* @secure
|
|
16054
17568
|
*/
|
|
16055
|
-
credentialControllerUpdate: (id: string, data:
|
|
17569
|
+
credentialControllerUpdate: (id: string, data: ({
|
|
17570
|
+
provider: '11labs';
|
|
17571
|
+
} & UpdateElevenLabsCredentialDTO) | ({
|
|
17572
|
+
provider: 'anthropic';
|
|
17573
|
+
} & UpdateAnthropicCredentialDTO) | ({
|
|
17574
|
+
provider: 'anyscale';
|
|
17575
|
+
} & UpdateAnyscaleCredentialDTO) | ({
|
|
17576
|
+
provider: 'assembly-ai';
|
|
17577
|
+
} & UpdateAssemblyAICredentialDTO) | ({
|
|
17578
|
+
provider: 'azure-openai';
|
|
17579
|
+
} & UpdateAzureOpenAICredentialDTO) | ({
|
|
17580
|
+
provider: 'azure';
|
|
17581
|
+
} & UpdateAzureCredentialDTO) | ({
|
|
17582
|
+
provider: 'byo-sip-trunk';
|
|
17583
|
+
} & UpdateByoSipTrunkCredentialDTO) | ({
|
|
17584
|
+
provider: 'cartesia';
|
|
17585
|
+
} & UpdateCartesiaCredentialDTO) | ({
|
|
17586
|
+
provider: 'cerebras';
|
|
17587
|
+
} & UpdateCerebrasCredentialDTO) | ({
|
|
17588
|
+
provider: 'custom-llm';
|
|
17589
|
+
} & UpdateCustomLLMCredentialDTO) | ({
|
|
17590
|
+
provider: 'deepgram';
|
|
17591
|
+
} & UpdateDeepgramCredentialDTO) | ({
|
|
17592
|
+
provider: 'deepinfra';
|
|
17593
|
+
} & UpdateDeepInfraCredentialDTO) | ({
|
|
17594
|
+
provider: 'deep-seek';
|
|
17595
|
+
} & UpdateDeepSeekCredentialDTO) | ({
|
|
17596
|
+
provider: 'gcp';
|
|
17597
|
+
} & UpdateGcpCredentialDTO) | ({
|
|
17598
|
+
provider: 'gladia';
|
|
17599
|
+
} & UpdateGladiaCredentialDTO) | ({
|
|
17600
|
+
provider: 'gohighlevel';
|
|
17601
|
+
} & UpdateGoHighLevelCredentialDTO) | ({
|
|
17602
|
+
provider: 'google';
|
|
17603
|
+
} & UpdateGoogleCredentialDTO) | ({
|
|
17604
|
+
provider: 'groq';
|
|
17605
|
+
} & UpdateGroqCredentialDTO) | ({
|
|
17606
|
+
provider: 'inflection-ai';
|
|
17607
|
+
} & UpdateInflectionAICredentialDTO) | ({
|
|
17608
|
+
provider: 'langfuse';
|
|
17609
|
+
} & UpdateLangfuseCredentialDTO) | ({
|
|
17610
|
+
provider: 'lmnt';
|
|
17611
|
+
} & UpdateLmntCredentialDTO) | ({
|
|
17612
|
+
provider: 'make';
|
|
17613
|
+
} & UpdateMakeCredentialDTO) | ({
|
|
17614
|
+
provider: 'openai';
|
|
17615
|
+
} & UpdateOpenAICredentialDTO) | ({
|
|
17616
|
+
provider: 'openrouter';
|
|
17617
|
+
} & UpdateOpenRouterCredentialDTO) | ({
|
|
17618
|
+
provider: 'perplexity-ai';
|
|
17619
|
+
} & UpdatePerplexityAICredentialDTO) | ({
|
|
17620
|
+
provider: 'playht';
|
|
17621
|
+
} & UpdatePlayHTCredentialDTO) | ({
|
|
17622
|
+
provider: 'rime-ai';
|
|
17623
|
+
} & UpdateRimeAICredentialDTO) | ({
|
|
17624
|
+
provider: 'runpod';
|
|
17625
|
+
} & UpdateRunpodCredentialDTO) | ({
|
|
17626
|
+
provider: 's3';
|
|
17627
|
+
} & UpdateS3CredentialDTO) | ({
|
|
17628
|
+
provider: 'supabase';
|
|
17629
|
+
} & UpdateSupabaseCredentialDTO) | ({
|
|
17630
|
+
provider: 'smallest-ai';
|
|
17631
|
+
} & UpdateSmallestAICredentialDTO) | ({
|
|
17632
|
+
provider: 'neuphonic';
|
|
17633
|
+
} & UpdateNeuphonicCredentialDTO) | ({
|
|
17634
|
+
provider: 'hume';
|
|
17635
|
+
} & UpdateHumeCredentialDTO) | ({
|
|
17636
|
+
provider: 'tavus';
|
|
17637
|
+
} & UpdateTavusCredentialDTO) | ({
|
|
17638
|
+
provider: 'together-ai';
|
|
17639
|
+
} & UpdateTogetherAICredentialDTO) | ({
|
|
17640
|
+
provider: 'twilio';
|
|
17641
|
+
} & UpdateTwilioCredentialDTO) | ({
|
|
17642
|
+
provider: 'vonage';
|
|
17643
|
+
} & UpdateVonageCredentialDTO) | ({
|
|
17644
|
+
provider: 'webhook';
|
|
17645
|
+
} & UpdateWebhookCredentialDTO) | ({
|
|
17646
|
+
provider: 'xai';
|
|
17647
|
+
} & UpdateXAiCredentialDTO), params?: RequestParams) => Promise<HttpResponse<any, any>>;
|
|
16056
17648
|
/**
|
|
16057
17649
|
* No description
|
|
16058
17650
|
*
|
|
@@ -16062,7 +17654,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16062
17654
|
* @request DELETE:/credential/{id}
|
|
16063
17655
|
* @secure
|
|
16064
17656
|
*/
|
|
16065
|
-
credentialControllerRemove: (id: string, params?: RequestParams) => Promise<HttpResponse<
|
|
17657
|
+
credentialControllerRemove: (id: string, params?: RequestParams) => Promise<HttpResponse<any, any>>;
|
|
16066
17658
|
/**
|
|
16067
17659
|
* No description
|
|
16068
17660
|
*
|
|
@@ -16298,6 +17890,16 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16298
17890
|
* @secure
|
|
16299
17891
|
*/
|
|
16300
17892
|
voiceLibraryControllerVoiceLibrarySyncDefaultVoices: (data: SyncVoiceLibraryDTO, params?: RequestParams) => Promise<HttpResponse<VoiceLibrary[], any>>;
|
|
17893
|
+
/**
|
|
17894
|
+
* No description
|
|
17895
|
+
*
|
|
17896
|
+
* @tags Voice Library
|
|
17897
|
+
* @name VoiceLibraryControllerVoiceLibraryCreateSesameVoice
|
|
17898
|
+
* @summary Create a new voice in the Voice Library using Sesame
|
|
17899
|
+
* @request POST:/voice-library/create-sesame-voice
|
|
17900
|
+
* @secure
|
|
17901
|
+
*/
|
|
17902
|
+
voiceLibraryControllerVoiceLibraryCreateSesameVoice: (data: CreateSesameVoiceDTO, params?: RequestParams) => Promise<HttpResponse<void, any>>;
|
|
16301
17903
|
};
|
|
16302
17904
|
provider: {
|
|
16303
17905
|
/**
|
|
@@ -16308,7 +17910,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16308
17910
|
* @request GET:/{provider}/workflows
|
|
16309
17911
|
* @secure
|
|
16310
17912
|
*/
|
|
16311
|
-
providerControllerGetWorkflows: (provider: 'make' | 'ghl' | 'google.calendar', query?: {
|
|
17913
|
+
providerControllerGetWorkflows: (provider: 'make' | 'ghl' | 'google.calendar' | 'slack' | 'mcp', query?: {
|
|
16312
17914
|
locationId?: string;
|
|
16313
17915
|
}, params?: RequestParams) => Promise<HttpResponse<object, any>>;
|
|
16314
17916
|
/**
|
|
@@ -16319,7 +17921,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16319
17921
|
* @request GET:/{provider}/workflows/{workflowId}/hooks
|
|
16320
17922
|
* @secure
|
|
16321
17923
|
*/
|
|
16322
|
-
providerControllerGetWorkflowTriggerHook: (provider: 'make' | 'ghl' | 'google.calendar', workflowId: string, params?: RequestParams) => Promise<HttpResponse<object, any>>;
|
|
17924
|
+
providerControllerGetWorkflowTriggerHook: (provider: 'make' | 'ghl' | 'google.calendar' | 'slack' | 'mcp', workflowId: string, params?: RequestParams) => Promise<HttpResponse<object, any>>;
|
|
16323
17925
|
/**
|
|
16324
17926
|
* No description
|
|
16325
17927
|
*
|
|
@@ -16328,7 +17930,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
16328
17930
|
* @request GET:/{provider}/locations
|
|
16329
17931
|
* @secure
|
|
16330
17932
|
*/
|
|
16331
|
-
providerControllerGetLocations: (provider: 'make' | 'ghl' | 'google.calendar', params?: RequestParams) => Promise<HttpResponse<object, any>>;
|
|
17933
|
+
providerControllerGetLocations: (provider: 'make' | 'ghl' | 'google.calendar' | 'slack' | 'mcp', params?: RequestParams) => Promise<HttpResponse<object, any>>;
|
|
16332
17934
|
/**
|
|
16333
17935
|
* No description
|
|
16334
17936
|
*
|