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