LemuAI

Overview

Run automated conversation tests between two voice agents

LoopTalk runs one voice agent (the "actor") against another (the "adversary") to automatically test conversation flows, without a real phone call. A single test session pits two workflows against each other; a load test runs many sessions at once under the same actor/adversary pairing.

MethodEndpointPurpose
POST/looptalk/test-sessionsCreate a test session
GET/looptalk/test-sessionsList test sessions
GET/looptalk/test-sessions/{test_session_id}Get a specific test session
POST/looptalk/test-sessions/{test_session_id}/startStart a test session
POST/looptalk/test-sessions/{test_session_id}/stopStop a running test session
GET/looptalk/test-sessions/{test_session_id}/conversationGet conversation details (transcript, recordings) for a session
POST/looptalk/load-testsCreate and start a load test (multiple sessions at once)
GET/looptalk/load-tests/{load_test_group_id}/statsGet aggregate stats for a load test
GET/looptalk/active-testsGet information about currently active test sessions

Create and start a test session#

curl -X POST https://app.lemuai.com/api/v1/looptalk/test-sessions \
  -H "X-API-Key: lemu_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Refund flow regression",
    "actor_workflow_id": 12,
    "adversary_workflow_id": 34,
    "config": {}
  }'
{
  "id": 88,
  "name": "Refund flow regression",
  "status": "pending",
  "actor_workflow_id": 12,
  "adversary_workflow_id": 34,
  "load_test_group_id": null,
  "test_index": null,
  "config": {},
  "results": null,
  "error": null,
  "created_at": "2026-08-20T10:00:00Z",
  "started_at": null,
  "completed_at": null
}

A session must be pending before it can start:

curl -X POST https://app.lemuai.com/api/v1/looptalk/test-sessions/88/start \
  -H "X-API-Key: lemu_your_api_key"
{
  "message": "Test session starting",
  "test_session_id": 88
}

Once it finishes, GET /looptalk/test-sessions/{test_session_id}/conversation returns the transcript and recording URLs; per-turn detail is tracked in Langfuse rather than exposed via this API.

© 2026 LemuAI. Built with our own docs platform.