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