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