Skip to main content
POST

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
logs
any
write-only

Execution logs for this call: a list of entries, oldest first. Stored outside the call record and read back from the call log's logs endpoint.

Each entry is an object with:

  • message (required) — what happened, as a single line.
  • ts (optional) — when it happened. ISO 8601, a unix timestamp, or seconds into the call (0, 4.5). Shown as a time column.
  • logger (optional) — the component that emitted the line, e.g. pipeline, transcriber, my.app.tools. Shown as its own column, and only when at least one entry has it.
  • level (optional) — info, warn, error, debug, or your own label.
  • raw (optional) — an object holding any extra detail for that entry. It is hidden by default and shown when the entry is expanded in the dashboard, so put payloads, IDs and diagnostics here rather than in message.

Any other keys you send on an entry are folded into raw.

Example:

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
  • bland — Bland call-detail format, or its transcripts array
  • 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
  • bland - bland
  • none-mono - none-mono
Available options:
cekura,
vocera,
vapi,
retell,
deepgram,
pipecat,
livekit,
elevenlabs,
bland,
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:

reconcile_with_cekura_transcript
boolean | null
write-only

Per-request override of the project's reconcile_transcripts_with_cekura setting. Omit (or send null) to use the project setting. true requires both a recording and a provider transcript: for dual-channel audio Cekura transcribes the recording and publishes its speaker-exact transcript (keeping the provider's tool and system events) before metrics run; mono audio and transcription failures keep the provider transcript. false keeps the provider transcript even when the project setting is on. Billed per minute of audio at the reconciliation rate whenever a Cekura transcript is published.

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. Overrides the agent's configured redaction fields for this call; when omitted, the agent's configuration applies. Available fields include: phone_number, email_address, credit_card, ssn, dob, healthcare_number, etc. Note: Redacting any fields incurs a cost of 0.1 credits per minute by default, 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
is_log_present
boolean

Whether provider execution logs are stored for this call.

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