Skip to main content
POST
Ingest a production call (webhook)

Authorizations

X-CEKURA-API-KEY
string
header
required

API Key Authentication. It should be included in the header of each request.

Body

call_id
string
required

Unique identifier for the call. Example:

  • "call_abc123xyz"
  • "stereo_audio_session_456"
Maximum string length: 100
trace_id
string
default:""

OpenTelemetry trace ID (32-char hex string). Example: "4bf92f3577b34da6a3ce929d0e0e4736"

Maximum string length: 32
agent
integer

Agent ID, required if assistant_id not provided Example: 2421

assistant_id
string | null

Provider's Assistant ID, required if agent not provided Example:

  • "asst_abc123xyz"
  • "agent_xyz789"
voice_recording
string<uri> | null

Audio recording file of the call. Example: Binary data "recordings/call_123_20240315.mp3"

voice_recording_url
string<uri> | null

URL to call recording audio file Example: "https://storage.example.com/recordings/call_123.mp3"

transcript_type
enum<string>
write-only

Format of the transcript_json payload. Tells Cekura how to parse roles and timestamps.

  • vapi — Vapi webhook format: [{"role": "bot"|"user", "message": "...", "time": 0.0}]
  • retell — Retell webhook format
  • elevenlabs — ElevenLabs format
  • livekit — LiveKit format
  • pipecat — Pipecat format
  • deepgram — Deepgram format
  • cekura (default) — [{"role": "Testing Agent"|"Main Agent", "content": "...", "start_time": 0.0, "end_time": 2.5}]. Valid roles are "Testing Agent" and "Main Agent" only — using "agent" or "user" will return a validation error.
  • none-mono — mono audio with no transcript; Cekura generates the transcript automatically.

Omit this field to use the default Cekura format.

  • cekura - cekura
  • vocera - vocera
  • vapi - vapi
  • retell - retell
  • deepgram - deepgram
  • pipecat - pipecat
  • livekit - livekit
  • elevenlabs - elevenlabs
  • none-mono - none-mono
Available options:
cekura,
vocera,
vapi,
retell,
deepgram,
pipecat,
livekit,
elevenlabs,
none-mono
transcript_json
any

Call transcript in supported format (Vapi, Retell, Deepgram, ElevenLabs, Cekura)

Check the Transcript Format documentation for more details.

Cekura Transcript Format Example:

call_ended_reason
string | null

Reason why the call ended Example:

  • "customer-ended-call"
  • "agent-ended-call"
customer_number
string | null

Customer's phone number or identifier Example:

  • "+1234567890"
  • "customer_abc123"
metadata
any

Additional call metadata Example:

timestamp
string<date-time>

When the call occurred. Example: 2024-03-15T10:15:45Z

dynamic_variables
any

Dynamic variables used to replace {{variables}} in agent description. Example:

feedback
string | null

Feedback about the call Example: "Great call"

redact_fields
enum<string>[]

Optional list of sensitive fields to redact from the transcript and audio. If not provided, no redaction will occur. Available fields include: phone_number, email_address, credit_card, ssn, dob, healthcare_number, etc. Note: Redacting any fields incurs a cost of 0.4 credits per minute, regardless of how many fields are selected. Example: ["phone_number", "email_address", "credit_card"]

  • person_name - person_name
  • age - age
  • phone_number - phone_number
  • email_address - email_address
  • date - date
  • time - time
  • location - location
  • origin - origin
  • gender_sexuality - gender_sexuality
  • physical_attribute - physical_attribute
  • occupation - occupation
  • username - username
  • password - password
  • ip_address - ip_address
  • url - url
  • filename - filename
  • event - event
  • vehicle_id - vehicle_id
  • dob - dob
  • healthcare_number - healthcare_number
  • medical_professional - medical_professional
  • credit_card - credit_card
  • account_number - account_number
  • bank_account - bank_account
  • money - money
  • ssn - ssn
  • passport_number - passport_number
  • driver_license - driver_license
  • numerical_pii - numerical_pii
Available options:
person_name,
age,
phone_number,
email_address,
date,
time,
location,
origin,
gender_sexuality,
physical_attribute,
occupation,
username,
password,
ip_address,
url,
filename,
event,
vehicle_id,
dob,
healthcare_number,
medical_professional,
credit_card,
account_number,
bank_account,
money,
ssn,
passport_number,
driver_license,
numerical_pii
metric_ids
string
write-only

Comma-separated metric IDs to evaluate for this call. Example: "118,119". To run metrics after the call is created, use the evaluate_metrics endpoint instead.

main_agent_channel_index
integer | null

Channel index (0 or 1) of the main agent in stereo recordings. When provided, skips automatic channel detection. Example: 0 means channel 0 is the main agent, channel 1 is the customer/testing agent.

Response

call_id
string
required

Unique identifier for the call. Example:

  • "call_abc123xyz"
  • "stereo_audio_session_456"
Maximum string length: 100
id
integer
read-only
duration
string
read-only

Call duration in minutes in MM:SS format. Example: 01:10

success
boolean | null

Whether the call was successful. Example: true or false

is_reviewed
boolean

Whether the call has been reviewed. Example: true or false

status
enum<string>

Status of the call or conversation. Example: "completed" or "failed"

  • success - Success
  • failure - Failure
  • reviewed_success - Reviewed Success
  • reviewed_failure - Reviewed Failure
Available options:
success,
failure,
reviewed_success,
reviewed_failure
feedback
string

Feedback about the call. Example: "Great Call"

metrics
object[]
read-only

Metrics of the call

call_ended_reason
string

Reason why the call ended. Example:

  • "customer-ended-call"
  • "agent-ended-call"
Maximum string length: 100
customer_number
string

Customer's phone number or identifier. Example:

  • "+1234567890"
  • "customer_abc123"
Maximum string length: 100
agent
integer | null

Agent ID

agent_name
string
read-only

Agent name

trace_id
string

OpenTelemetry trace ID (32-char hex). Set when OTel tracing is enabled.

Maximum string length: 32
timestamp
string<date-time>

When the call occurred. Example: 2024-03-15T10:15:45Z

error_message
string | null
dropoff_point
string

Point in conversation where user disengaged. Example: "end of conversation as no queries remaining"

Maximum string length: 1000
topic
string

Topic of the call. Example:

  • "product_inquiry"
  • "technical_support"
Maximum string length: 1000
created_at
string<date-time>
read-only

When this record was created. Example: 2024-03-15T10:30:45Z

updated_at
string<date-time>
read-only

When this record was last updated. Example: 2024-03-15T10:35:11Z

transcript
string

Full text transcript of the call. Example:

transcript_object
string
read-only

Structured transcript data with timestamps. Example:

evaluation
string
read-only

Evaluation of the call