diff --git a/providers/vapi/index.json b/providers/vapi/index.json new file mode 100644 index 0000000..a0b6a39 --- /dev/null +++ b/providers/vapi/index.json @@ -0,0 +1,8 @@ +{ + "label": "Vapi", + "configs": { + "latest_version": "latest", + "topic_identifier": "message.type" + }, + "provenance_note": "intentionally undeclared: this version is mixed \u2014 10 doc-sourced files carry a `source` key, 2 captures do not. sourced_via has no value for a mixed version, and Vapi has no version scheme to split them into." +} diff --git a/providers/vapi/latest/call.endpointing.request.json b/providers/vapi/latest/call.endpointing.request.json new file mode 100644 index 0000000..b09a5c1 --- /dev/null +++ b/providers/vapi/latest/call.endpointing.request.json @@ -0,0 +1,17 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "call.endpointing.request", + "messagesOpenAIFormatted": [] + } + }, + "topic": "call.endpointing.request", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/conversation-update.json b/providers/vapi/latest/conversation-update.json new file mode 100644 index 0000000..34b1051 --- /dev/null +++ b/providers/vapi/latest/conversation-update.json @@ -0,0 +1,18 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "conversation-update", + "messages": [], + "messagesOpenAIFormatted": [] + } + }, + "topic": "conversation-update", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/end-of-call-report.json b/providers/vapi/latest/end-of-call-report.json new file mode 100644 index 0000000..39c26c3 --- /dev/null +++ b/providers/vapi/latest/end-of-call-report.json @@ -0,0 +1,376 @@ +{ + "headers": { + "content-type": "application/json", + "x-signature": "0000000000000000000000000000000000000000000000000000000000000000", + "x-timestamp": "1786546150000", + "x-vapi-secret": "", + "x-call-id": "00000000-0000-4000-8000-000000000002", + "user-agent": "axios/1.8.3" + }, + "body": { + "message": { + "timestamp": 1786546157570, + "type": "end-of-call-report", + "analysis": {}, + "artifact": { + "messages": [ + { + "role": "system", + "message": "This is a blank template with minimal defaults, you can change the model, temperature, and messages.", + "time": 1786546147187, + "secondsFromStart": 0 + }, + { + "role": "bot", + "message": "Hello,", + "time": 1786546149308, + "endTime": 1786546149608, + "secondsFromStart": 1.866, + "duration": 300, + "source": "", + "assistantName": "New Assistant", + "assistantId": "00000000-0000-4000-8000-000000000001" + } + ], + "messagesOpenAIFormatted": [ + { + "role": "system", + "content": "This is a blank template with minimal defaults, you can change the model, temperature, and messages." + }, + { + "role": "assistant", + "content": "Hello," + } + ], + "transcript": "", + "recordingUrl": "https://example.invalid/recordings/REDACTED-mono.wav", + "stereoRecordingUrl": "https://example.invalid/recordings/REDACTED-stereo.wav", + "logUrl": "https://example.invalid/logs/REDACTED.log", + "recording": { + "stereoUrl": "https://example.invalid/recordings/REDACTED-stereo.wav", + "mono": { + "combinedUrl": "https://example.invalid/recordings/REDACTED-combined.wav", + "assistantUrl": "https://example.invalid/recordings/REDACTED-assistant.wav", + "customerUrl": "https://example.invalid/recordings/REDACTED-customer.wav" + } + }, + "nodes": [], + "assistantActivations": [ + { + "assistantName": "New Assistant", + "assistantId": "00000000-0000-4000-8000-000000000001", + "assistantVersion": "v5" + } + ], + "variables": { + "now": "Aug 12, 2026, 2:49 PM UTC", + "currentDateTime": "Wednesday, August 12, 2026 at 2:49 PM UTC", + "date": "Aug 12, 2026 UTC", + "time": "2:49 PM UTC", + "year": "2026", + "month": "August", + "day": "12", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + }, + "call": { + "id": "00000000-0000-4000-8000-000000000002", + "type": "webCall", + "status": "queued", + "createdAt": "2026-08-12T14:49:07.083Z", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + } + } + }, + "variableValues": { + "now": "Aug 12, 2026, 2:49 PM UTC", + "currentDateTime": "Wednesday, August 12, 2026 at 2:49 PM UTC", + "date": "Aug 12, 2026 UTC", + "time": "2:49 PM UTC", + "year": "2026", + "month": "August", + "day": "12", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + }, + "call": { + "id": "00000000-0000-4000-8000-000000000002", + "type": "webCall", + "status": "queued", + "createdAt": "2026-08-12T14:49:07.083Z", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + } + } + }, + "performanceMetrics": { + "turnLatencies": [], + "modelLatencyAverage": 0, + "voiceLatencyAverage": 0, + "transcriberLatencyAverage": 0, + "endpointingLatencyAverage": 0, + "turnLatencyAverage": 0, + "numUserInterrupted": 0, + "numAssistantInterrupted": 0, + "fromTransportLatencyAverage": 0, + "toTransportLatencyAverage": 48 + }, + "scorecards": {}, + "transfers": [], + "presignedLogUrl": "https://example.invalid/logs/REDACTED.log?X-Amz-Signature=REDACTED", + "presignedMonoUrl": "https://example.invalid/recordings/REDACTED-mono.wav?X-Amz-Signature=REDACTED", + "presignedStereoUrl": "https://example.invalid/recordings/REDACTED-stereo.wav?X-Amz-Signature=REDACTED", + "presignedAssistantUrl": "https://example.invalid/recordings/REDACTED-assistant.wav?X-Amz-Signature=REDACTED", + "presignedCustomerUrl": "https://example.invalid/recordings/REDACTED-customer.wav?X-Amz-Signature=REDACTED", + "presignedUrlsExpiresAt": "2026-08-12T15:19:17.564Z" + }, + "startedAt": "2026-08-12T14:49:07.442Z", + "endedAt": "2026-08-12T14:49:14.294Z", + "endedReason": "customer-ended-call", + "cost": 0.0063, + "costBreakdown": { + "stt": 0.0006, + "llm": 0, + "tts": 0, + "vapi": 0.0057, + "chat": 0, + "transport": 0, + "total": 0.0063, + "llmPromptTokens": 0, + "llmCompletionTokens": 0, + "llmCachedPromptTokens": 0, + "ttsCharacters": 0, + "voicemailDetectionCost": 0, + "knowledgeBaseCost": 0, + "analysisCostBreakdown": { + "summary": 0, + "summaryPromptTokens": 0, + "summaryCompletionTokens": 0, + "summaryCachedPromptTokens": 0, + "structuredData": 0, + "structuredDataPromptTokens": 0, + "structuredDataCompletionTokens": 0, + "structuredDataCachedPromptTokens": 0, + "successEvaluation": 0, + "successEvaluationPromptTokens": 0, + "successEvaluationCompletionTokens": 0, + "successEvaluationCachedPromptTokens": 0, + "structuredOutput": 0, + "structuredOutputPromptTokens": 0, + "structuredOutputCompletionTokens": 0, + "structuredOutputCachedPromptTokens": 0 + } + }, + "costs": [ + { + "type": "transcriber", + "transcriber": { + "provider": "soniox", + "model": "stt-rt-v5" + }, + "minutes": 0.08341666666666667, + "cost": 0.0006244 + }, + { + "type": "model", + "model": { + "provider": "openai", + "model": "gpt-4.1" + }, + "promptTokens": 0, + "completionTokens": 0, + "cachedPromptTokens": 0, + "reasoningTokens": 0, + "cost": 0 + }, + { + "type": "voice", + "voice": { + "provider": "vapi", + "voiceId": "Elliot", + "model": "vapi-v2" + }, + "characters": 0, + "cost": 0 + }, + { + "type": "vapi", + "subType": "normal", + "minutes": 0.1142, + "cost": 0.00571 + }, + { + "type": "knowledge-base", + "model": { + "provider": "google", + "model": "gemini-2.5-flash" + }, + "promptTokens": 0, + "completionTokens": 0, + "cost": 0 + } + ], + "durationMs": 6852, + "durationSeconds": 6.852, + "durationMinutes": 0.1142, + "summary": "", + "transcript": "", + "messages": [ + { + "role": "system", + "message": "This is a blank template with minimal defaults, you can change the model, temperature, and messages.", + "time": 1786546147187, + "secondsFromStart": 0 + }, + { + "role": "bot", + "message": "Hello,", + "time": 1786546149308, + "endTime": 1786546149608, + "secondsFromStart": 1.866, + "duration": 300, + "source": "", + "assistantName": "New Assistant", + "assistantId": "00000000-0000-4000-8000-000000000001" + } + ], + "recordingUrl": "https://example.invalid/recordings/REDACTED-mono.wav", + "stereoRecordingUrl": "https://example.invalid/recordings/REDACTED-stereo.wav", + "call": { + "id": "00000000-0000-4000-8000-000000000002", + "orgId": "00000000-0000-4000-8000-000000000003", + "createdAt": "2026-08-12T14:49:07.083Z", + "updatedAt": "2026-08-12T14:49:07.083Z", + "type": "webCall", + "cost": 0, + "monitor": { + "listenUrl": "wss://example.vapi.ai/REDACTED/listen", + "controlUrl": "https://example.vapi.ai/REDACTED/control" + }, + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + }, + "webCallUrl": "https://example.daily.co/REDACTED-ROOM", + "status": "queued", + "assistantId": "00000000-0000-4000-8000-000000000001", + "assistantVersion": "v5", + "assistantOverrides": { + "clientMessages": [ + "transcript", + "hang", + "metadata", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "status-update", + "assistant.started" + ], + "variableValues": {} + } + }, + "assistant": { + "id": "00000000-0000-4000-8000-000000000001", + "orgId": "00000000-0000-4000-8000-000000000003", + "name": "New Assistant", + "voice": { + "version": "2", + "voiceId": "Elliot", + "provider": "vapi" + }, + "createdAt": "2026-08-12T14:25:36.152Z", + "updatedAt": "2026-08-12T14:48:58.023Z", + "model": { + "model": "gpt-4.1", + "messages": [ + { + "role": "system", + "content": "This is a blank template with minimal defaults, you can change the model, temperature, and messages." + } + ], + "provider": "openai" + }, + "firstMessage": "Hello.", + "voicemailMessage": "Please call back when you're available.", + "endCallMessage": "Goodbye.", + "transcriber": { + "model": "stt-rt-v5", + "language": "en", + "provider": "soniox", + "languages": [ + "en" + ], + "fallbackPlan": { + "autoFallback": { + "enabled": true + } + } + }, + "clientMessages": [ + "transcript", + "hang", + "metadata", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "status-update", + "assistant.started" + ], + "metadata": { + "preset": "balanced:1" + }, + "analysisPlan": { + "summaryPlan": { + "enabled": false + }, + "successEvaluationPlan": { + "enabled": false + } + }, + "server": { + "url": "https://example.invalid/webhooks/REDACTED", + "credentialId": "00000000-0000-4000-8000-000000000004", + "timeoutSeconds": 20 + }, + "compliancePlan": { + "pciEnabled": false, + "zdrEnabled": false, + "hipaaEnabled": false + }, + "firstMessageInterruptionsEnabled": false, + "latestVersion": "v5" + }, + "assistantVersion": "v5" + } + }, + "topic": "end-of-call-report" +} diff --git a/providers/vapi/latest/knowledge-base-request.json b/providers/vapi/latest/knowledge-base-request.json new file mode 100644 index 0000000..ce97d98 --- /dev/null +++ b/providers/vapi/latest/knowledge-base-request.json @@ -0,0 +1,18 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "knowledge-base-request", + "messages": [], + "messagesOpenAIFormatted": [] + } + }, + "topic": "knowledge-base-request", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/language-change-detected.json b/providers/vapi/latest/language-change-detected.json new file mode 100644 index 0000000..48ee6e7 --- /dev/null +++ b/providers/vapi/latest/language-change-detected.json @@ -0,0 +1,17 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "language-change-detected", + "language": "es" + } + }, + "topic": "language-change-detected", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/phone-call-control.json b/providers/vapi/latest/phone-call-control.json new file mode 100644 index 0000000..e6d78c6 --- /dev/null +++ b/providers/vapi/latest/phone-call-control.json @@ -0,0 +1,21 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "phone-call-control", + "request": "forward", + "destination": { + "type": "sip", + "sipUri": "sip:agent@example.com" + } + } + }, + "topic": "phone-call-control", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/speech-update.json b/providers/vapi/latest/speech-update.json new file mode 100644 index 0000000..e712351 --- /dev/null +++ b/providers/vapi/latest/speech-update.json @@ -0,0 +1,19 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "speech-update", + "status": "started", + "role": "assistant", + "turn": 2 + } + }, + "topic": "speech-update", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/status-update.json b/providers/vapi/latest/status-update.json new file mode 100644 index 0000000..95fba54 --- /dev/null +++ b/providers/vapi/latest/status-update.json @@ -0,0 +1,226 @@ +{ + "headers": { + "content-type": "application/json", + "x-signature": "0000000000000000000000000000000000000000000000000000000000000000", + "x-timestamp": "1786546150000", + "x-vapi-secret": "", + "x-call-id": "00000000-0000-4000-8000-000000000005", + "user-agent": "axios/1.8.3" + }, + "body": { + "message": { + "timestamp": 1786546871392, + "type": "status-update", + "status": "ended", + "endedReason": "call.in-progress.error-assistant-did-not-receive-customer-audio", + "artifact": { + "messages": [ + { + "role": "system", + "message": "This is a blank template with minimal defaults, you can change the model, temperature, and messages.", + "time": 1786546853883, + "secondsFromStart": 0 + } + ], + "messagesOpenAIFormatted": [ + { + "role": "system", + "content": "This is a blank template with minimal defaults, you can change the model, temperature, and messages." + } + ], + "variables": { + "now": "Aug 12, 2026, 3:00 PM UTC", + "currentDateTime": "Wednesday, August 12, 2026 at 3:00 PM UTC", + "date": "Aug 12, 2026 UTC", + "time": "3:00 PM UTC", + "year": "2026", + "month": "August", + "day": "12", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + }, + "call": { + "id": "00000000-0000-4000-8000-000000000005", + "type": "webCall", + "status": "queued", + "createdAt": "2026-08-12T15:00:43.143Z", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + } + } + }, + "variableValues": { + "now": "Aug 12, 2026, 3:00 PM UTC", + "currentDateTime": "Wednesday, August 12, 2026 at 3:00 PM UTC", + "date": "Aug 12, 2026 UTC", + "time": "3:00 PM UTC", + "year": "2026", + "month": "August", + "day": "12", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + }, + "call": { + "id": "00000000-0000-4000-8000-000000000005", + "type": "webCall", + "status": "queued", + "createdAt": "2026-08-12T15:00:43.143Z", + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + } + } + } + }, + "call": { + "id": "00000000-0000-4000-8000-000000000005", + "orgId": "00000000-0000-4000-8000-000000000003", + "createdAt": "2026-08-12T15:00:43.143Z", + "updatedAt": "2026-08-12T15:00:43.143Z", + "type": "webCall", + "cost": 0, + "monitor": { + "listenUrl": "wss://example.vapi.ai/REDACTED/listen", + "controlUrl": "https://example.vapi.ai/REDACTED/control" + }, + "transport": { + "conversationType": "voice", + "provider": "daily", + "videoRecordingEnabled": false, + "assistantVideoEnabled": false, + "roomDeleteOnUserLeaveEnabled": true, + "callUrl": "https://example.daily.co/REDACTED-ROOM" + }, + "webCallUrl": "https://example.daily.co/REDACTED-ROOM", + "status": "queued", + "assistantId": "00000000-0000-4000-8000-000000000001", + "assistantVersion": "v8", + "assistantOverrides": { + "clientMessages": [ + "transcript", + "hang", + "metadata", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "status-update", + "assistant.started" + ], + "variableValues": {} + } + }, + "assistant": { + "id": "00000000-0000-4000-8000-000000000001", + "orgId": "00000000-0000-4000-8000-000000000003", + "name": "New Assistant", + "voice": { + "version": "2", + "voiceId": "Elliot", + "provider": "vapi" + }, + "createdAt": "2026-08-12T14:25:36.152Z", + "updatedAt": "2026-08-12T15:00:29.994Z", + "model": { + "model": "gpt-4.1", + "toolIds": [ + "00000000-0000-4000-8000-000000000006" + ], + "messages": [ + { + "role": "system", + "content": "This is a blank template with minimal defaults, you can change the model, temperature, and messages." + } + ], + "provider": "openai", + "tools": [ + { + "id": "00000000-0000-4000-8000-000000000006", + "createdAt": "2026-08-12T14:36:03.993Z", + "updatedAt": "2026-08-12T14:36:03.993Z", + "type": "sms", + "function": { + "name": "send_text_tool" + }, + "orgId": "00000000-0000-4000-8000-000000000003", + "latestVersion": "v1" + } + ] + }, + "firstMessage": "Hello.", + "voicemailMessage": "Please call back when you're available.", + "endCallMessage": "Goodbye.", + "transcriber": { + "model": "stt-rt-v5", + "language": "en", + "provider": "soniox", + "languages": [ + "en" + ], + "fallbackPlan": { + "autoFallback": { + "enabled": true + } + } + }, + "clientMessages": [ + "transcript", + "hang", + "metadata", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "status-update", + "assistant.started" + ], + "metadata": { + "preset": "balanced:1" + }, + "analysisPlan": { + "summaryPlan": { + "enabled": false + }, + "successEvaluationPlan": { + "enabled": false + } + }, + "server": { + "url": "https://example.invalid/webhooks/REDACTED", + "credentialId": "00000000-0000-4000-8000-000000000004", + "timeoutSeconds": 20 + }, + "compliancePlan": { + "pciEnabled": false, + "zdrEnabled": false, + "hipaaEnabled": false + }, + "firstMessageInterruptionsEnabled": false, + "latestVersion": "v8" + }, + "assistantVersion": "v8" + } + }, + "topic": "status-update" +} diff --git a/providers/vapi/latest/transcript.json b/providers/vapi/latest/transcript.json new file mode 100644 index 0000000..d41a36a --- /dev/null +++ b/providers/vapi/latest/transcript.json @@ -0,0 +1,22 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "transcript", + "role": "user", + "transcriptType": "partial", + "transcript": "I'd like to book...", + "isFiltered": false, + "detectedThreats": [], + "originalTranscript": "I'd like to book..." + } + }, + "topic": "transcript", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/user-interrupted.json b/providers/vapi/latest/user-interrupted.json new file mode 100644 index 0000000..7a5c120 --- /dev/null +++ b/providers/vapi/latest/user-interrupted.json @@ -0,0 +1,17 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "user-interrupted", + "turnId": "abc-123" + } + }, + "topic": "user-interrupted", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/voice-input.json b/providers/vapi/latest/voice-input.json new file mode 100644 index 0000000..ee432f2 --- /dev/null +++ b/providers/vapi/latest/voice-input.json @@ -0,0 +1,17 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "voice-input", + "input": "Hello, world!" + } + }, + "topic": "voice-input", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +} diff --git a/providers/vapi/latest/voice-request.json b/providers/vapi/latest/voice-request.json new file mode 100644 index 0000000..d217807 --- /dev/null +++ b/providers/vapi/latest/voice-request.json @@ -0,0 +1,18 @@ +{ + "headers": { + "content-type": "application/json" + }, + "body": { + "message": { + "type": "voice-request", + "text": "Hello, world!", + "sampleRate": 24000 + } + }, + "topic": "voice-request", + "source": { + "type": "vendor-documentation", + "url": "https://docs.vapi.ai/server-url/events", + "retrieved": "2026-08-12" + } +}