Skip to main content
POST
Run test cases from a JSON spec file

Authorizations

Authorization
string
header
required

OAuth access token issued by Cekura for connected apps.

Query Parameters

dry_run
boolean

Validate and price the spec without running or charging anything.

Body

Accepts a spec as a JSON body or an uploaded file.

CI posts JSON directly; the dashboard uploads the same file the customer has in their repo. Both land in spec.

spec
any

The test-suite spec. Use this when posting JSON directly.

file
string<uri>

A .json spec file. Use this instead of 'spec' for uploads.

agent_id
integer

Agent to test. Overrides 'agent_id' in the spec, letting one spec file run against several environments.

name
string

Label for this run. Defaults to the spec's suite name.

Maximum string length: 255
channel
enum<string>

How to reach the agent: 'voice' for a phone call (the default), 'text' for chat, 'elevenlabs' for an ElevenLabs WebRTC session, or 'livekit_v2' or 'pipecat_v2' for their respective WebRTC sessions.

  • voice - voice
  • text - text
  • elevenlabs - elevenlabs
  • livekit_v2 - livekit_v2
  • pipecat_v2 - pipecat_v2
Available options:
voice,
text,
elevenlabs,
livekit_v2,
pipecat_v2
livekit_data
object

Optional LiveKit overrides. These apply only to this run and are not part of the portable test-suite spec.

pipecat_data
object

Optional Pipecat Cloud overrides. These apply only to this run and are not part of the portable test-suite spec.

Response

id
integer

ID of the result

agent
integer

ID of the agent

status
enum<string>

Status of the result

Available options:
pending,
running,
completed,
failed
run_as_text
boolean

Whether the scenario ran as text or not

Example:

false

runs
object[]
Examples:
created_at
string<date-time>
Example:

"2025-02-25T21:00:01.990052Z"