New: Voice AI Orchestration Benchmarks — Retell, Vapi, Pipecat, LiveKit & more

Programmatic voice agent testing API

Dileep Chagam
Written byJUL 25, 2026Updated SEP 10, 202610 MIN READ
Dileep ChagaminExpert verified
Founding Engineer, CekuraIIT BombayEx-Apple

Has stress-tested 5M+ voice agent minutes at Cekura.

Programmatic voice agent testing API

Why Trust Cekura on Voice AI Evals

  • Built by engineers from Google, Apple, Microsoft. Backed by Y Combinator.
  • 60K+ voice AI calls evaluated daily.
  • Native integration for every major voice AI stack: LiveKit, Pipecat, Vapi, Retell, ElevenLabs, Telnyx.

A programmatic voice agent testing API runs, scores, and returns results for voice-agent test scenarios through code, a CLI, or a CI pipeline, rather than a dashboard click-through. Cekura exposes this as a Python SDK, a CLI, an MCP server for coding agents, and a GitHub Actions and GitLab CI/CD integration, all under one authenticated account.

TL;DR

  • Cekura ships a programmatic voice agent testing API as one installable package, pip install cekura, combining a CLI and a Python SDK with synchronous and asynchronous clients.
  • An MCP server gives a coding agent permissioned tools to list agents, create metrics, generate evaluators, run tests, and inspect results, so a tool like Claude Code can drive a test run directly.
  • The GitHub Actions and GitLab CI/CD integrations gate on scenario IDs or tags, with a timeout that defaults to 3,600 seconds and a frequency setting that reruns each scenario to catch non-deterministic failures.
  • Pricing is metered at $0.25 per voice-testing minute and $0.05 per monitored call, with one seat free and $30 a month per additional seat, plus a $500 a month flat Startup plan; the API, the MCP server, and Cekura Skills are included on every plan.
  • The same account that runs pre-launch scenarios also produces production call alerts, and its scenario-generation skill converts a production call failure into a reproducible evaluator scenario.

What is a programmatic voice agent testing API?

A programmatic voice agent testing API is an interface that runs, scores, and returns results for voice-agent test scenarios through code, a CLI, or a CI job, instead of a person clicking through a dashboard. Because a voice call is not deterministic, the same input can produce two responses that use different words but both satisfy the caller's request, so a testing API has to score whether the outcome was met, not whether the transcript matches character for character.

Purwar, Singh and Srivastava of Sprinklr AI, benchmarking GPT-4.1 and GPT-5 judges against human raters on telecom and retail voice-agent calls, conclude that LLM-judge "reliability is metric- and configuration-dependent rather than uniform," so some checks still need a person in the loop. Cekura scores each call against a set of predefined metrics rather than a single pass-or-fail flag, and every result carries the run transcript, a per-metric score with its explanation, and the failed reasons, so a reviewer can check an automated score against the conversation that produced it.

How do you integrate a programmatic voice agent testing API into automated QA workflows?

Integration into automated QA workflows means the test suite lives in the same codebase and the same trigger path as the agent it tests, not in a separate dashboard a person has to remember to open. Cekura installs as one Python package, pip install cekura, that ships both a command-line interface and a Python SDK with synchronous and asynchronous clients, authenticated by OAuth or an API key, on Linux, macOS, or Windows.

Cekura exposes an MCP server that gives a coding agent permissioned tools to list agents, create metrics, generate evaluators, run tests, inspect transcripts, and analyze results, so a tool like Claude Code or Cursor can trigger a run and read back the outcome. The same server also drives testing from inside an editor rather than only from CI. The package ships integrations for LiveKit and Pipecat directly, so a workflow already built on either framework does not need a separate adapter layer to reach Cekura.

How do you call the Cekura testing API from a script or CI job?

Calling the Cekura testing API from a script means the operations a dashboard exposes, list agents, start a run, poll its status, and read the result, are available as CLI commands and Python SDK methods under one API key. The CLI path is a few commands:

# text-mode run; a voice run is the REST endpoint below, the GitHub Action, or MCP
pip install cekura
cekura auth login --api-key $CEKURA_API_KEY
cekura run start --agent-id 123 --scenario-ids 1,2,3
cekura runs list --agent-id 123 --format json

The Python SDK mirrors it: client.scenarios.run_text(agent_id=123, scenario_ids=[1, 2, 3]) starts a run, and polling the run object returns a status of passed, failed, or errored. For a real voice call rather than text, the REST endpoint is POST /test_framework/v1/scenarios/run_scenarios/ with an X-CEKURA-API-KEY header, the same call the GitHub Action makes, and the MCP server exposes it as scenarios_run_voice for telephony and scenarios_run_sip for SIP, so a CI job can gate on the status field without a person reading a dashboard.

How do you fit a programmatic voice agent testing API into CI for end-to-end validation?

Fitting the API into CI means a pull request runs the same scenarios a developer runs locally, and a failing scenario fails the check that guards the merge. Cekura's GitHub Action triggers on a push, a pull request, or a manual dispatch, takes an agent ID plus scenario IDs or tags, and exits with an error on any failed run within a 3,600-second default timeout, so a branch-protection rule that requires the check keeps the request from merging until every scenario passes. A GitLab component, which infers the agent instead of requiring an ID, covers teams off GitHub. Scaling conversational AI reliability this way validates every change end to end with real calls before it ships.

A single passing run is weak evidence: voice agents are non-deterministic, so a scenario can pass once and fail on retry for reasons unrelated to the change under review. A frequency setting reruns each scenario in one job, so it must pass every repeat, the standard a regression suite after a prompt change has to meet. The suite also runs on a nightly schedule, and Cekura's own benchmark applies that discipline across 82 scenarios and three retained repeats per configuration.

Which criteria decide a programmatic voice agent testing API?

Seven criteria decide a programmatic voice agent testing API: whether a CI job or coding agent can call it from code, whether it gates a merge, whether it repeats runs, how many steps a first run takes, whether the pre-launch suite doubles as the production monitor, its compliance posture, and its pricing unit. The API surface, not the dashboard, is what a CI job or a coding agent actually touches, which makes this a narrower decision than choosing a general evaluation platform. Enterprise buyers weight the compliance criterion hardest: a testing platform that handles production call audio inherits the same compliance obligations as the agent it tests, so a signed BAA and DPA, SSO, audit logs, and private hosting are contract questions, not features. None of the seven criteria below are Cekura-specific; they are the questions worth asking any vendor before a contract is signed.

CriterionWhy it decides the purchaseCekura
Callable from codeA CI job or a coding agent must start a run and read the result without a person opening a browserCLI, Python SDK (sync and async), and an MCP server exposing list, create, run, inspect, and analyze tools
CI/CD gateA merge should block on a failed scenario, not just report one after the factNative GitHub Actions and GitLab CI/CD integrations, gated by scenario IDs or tags
Repeatable runsA single pass is weak evidence against a non-deterministic systemA configurable frequency reruns each scenario N times in one job; Cekura's published benchmark applies the same standard, counting a scenario as passed only when all three retained runs pass
Setup pathWhether a first run needs an SDK project and a build, or a terminalpip install cekura, cekura auth login, then one cekura run start command for a text run; a voice run from CI is one POST /test_framework/v1/scenarios/run_scenarios/ call or the GitHub Action
Production reuseWhether the pre-launch suite becomes the production monitor, or a second tool has to be bought for thatOne account produces production call simulation before launch and production call alerts after, and can turn a production failure into a new evaluator scenario
Compliance postureTesting touches production call audio, so the vendor inherits the agent's compliance obligationsSigned BAA and DPA from the Startup tier up; the enterprise tier adds SSO, SCIM, audit logs, and VPC or on-premise hosting
Pricing unitPer-minute and per-seat pricing produce very different bills at the same usageMetered at $0.25 per voice-testing minute and $0.05 per monitored call; one seat free, then $30 a month per seat; a $500 a month flat plan for predictable volume; no separate per-seat license to call the API

Should you build a programmatic voice agent testing API in-house or buy one?

Buy a programmatic voice agent testing API when the merge gate has to exist this quarter; build one only when the scorer must encode judgments no vendor's metrics express, and price the build against what it costs to maintain. An in-house version needs four things: a caller that can place and drive a real conversation over the transport the agent uses, a scorer that judges whether the outcome was met rather than matching a fixed transcript, storage for the transcripts each run produces, and a trigger a CI job can call.

The scorer is the expensive part to maintain, not the caller. Purwar, Singh and Srivastava (2026) of Sprinklr AI, benchmarking LLM judges against human raters on telecom and retail voice-agent calls, found judgment quality is metric- and configuration-dependent rather than uniform, so calibrating an in-house judge against a human reviewer never ends. Cekura supplies all four parts from one account: MCP tools such as scenarios_run_voice and scenarios_run_sip place the call, predefined metrics score the outcome with a per-metric explanation, every result keeps its run transcript, and the trigger is a CLI command, an SDK call, an MCP tool, a GitHub Action, or a GitLab CI/CD component.

Frequently asked questions

Does Cekura offer a programmatic voice agent testing API?

Yes. Cekura ships a programmatic testing API as a CLI and a Python SDK in one installable package, an MCP server that gives a coding agent permissioned tools to run and read tests, and a native GitHub Actions and GitLab CI/CD integration gated by scenario IDs or tags. Authentication uses OAuth or an API key, and one account covers both pre-launch testing and production monitoring.

What do engineering teams actually use as a programmatic voice agent testing API?

In practice teams pick from four shapes: a hosted API-first testing platform, an open-source test harness they self-host and wire into their own test runner, a voice-orchestration vendor's own built-in test mode, or a fully in-house caller and scorer. Cekura falls in the first category, with a CLI, an SDK, an MCP server, and a REST API as the entry points, all listed as included on every plan on Cekura's pricing page.

Pricing for programmatic voice agent testing API: how do the platform options compare?

Pricing splits into three shapes: metered per test minute or per call, a flat monthly plan sized to a volume of testing minutes, and a custom enterprise contract. Cekura's pricing meters $0.25 per voice-testing minute and $0.05 per monitored call on its pay-as-you-go tier, includes one seat free with $30 a month per additional seat, and offers a $500 a month Startup plan covering roughly 2,000 testing minutes and 10,000 monitored calls, with production call simulation and production call alerts included on every plan.

Is there a tool that automates a programmatic voice agent testing API end to end?

Automating it end to end means one tool generates scenarios, runs them as real calls, scores the result, and gates a merge on the outcome, without a person doing any of those steps by hand. Cekura's scenario generation, CLI and SDK, and GitHub Actions integration cover generation, execution, and gating from one account, and its MCP server and Cekura Skills let a coding agent generate the scenarios and run them directly, with the merge gate staying in the GitHub Actions or GitLab CI/CD job.

Which programmatic voice agent testing API supports real-time conversation replay and monitoring?

Cekura runs production call simulation before launch and production call alerts after, from the same account and scenario suite. Its observability tooling scores production calls against the same predefined metrics used in testing, each result keeps its transcript and per-metric explanation for review, and its scenario-generation skill converts a specific production call failure into a reproducible evaluator scenario, so a live incident becomes a permanent regression test rather than a one-off ticket.

Test your voice and chat agents with Cekura

Cekura simulates thousands of conversations before you ship and monitors every call in production — catching broken tool calls, prompt regressions, and instruction-following failures before your users hit them.

Ready to ship voice
agents fast? 

Book a demo