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.
| Operation | Method and path | Minimum role |
|---|---|---|
| List runs | GET /simulations | viewer |
| Start a run | POST /simulations | member |
| What a run of an agent would be | GET /simulations/agents/{agent_id}/setup | viewer |
| Suggest starter calls | POST /simulations/agents/{agent_id}/suggest | member |
| Estimate a run | POST /simulations/estimate | member |
| Get a run | GET /simulations/{run_id} | viewer |
| Cancel a run | POST /simulations/{run_id}/cancel | member |
| Download a run | GET /simulations/{run_id}/download | viewer |
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.
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.
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.