Steps
- In Studio, open Tests and go to Score a Transcript.
- Write the scenario goal: what the call was supposed to achieve. The outcome layer is judged against it.
- Paste the transcript. Put each turn on its own line, starting with
AGENT:orCALLER:. - Add assertions if you want, one per line. For example: Agent confirms the appointment time.
- Press Score with the judge. Or send the same three fields to
POST /api/tests/run.curl -s -X POST https://api.wordis-bond.com/api/tests/run \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "scenarioGoal": "Book the caller a cleaning and confirm the time", "transcript": "AGENT: Bright Smile Dental, how can I help?\nCALLER: I need a cleaning.\nAGENT: Tuesday at 9 is open. You are booked for Tuesday at 9.", "assertions": ["Agent confirms the appointment time"] }' | jq '.data | {id, status, score, passed}'
What you get
A completed run with a score out of 100, pass or fail, and the four-layer scorecard. It is listed with your other runs under Tests.
If something fails
| Status | Code | Message | What it means |
|---|---|---|---|
| 422 | VALIDATION_ERROR | targetAgent.transport is required for a live run (or send only "suiteId" to run a saved suite) | The transcript field is missing or empty, so the request was read as a live call. Send the transcript. |
| 400 | — | Invalid JSON in request body | The body is not valid JSON. Check the quotes and the line breaks in the transcript. |
| 429 | RATE_LIMITED | Too many scoring requests — slow down (30 per minute). | Wait a minute, then score again. |
Not ready yet
- A plain transcript carries no timing, so latency and barge-ins are not measured for it.
Last checked 2026-10-11. More help: Sign up and run your first test · Read a scorecard · Run a suite from CI · Schedule a suite.