API reference

Simulated calls

Play scripted callers against an agent on its own voice pipeline, then fetch the recordings, transcripts and checks.

A simulated call is a real conversation with your agent, on its own voice pipeline, with a synthesized caller instead of a phone. No telephony is charged. See the simulated calls guide.

OperationMethod and pathMinimum role
List runsGET /simulationsviewer
Start a runPOST /simulationsmember
What a run of an agent would beGET /simulations/agents/{agent_id}/setupviewer
Suggest starter callsPOST /simulations/agents/{agent_id}/suggestmember
Estimate a runPOST /simulations/estimatemember
Get a runGET /simulations/{run_id}viewer
Cancel a runPOST /simulations/{run_id}/cancelmember
Download a runGET /simulations/{run_id}/downloadviewer

An API key acts as admin. Limits: at most 5 calls a run, 8 caller lines a call, 3 runs an hour per account, one run at a time.

List runs

GET /simulations

The account's last 20 runs, newest first, without their calls. Add agent_id for one agent's runs.

bash
curl "https://api.sevennadi.si/simulations?agent_id=3c9d2f8e-1a2b-4c3d-8e4f-5a6b7c8d9e0f" \
  -H "Authorization: Bearer vk-0123456789abcdef0123456789abcdef"

Start a run

POST /simulations

agent_id, calls and an optional language. Each call is either a workflow-test scenario (scenario_id) or your own caller: name and lines, with optional variables and, for a graph agent, expect (final node, steps to visit, values to extract). The calls are played one after another in the background; poll the run until status is done.

bash
curl -X POST https://api.sevennadi.si/simulations \
  -H "Authorization: Bearer vk-0123456789abcdef0123456789abcdef" -H "Content-Type: application/json" \
  -d '{"agent_id": "3c9d2f8e-1a2b-4c3d-8e4f-5a6b7c8d9e0f", "language": "hi",
       "calls": [{"name": "Bill question", "lines": ["नमस्ते, मुझे अपना बिल जानना है", "मेरा खाता नंबर चार पाँच छह सात है", "धन्यवाद"]}]}'

Response 202 Accepted: the run with status queued and its run_id.

What a run of an agent would be

GET /simulations/agents/{agent_id}/setup

Whether the agent's voice pipeline can take a simulated call and how (support), its workflow-test scenarios, the limits, the runs left this hour, and the caller's voice (the text-to-speech server's default voice, never a cloned one).

Suggest starter calls

POST /simulations/agents/{agent_id}/suggest

For a graph agent, one call per path from the start step to a closing step, with its expectations; with phrase: true and a model available, the lines are reworded the way a caller would say them. For any other agent, a few plain starters in language.

Estimate a run

POST /simulations/estimate

The same body as starting a run. Returns how long it would take and what it would cost from your price book: no telephony, the platform fee and the agent's models as on a browser test call.

Get a run

GET /simulations/{run_id}

What was asked (calls), each finished call (results: execution id, status, recording URL, transcript, latency per turn, checks and pass or fail), progress while it runs, and the summary.

Cancel a run

POST /simulations/{run_id}/cancel

The call on the line hangs up and no further call starts. Finished calls are kept.

Download a run

GET /simulations/{run_id}/download

One ZIP: per call the recording (WAV, both sides), the transcript with checks and latencies (txt) and the full result (json), plus run.json and a README.