> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lehar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List test runs

> Lists agent test runs, newest first. Filter by `suite_id` and/or `agent_id`. Powers the dashboard Test Runner's run history. Scope `sessions:read`.



## OpenAPI

````yaml /api-reference/openapi.json get /agent-test-runs
openapi: 3.1.0
info:
  title: Lehar API
  version: v0
  description: >-
    Customer-facing REST API for the Lehar voice-AI platform. Platform-admin
    endpoints are intentionally excluded from this reference. Regenerate with
    `npm run sync:openapi`.
servers:
  - url: https://api.lehar.ai/ca/api/v0
security:
  - ApiKeyAuth: []
  - BearerAuth: []
paths:
  /agent-test-runs:
    get:
      tags:
        - Agent Testing
      summary: List test runs
      description: >-
        Lists agent test runs, newest first. Filter by `suite_id` and/or
        `agent_id`. Powers the dashboard Test Runner's run history. Scope
        `sessions:read`.
      operationId: list_runs_ca_api_v0_agent_test_runs_get
      parameters:
        - name: suite_id
          in: query
          required: false
          schema:
            type: string
          description: Filter to runs of one suite.
        - name: agent_id
          in: query
          required: false
          schema:
            type: string
          description: Filter to runs against one agent.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
            maximum: 100
          description: Items to return (max 100).
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
          description: Items to skip.
      responses:
        '200':
          description: Paginated test runs
          content:
            application/json:
              example:
                data:
                  - id: test_run_01hzyb3c5d6e7f8g9h0j1k2l3m
                    suite_id: test_suite_01hzy8x2m4q7r8s9t0v1w2x3y4
                    agent_id: agent_sales_hi
                    status: passed
                    prompt_fingerprint: 9f2c1a7b4e6d8f0a1b2c3d4e5f607182
                    total_scenarios: 3
                    passed_scenarios: 3
                    pass_rate: 1
                    cost_credits: 0.42
                    temporal_workflow_id: agent-test-test_run_01hzyb3c5d6e7f8g9h0j1k2l3m
                    error: null
                    created_at: '2026-05-22T10:05:00Z'
                    updated_at: '2026-05-22T10:07:30Z'
                pagination:
                  limit: 50
                  offset: 0
                  total: 1
        '400':
          description: >-
            `limit`/`offset` are not non-negative integers, or the authenticated
            context has no `customer_id`.
          content:
            application/json:
              example:
                error:
                  code: invalid_request
                  message: limit and offset must be non-negative integers
        '401':
          description: Missing or invalid credentials (code `unauthorized`).
        '403':
          description: >-
            The credential is missing the required `sessions:read` scope (code
            `forbidden`).
        '500':
          description: Unexpected server error (code `internal_error`).
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
    BearerAuth:
      type: http
      scheme: bearer

````