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