{ "messages": [ { "role": "system", "content": "You are a helpful customer service agent." }, { "role": "user", "content": "I need help with my order #12345" } ], "user_id": "sim_user_abc123", "session_id": "session_xyz789", "metadata": { "scenario_id": "financial_stress_delivery", "persona": "delivery_worker_bengaluru", "time_of_day": "morning_rush" }}
Response Format:
{ "choices": [ { "index": 0, "message": { "role": "assistant", "content": "I'd be happy to help you with your order. Let me look up order #12345 for you." }, "finish_reason": "stop" } ], "session_id": "session_xyz789", "chat_id": "chat_456def", "metadata": { "agent_confidence": 0.95, "response_time_ms": 1200, "tools_used": ["order_lookup"] }, "evaluation_metadata": { "order_found": true, "tone": "empathetic", "resolution_step": 1, "customer_acknowledged": true }}
If your agent requires user-specific contexts or session management, we can create users at the start of each simulation session.Endpoint:POST /usersRequest Format:
user_id and session_id are optional in requests. If your agent doesn’t require session management, you can omit them.metadata is optional and can contain any scenario or context information your agent needs.Request with minimal parameters:
{ "messages": [ { "role": "user", "content": "Hello, I need help" } ]}
Request with full parameters:
{ "messages": [ { "role": "system", "content": "You are a helpful customer service agent." }, { "role": "user", "content": "I need help with my order #12345" } ], "user_id": "sim_user_abc123", "session_id": "session_xyz789", "metadata": { "scenario_id": "financial_stress_delivery", "persona": "delivery_worker_bengaluru", "stress_level": "high", "location": "bengaluru" }}
For agents that use function calling, the simulated user will send simple requests without tool definitions. Your agent must handle all tool calling internally - execute the necessary functions, get the results, and include the complete sequence of tool calls and responses in your response. The evaluator will use this information to evaluate your agent’s tool usage and decision-making.Request from Simulated User:
{ "messages": [ { "role": "user", "content": "What's the status of my order #12345?" } ], "user_id": "sim_user_abc123", "session_id": "session_xyz789"}
Response with Tool Call and Results:
{ "choices": [ { "message": { "role": "assistant", "content": "I found your order! Order #12345 is currently being prepared and will be shipped within 2 hours.", "tool_calls": [ { "id": "call_abc123", "type": "function", "function": { "name": "get_order_status", "arguments": "{\"order_id\": \"12345\"}", "result": { "order_id": "12345", "status": "preparing", "estimated_ship_time": "2 hours", "tracking_number": null } } } ] } } ], "session_id": "session_xyz789", "chat_id": "chat_456def", "evaluation_metadata": { "tool_called": "get_order_status", "tool_success": true, "response_included_status": true, "customer_informed": true }}