Developer tools
5 API keys · 3 webhook endpoints · 1,284 events today · MCP connected to 4 clients
API Keys 5
Webhooks 3
Event Logs 1.2k
SDKs 10
MCP 4
Playground
API Keys
Your secret keys
| Name | Key prefix | Scopes | Last used | Created | |
|---|---|---|---|---|---|
Production · Node backend |
sk_live_abc9…Zj4T | sessions:write agents:read calls:read | 2 min ago | Apr 12 | |
Prod · Python billing worker |
sk_live_7fE1…p09X | calls:read metrics:read | 14 min ago | Apr 03 | |
Vercel preview deployments |
sk_test_1m3v…QzG0 | sessions:write agents:read | yesterday | Mar 28 | |
Local dev · Taj |
sk_test_9aD4…X87P | * | 3 days ago | Feb 04 | |
Zapier integration |
sk_live_z8X0…B2vM | sessions:write | 1 hour ago | Jan 22 |
Create new key
preview
Name
Environment
Live
Test
Scopes
sessions:write
sessions:read
agents:read
calls:read
+ add
IP allowlist (optional)
Expires
Never
90 days
Custom
Webhooks
Endpoints & deliveries
| URL | Events | Signing secret | Last delivery | Success rate | |
|---|---|---|---|---|---|
| https://acme.co/jvapi-hook | call.endedcall.startedsession.ended | whsec_••••••••••C4dA | 12s ago · 200 | 99.92% | |
| https://ops.acme.co/alerts | campaign.alert | whsec_••••••••••z9Xm | 4 min ago · 200 | 100.00% | |
| https://crm.acme.co/log-call | call.ended | whsec_••••••••••aV12 | 22 min ago · 502 | 97.14% |
Delivery log
Last 100 deliveries
| Time | Event | Endpoint | Status | HTTP | Retries | Payload |
|---|---|---|---|---|---|---|
| 19:24:12 | call.ended | acme.co/jvapi-hook | delivered | 200 | 0 | |
| 19:23:48 | call.started | acme.co/jvapi-hook | delivered | 200 | 0 | |
| 19:22:03 | session.ended | acme.co/jvapi-hook | delivered | 200 | 0 | |
| 19:21:57 | call.ended | crm.acme.co/log-call | failed | 502 | 4 | |
| 19:21:12 | campaign.alert | ops.acme.co/alerts | retrying | 429 | 2 | |
| 19:20:44 | call.ended | acme.co/jvapi-hook | delivered | 200 | 0 |
Event Logs
Real-time event stream
All events call.* session.* tool.* error
Live · last 30 min
auto-scrolling · pause ⏸
19:24:12.891 · call.ended · call_01HK7X… · duration=134s · disposition=booked · agent=clinic-intake
19:24:11.402 · tool.result · book_slot · slot=2026-04-24T14:30 · ms=134
19:24:10.088 · tool.call · book_slot · args={provider: "dr_patel"}
19:24:03.214 · state.change · SPEAKING → LISTENING
19:23:58.740 · transcript.final · caller: "Thursday at 2:30 works for me"
19:23:48.122 · call.started · call_01HK7X… · from=+14155550119 · to=acme-main
19:22:03.556 · session.ended · ses_01HK7W… · reason=caller_hangup · ms=187432
19:21:57.991 · error · webhook.delivery_failed · crm.acme.co/log-call · 502 · retry=4
19:21:44.218 · transcript.interim · agent: "Let me pull up the calendar…"
19:21:12.008 · rate.warn · 80% of session-create limit reached for sk_live_abc9
19:20:44.551 · call.ended · call_01HK7W… · duration=132s · disposition=booked
19:20:11.088 · tool.result · lookup_calendar · ms=88 · slots=[Thu 14:30, Fri 10:00, …]
19:20:06.770 · session.started · ses_01HK7V… · agent=clinic-intake · model=claude-opus
MCP
Model Context Protocol server
Install in claude_desktop_config.json
"mcpServers": { "jvapi": { "command": "npx", "args": ["-y", "@jvapi/mcp"], "env": { "JVAPI_KEY": "sk_live_abc9…" } } } # Available tools: # place_call · join_room · query_transcript # list_agents · send_sms · schedule_callback
Connected clients
updated 2m ago
Claude Desktop · Taj's Mac
Claude Code · dgx-dev
Cursor · Taj laptop
ChatGPT Desktop
Windsurf · offline
4 clients active · 128 tool calls today · most-used: place_call (84) · query_transcript (31)
POST /v1/calls
Agent context
agent_id
Headers
Authorization:
Body
{
"agent": "agt_clinic_intake",
"to": "+14155550119",
"from": "+14155550100",
"voice": "nova_v2",
"metadata": { "patient_id": "pat_8821" }
}
200 OK
latency 184ms · region us-east-1
{
"id": "call_01HK7X8Z5YJVWQ3N5T8K9XQPZ4",
"status": "dialing",
"agent": "agt_clinic_intake",
"to": "+14155550119",
"from": "+14155550100",
"created": "2026-04-17T19:24:12Z"
}
cURL
Python
Node
Go
curl https://api.jvapi.ai/v1/calls \ -H "Authorization: Bearer $JVAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"agent":"agt_clinic_intake","to":"+14155550119"}'