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

# List the project's evaluation runs

> List evaluation runs, newest first, optionally one evaluation's or one status's.

Identity and status only: a run's counts and per-scorer means come from `read_run`, so
listing stays one query however many runs a page holds. `next_cursor` is null on the
last page.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/public/evaluation-runs
openapi: 3.1.0
info:
  title: TraceRoot Public API
  version: 0.1.0
servers:
  - description: TraceRoot Cloud
    url: https://app.traceroot.ai
  - description: Self-hosted
    url: '{baseUrl}'
    variables:
      baseUrl:
        default: http://localhost:8000
        description: Your TraceRoot backend URL
security: []
paths:
  /api/v1/public/evaluation-runs:
    get:
      tags:
        - Offline Eval
      summary: List the project's evaluation runs
      description: >-
        List evaluation runs, newest first, optionally one evaluation's or one
        status's.


        Identity and status only: a run's counts and per-scorer means come from
        `read_run`, so

        listing stays one query however many runs a page holds. `next_cursor` is
        null on the

        last page.
      operationId: list_evaluation_runs
      parameters:
        - description: Runs per page
          in: query
          name: limit
          required: false
          schema:
            default: 50
            description: Runs per page
            maximum: 200
            minimum: 1
            title: Limit
            type: integer
        - description: Opaque cursor from a previous page
          in: query
          name: cursor
          required: false
          schema:
            anyOf:
              - maxLength: 64
                minLength: 1
                type: string
              - type: 'null'
            description: Opaque cursor from a previous page
            title: Cursor
        - description: Only this evaluation's runs
          in: query
          name: evaluation_id
          required: false
          schema:
            anyOf:
              - maxLength: 64
                minLength: 1
                type: string
              - type: 'null'
            description: Only this evaluation's runs
            title: Evaluation Id
        - description: Only runs in this status
          in: query
          name: status
          required: false
          schema:
            anyOf:
              - enum:
                  - running
                  - completed
                  - completed_with_errors
                  - failed
                  - incomplete
                  - cancelled
                type: string
              - type: 'null'
            description: Only runs in this status
            title: Status
        - description: >-
            Target project for the request. Required when authenticating with a
            user session token (a user credential is only meaningful scoped to a
            project); for an API key it is optional and, if given, must match
            the key's project.
          in: query
          name: project_id
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Target project for the request. Required when authenticating with
              a user session token (a user credential is only meaningful scoped
              to a project); for an API key it is optional and, if given, must
              match the key's project.
            title: Project Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEvaluationRunsResponse'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authentication failed
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this project
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Validation error
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Rate limit exceeded
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authentication service unavailable
      security:
        - BearerAuth: []
components:
  schemas:
    ListEvaluationRunsResponse:
      properties:
        next_cursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Cursor
        runs:
          items:
            $ref: '#/components/schemas/PublicEvaluationRun'
          title: Runs
          type: array
      required:
        - runs
        - next_cursor
      title: ListEvaluationRunsResponse
      type: object
    ErrorResponse:
      description: >-
        The canonical public error envelope (matches the gateway's normalized
        shape).
      properties:
        detail:
          title: Detail
          type: string
      required:
        - detail
      title: ErrorResponse
      type: object
    PublicEvaluationRun:
      description: >-
        One run as the LISTING reports it: identity, where it ran, and how it
        ended.


        No counts, means, cost or duration. Those are aggregates over a run's
        results, so a page

        of runs would be a page of aggregate queries; the run read answers them
        one run at a

        time.
      properties:
        candidate_version:
          title: Candidate Version
          type: string
        completed_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Completed At
        dataset_id:
          title: Dataset Id
          type: string
        dataset_version_id:
          title: Dataset Version Id
          type: string
        environment:
          title: Environment
          type: string
        evaluation_id:
          title: Evaluation Id
          type: string
        evaluation_key:
          title: Evaluation Key
          type: string
        evaluation_name:
          title: Evaluation Name
          type: string
        evaluation_run_id:
          title: Evaluation Run Id
          type: string
        run_number:
          title: Run Number
          type: integer
        started_at:
          title: Started At
          type: string
        status:
          enum:
            - running
            - completed
            - completed_with_errors
            - failed
            - incomplete
            - cancelled
          title: Status
          type: string
      required:
        - evaluation_run_id
        - evaluation_id
        - evaluation_name
        - evaluation_key
        - run_number
        - candidate_version
        - environment
        - status
        - dataset_id
        - dataset_version_id
        - started_at
        - completed_at
      title: PublicEvaluationRun
      type: object
  securitySchemes:
    BearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.