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

# List Test Runs

> List test runs for a test suite with pagination



## OpenAPI

````yaml GET /test-suites/{id}/runs
openapi: 3.1.0
info:
  title: RevRing Voice AI API
  description: >-
    RevRing Voice AI platform API for managing AI voice agents, phone calls, SIP
    trunks, and analytics. Build intelligent voice applications that can handle
    inbound and outbound phone calls with AI-powered conversational agents.
  version: 1.0.0
  contact:
    name: RevRing Support
    url: https://revring.ai
servers:
  - url: https://api.revring.ai/v1
    description: Production API
security:
  - apiKeyAuth: []
tags:
  - name: Messaging Connections
    description: Connect messaging providers so agents can send text messages
  - name: Messages
    description: Send text messages and read your message log
  - name: Conversations
    description: List and clear managed conversation threads
  - name: SIP Trunks
    description: Manage SIP trunks for connecting agents to the phone network
  - name: Agents
    description: Manage AI voice agents and their configuration
  - name: Agent Folders
    description: Organize agents into folders for dashboard navigation
  - name: Calls
    description: Manage and query phone calls
  - name: Analytics
    description: Get analytics and metrics about your calls
  - name: Knowledge Bases
    description: >-
      Manage knowledge bases and sources for agent retrieval-augmented
      generation
  - name: Test Suites
    description: Manage test suites, test cases, and test runs for agent evaluation
  - name: Voices
    description: Browse the voices available to your organization for agent speech
paths:
  /test-suites/{id}/runs:
    parameters:
      - name: id
        in: path
        required: true
        description: Test suite ID
        schema:
          type: string
          format: uuid
    get:
      tags:
        - Test Suites
      summary: List Test Runs
      description: List test runs for a test suite with pagination
      operationId: listTestRuns
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: pageSize
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
        - name: sortDir
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: includeAttempts
          in: query
          description: Include individual test attempt details
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Paginated list of test runs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestRunsList'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '402':
          $ref: '#/components/responses/BillingInactiveError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  schemas:
    TestRunsList:
      type: object
      description: Paginated list of test runs
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/TestRun'
        page:
          type: integer
        pageSize:
          type: integer
        total:
          type: integer
        hasNextPage:
          type: boolean
      required:
        - data
        - page
        - pageSize
        - total
        - hasNextPage
    TestRun:
      type: object
      description: A test run execution
      properties:
        id:
          type: string
          format: uuid
        testSuiteId:
          type: string
          format: uuid
        name:
          type: string
          description: Test run name
        status:
          type: string
          enum:
            - queued
            - running
            - completed
            - failed
            - cancelled
          description: Current status of the test run
        totalTests:
          type: integer
          description: Total number of test attempts
        passedTests:
          type: integer
          description: Number of passed test attempts
        failedTests:
          type: integer
          description: Number of failed test attempts
        startedAt:
          type: string
          format: date-time
          nullable: true
        completedAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        attempts:
          type: array
          description: Test attempt details (included when includeAttempts=true)
          items:
            $ref: '#/components/schemas/TestAttempt'
      required:
        - id
        - testSuiteId
        - name
        - status
        - totalTests
        - passedTests
        - failedTests
        - createdAt
        - updatedAt
    TestAttempt:
      type: object
      description: Individual test attempt within a test run
      properties:
        id:
          type: string
          format: uuid
        testCaseId:
          type: string
          format: uuid
        testCaseName:
          type: string
        attemptNumber:
          type: integer
        callId:
          type: string
          format: uuid
          nullable: true
          description: Tester agent's call ID
        inboundCallId:
          type: string
          format: uuid
          nullable: true
          description: Target agent's call ID
        result:
          type: string
          enum:
            - pass
            - fail
            - error
          nullable: true
          description: Test result
        reasoning:
          type: string
          nullable: true
          description: Explanation for the test result
        transcript:
          type: array
          nullable: true
          items:
            type: object
          description: Call transcript
        startedAt:
          type: string
          format: date-time
          nullable: true
        completedAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
      required:
        - id
        - testCaseId
        - testCaseName
        - attemptNumber
        - createdAt
  responses:
    UnauthorizedError:
      description: Authentication required or API key invalid
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: unauthorized
    BillingInactiveError:
      description: Subscription inactive or billing issue
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: billing_inactive
    NotFoundError:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: not_found
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Generate API keys from the RevRing
        dashboard.

````