v1
latestOpenAPI 3.1.02026-07-22152755.8 KBIngest a production call (webhook)
Primary ingestion endpoint for production call logs. Your agent (or its provider's post-call webhook) POSTs here with the transcript, recording URL, and metadata; Cekura stores it as a CallLog, schedules metric evaluation, and surfaces it in Observability.
Identifying the agent (pick one):
- agent — Cekura agent ID (preferred when you've already registered via POST /aiagents/)
- assistant_id — external assistant identifier (VAPI/Retell/OpenAI-style asst_...). Cekura resolves it to your agent.
Transcript formats (via transcript_type):
- vapi, retell, elevenlabs, bland, livekit, pipecat, koreai — provider-native shapes; pass transcript_json exactly as the provider emits it.
- cekura (default) — [{role, content, start_time, end_time}, ...]. Valid roles: "Testing Agent" (the caller) and "Main Agent" (the agent under test). Note: "agent" and "user" are not valid for this format.
Provider-specific alternatives:
- LiveKit webhooks: POST /observability/v1/livekit/observe/ (raw LiveKit webhook shape)
- Pipecat webhooks: POST /observability/v1/pipecat/observe/ (raw Pipecat webhook shape)
Fields to know:
- voice_recording_url — link to the call audio; enables audio-based metrics.
- metadata — freeform tags for filtering in Observability (customer_id, campaign_id, etc.).
- dynamic_variables — values injected into the agent at runtime; shown alongside the transcript.
- customer_number — caller's number in E.164 format, e.g. +14155551234.
- call_ended_reason — reason for call termination (completed, user-hangup, agent-hangup, etc.).
- metric_ids — comma-separated metric IDs to evaluate immediately (e.g. "1,2,3").
Async processing: metrics are evaluated in the background. The initial response shows status: "evaluating" with an empty metrics list. Retrieve the call log again after 30–60 seconds to see completed metric results.
Billing: each ingested call consumes observability credits. Calls with audio cost more than text-only calls. Check your balance via GET /test_framework/v1/billing_info.