Agno Evals API

The Evals API from Agno — 2 operation(s) for evals.

OpenAPI Specification

agno-evals-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Agno API Reference A2A Evals API
  description: The all-in-one, private, secure agent platform that runs in your cloud.
  version: 2.5.6
tags:
- name: Evals
paths:
  /eval-runs:
    get:
      tags:
      - Evals
      summary: List Evaluation Runs
      description: Retrieve paginated evaluation runs with filtering and sorting options. Filter by agent, team, workflow, model, or evaluation type.
      operationId: get_eval_runs
      security:
      - HTTPBearer: []
      parameters:
      - name: agent_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Agent ID
          title: Agent Id
        description: Agent ID
      - name: team_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Team ID
          title: Team Id
        description: Team ID
      - name: workflow_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Workflow ID
          title: Workflow Id
        description: Workflow ID
      - name: model_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Model ID
          title: Model Id
        description: Model ID
      - name: type
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/EvalFilterType'
          - type: 'null'
          description: Filter type
          title: Type
        description: Filter type
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            minimum: 1
          - type: 'null'
          description: Number of eval runs to return
          default: 20
          title: Limit
        description: Number of eval runs to return
      - name: page
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            minimum: 0
          - type: 'null'
          description: Page number
          default: 1
          title: Page
        description: Page number
      - name: sort_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Field to sort by
          default: created_at
          title: Sort By
        description: Field to sort by
      - name: sort_order
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SortOrder'
          - type: 'null'
          description: Sort order (asc or desc)
          default: desc
          title: Sort Order
        description: Sort order (asc or desc)
      - name: db_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The ID of the database to use
          title: Db Id
        description: The ID of the database to use
      - name: table
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The database table to use
          title: Table
        description: The database table to use
      - name: eval_types
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma-separated eval types (accuracy,agent_as_judge,performance,reliability)
          examples:
          - accuracy,agent_as_judge,performance,reliability
          title: Eval Types
        description: Comma-separated eval types (accuracy,agent_as_judge,performance,reliability)
      responses:
        '200':
          description: Evaluation runs retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_EvalSchema_'
              example:
                data:
                - id: a03fa2f4-900d-482d-afe0-470d4cd8d1f4
                  agent_id: basic-agent
                  model_id: gpt-4o
                  model_provider: OpenAI
                  name: 'Test '
                  eval_type: reliability
                  eval_data:
                    eval_status: PASSED
                    failed_tool_calls: []
                    passed_tool_calls:
                    - multiply
                  eval_input:
                    expected_tool_calls:
                    - multiply
                  created_at: '2025-08-27T15:41:59Z'
                  updated_at: '2025-08-27T15:41:59Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
    delete:
      tags:
      - Evals
      summary: Delete Evaluation Runs
      description: Delete multiple evaluation runs by their IDs. This action cannot be undone.
      operationId: delete_eval_runs
      security:
      - HTTPBearer: []
      parameters:
      - name: db_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Database ID to use for deletion
          title: Db Id
        description: Database ID to use for deletion
      - name: table
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Table to use for deletion
          title: Table
        description: Table to use for deletion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteEvalRunsRequest'
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: Failed to delete evaluation runs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
    post:
      tags:
      - Evals
      summary: Execute Evaluation
      description: Run evaluation tests on agents or teams. Supports accuracy, agent-as-judge, performance, and reliability evaluations. Requires either agent_id or team_id, but not both.
      operationId: run_eval
      security:
      - HTTPBearer: []
      parameters:
      - name: db_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Database ID to use for evaluation
          title: Db Id
        description: Database ID to use for evaluation
      - name: table
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Table to use for evaluation
          title: Table
        description: Table to use for evaluation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EvalRunInput'
      responses:
        '200':
          description: Evaluation executed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalSchema'
              example:
                id: f2b2d72f-e9e2-4f0e-8810-0a7e1ff58614
                agent_id: basic-agent
                model_id: gpt-4o
                model_provider: OpenAI
                eval_type: reliability
                eval_data:
                  eval_status: PASSED
                  failed_tool_calls: []
                  passed_tool_calls:
                  - multiply
                created_at: '2025-08-27T15:41:59Z'
                updated_at: '2025-08-27T15:41:59Z'
        '400':
          description: Invalid request - provide either agent_id or team_id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedResponse'
        '404':
          description: Agent or team not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
  /eval-runs/{eval_run_id}:
    get:
      tags:
      - Evals
      summary: Get Evaluation Run
      description: Retrieve detailed results and metrics for a specific evaluation run.
      operationId: get_eval_run
      security:
      - HTTPBearer: []
      parameters:
      - name: eval_run_id
        in: path
        required: true
        schema:
          type: string
          title: Eval Run Id
      - name: db_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The ID of the database to use
          title: Db Id
        description: The ID of the database to use
      - name: table
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Table to query eval run from
          title: Table
        description: Table to query eval run from
      responses:
        '200':
          description: Evaluation run details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalSchema'
              example:
                id: a03fa2f4-900d-482d-afe0-470d4cd8d1f4
                agent_id: basic-agent
                model_id: gpt-4o
                model_provider: OpenAI
                name: 'Test '
                eval_type: reliability
                eval_data:
                  eval_status: PASSED
                  failed_tool_calls: []
                  passed_tool_calls:
                  - multiply
                eval_input:
                  expected_tool_calls:
                  - multiply
                created_at: '2025-08-27T15:41:59Z'
                updated_at: '2025-08-27T15:41:59Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedResponse'
        '404':
          description: Evaluation run not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
    patch:
      tags:
      - Evals
      summary: Update Evaluation Run
      description: Update the name or other properties of an existing evaluation run.
      operationId: update_eval_run
      security:
      - HTTPBearer: []
      parameters:
      - name: eval_run_id
        in: path
        required: true
        schema:
          type: string
          title: Eval Run Id
      - name: db_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The ID of the database to use
          title: Db Id
        description: The ID of the database to use
      - name: table
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Table to use for rename operation
          title: Table
        description: Table to use for rename operation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEvalRunRequest'
      responses:
        '200':
          description: Evaluation run updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalSchema'
              example:
                id: a03fa2f4-900d-482d-afe0-470d4cd8d1f4
                agent_id: basic-agent
                model_id: gpt-4o
                model_provider: OpenAI
                name: 'Test '
                eval_type: reliability
                eval_data:
                  eval_status: PASSED
                  failed_tool_calls: []
                  passed_tool_calls:
                  - multiply
                eval_input:
                  expected_tool_calls:
                  - multiply
                created_at: '2025-08-27T15:41:59Z'
                updated_at: '2025-08-27T15:41:59Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedResponse'
        '404':
          description: Evaluation run not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: Failed to update evaluation run
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
components:
  schemas:
    SortOrder:
      type: string
      enum:
      - asc
      - desc
      title: SortOrder
    PaginatedResponse_EvalSchema_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/EvalSchema'
          type: array
          title: Data
          description: List of items for the current page
        meta:
          $ref: '#/components/schemas/PaginationInfo'
          description: Pagination metadata
      type: object
      required:
      - data
      - meta
      title: PaginatedResponse[EvalSchema]
    EvalSchema:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the evaluation run
        agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Id
          description: Agent ID that was evaluated
        model_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Id
          description: Model ID used in evaluation
        model_provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Provider
          description: Model provider name
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
          description: Team ID that was evaluated
        workflow_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Workflow Id
          description: Workflow ID that was evaluated
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Name of the evaluation run
        evaluated_component_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Evaluated Component Name
          description: Name of the evaluated component
        eval_type:
          $ref: '#/components/schemas/EvalType'
          description: Type of evaluation (accuracy, performance, or reliability)
        eval_data:
          additionalProperties: true
          type: object
          title: Eval Data
          description: Evaluation results and metrics
        eval_input:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Eval Input
          description: Input parameters used for the evaluation
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
          description: Timestamp when evaluation was created
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
          description: Timestamp when evaluation was last updated
      type: object
      required:
      - id
      - eval_type
      - eval_data
      title: EvalSchema
    PaginationInfo:
      properties:
        page:
          type: integer
          minimum: 0
          title: Page
          description: Current page number (0-indexed)
          default: 0
        limit:
          type: integer
          minimum: 1
          title: Limit
          description: Number of items per page
          default: 20
        total_pages:
          type: integer
          minimum: 0
          title: Total Pages
          description: Total number of pages
          default: 0
        total_count:
          type: integer
          minimum: 0
          title: Total Count
          description: Total count of items
          default: 0
        search_time_ms:
          type: number
          minimum: 0
          title: Search Time Ms
          description: Search execution time in milliseconds
          default: 0
      type: object
      title: PaginationInfo
    BadRequestResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
      - detail
      title: BadRequestResponse
      example:
        detail: Bad request
        error_code: BAD_REQUEST
    ValidationErrorResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
      - detail
      title: ValidationErrorResponse
      example:
        detail: Validation error
        error_code: VALIDATION_ERROR
    InternalServerErrorResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
      - detail
      title: InternalServerErrorResponse
      example:
        detail: Internal server error
        error_code: INTERNAL_SERVER_ERROR
    UpdateEvalRunRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
          description: New name for the evaluation run
      type: object
      required:
      - name
      title: UpdateEvalRunRequest
    UnauthenticatedResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
      - detail
      title: UnauthenticatedResponse
      example:
        detail: Unauthenticated access
        error_code: UNAUTHENTICATED
    EvalFilterType:
      type: string
      enum:
      - agent
      - team
      - workflow
      title: EvalFilterType
    EvalRunInput:
      properties:
        agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Id
          description: Agent ID to evaluate
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
          description: Team ID to evaluate
        model_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Id
          description: Model ID to use for evaluation
        model_provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Provider
          description: Model provider name
        eval_type:
          $ref: '#/components/schemas/EvalType'
          description: Type of evaluation to run (accuracy, performance, or reliability)
        input:
          type: string
          minLength: 1
          title: Input
          description: Input text/query for the evaluation
        additional_guidelines:
          anyOf:
          - type: string
          - type: 'null'
          title: Additional Guidelines
          description: Additional guidelines for the evaluation
        additional_context:
          anyOf:
          - type: string
          - type: 'null'
          title: Additional Context
          description: Additional context for the evaluation
        num_iterations:
          type: integer
          maximum: 100
          minimum: 1
          title: Num Iterations
          description: Number of times to run the evaluation
          default: 1
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Name for this evaluation run
        expected_output:
          anyOf:
          - type: string
          - type: 'null'
          title: Expected Output
          description: Expected output for accuracy evaluation
        criteria:
          anyOf:
          - type: string
          - type: 'null'
          title: Criteria
          description: Evaluation criteria for agent-as-judge evaluation
        scoring_strategy:
          anyOf:
          - type: string
            enum:
            - numeric
            - binary
          - type: 'null'
          title: Scoring Strategy
          description: 'Scoring strategy: ''numeric'' (1-10 with threshold) or ''binary'' (PASS/FAIL)'
          default: binary
        threshold:
          anyOf:
          - type: integer
            maximum: 10
            minimum: 1
          - type: 'null'
          title: Threshold
          description: Score threshold for pass/fail (1-10), only used with numeric scoring
          default: 7
        warmup_runs:
          type: integer
          maximum: 10
          minimum: 0
          title: Warmup Runs
          description: Number of warmup runs before measuring performance
          default: 0
        expected_tool_calls:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Expected Tool Calls
          description: Expected tool calls for reliability evaluation
      type: object
      required:
      - eval_type
      - input
      title: EvalRunInput
    DeleteEvalRunsRequest:
      properties:
        eval_run_ids:
          items:
            type: string
          type: array
          minItems: 1
          title: Eval Run Ids
          description: List of evaluation run IDs to delete
      type: object
      required:
      - eval_run_ids
      title: DeleteEvalRunsRequest
    EvalType:
      type: string
      enum:
      - accuracy
      - agent_as_judge
      - performance
      - reliability
      title: EvalType
    NotFoundResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
      - detail
      title: NotFoundResponse
      example:
        detail: Not found
        error_code: NOT_FOUND
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer