Skip to main content
GET
/
agent-eval
/
runs
List runs
curl --request GET \
  --url https://api.goyappr.com/agent-eval/runs \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "mode": "text",
      "created_at": "2023-11-07T05:31:56Z",
      "case_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "case": {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "persona_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "name": "Yes path — caller agrees on first ask",
        "scenario": "The persona is responding to a missed call from your business about their recent inquiry. They have time to talk for 5 minutes.",
        "success_criteria": [
          {
            "weight": 1,
            "description": "<string>",
            "pattern": "<string>",
            "tool_name": "<string>",
            "args_match": {},
            "node_id": "<string>",
            "rubric": "<string>"
          }
        ],
        "max_turns": 20,
        "pass_threshold": 80,
        "tool_policy": "mock",
        "created_at": "2023-11-07T05:31:56Z",
        "agent": {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "name": "<string>",
          "type": "prompt",
          "flow_config": {
            "nodes": [
              {
                "id": "<string>",
                "name": "<string>",
                "position": {
                  "x": 123,
                  "y": 123
                },
                "agent_speaks_first": true,
                "greeting": "<string>",
                "is_literal": false,
                "next_step_id": "<string>",
                "auto_advance": true
              }
            ],
            "flow_config_version": "1",
            "metadata": {
              "custom_metadata_keys": [
                "<string>"
              ]
            }
          },
          "system_prompt": "<string>",
          "description": "<string>",
          "background_sound_volume": 0.3,
          "temperature": 1,
          "greeting_message": "<string>",
          "agent_speaks_first": true,
          "vad_stop_secs": 0.5,
          "vad_start_secs": 0.2,
          "vad_confidence": 0.7,
          "silence_timeout_secs": 60,
          "max_continuous_speech_secs": 120,
          "max_call_duration_secs": 600,
          "lead_memory_enabled": true,
          "is_active": true,
          "webhook_url": "<string>",
          "webhook_events": [],
          "extraction_parameters": [
            {
              "name": "customerName",
              "description": "The caller's full name as mentioned during the conversation"
            }
          ],
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z"
        },
        "persona": {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "name": "Frustrated tenant",
          "identity_prompt": "You are a 38-year-old tenant calling about a leaking pipe in your kitchen. You're frustrated because this is the third time you've reported it.",
          "language": "en",
          "created_at": "2023-11-07T05:31:56Z",
          "description": "<string>",
          "behavior_traits": {
            "patience": "low",
            "verbosity": "chatty",
            "cooperation": "cooperative",
            "interruption_tendency": "occasional",
            "goal": "Get a maintenance technician scheduled today"
          },
          "voice_config": {},
          "updated_at": "2023-11-07T05:31:56Z",
          "deleted_at": "2023-11-07T05:31:56Z"
        },
        "suite_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "description": "<string>",
        "agent_overrides": {},
        "tool_allowlist": [],
        "updated_at": "2023-11-07T05:31:56Z",
        "deleted_at": "2023-11-07T05:31:56Z"
      },
      "suite_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "suite_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "persona_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "agent_model": "<string>",
      "persona_model": "<string>",
      "started_at": "2023-11-07T05:31:56Z",
      "ended_at": "2023-11-07T05:31:56Z",
      "duration_ms": 123,
      "score": 50,
      "pass_fail": true,
      "evaluation": {
        "score": 50,
        "pass_fail": true,
        "results": [
          {
            "assertion": {
              "weight": 1,
              "description": "<string>",
              "pattern": "<string>",
              "tool_name": "<string>",
              "args_match": {},
              "node_id": "<string>",
              "rubric": "<string>"
            },
            "passed": true,
            "weight": 123,
            "reason": "<string>"
          }
        ]
      },
      "agent_input_tokens": 0,
      "agent_output_tokens": 0,
      "persona_input_tokens": 0,
      "persona_output_tokens": 0,
      "agent_cost_cents": 0,
      "persona_cost_cents": 0,
      "total_cost_cents": 0,
      "error": "<string>",
      "agent_overrides": {}
    }
  ],
  "pagination": {
    "total": 123,
    "limit": 123,
    "offset": 123,
    "has_more": true
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.goyappr.com/llms.txt

Use this file to discover all available pages before exploring further.

Filterable by case_id, suite_run_id, status, and date range. Default sort is newest-first by created_at. To get the runs from one suite execution, pass back the suite_run_id returned by POST /agent-eval/suites/:id/run.

Authorizations

Authorization
string
header
required

Your Yappr API key (e.g. ypr_live_...). Generate one in the dashboard under Settings → API Keys.

Query Parameters

case_id
string<uuid>
suite_run_id
string<uuid>

Pass back the value returned by POST /agent-eval/suites/{id}/run to fetch only the runs from that suite execution.

status
enum<string>
Available options:
queued,
running,
completed,
failed,
cancelled
from
string<date-time>

Filter on created_at >= from.

to
string<date-time>

Filter on created_at < to.

limit
integer
default:20
Required range: x <= 100
offset
integer
default:0

Response

200 - application/json

List of runs. case is expanded inline (which itself expands agent and persona).

data
object[]
pagination
object