{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Call", "title": "Call", "type": "object", "properties": { "type": { "type": "string", "description": "This is the type of call.", "enum": [ "inboundPhoneCall", "outboundPhoneCall", "webCall", "vapi.websocketCall" ] }, "costs": { "type": "array", "description": "These are the costs of individual components of the call in USD.", "items": { "oneOf": [ { "$ref": "#/components/schemas/TransportCost", "title": "TransportCost" }, { "$ref": "#/components/schemas/TranscriberCost", "title": "TranscriberCost" }, { "$ref": "#/components/schemas/ModelCost", "title": "ModelCost" }, { "$ref": "#/components/schemas/VoiceCost", "title": "VoiceCost" }, { "$ref": "#/components/schemas/VapiCost", "title": "VapiCost" }, { "$ref": "#/components/schemas/VoicemailDetectionCost", "title": "VoicemailDetectionCost" }, { "$ref": "#/components/schemas/AnalysisCost", "title": "AnalysisCost" }, { "$ref": "#/components/schemas/KnowledgeBaseCost", "title": "KnowledgeBaseCost" } ] } }, "messages": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/UserMessage", "title": "UserMessage" }, { "$ref": "#/components/schemas/SystemMessage", "title": "SystemMessage" }, { "$ref": "#/components/schemas/BotMessage", "title": "BotMessage" }, { "$ref": "#/components/schemas/ToolCallMessage", "title": "ToolCallMessage" }, { "$ref": "#/components/schemas/ToolCallResultMessage", "title": "ToolCallResultMessage" } ] } }, "phoneCallProvider": { "type": "string", "description": "This is the provider of the call.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type.", "deprecated": true, "enum": [ "twilio", "vonage", "vapi", "telnyx" ] }, "phoneCallTransport": { "type": "string", "description": "This is the transport of the phone call.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type.", "enum": [ "sip", "pstn" ] }, "status": { "type": "string", "description": "This is the status of the call.", "enum": [ "scheduled", "queued", "ringing", "in-progress", "forwarding", "ended", "not-found", "deletion-failed" ] }, "endedReason": { "type": "string", "description": "This is the explanation for how the call ended.", "enum": [ "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", "assistant-request-returned-error", "assistant-request-returned-unspeakable-error", "assistant-request-returned-invalid-assistant", "assistant-request-returned-no-assistant", "assistant-request-returned-forwarding-phone-number", "scheduled-call-deleted", "call.start.error-vapifault-get-org", "call.start.error-vapifault-get-subscription", "call.start.error-get-assistant", "call.start.error-get-phone-number", "call.start.error-get-customer", "call.start.error-get-resources-validation", "call.start.error-vapi-number-international", "call.start.error-vapi-number-outbound-daily-limit", "call.start.error-get-transport", "call.start.error-subscription-wallet-does-not-exist", "call.start.error-fraud-check-failed", "call.start.error-subscription-frozen", "call.start.error-subscription-insufficient-credits", "call.start.error-subscription-upgrade-failed", "call.start.error-subscription-concurrency-limit-reached", "call.start.error-enterprise-feature-not-available-recording-consent", "assistant-not-valid", "call.start.error-vapifault-database-error", "assistant-not-found", "pipeline-error-openai-voice-failed", "pipeline-error-cartesia-voice-failed", "pipeline-error-deepgram-voice-failed", "pipeline-error-eleven-labs-voice-failed", "pipeline-error-playht-voice-failed", "pipeline-error-lmnt-voice-failed", "pipeline-error-azure-voice-failed", "pipeline-error-rime-ai-voice-failed", "pipeline-error-smallest-ai-voice-failed", "pipeline-error-vapi-voice-failed", "pipeline-error-neuphonic-voice-failed", "pipeline-error-hume-voice-failed", "pipeline-error-sesame-voice-failed", "pipeline-error-inworld-voice-failed", "pipeline-error-minimax-voice-failed", "pipeline-error-wellsaid-voice-failed", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", "call.in-progress.error-vapifault-deepgram-voice-failed", "call.in-progress.error-vapifault-eleven-labs-voice-failed", "call.in-progress.error-vapifault-playht-voice-failed", "call.in-progress.error-vapifault-lmnt-voice-failed", "call.in-progress.error-vapifault-azure-voice-failed", "call.in-progress.error-vapifault-rime-ai-voice-failed", "call.in-progress.error-vapifault-smallest-ai-voice-failed", "call.in-progress.error-vapifault-vapi-voice-failed", "call.in-progress.error-vapifault-neuphonic-voice-failed", "call.in-progress.error-vapifault-hume-voice-failed", "call.in-progress.error-vapifault-sesame-voice-failed", "call.in-progress.error-vapifault-inworld-voice-failed", "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-wellsaid-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", "pipeline-error-vapi-401-unauthorized", "pipeline-error-vapi-403-model-access-denied", "pipeline-error-vapi-429-exceeded-quota", "pipeline-error-vapi-500-server-error", "pipeline-error-vapi-503-server-overloaded-error", "call.in-progress.error-providerfault-vapi-llm-failed", "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed", "call.in-progress.error-vapifault-vapi-401-unauthorized", "call.in-progress.error-vapifault-vapi-403-model-access-denied", "call.in-progress.error-vapifault-vapi-429-exceeded-quota", "call.in-progress.error-providerfault-vapi-500-server-error", "call.in-progress.error-providerfault-vapi-503-server-overloaded-error", "pipeline-error-deepgram-transcriber-failed", "pipeline-error-deepgram-transcriber-api-key-missing", "call.in-progress.error-vapifault-deepgram-transcriber-failed", "pipeline-error-gladia-transcriber-failed", "call.in-progress.error-vapifault-gladia-transcriber-failed", "pipeline-error-speechmatics-transcriber-failed", "call.in-progress.error-vapifault-speechmatics-transcriber-failed", "pipeline-error-assembly-ai-transcriber-failed", "pipeline-error-assembly-ai-returning-400-insufficent-funds", "pipeline-error-assembly-ai-returning-400-paid-only-feature", "pipeline-error-assembly-ai-returning-401-invalid-credentials", "pipeline-error-assembly-ai-returning-500-invalid-schema", "pipeline-error-assembly-ai-returning-500-word-boost-parsing-failed", "call.in-progress.error-vapifault-assembly-ai-transcriber-failed", "call.in-progress.error-vapifault-assembly-ai-returning-400-insufficent-funds", "call.in-progress.error-vapifault-assembly-ai-returning-400-paid-only-feature", "call.in-progress.error-vapifault-assembly-ai-returning-401-invalid-credentials", "call.in-progress.error-vapifault-assembly-ai-returning-500-invalid-schema", "call.in-progress.error-vapifault-assembly-ai-returning-500-word-boost-parsing-failed", "pipeline-error-talkscriber-transcriber-failed", "call.in-progress.error-vapifault-talkscriber-transcriber-failed", "pipeline-error-azure-speech-transcriber-failed", "call.in-progress.error-vapifault-azure-speech-transcriber-failed", "pipeline-error-eleven-labs-transcriber-failed", "call.in-progress.error-vapifault-eleven-labs-transcriber-failed", "pipeline-error-google-transcriber-failed", "call.in-progress.error-vapifault-google-transcriber-failed", "pipeline-error-openai-transcriber-failed", "call.in-progress.error-vapifault-openai-transcriber-failed", "pipeline-error-soniox-transcriber-auth-failed", "pipeline-error-soniox-transcriber-rate-limited", "pipeline-error-soniox-transcriber-invalid-config", "pipeline-error-soniox-transcriber-server-error", "pipeline-error-soniox-transcriber-failed", "call.in-progress.error-vapifault-soniox-transcriber-auth-failed", "call.in-progress.error-vapifault-soniox-transcriber-rate-limited", "call.in-progress.error-vapifault-soniox-transcriber-invalid-config", "call.in-progress.error-vapifault-soniox-transcriber-server-error", "call.in-progress.error-vapifault-soniox-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", "worker-shutdown", "vonage-disconnected", "vonage-failed-to-connect-call", "vonage-completed", "phone-call-provider-bypass-enabled-but-no-call-received", "call.in-progress.error-providerfault-transport-never-connected", "call.in-progress.error-vapifault-worker-not-available", "call.in-progress.error-vapifault-transport-never-connected", "call.in-progress.error-vapifault-transport-connected-but-call-not-active", "call.in-progress.error-vapifault-call-started-but-connection-to-transport-missing", "call.in-progress.error-vapifault-worker-died", "call.in-progress.twilio-completed-call", "call.in-progress.sip-completed-call", "call.in-progress.error-sip-inbound-call-failed-to-connect", "call.in-progress.error-providerfault-outbound-sip-503-service-unavailable", "call.in-progress.error-sip-outbound-call-failed-to-connect", "call.ringing.error-sip-inbound-call-failed-to-connect", "call.in-progress.error-providerfault-openai-llm-failed", "call.in-progress.error-providerfault-azure-openai-llm-failed", "call.in-progress.error-providerfault-groq-llm-failed", "call.in-progress.error-providerfault-google-llm-failed", "call.in-progress.error-providerfault-xai-llm-failed", "call.in-progress.error-providerfault-mistral-llm-failed", "call.in-progress.error-providerfault-minimax-llm-failed", "call.in-progress.error-providerfault-inflection-ai-llm-failed", "call.in-progress.error-providerfault-cerebras-llm-failed", "call.in-progress.error-providerfault-deep-seek-llm-failed", "call.in-progress.error-providerfault-baseten-llm-failed", "call.in-progress.error-vapifault-chat-pipeline-failed-to-start", "pipeline-error-openai-400-bad-request-validation-failed", "pipeline-error-openai-401-unauthorized", "pipeline-error-openai-401-incorrect-api-key", "pipeline-error-openai-401-account-not-in-organization", "pipeline-error-openai-403-model-access-denied", "pipeline-error-openai-429-exceeded-quota", "pipeline-error-openai-429-rate-limit-reached", "pipeline-error-openai-500-server-error", "pipeline-error-openai-503-server-overloaded-error", "pipeline-error-openai-llm-failed", "call.in-progress.error-vapifault-openai-400-bad-request-validation-failed", "call.in-progress.error-vapifault-openai-401-unauthorized", "call.in-progress.error-vapifault-openai-401-incorrect-api-key", "call.in-progress.error-vapifault-openai-401-account-not-in-organization", "call.in-progress.error-vapifault-openai-403-model-access-denied", "call.in-progress.error-vapifault-openai-429-exceeded-quota", "call.in-progress.error-vapifault-openai-429-rate-limit-reached", "call.in-progress.error-providerfault-openai-500-server-error", "call.in-progress.error-providerfault-openai-503-server-overloaded-error", "pipeline-error-azure-openai-400-bad-request-validation-failed", "pipeline-error-azure-openai-401-unauthorized", "pipeline-error-azure-openai-403-model-access-denied", "pipeline-error-azure-openai-429-exceeded-quota", "pipeline-error-azure-openai-500-server-error", "pipeline-error-azure-openai-503-server-overloaded-error", "pipeline-error-azure-openai-llm-failed", "call.in-progress.error-vapifault-azure-openai-400-bad-request-validation-failed", "call.in-progress.error-vapifault-azure-openai-401-unauthorized", "call.in-progress.error-vapifault-azure-openai-403-model-access-denied", "call.in-progress.error-vapifault-azure-openai-429-exceeded-quota", "call.in-progress.error-providerfault-azure-openai-500-server-error", "call.in-progress.error-providerfault-azure-openai-503-server-overloaded-error", "pipeline-error-google-400-bad-request-validation-failed", "pipeline-error-google-401-unauthorized", "pipeline-error-google-403-model-access-denied", "pipeline-error-google-429-exceeded-quota", "pipeline-error-google-500-server-error", "pipeline-error-google-503-server-overloaded-error", "pipeline-error-google-llm-failed", "call.in-progress.error-vapifault-google-400-bad-request-validation-failed", "call.in-progress.error-vapifault-google-401-unauthorized", "call.in-progress.error-vapifault-google-403-model-access-denied", "call.in-progress.error-vapifault-google-429-exceeded-quota", "call.in-progress.error-providerfault-google-500-server-error", "call.in-progress.error-providerfault-google-503-server-overloaded-error", "pipeline-error-xai-400-bad-request-validation-failed", "pipeline-error-xai-401-unauthorized", "pipeline-error-xai-403-model-access-denied", "pipeline-error-xai-429-exceeded-quota", "pipeline-error-xai-500-server-error", "pipeline-error-xai-503-server-overloaded-error", "pipeline-error-xai-llm-failed", "call.in-progress.error-vapifault-xai-400-bad-request-validation-failed", "call.in-progress.error-vapifault-xai-401-unauthorized", "call.in-progress.error-vapifault-xai-403-model-access-denied", "call.in-progress.error-vapifault-xai-429-exceeded-quota", "call.in-progress.error-providerfault-xai-500-server-error", "call.in-progress.error-providerfault-xai-503-server-overloaded-error", "pipeline-error-baseten-400-bad-request-validation-failed", "pipeline-error-baseten-401-unauthorized", "pipeline-error-baseten-403-model-access-denied", "pipeline-error-baseten-429-exceeded-quota", "pipeline-error-baseten-500-server-error", "pipeline-error-baseten-503-server-overloaded-error", "pipeline-error-baseten-llm-failed", "call.in-progress.error-vapifault-baseten-400-bad-request-validation-failed", "call.in-progress.error-vapifault-baseten-401-unauthorized", "call.in-progress.error-vapifault-baseten-403-model-access-denied", "call.in-progress.error-vapifault-baseten-429-exceeded-quota", "call.in-progress.error-providerfault-baseten-500-server-error", "call.in-progress.error-providerfault-baseten-503-server-overloaded-error", "pipeline-error-mistral-400-bad-request-validation-failed", "pipeline-error-mistral-401-unauthorized", "pipeline-error-mistral-403-model-access-denied", "pipeline-error-mistral-429-exceeded-quota", "pipeline-error-mistral-500-server-error", "pipeline-error-mistral-503-server-overloaded-error", "pipeline-error-mistral-llm-failed", "call.in-progress.error-vapifault-mistral-400-bad-request-validation-failed", "call.in-progress.error-vapifault-mistral-401-unauthorized", "call.in-progress.error-vapifault-mistral-403-model-access-denied", "call.in-progress.error-vapifault-mistral-429-exceeded-quota", "call.in-progress.error-providerfault-mistral-500-server-error", "call.in-progress.error-providerfault-mistral-503-server-overloaded-error", "pipeline-error-minimax-400-bad-request-validation-failed", "pipeline-error-minimax-401-unauthorized", "pipeline-error-minimax-403-model-access-denied", "pipeline-error-minimax-429-exceeded-quota", "pipeline-error-minimax-500-server-error", "pipeline-error-minimax-503-server-overloaded-error", "pipeline-error-minimax-llm-failed", "call.in-progress.error-vapifault-minimax-400-bad-request-validation-failed", "call.in-progress.error-vapifault-minimax-401-unauthorized", "call.in-progress.error-vapifault-minimax-403-model-access-denied", "call.in-progress.error-vapifault-minimax-429-exceeded-quota", "call.in-progress.error-providerfault-minimax-500-server-error", "call.in-progress.error-providerfault-minimax-503-server-overloaded-error", "pipeline-error-inflection-ai-400-bad-request-validation-failed", "pipeline-error-inflection-ai-401-unauthorized", "pipeline-error-inflection-ai-403-model-access-denied", "pipeline-error-inflection-ai-429-exceeded-quota", "pipeline-error-inflection-ai-500-server-error", "pipeline-error-inflection-ai-503-server-overloaded-error", "pipeline-error-inflection-ai-llm-failed", "call.in-progress.error-vapifault-inflection-ai-400-bad-request-validation-failed", "call.in-progress.error-vapifault-inflection-ai-401-unauthorized", "call.in-progress.error-vapifault-inflection-ai-403-model-access-denied", "call.in-progress.error-vapifault-inflection-ai-429-exceeded-quota", "call.in-progress.error-providerfault-inflection-ai-500-server-error", "call.in-progress.error-providerfault-inflection-ai-503-server-overloaded-error", "pipeline-error-deep-seek-400-bad-request-validation-failed", "pipeline-error-deep-seek-401-unauthorized", "pipeline-error-deep-seek-403-model-access-denied", "pipeline-error-deep-seek-429-exceeded-quota", "pipeline-error-deep-seek-500-server-error", "pipeline-error-deep-seek-503-server-overloaded-error", "pipeline-error-deep-seek-llm-failed", "call.in-progress.error-vapifault-deep-seek-400-bad-request-validation-failed", "call.in-progress.error-vapifault-deep-seek-401-unauthorized", "call.in-progress.error-vapifault-deep-seek-403-model-access-denied", "call.in-progress.error-vapifault-deep-seek-429-exceeded-quota", "call.in-progress.error-providerfault-deep-seek-500-server-error", "call.in-progress.error-providerfault-deep-seek-503-server-overloaded-error", "pipeline-error-groq-400-bad-request-validation-failed", "pipeline-error-groq-401-unauthorized", "pipeline-error-groq-403-model-access-denied", "pipeline-error-groq-429-exceeded-quota", "pipeline-error-groq-500-server-error", "pipeline-error-groq-503-server-overloaded-error", "pipeline-error-groq-llm-failed", "call.in-progress.error-vapifault-groq-400-bad-request-validation-failed", "call.in-progress.error-vapifault-groq-401-unauthorized", "call.in-progress.error-vapifault-groq-403-model-access-denied", "call.in-progress.error-vapifault-groq-429-exceeded-quota", "call.in-progress.error-providerfault-groq-500-server-error", "call.in-progress.error-providerfault-groq-503-server-overloaded-error", "pipeline-error-cerebras-400-bad-request-validation-failed", "pipeline-error-cerebras-401-unauthorized", "pipeline-error-cerebras-403-model-access-denied", "pipeline-error-cerebras-429-exceeded-quota", "pipeline-error-cerebras-500-server-error", "pipeline-error-cerebras-503-server-overloaded-error", "pipeline-error-cerebras-llm-failed", "call.in-progress.error-vapifault-cerebras-400-bad-request-validation-failed", "call.in-progress.error-vapifault-cerebras-401-unauthorized", "call.in-progress.error-vapifault-cerebras-403-model-access-denied", "call.in-progress.error-vapifault-cerebras-429-exceeded-quota", "call.in-progress.error-providerfault-cerebras-500-server-error", "call.in-progress.error-providerfault-cerebras-503-server-overloaded-error", "pipeline-error-anthropic-400-bad-request-validation-failed", "pipeline-error-anthropic-401-unauthorized", "pipeline-error-anthropic-403-model-access-denied", "pipeline-error-anthropic-429-exceeded-quota", "pipeline-error-anthropic-500-server-error", "pipeline-error-anthropic-503-server-overloaded-error", "pipeline-error-anthropic-llm-failed", "call.in-progress.error-providerfault-anthropic-llm-failed", "call.in-progress.error-vapifault-anthropic-400-bad-request-validation-failed", "call.in-progress.error-vapifault-anthropic-401-unauthorized", "call.in-progress.error-vapifault-anthropic-403-model-access-denied", "call.in-progress.error-vapifault-anthropic-429-exceeded-quota", "call.in-progress.error-providerfault-anthropic-500-server-error", "call.in-progress.error-providerfault-anthropic-503-server-overloaded-error", "pipeline-error-anthropic-bedrock-400-bad-request-validation-failed", "pipeline-error-anthropic-bedrock-401-unauthorized", "pipeline-error-anthropic-bedrock-403-model-access-denied", "pipeline-error-anthropic-bedrock-429-exceeded-quota", "pipeline-error-anthropic-bedrock-500-server-error", "pipeline-error-anthropic-bedrock-503-server-overloaded-error", "pipeline-error-anthropic-bedrock-llm-failed", "call.in-progress.error-providerfault-anthropic-bedrock-llm-failed", "call.in-progress.error-vapifault-anthropic-bedrock-400-bad-request-validation-failed", "call.in-progress.error-vapifault-anthropic-bedrock-401-unauthorized", "call.in-progress.error-vapifault-anthropic-bedrock-403-model-access-denied", "call.in-progress.error-vapifault-anthropic-bedrock-429-exceeded-quota", "call.in-progress.error-providerfault-anthropic-bedrock-500-server-error", "call.in-progress.error-providerfault-anthropic-bedrock-503-server-overloaded-error", "pipeline-error-anthropic-vertex-400-bad-request-validation-failed", "pipeline-error-anthropic-vertex-401-unauthorized", "pipeline-error-anthropic-vertex-403-model-access-denied", "pipeline-error-anthropic-vertex-429-exceeded-quota", "pipeline-error-anthropic-vertex-500-server-error", "pipeline-error-anthropic-vertex-503-server-overloaded-error", "pipeline-error-anthropic-vertex-llm-failed", "call.in-progress.error-providerfault-anthropic-vertex-llm-failed", "call.in-progress.error-vapifault-anthropic-vertex-400-bad-request-validation-failed", "call.in-progress.error-vapifault-anthropic-vertex-401-unauthorized", "call.in-progress.error-vapifault-anthropic-vertex-403-model-access-denied", "call.in-progress.error-vapifault-anthropic-vertex-429-exceeded-quota", "call.in-progress.error-providerfault-anthropic-vertex-500-server-error", "call.in-progress.error-providerfault-anthropic-vertex-503-server-overloaded-error", "pipeline-error-together-ai-400-bad-request-validation-failed", "pipeline-error-together-ai-401-unauthorized", "pipeline-error-together-ai-403-model-access-denied", "pipeline-error-together-ai-429-exceeded-quota", "pipeline-error-together-ai-500-server-error", "pipeline-error-together-ai-503-server-overloaded-error", "pipeline-error-together-ai-llm-failed", "call.in-progress.error-providerfault-together-ai-llm-failed", "call.in-progress.error-vapifault-together-ai-400-bad-request-validation-failed", "call.in-progress.error-vapifault-together-ai-401-unauthorized", "call.in-progress.error-vapifault-together-ai-403-model-access-denied", "call.in-progress.error-vapifault-together-ai-429-exceeded-quota", "call.in-progress.error-providerfault-together-ai-500-server-error", "call.in-progress.error-providerfault-together-ai-503-server-overloaded-error", "pipeline-error-anyscale-400-bad-request-validation-failed", "pipeline-error-anyscale-401-unauthorized", "pipeline-error-anyscale-403-model-access-denied", "pipeline-error-anyscale-429-exceeded-quota", "pipeline-error-anyscale-500-server-error", "pipeline-error-anyscale-503-server-overloaded-error", "pipeline-error-anyscale-llm-failed", "call.in-progress.error-providerfault-anyscale-llm-failed", "call.in-progress.error-vapifault-anyscale-400-bad-request-validation-failed", "call.in-progress.error-vapifault-anyscale-401-unauthorized", "call.in-progress.error-vapifault-anyscale-403-model-access-denied", "call.in-progress.error-vapifault-anyscale-429-exceeded-quota", "call.in-progress.error-providerfault-anyscale-500-server-error", "call.in-progress.error-providerfault-anyscale-503-server-overloaded-error", "pipeline-error-openrouter-400-bad-request-validation-failed", "pipeline-error-openrouter-401-unauthorized", "pipeline-error-openrouter-403-model-access-denied", "pipeline-error-openrouter-429-exceeded-quota", "pipeline-error-openrouter-500-server-error", "pipeline-error-openrouter-503-server-overloaded-error", "pipeline-error-openrouter-llm-failed", "call.in-progress.error-providerfault-openrouter-llm-failed", "call.in-progress.error-vapifault-openrouter-400-bad-request-validation-failed", "call.in-progress.error-vapifault-openrouter-401-unauthorized", "call.in-progress.error-vapifault-openrouter-403-model-access-denied", "call.in-progress.error-vapifault-openrouter-429-exceeded-quota", "call.in-progress.error-providerfault-openrouter-500-server-error", "call.in-progress.error-providerfault-openrouter-503-server-overloaded-error", "pipeline-error-perplexity-ai-400-bad-request-validation-failed", "pipeline-error-perplexity-ai-401-unauthorized", "pipeline-error-perplexity-ai-403-model-access-denied", "pipeline-error-perplexity-ai-429-exceeded-quota", "pipeline-error-perplexity-ai-500-server-error", "pipeline-error-perplexity-ai-503-server-overloaded-error", "pipeline-error-perplexity-ai-llm-failed", "call.in-progress.error-providerfault-perplexity-ai-llm-failed", "call.in-progress.error-vapifault-perplexity-ai-400-bad-request-validation-failed", "call.in-progress.error-vapifault-perplexity-ai-401-unauthorized", "call.in-progress.error-vapifault-perplexity-ai-403-model-access-denied", "call.in-progress.error-vapifault-perplexity-ai-429-exceeded-quota", "call.in-progress.error-providerfault-perplexity-ai-500-server-error", "call.in-progress.error-providerfault-perplexity-ai-503-server-overloaded-error", "pipeline-error-deepinfra-400-bad-request-validation-failed", "pipeline-error-deepinfra-401-unauthorized", "pipeline-error-deepinfra-403-model-access-denied", "pipeline-error-deepinfra-429-exceeded-quota", "pipeline-error-deepinfra-500-server-error", "pipeline-error-deepinfra-503-server-overloaded-error", "pipeline-error-deepinfra-llm-failed", "call.in-progress.error-providerfault-deepinfra-llm-failed", "call.in-progress.error-vapifault-deepinfra-400-bad-request-validation-failed", "call.in-progress.error-vapifault-deepinfra-401-unauthorized", "call.in-progress.error-vapifault-deepinfra-403-model-access-denied", "call.in-progress.error-vapifault-deepinfra-429-exceeded-quota", "call.in-progress.error-providerfault-deepinfra-500-server-error", "call.in-progress.error-providerfault-deepinfra-503-server-overloaded-error", "pipeline-error-runpod-400-bad-request-validation-failed", "pipeline-error-runpod-401-unauthorized", "pipeline-error-runpod-403-model-access-denied", "pipeline-error-runpod-429-exceeded-quota", "pipeline-error-runpod-500-server-error", "pipeline-error-runpod-503-server-overloaded-error", "pipeline-error-runpod-llm-failed", "call.in-progress.error-providerfault-runpod-llm-failed", "call.in-progress.error-vapifault-runpod-400-bad-request-validation-failed", "call.in-progress.error-vapifault-runpod-401-unauthorized", "call.in-progress.error-vapifault-runpod-403-model-access-denied", "call.in-progress.error-vapifault-runpod-429-exceeded-quota", "call.in-progress.error-providerfault-runpod-500-server-error", "call.in-progress.error-providerfault-runpod-503-server-overloaded-error", "pipeline-error-custom-llm-400-bad-request-validation-failed", "pipeline-error-custom-llm-401-unauthorized", "pipeline-error-custom-llm-403-model-access-denied", "pipeline-error-custom-llm-429-exceeded-quota", "pipeline-error-custom-llm-500-server-error", "pipeline-error-custom-llm-503-server-overloaded-error", "pipeline-error-custom-llm-llm-failed", "call.in-progress.error-providerfault-custom-llm-llm-failed", "call.in-progress.error-vapifault-custom-llm-400-bad-request-validation-failed", "call.in-progress.error-vapifault-custom-llm-401-unauthorized", "call.in-progress.error-vapifault-custom-llm-403-model-access-denied", "call.in-progress.error-vapifault-custom-llm-429-exceeded-quota", "call.in-progress.error-providerfault-custom-llm-500-server-error", "call.in-progress.error-providerfault-custom-llm-503-server-overloaded-error", "call.in-progress.error-pipeline-ws-model-connection-failed", "pipeline-error-custom-voice-failed", "pipeline-error-cartesia-socket-hang-up", "pipeline-error-cartesia-requested-payment", "pipeline-error-cartesia-500-server-error", "pipeline-error-cartesia-502-server-error", "pipeline-error-cartesia-503-server-error", "pipeline-error-cartesia-522-server-error", "call.in-progress.error-vapifault-cartesia-socket-hang-up", "call.in-progress.error-vapifault-cartesia-requested-payment", "call.in-progress.error-providerfault-cartesia-500-server-error", "call.in-progress.error-providerfault-cartesia-503-server-error", "call.in-progress.error-providerfault-cartesia-522-server-error", "pipeline-error-eleven-labs-voice-not-found", "pipeline-error-eleven-labs-quota-exceeded", "pipeline-error-eleven-labs-unauthorized-access", "pipeline-error-eleven-labs-unauthorized-to-access-model", "pipeline-error-eleven-labs-professional-voices-only-for-creator-plus", "pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade", "pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade", "pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade", "pipeline-error-eleven-labs-system-busy-and-requested-upgrade", "pipeline-error-eleven-labs-voice-not-fine-tuned", "pipeline-error-eleven-labs-invalid-api-key", "pipeline-error-eleven-labs-invalid-voice-samples", "pipeline-error-eleven-labs-voice-disabled-by-owner", "pipeline-error-eleven-labs-vapi-voice-disabled-by-owner", "pipeline-error-eleven-labs-blocked-account-in-probation", "pipeline-error-eleven-labs-blocked-content-against-their-policy", "pipeline-error-eleven-labs-missing-samples-for-voice-clone", "pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used", "pipeline-error-eleven-labs-voice-not-allowed-for-free-users", "pipeline-error-eleven-labs-max-character-limit-exceeded", "pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification", "pipeline-error-eleven-labs-500-server-error", "pipeline-error-eleven-labs-503-server-error", "call.in-progress.error-vapifault-eleven-labs-voice-not-found", "call.in-progress.error-vapifault-eleven-labs-quota-exceeded", "call.in-progress.error-vapifault-eleven-labs-unauthorized-access", "call.in-progress.error-vapifault-eleven-labs-unauthorized-to-access-model", "call.in-progress.error-vapifault-eleven-labs-professional-voices-only-for-creator-plus", "call.in-progress.error-vapifault-eleven-labs-blocked-free-plan-and-requested-upgrade", "call.in-progress.error-vapifault-eleven-labs-blocked-concurrent-requests-and-requested-upgrade", "call.in-progress.error-vapifault-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade", "call.in-progress.error-vapifault-eleven-labs-system-busy-and-requested-upgrade", "call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned", "call.in-progress.error-vapifault-eleven-labs-invalid-api-key", "call.in-progress.error-vapifault-eleven-labs-invalid-voice-samples", "call.in-progress.error-vapifault-eleven-labs-voice-disabled-by-owner", "call.in-progress.error-vapifault-eleven-labs-blocked-account-in-probation", "call.in-progress.error-vapifault-eleven-labs-blocked-content-against-their-policy", "call.in-progress.error-vapifault-eleven-labs-missing-samples-for-voice-clone", "call.in-progress.error-vapifault-eleven-labs-voice-not-fine-tuned-and-cannot-be-used", "call.in-progress.error-vapifault-eleven-labs-voice-not-allowed-for-free-users", "call.in-progress.error-vapifault-eleven-labs-max-character-limit-exceeded", "call.in-progress.error-vapifault-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification", "call.in-progress.error-providerfault-eleven-labs-system-busy-and-requested-upgrade", "call.in-progress.error-providerfault-eleven-labs-500-server-error", "call.in-progress.error-providerfault-eleven-labs-503-server-error", "pipeline-error-playht-request-timed-out", "pipeline-error-playht-invalid-voice", "pipeline-error-playht-unexpected-error", "pipeline-error-playht-out-of-credits", "pipeline-error-playht-invalid-emotion", "pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri", "pipeline-error-playht-401-unauthorized", "pipeline-error-playht-403-forbidden-out-of-characters", "pipeline-error-playht-403-forbidden-api-access-not-available", "pipeline-error-playht-429-exceeded-quota", "pipeline-error-playht-502-gateway-error", "pipeline-error-playht-504-gateway-error", "call.in-progress.error-vapifault-playht-request-timed-out", "call.in-progress.error-vapifault-playht-invalid-voice", "call.in-progress.error-vapifault-playht-unexpected-error", "call.in-progress.error-vapifault-playht-out-of-credits", "call.in-progress.error-vapifault-playht-invalid-emotion", "call.in-progress.error-vapifault-playht-voice-must-be-a-valid-voice-manifest-uri", "call.in-progress.error-vapifault-playht-401-unauthorized", "call.in-progress.error-vapifault-playht-403-forbidden-out-of-characters", "call.in-progress.error-vapifault-playht-403-forbidden-api-access-not-available", "call.in-progress.error-vapifault-playht-429-exceeded-quota", "call.in-progress.error-providerfault-playht-502-gateway-error", "call.in-progress.error-providerfault-playht-504-gateway-error", "pipeline-error-custom-transcriber-failed", "call.in-progress.error-vapifault-custom-transcriber-failed", "pipeline-error-eleven-labs-transcriber-failed", "call.in-progress.error-vapifault-eleven-labs-transcriber-failed", "pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination", "pipeline-error-deepgram-returning-401-invalid-credentials", "pipeline-error-deepgram-returning-403-model-access-denied", "pipeline-error-deepgram-returning-404-not-found", "pipeline-error-deepgram-returning-500-invalid-json", "pipeline-error-deepgram-returning-502-network-error", "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach", "pipeline-error-deepgram-returning-econnreset", "call.in-progress.error-vapifault-deepgram-returning-400-no-such-model-language-tier-combination", "call.in-progress.error-vapifault-deepgram-returning-401-invalid-credentials", "call.in-progress.error-vapifault-deepgram-returning-404-not-found", "call.in-progress.error-vapifault-deepgram-returning-403-model-access-denied", "call.in-progress.error-providerfault-deepgram-returning-500-invalid-json", "call.in-progress.error-providerfault-deepgram-returning-502-network-error", "call.in-progress.error-providerfault-deepgram-returning-502-bad-gateway-ehostunreach", "pipeline-error-google-transcriber-failed", "call.in-progress.error-vapifault-google-transcriber-failed", "pipeline-error-openai-transcriber-failed", "call.in-progress.error-vapifault-openai-transcriber-failed", "pipeline-error-soniox-transcriber-auth-failed", "pipeline-error-soniox-transcriber-rate-limited", "pipeline-error-soniox-transcriber-invalid-config", "pipeline-error-soniox-transcriber-server-error", "pipeline-error-soniox-transcriber-failed", "call.in-progress.error-vapifault-soniox-transcriber-auth-failed", "call.in-progress.error-vapifault-soniox-transcriber-rate-limited", "call.in-progress.error-vapifault-soniox-transcriber-invalid-config", "call.in-progress.error-vapifault-soniox-transcriber-server-error", "call.in-progress.error-vapifault-soniox-transcriber-failed", "call.in-progress.error-warm-transfer-max-duration", "call.in-progress.error-warm-transfer-assistant-cancelled", "call.in-progress.error-warm-transfer-silence-timeout", "call.in-progress.error-warm-transfer-microphone-timeout", "assistant-ended-call", "assistant-said-end-call-phrase", "assistant-ended-call-with-hangup-task", "assistant-ended-call-after-message-spoken", "assistant-forwarded-call", "assistant-join-timed-out", "call.in-progress.error-assistant-did-not-receive-customer-audio", "call.in-progress.error-transfer-failed", "customer-busy", "customer-ended-call", "customer-ended-call-before-warm-transfer", "customer-ended-call-after-warm-transfer-attempt", "customer-ended-call-during-transfer", "customer-did-not-answer", "customer-did-not-give-microphone-permission", "exceeded-max-duration", "manually-canceled", "phone-call-provider-closed-websocket", "call.forwarding.operator-busy", "silence-timed-out", "call.in-progress.error-sip-inbound-call-failed-to-connect", "call.in-progress.error-providerfault-outbound-sip-403-forbidden", "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required", "call.in-progress.error-providerfault-outbound-sip-408-request-timeout", "call.in-progress.error-providerfault-outbound-sip-503-service-unavailable", "call.in-progress.error-providerfault-outbound-sip-480-temporarily-unavailable", "call.in-progress.error-sip-outbound-call-failed-to-connect", "call.ringing.hook-executed-say", "call.ringing.hook-executed-transfer", "call.ending.hook-executed-say", "call.ending.hook-executed-transfer", "call.ringing.sip-inbound-caller-hungup-before-call-connect", "call.ringing.error-sip-inbound-call-failed-to-connect", "twilio-failed-to-connect-call", "twilio-reported-customer-misdialed", "vonage-rejected", "voicemail", "call-deleted" ] }, "endedMessage": { "type": "string", "description": "This is the message that adds more context to the ended reason. It can be used to provide potential error messages or warnings." }, "destination": { "description": "This is the destination where the call ended up being transferred to. If the call was not transferred, this will be empty.", "oneOf": [ { "$ref": "#/components/schemas/TransferDestinationNumber", "title": "NumberTransferDestination" }, { "$ref": "#/components/schemas/TransferDestinationSip", "title": "SipTransferDestination" } ] }, "id": { "type": "string", "description": "This is the unique identifier for the call." }, "orgId": { "type": "string", "description": "This is the unique identifier for the org that this call belongs to." }, "createdAt": { "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the call was created." }, "updatedAt": { "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the call was last updated." }, "startedAt": { "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the call was started." }, "endedAt": { "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the call was ended." }, "cost": { "type": "number", "description": "This is the cost of the call in USD." }, "costBreakdown": { "description": "This is the cost of the call in USD.", "allOf": [ { "$ref": "#/components/schemas/CostBreakdown" } ] }, "artifactPlan": { "description": "This is a copy of assistant artifact plan. This isn't actually stored on the call but rather just returned in POST /call/web to enable artifact creation client side.", "allOf": [ { "$ref": "#/components/schemas/ArtifactPlan" } ] }, "analysis": { "description": "This is the analysis of the call. Configure in `assistant.analysisPlan`.", "allOf": [ { "$ref": "#/components/schemas/Analysis" } ] }, "monitor": { "description": "This is to real-time monitor the call. Configure in `assistant.monitorPlan`.", "allOf": [ { "$ref": "#/components/schemas/Monitor" } ] }, "artifact": { "description": "These are the artifacts created from the call. Configure in `assistant.artifactPlan`.", "allOf": [ { "$ref": "#/components/schemas/Artifact" } ] }, "compliance": { "description": "This is the compliance of the call. Configure in `assistant.compliancePlan`.", "allOf": [ { "$ref": "#/components/schemas/Compliance" } ] }, "phoneCallProviderId": { "type": "string", "description": "The ID of the call as provided by the phone number service. callSid in Twilio. conversationUuid in Vonage. callControlId in Telnyx.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type.", "deprecated": true }, "campaignId": { "type": "string", "description": "This is the campaign ID that the call belongs to." }, "assistantId": { "type": "string", "description": "This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead.\n\nTo start a call with:\n- Assistant, use `assistantId` or `assistant`\n- Squad, use `squadId` or `squad`\n- Workflow, use `workflowId` or `workflow`" }, "assistant": { "description": "This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead.\n\nTo start a call with:\n- Assistant, use `assistant`\n- Squad, use `squad`\n- Workflow, use `workflow`", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" } ] }, "assistantOverrides": { "description": "These are the overrides for the `assistant` or `assistantId`'s settings and template variables.", "allOf": [ { "$ref": "#/components/schemas/AssistantOverrides" } ] }, "squadId": { "type": "string", "description": "This is the squad that will be used for the call. To use a transient squad, use `squad` instead.\n\nTo start a call with:\n- Assistant, use `assistant` or `assistantId`\n- Squad, use `squad` or `squadId`\n- Workflow, use `workflow` or `workflowId`" }, "squad": { "description": "This is a squad that will be used for the call. To use an existing squad, use `squadId` instead.\n\nTo start a call with:\n- Assistant, use `assistant` or `assistantId`\n- Squad, use `squad` or `squadId`\n- Workflow, use `workflow` or `workflowId`", "allOf": [ { "$ref": "#/components/schemas/CreateSquadDTO" } ] }, "squadOverrides": { "description": "These are the overrides for the `squad` or `squadId`'s member settings and template variables.\nThis will apply to all members of the squad.", "allOf": [ { "$ref": "#/components/schemas/AssistantOverrides" } ] }, "workflowId": { "type": "string", "description": "This is the workflow that will be used for the call. To use a transient workflow, use `workflow` instead.\n\nTo start a call with:\n- Assistant, use `assistant` or `assistantId`\n- Squad, use `squad` or `squadId`\n- Workflow, use `workflow` or `workflowId`" }, "workflow": { "description": "This is a workflow that will be used for the call. To use an existing workflow, use `workflowId` instead.\n\nTo start a call with:\n- Assistant, use `assistant` or `assistantId`\n- Squad, use `squad` or `squadId`\n- Workflow, use `workflow` or `workflowId`", "allOf": [ { "$ref": "#/components/schemas/CreateWorkflowDTO" } ] }, "workflowOverrides": { "description": "These are the overrides for the `workflow` or `workflowId`'s settings and template variables.", "allOf": [ { "$ref": "#/components/schemas/WorkflowOverrides" } ] }, "phoneNumberId": { "type": "string", "description": "This is the phone number that will be used for the call. To use a transient number, use `phoneNumber` instead.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type." }, "phoneNumber": { "description": "This is the phone number that will be used for the call. To use an existing number, use `phoneNumberId` instead.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type.", "allOf": [ { "$ref": "#/components/schemas/ImportTwilioPhoneNumberDTO" } ] }, "customerId": { "type": "string", "description": "This is the customer that will be called. To call a transient customer , use `customer` instead.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type." }, "customer": { "description": "This is the customer that will be called. To call an existing customer, use `customerId` instead.\n\nOnly relevant for `outboundPhoneCall` and `inboundPhoneCall` type.", "allOf": [ { "$ref": "#/components/schemas/CreateCustomerDTO" } ] }, "name": { "type": "string", "description": "This is the name of the call. This is just for your own reference.", "maxLength": 40 }, "schedulePlan": { "description": "This is the schedule plan of the call.", "allOf": [ { "$ref": "#/components/schemas/SchedulePlan" } ] }, "transport": { "type": "object", "description": "This is the transport of the call." } }, "required": [ "id", "orgId", "createdAt", "updatedAt" ] }