vapi_client/models/
server_message_message.rs

1/*
2 * Vapi API
3 *
4 * API for building voice assistants
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15/// ServerMessageMessage : These are all the messages that can be sent to your server before, after and during the call. Configure the messages you'd like to receive in `assistant.serverMessages`.  The server where the message is sent is determined by the following precedence order:  1. `tool.server.url` (if configured, and only for \"tool-calls\" message) 2. `assistant.serverUrl` (if configure) 3. `phoneNumber.serverUrl` (if configured) 4. `org.serverUrl` (if configured)
16/// These are all the messages that can be sent to your server before, after and during the call. Configure the messages you'd like to receive in `assistant.serverMessages`.  The server where the message is sent is determined by the following precedence order:  1. `tool.server.url` (if configured, and only for \"tool-calls\" message) 2. `assistant.serverUrl` (if configure) 3. `phoneNumber.serverUrl` (if configured) 4. `org.serverUrl` (if configured)
17#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum ServerMessageMessage {
20    ServerMessageAssistantRequest(models::ServerMessageAssistantRequest),
21    ServerMessageConversationUpdate(models::ServerMessageConversationUpdate),
22    ServerMessageEndOfCallReport(models::ServerMessageEndOfCallReport),
23    ServerMessageHang(models::ServerMessageHang),
24    ServerMessageKnowledgeBaseRequest(models::ServerMessageKnowledgeBaseRequest),
25    ServerMessageModelOutput(models::ServerMessageModelOutput),
26    ServerMessagePhoneCallControl(models::ServerMessagePhoneCallControl),
27    ServerMessageSpeechUpdate(models::ServerMessageSpeechUpdate),
28    ServerMessageStatusUpdate(models::ServerMessageStatusUpdate),
29    ServerMessageToolCalls(models::ServerMessageToolCalls),
30    ServerMessageTransferDestinationRequest(models::ServerMessageTransferDestinationRequest),
31    ServerMessageTransferUpdate(models::ServerMessageTransferUpdate),
32    ServerMessageTranscript(models::ServerMessageTranscript),
33    ServerMessageUserInterrupted(models::ServerMessageUserInterrupted),
34    ServerMessageLanguageChangeDetected(models::ServerMessageLanguageChangeDetected),
35    ServerMessageVoiceInput(models::ServerMessageVoiceInput),
36    ServerMessageVoiceRequest(models::ServerMessageVoiceRequest),
37}
38
39impl Default for ServerMessageMessage {
40    fn default() -> Self {
41        Self::ServerMessageAssistantRequest(Default::default())
42    }
43}
44/// This is the type of the message. \"assistant-request\" is sent to fetch assistant configuration for an incoming call.
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum Type {
47    #[serde(rename = "assistant-request")]
48    AssistantRequest,
49    #[serde(rename = "conversation-update")]
50    ConversationUpdate,
51    #[serde(rename = "end-of-call-report")]
52    EndOfCallReport,
53    #[serde(rename = "hang")]
54    Hang,
55    #[serde(rename = "knowledge-base-request")]
56    KnowledgeBaseRequest,
57    #[serde(rename = "model-output")]
58    ModelOutput,
59    #[serde(rename = "phone-call-control")]
60    PhoneCallControl,
61    #[serde(rename = "speech-update")]
62    SpeechUpdate,
63    #[serde(rename = "status-update")]
64    StatusUpdate,
65    #[serde(rename = "tool-calls")]
66    ToolCalls,
67    #[serde(rename = "transfer-destination-request")]
68    TransferDestinationRequest,
69    #[serde(rename = "transfer-update")]
70    TransferUpdate,
71    #[serde(rename = "transcript")]
72    Transcript,
73    #[serde(rename = "transcript[transcriptType=\"final\"]")]
74    TranscriptLeftSquareBracketTranscriptTypeEqualDoubleQuoteFinalDoubleQuoteRightSquareBracket,
75    #[serde(rename = "user-interrupted")]
76    UserInterrupted,
77    #[serde(rename = "language-change-detected")]
78    LanguageChangeDetected,
79    #[serde(rename = "voice-input")]
80    VoiceInput,
81    #[serde(rename = "voice-request")]
82    VoiceRequest,
83}
84
85impl Default for Type {
86    fn default() -> Type {
87        Self::AssistantRequest
88    }
89}
90/// This is the reason the call ended. This is only sent if the status is \"ended\".
91#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
92pub enum EndedReason {
93    #[serde(rename = "assistant-not-valid")]
94    AssistantNotValid,
95    #[serde(rename = "assistant-not-provided")]
96    AssistantNotProvided,
97    #[serde(rename = "call-start-error-neither-assistant-nor-server-set")]
98    CallStartErrorNeitherAssistantNorServerSet,
99    #[serde(rename = "assistant-request-failed")]
100    AssistantRequestFailed,
101    #[serde(rename = "assistant-request-returned-error")]
102    AssistantRequestReturnedError,
103    #[serde(rename = "assistant-request-returned-unspeakable-error")]
104    AssistantRequestReturnedUnspeakableError,
105    #[serde(rename = "assistant-request-returned-invalid-assistant")]
106    AssistantRequestReturnedInvalidAssistant,
107    #[serde(rename = "assistant-request-returned-no-assistant")]
108    AssistantRequestReturnedNoAssistant,
109    #[serde(rename = "assistant-request-returned-forwarding-phone-number")]
110    AssistantRequestReturnedForwardingPhoneNumber,
111    #[serde(rename = "assistant-ended-call")]
112    AssistantEndedCall,
113    #[serde(rename = "assistant-said-end-call-phrase")]
114    AssistantSaidEndCallPhrase,
115    #[serde(rename = "assistant-ended-call-with-hangup-task")]
116    AssistantEndedCallWithHangupTask,
117    #[serde(rename = "assistant-forwarded-call")]
118    AssistantForwardedCall,
119    #[serde(rename = "assistant-join-timed-out")]
120    AssistantJoinTimedOut,
121    #[serde(rename = "customer-busy")]
122    CustomerBusy,
123    #[serde(rename = "customer-ended-call")]
124    CustomerEndedCall,
125    #[serde(rename = "customer-did-not-answer")]
126    CustomerDidNotAnswer,
127    #[serde(rename = "customer-did-not-give-microphone-permission")]
128    CustomerDidNotGiveMicrophonePermission,
129    #[serde(rename = "assistant-said-message-with-end-call-enabled")]
130    AssistantSaidMessageWithEndCallEnabled,
131    #[serde(rename = "exceeded-max-duration")]
132    ExceededMaxDuration,
133    #[serde(rename = "manually-canceled")]
134    ManuallyCanceled,
135    #[serde(rename = "phone-call-provider-closed-websocket")]
136    PhoneCallProviderClosedWebsocket,
137    #[serde(rename = "db-error")]
138    DbError,
139    #[serde(rename = "assistant-not-found")]
140    AssistantNotFound,
141    #[serde(rename = "license-check-failed")]
142    LicenseCheckFailed,
143    #[serde(rename = "pipeline-error-openai-voice-failed")]
144    PipelineErrorOpenaiVoiceFailed,
145    #[serde(rename = "pipeline-error-cartesia-voice-failed")]
146    PipelineErrorCartesiaVoiceFailed,
147    #[serde(rename = "pipeline-error-deepgram-voice-failed")]
148    PipelineErrorDeepgramVoiceFailed,
149    #[serde(rename = "pipeline-error-eleven-labs-voice-failed")]
150    PipelineErrorElevenLabsVoiceFailed,
151    #[serde(rename = "pipeline-error-playht-voice-failed")]
152    PipelineErrorPlayhtVoiceFailed,
153    #[serde(rename = "pipeline-error-lmnt-voice-failed")]
154    PipelineErrorLmntVoiceFailed,
155    #[serde(rename = "pipeline-error-azure-voice-failed")]
156    PipelineErrorAzureVoiceFailed,
157    #[serde(rename = "pipeline-error-rime-ai-voice-failed")]
158    PipelineErrorRimeAiVoiceFailed,
159    #[serde(rename = "pipeline-error-neets-voice-failed")]
160    PipelineErrorNeetsVoiceFailed,
161    #[serde(rename = "pipeline-error-smallest-ai-voice-failed")]
162    PipelineErrorSmallestAiVoiceFailed,
163    #[serde(rename = "pipeline-error-neuphonic-voice-failed")]
164    PipelineErrorNeuphonicVoiceFailed,
165    #[serde(rename = "pipeline-error-hume-voice-failed")]
166    PipelineErrorHumeVoiceFailed,
167    #[serde(rename = "pipeline-error-deepgram-transcriber-failed")]
168    PipelineErrorDeepgramTranscriberFailed,
169    #[serde(rename = "pipeline-error-gladia-transcriber-failed")]
170    PipelineErrorGladiaTranscriberFailed,
171    #[serde(rename = "pipeline-error-speechmatics-transcriber-failed")]
172    PipelineErrorSpeechmaticsTranscriberFailed,
173    #[serde(rename = "pipeline-error-assembly-ai-transcriber-failed")]
174    PipelineErrorAssemblyAiTranscriberFailed,
175    #[serde(rename = "pipeline-error-talkscriber-transcriber-failed")]
176    PipelineErrorTalkscriberTranscriberFailed,
177    #[serde(rename = "pipeline-error-azure-speech-transcriber-failed")]
178    PipelineErrorAzureSpeechTranscriberFailed,
179    #[serde(rename = "pipeline-error-vapi-llm-failed")]
180    PipelineErrorVapiLlmFailed,
181    #[serde(rename = "pipeline-error-vapi-400-bad-request-validation-failed")]
182    PipelineErrorVapi400BadRequestValidationFailed,
183    #[serde(rename = "pipeline-error-vapi-401-unauthorized")]
184    PipelineErrorVapi401Unauthorized,
185    #[serde(rename = "pipeline-error-vapi-403-model-access-denied")]
186    PipelineErrorVapi403ModelAccessDenied,
187    #[serde(rename = "pipeline-error-vapi-429-exceeded-quota")]
188    PipelineErrorVapi429ExceededQuota,
189    #[serde(rename = "pipeline-error-vapi-500-server-error")]
190    PipelineErrorVapi500ServerError,
191    #[serde(rename = "pipeline-no-available-model")]
192    PipelineNoAvailableModel,
193    #[serde(rename = "worker-shutdown")]
194    WorkerShutdown,
195    #[serde(rename = "unknown-error")]
196    UnknownError,
197    #[serde(rename = "vonage-disconnected")]
198    VonageDisconnected,
199    #[serde(rename = "vonage-failed-to-connect-call")]
200    VonageFailedToConnectCall,
201    #[serde(rename = "phone-call-provider-bypass-enabled-but-no-call-received")]
202    PhoneCallProviderBypassEnabledButNoCallReceived,
203    #[serde(rename = "vapifault-phone-call-worker-setup-socket-error")]
204    VapifaultPhoneCallWorkerSetupSocketError,
205    #[serde(rename = "vapifault-phone-call-worker-worker-setup-socket-timeout")]
206    VapifaultPhoneCallWorkerWorkerSetupSocketTimeout,
207    #[serde(rename = "vapifault-phone-call-worker-could-not-find-call")]
208    VapifaultPhoneCallWorkerCouldNotFindCall,
209    #[serde(rename = "vapifault-transport-never-connected")]
210    VapifaultTransportNeverConnected,
211    #[serde(rename = "vapifault-web-call-worker-setup-failed")]
212    VapifaultWebCallWorkerSetupFailed,
213    #[serde(rename = "vapifault-transport-connected-but-call-not-active")]
214    VapifaultTransportConnectedButCallNotActive,
215    #[serde(rename = "vapifault-call-started-but-connection-to-transport-missing")]
216    VapifaultCallStartedButConnectionToTransportMissing,
217    #[serde(rename = "pipeline-error-openai-llm-failed")]
218    PipelineErrorOpenaiLlmFailed,
219    #[serde(rename = "pipeline-error-azure-openai-llm-failed")]
220    PipelineErrorAzureOpenaiLlmFailed,
221    #[serde(rename = "pipeline-error-groq-llm-failed")]
222    PipelineErrorGroqLlmFailed,
223    #[serde(rename = "pipeline-error-google-llm-failed")]
224    PipelineErrorGoogleLlmFailed,
225    #[serde(rename = "pipeline-error-xai-llm-failed")]
226    PipelineErrorXaiLlmFailed,
227    #[serde(rename = "pipeline-error-mistral-llm-failed")]
228    PipelineErrorMistralLlmFailed,
229    #[serde(rename = "pipeline-error-inflection-ai-llm-failed")]
230    PipelineErrorInflectionAiLlmFailed,
231    #[serde(rename = "pipeline-error-cerebras-llm-failed")]
232    PipelineErrorCerebrasLlmFailed,
233    #[serde(rename = "pipeline-error-deep-seek-llm-failed")]
234    PipelineErrorDeepSeekLlmFailed,
235    #[serde(rename = "pipeline-error-openai-400-bad-request-validation-failed")]
236    PipelineErrorOpenai400BadRequestValidationFailed,
237    #[serde(rename = "pipeline-error-openai-401-unauthorized")]
238    PipelineErrorOpenai401Unauthorized,
239    #[serde(rename = "pipeline-error-openai-403-model-access-denied")]
240    PipelineErrorOpenai403ModelAccessDenied,
241    #[serde(rename = "pipeline-error-openai-429-exceeded-quota")]
242    PipelineErrorOpenai429ExceededQuota,
243    #[serde(rename = "pipeline-error-openai-500-server-error")]
244    PipelineErrorOpenai500ServerError,
245    #[serde(rename = "pipeline-error-google-400-bad-request-validation-failed")]
246    PipelineErrorGoogle400BadRequestValidationFailed,
247    #[serde(rename = "pipeline-error-google-401-unauthorized")]
248    PipelineErrorGoogle401Unauthorized,
249    #[serde(rename = "pipeline-error-google-403-model-access-denied")]
250    PipelineErrorGoogle403ModelAccessDenied,
251    #[serde(rename = "pipeline-error-google-429-exceeded-quota")]
252    PipelineErrorGoogle429ExceededQuota,
253    #[serde(rename = "pipeline-error-google-500-server-error")]
254    PipelineErrorGoogle500ServerError,
255    #[serde(rename = "pipeline-error-xai-400-bad-request-validation-failed")]
256    PipelineErrorXai400BadRequestValidationFailed,
257    #[serde(rename = "pipeline-error-xai-401-unauthorized")]
258    PipelineErrorXai401Unauthorized,
259    #[serde(rename = "pipeline-error-xai-403-model-access-denied")]
260    PipelineErrorXai403ModelAccessDenied,
261    #[serde(rename = "pipeline-error-xai-429-exceeded-quota")]
262    PipelineErrorXai429ExceededQuota,
263    #[serde(rename = "pipeline-error-xai-500-server-error")]
264    PipelineErrorXai500ServerError,
265    #[serde(rename = "pipeline-error-mistral-400-bad-request-validation-failed")]
266    PipelineErrorMistral400BadRequestValidationFailed,
267    #[serde(rename = "pipeline-error-mistral-401-unauthorized")]
268    PipelineErrorMistral401Unauthorized,
269    #[serde(rename = "pipeline-error-mistral-403-model-access-denied")]
270    PipelineErrorMistral403ModelAccessDenied,
271    #[serde(rename = "pipeline-error-mistral-429-exceeded-quota")]
272    PipelineErrorMistral429ExceededQuota,
273    #[serde(rename = "pipeline-error-mistral-500-server-error")]
274    PipelineErrorMistral500ServerError,
275    #[serde(rename = "pipeline-error-inflection-ai-400-bad-request-validation-failed")]
276    PipelineErrorInflectionAi400BadRequestValidationFailed,
277    #[serde(rename = "pipeline-error-inflection-ai-401-unauthorized")]
278    PipelineErrorInflectionAi401Unauthorized,
279    #[serde(rename = "pipeline-error-inflection-ai-403-model-access-denied")]
280    PipelineErrorInflectionAi403ModelAccessDenied,
281    #[serde(rename = "pipeline-error-inflection-ai-429-exceeded-quota")]
282    PipelineErrorInflectionAi429ExceededQuota,
283    #[serde(rename = "pipeline-error-inflection-ai-500-server-error")]
284    PipelineErrorInflectionAi500ServerError,
285    #[serde(rename = "pipeline-error-deep-seek-400-bad-request-validation-failed")]
286    PipelineErrorDeepSeek400BadRequestValidationFailed,
287    #[serde(rename = "pipeline-error-deep-seek-401-unauthorized")]
288    PipelineErrorDeepSeek401Unauthorized,
289    #[serde(rename = "pipeline-error-deep-seek-403-model-access-denied")]
290    PipelineErrorDeepSeek403ModelAccessDenied,
291    #[serde(rename = "pipeline-error-deep-seek-429-exceeded-quota")]
292    PipelineErrorDeepSeek429ExceededQuota,
293    #[serde(rename = "pipeline-error-deep-seek-500-server-error")]
294    PipelineErrorDeepSeek500ServerError,
295    #[serde(rename = "pipeline-error-azure-openai-400-bad-request-validation-failed")]
296    PipelineErrorAzureOpenai400BadRequestValidationFailed,
297    #[serde(rename = "pipeline-error-azure-openai-401-unauthorized")]
298    PipelineErrorAzureOpenai401Unauthorized,
299    #[serde(rename = "pipeline-error-azure-openai-403-model-access-denied")]
300    PipelineErrorAzureOpenai403ModelAccessDenied,
301    #[serde(rename = "pipeline-error-azure-openai-429-exceeded-quota")]
302    PipelineErrorAzureOpenai429ExceededQuota,
303    #[serde(rename = "pipeline-error-azure-openai-500-server-error")]
304    PipelineErrorAzureOpenai500ServerError,
305    #[serde(rename = "pipeline-error-groq-400-bad-request-validation-failed")]
306    PipelineErrorGroq400BadRequestValidationFailed,
307    #[serde(rename = "pipeline-error-groq-401-unauthorized")]
308    PipelineErrorGroq401Unauthorized,
309    #[serde(rename = "pipeline-error-groq-403-model-access-denied")]
310    PipelineErrorGroq403ModelAccessDenied,
311    #[serde(rename = "pipeline-error-groq-429-exceeded-quota")]
312    PipelineErrorGroq429ExceededQuota,
313    #[serde(rename = "pipeline-error-groq-500-server-error")]
314    PipelineErrorGroq500ServerError,
315    #[serde(rename = "pipeline-error-cerebras-400-bad-request-validation-failed")]
316    PipelineErrorCerebras400BadRequestValidationFailed,
317    #[serde(rename = "pipeline-error-cerebras-401-unauthorized")]
318    PipelineErrorCerebras401Unauthorized,
319    #[serde(rename = "pipeline-error-cerebras-403-model-access-denied")]
320    PipelineErrorCerebras403ModelAccessDenied,
321    #[serde(rename = "pipeline-error-cerebras-429-exceeded-quota")]
322    PipelineErrorCerebras429ExceededQuota,
323    #[serde(rename = "pipeline-error-cerebras-500-server-error")]
324    PipelineErrorCerebras500ServerError,
325    #[serde(rename = "pipeline-error-anthropic-400-bad-request-validation-failed")]
326    PipelineErrorAnthropic400BadRequestValidationFailed,
327    #[serde(rename = "pipeline-error-anthropic-401-unauthorized")]
328    PipelineErrorAnthropic401Unauthorized,
329    #[serde(rename = "pipeline-error-anthropic-403-model-access-denied")]
330    PipelineErrorAnthropic403ModelAccessDenied,
331    #[serde(rename = "pipeline-error-anthropic-429-exceeded-quota")]
332    PipelineErrorAnthropic429ExceededQuota,
333    #[serde(rename = "pipeline-error-anthropic-500-server-error")]
334    PipelineErrorAnthropic500ServerError,
335    #[serde(rename = "pipeline-error-anthropic-llm-failed")]
336    PipelineErrorAnthropicLlmFailed,
337    #[serde(rename = "pipeline-error-together-ai-400-bad-request-validation-failed")]
338    PipelineErrorTogetherAi400BadRequestValidationFailed,
339    #[serde(rename = "pipeline-error-together-ai-401-unauthorized")]
340    PipelineErrorTogetherAi401Unauthorized,
341    #[serde(rename = "pipeline-error-together-ai-403-model-access-denied")]
342    PipelineErrorTogetherAi403ModelAccessDenied,
343    #[serde(rename = "pipeline-error-together-ai-429-exceeded-quota")]
344    PipelineErrorTogetherAi429ExceededQuota,
345    #[serde(rename = "pipeline-error-together-ai-500-server-error")]
346    PipelineErrorTogetherAi500ServerError,
347    #[serde(rename = "pipeline-error-together-ai-llm-failed")]
348    PipelineErrorTogetherAiLlmFailed,
349    #[serde(rename = "pipeline-error-anyscale-400-bad-request-validation-failed")]
350    PipelineErrorAnyscale400BadRequestValidationFailed,
351    #[serde(rename = "pipeline-error-anyscale-401-unauthorized")]
352    PipelineErrorAnyscale401Unauthorized,
353    #[serde(rename = "pipeline-error-anyscale-403-model-access-denied")]
354    PipelineErrorAnyscale403ModelAccessDenied,
355    #[serde(rename = "pipeline-error-anyscale-429-exceeded-quota")]
356    PipelineErrorAnyscale429ExceededQuota,
357    #[serde(rename = "pipeline-error-anyscale-500-server-error")]
358    PipelineErrorAnyscale500ServerError,
359    #[serde(rename = "pipeline-error-anyscale-llm-failed")]
360    PipelineErrorAnyscaleLlmFailed,
361    #[serde(rename = "pipeline-error-openrouter-400-bad-request-validation-failed")]
362    PipelineErrorOpenrouter400BadRequestValidationFailed,
363    #[serde(rename = "pipeline-error-openrouter-401-unauthorized")]
364    PipelineErrorOpenrouter401Unauthorized,
365    #[serde(rename = "pipeline-error-openrouter-403-model-access-denied")]
366    PipelineErrorOpenrouter403ModelAccessDenied,
367    #[serde(rename = "pipeline-error-openrouter-429-exceeded-quota")]
368    PipelineErrorOpenrouter429ExceededQuota,
369    #[serde(rename = "pipeline-error-openrouter-500-server-error")]
370    PipelineErrorOpenrouter500ServerError,
371    #[serde(rename = "pipeline-error-openrouter-llm-failed")]
372    PipelineErrorOpenrouterLlmFailed,
373    #[serde(rename = "pipeline-error-perplexity-ai-400-bad-request-validation-failed")]
374    PipelineErrorPerplexityAi400BadRequestValidationFailed,
375    #[serde(rename = "pipeline-error-perplexity-ai-401-unauthorized")]
376    PipelineErrorPerplexityAi401Unauthorized,
377    #[serde(rename = "pipeline-error-perplexity-ai-403-model-access-denied")]
378    PipelineErrorPerplexityAi403ModelAccessDenied,
379    #[serde(rename = "pipeline-error-perplexity-ai-429-exceeded-quota")]
380    PipelineErrorPerplexityAi429ExceededQuota,
381    #[serde(rename = "pipeline-error-perplexity-ai-500-server-error")]
382    PipelineErrorPerplexityAi500ServerError,
383    #[serde(rename = "pipeline-error-perplexity-ai-llm-failed")]
384    PipelineErrorPerplexityAiLlmFailed,
385    #[serde(rename = "pipeline-error-deepinfra-400-bad-request-validation-failed")]
386    PipelineErrorDeepinfra400BadRequestValidationFailed,
387    #[serde(rename = "pipeline-error-deepinfra-401-unauthorized")]
388    PipelineErrorDeepinfra401Unauthorized,
389    #[serde(rename = "pipeline-error-deepinfra-403-model-access-denied")]
390    PipelineErrorDeepinfra403ModelAccessDenied,
391    #[serde(rename = "pipeline-error-deepinfra-429-exceeded-quota")]
392    PipelineErrorDeepinfra429ExceededQuota,
393    #[serde(rename = "pipeline-error-deepinfra-500-server-error")]
394    PipelineErrorDeepinfra500ServerError,
395    #[serde(rename = "pipeline-error-deepinfra-llm-failed")]
396    PipelineErrorDeepinfraLlmFailed,
397    #[serde(rename = "pipeline-error-runpod-400-bad-request-validation-failed")]
398    PipelineErrorRunpod400BadRequestValidationFailed,
399    #[serde(rename = "pipeline-error-runpod-401-unauthorized")]
400    PipelineErrorRunpod401Unauthorized,
401    #[serde(rename = "pipeline-error-runpod-403-model-access-denied")]
402    PipelineErrorRunpod403ModelAccessDenied,
403    #[serde(rename = "pipeline-error-runpod-429-exceeded-quota")]
404    PipelineErrorRunpod429ExceededQuota,
405    #[serde(rename = "pipeline-error-runpod-500-server-error")]
406    PipelineErrorRunpod500ServerError,
407    #[serde(rename = "pipeline-error-runpod-llm-failed")]
408    PipelineErrorRunpodLlmFailed,
409    #[serde(rename = "pipeline-error-custom-llm-400-bad-request-validation-failed")]
410    PipelineErrorCustomLlm400BadRequestValidationFailed,
411    #[serde(rename = "pipeline-error-custom-llm-401-unauthorized")]
412    PipelineErrorCustomLlm401Unauthorized,
413    #[serde(rename = "pipeline-error-custom-llm-403-model-access-denied")]
414    PipelineErrorCustomLlm403ModelAccessDenied,
415    #[serde(rename = "pipeline-error-custom-llm-429-exceeded-quota")]
416    PipelineErrorCustomLlm429ExceededQuota,
417    #[serde(rename = "pipeline-error-custom-llm-500-server-error")]
418    PipelineErrorCustomLlm500ServerError,
419    #[serde(rename = "pipeline-error-custom-llm-llm-failed")]
420    PipelineErrorCustomLlmLlmFailed,
421    #[serde(rename = "pipeline-error-custom-voice-failed")]
422    PipelineErrorCustomVoiceFailed,
423    #[serde(rename = "pipeline-error-cartesia-socket-hang-up")]
424    PipelineErrorCartesiaSocketHangUp,
425    #[serde(rename = "pipeline-error-cartesia-requested-payment")]
426    PipelineErrorCartesiaRequestedPayment,
427    #[serde(rename = "pipeline-error-cartesia-500-server-error")]
428    PipelineErrorCartesia500ServerError,
429    #[serde(rename = "pipeline-error-cartesia-503-server-error")]
430    PipelineErrorCartesia503ServerError,
431    #[serde(rename = "pipeline-error-cartesia-522-server-error")]
432    PipelineErrorCartesia522ServerError,
433    #[serde(rename = "pipeline-error-eleven-labs-voice-not-found")]
434    PipelineErrorElevenLabsVoiceNotFound,
435    #[serde(rename = "pipeline-error-eleven-labs-quota-exceeded")]
436    PipelineErrorElevenLabsQuotaExceeded,
437    #[serde(rename = "pipeline-error-eleven-labs-unauthorized-access")]
438    PipelineErrorElevenLabsUnauthorizedAccess,
439    #[serde(rename = "pipeline-error-eleven-labs-unauthorized-to-access-model")]
440    PipelineErrorElevenLabsUnauthorizedToAccessModel,
441    #[serde(rename = "pipeline-error-eleven-labs-professional-voices-only-for-creator-plus")]
442    PipelineErrorElevenLabsProfessionalVoicesOnlyForCreatorPlus,
443    #[serde(rename = "pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade")]
444    PipelineErrorElevenLabsBlockedFreePlanAndRequestedUpgrade,
445    #[serde(
446        rename = "pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade"
447    )]
448    PipelineErrorElevenLabsBlockedConcurrentRequestsAndRequestedUpgrade,
449    #[serde(
450        rename = "pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade"
451    )]
452    PipelineErrorElevenLabsBlockedUsingInstantVoiceCloneAndRequestedUpgrade,
453    #[serde(rename = "pipeline-error-eleven-labs-system-busy-and-requested-upgrade")]
454    PipelineErrorElevenLabsSystemBusyAndRequestedUpgrade,
455    #[serde(rename = "pipeline-error-eleven-labs-voice-not-fine-tuned")]
456    PipelineErrorElevenLabsVoiceNotFineTuned,
457    #[serde(rename = "pipeline-error-eleven-labs-invalid-api-key")]
458    PipelineErrorElevenLabsInvalidApiKey,
459    #[serde(rename = "pipeline-error-eleven-labs-invalid-voice-samples")]
460    PipelineErrorElevenLabsInvalidVoiceSamples,
461    #[serde(rename = "pipeline-error-eleven-labs-voice-disabled-by-owner")]
462    PipelineErrorElevenLabsVoiceDisabledByOwner,
463    #[serde(rename = "pipeline-error-eleven-labs-blocked-account-in-probation")]
464    PipelineErrorElevenLabsBlockedAccountInProbation,
465    #[serde(rename = "pipeline-error-eleven-labs-blocked-content-against-their-policy")]
466    PipelineErrorElevenLabsBlockedContentAgainstTheirPolicy,
467    #[serde(rename = "pipeline-error-eleven-labs-missing-samples-for-voice-clone")]
468    PipelineErrorElevenLabsMissingSamplesForVoiceClone,
469    #[serde(rename = "pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used")]
470    PipelineErrorElevenLabsVoiceNotFineTunedAndCannotBeUsed,
471    #[serde(rename = "pipeline-error-eleven-labs-voice-not-allowed-for-free-users")]
472    PipelineErrorElevenLabsVoiceNotAllowedForFreeUsers,
473    #[serde(rename = "pipeline-error-eleven-labs-500-server-error")]
474    PipelineErrorElevenLabs500ServerError,
475    #[serde(rename = "pipeline-error-eleven-labs-max-character-limit-exceeded")]
476    PipelineErrorElevenLabsMaxCharacterLimitExceeded,
477    #[serde(
478        rename = "pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification"
479    )]
480    PipelineErrorElevenLabsBlockedVoicePotentiallyAgainstTermsOfServiceAndAwaitingVerification,
481    #[serde(rename = "pipeline-error-playht-request-timed-out")]
482    PipelineErrorPlayhtRequestTimedOut,
483    #[serde(rename = "pipeline-error-playht-invalid-voice")]
484    PipelineErrorPlayhtInvalidVoice,
485    #[serde(rename = "pipeline-error-playht-unexpected-error")]
486    PipelineErrorPlayhtUnexpectedError,
487    #[serde(rename = "pipeline-error-playht-out-of-credits")]
488    PipelineErrorPlayhtOutOfCredits,
489    #[serde(rename = "pipeline-error-playht-invalid-emotion")]
490    PipelineErrorPlayhtInvalidEmotion,
491    #[serde(rename = "pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri")]
492    PipelineErrorPlayhtVoiceMustBeAValidVoiceManifestUri,
493    #[serde(rename = "pipeline-error-playht-401-unauthorized")]
494    PipelineErrorPlayht401Unauthorized,
495    #[serde(rename = "pipeline-error-playht-403-forbidden-out-of-characters")]
496    PipelineErrorPlayht403ForbiddenOutOfCharacters,
497    #[serde(rename = "pipeline-error-playht-403-forbidden-api-access-not-available")]
498    PipelineErrorPlayht403ForbiddenApiAccessNotAvailable,
499    #[serde(rename = "pipeline-error-playht-429-exceeded-quota")]
500    PipelineErrorPlayht429ExceededQuota,
501    #[serde(rename = "pipeline-error-playht-502-gateway-error")]
502    PipelineErrorPlayht502GatewayError,
503    #[serde(rename = "pipeline-error-playht-504-gateway-error")]
504    PipelineErrorPlayht504GatewayError,
505    #[serde(rename = "pipeline-error-tavus-video-failed")]
506    PipelineErrorTavusVideoFailed,
507    #[serde(rename = "pipeline-error-custom-transcriber-failed")]
508    PipelineErrorCustomTranscriberFailed,
509    #[serde(rename = "pipeline-error-11labs-transcriber-failed")]
510    PipelineError11labsTranscriberFailed,
511    #[serde(rename = "pipeline-error-deepgram-returning-403-model-access-denied")]
512    PipelineErrorDeepgramReturning403ModelAccessDenied,
513    #[serde(rename = "pipeline-error-deepgram-returning-401-invalid-credentials")]
514    PipelineErrorDeepgramReturning401InvalidCredentials,
515    #[serde(rename = "pipeline-error-deepgram-returning-404-not-found")]
516    PipelineErrorDeepgramReturning404NotFound,
517    #[serde(
518        rename = "pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination"
519    )]
520    PipelineErrorDeepgramReturning400NoSuchModelLanguageTierCombination,
521    #[serde(rename = "pipeline-error-deepgram-returning-500-invalid-json")]
522    PipelineErrorDeepgramReturning500InvalidJson,
523    #[serde(rename = "pipeline-error-deepgram-returning-502-network-error")]
524    PipelineErrorDeepgramReturning502NetworkError,
525    #[serde(rename = "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach")]
526    PipelineErrorDeepgramReturning502BadGatewayEhostunreach,
527    #[serde(rename = "silence-timed-out")]
528    SilenceTimedOut,
529    #[serde(rename = "sip-gateway-failed-to-connect-call")]
530    SipGatewayFailedToConnectCall,
531    #[serde(rename = "twilio-failed-to-connect-call")]
532    TwilioFailedToConnectCall,
533    #[serde(rename = "twilio-reported-customer-misdialed")]
534    TwilioReportedCustomerMisdialed,
535    #[serde(rename = "vonage-rejected")]
536    VonageRejected,
537    #[serde(rename = "voicemail")]
538    Voicemail,
539}
540
541impl Default for EndedReason {
542    fn default() -> EndedReason {
543        Self::AssistantNotValid
544    }
545}
546/// This is the request to control the phone call.
547#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
548pub enum Request {
549    #[serde(rename = "forward")]
550    Forward,
551    #[serde(rename = "hang-up")]
552    HangUp,
553}
554
555impl Default for Request {
556    fn default() -> Request {
557        Self::Forward
558    }
559}
560/// This is the status of the call.
561#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
562pub enum Status {
563    #[serde(rename = "queued")]
564    Queued,
565    #[serde(rename = "ringing")]
566    Ringing,
567    #[serde(rename = "in-progress")]
568    InProgress,
569    #[serde(rename = "forwarding")]
570    Forwarding,
571    #[serde(rename = "ended")]
572    Ended,
573}
574
575impl Default for Status {
576    fn default() -> Status {
577        Self::Queued
578    }
579}
580/// This is the role for which the transcript is for.
581#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
582pub enum Role {
583    #[serde(rename = "assistant")]
584    Assistant,
585    #[serde(rename = "user")]
586    User,
587}
588
589impl Default for Role {
590    fn default() -> Role {
591        Self::Assistant
592    }
593}
594/// This is the type of the transcript.
595#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
596pub enum TranscriptType {
597    #[serde(rename = "partial")]
598    Partial,
599    #[serde(rename = "final")]
600    Final,
601}
602
603impl Default for TranscriptType {
604    fn default() -> TranscriptType {
605        Self::Partial
606    }
607}