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

# List tasks

> Retrieves a paginated list of tasks with optional filtering.



## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/avido/openapi.documented.yml get /v0/tasks
openapi: 3.1.1
info:
  title: Avido API
  description: >-
    Avido's API for LLM usage events, tool calls, trace management, webhook
    validation, and more. See each endpoint's request/response schema for
    details.
  version: 0.1.0
  contact:
    name: Avido Support
    email: support@avidoai.com
    url: https://avidoai.com/support
servers:
  - url: https://api.avidoai.com
    description: Production API
security:
  - ApiKey: []
    ApplicationId: []
paths:
  /v0/tasks:
    get:
      tags:
        - Tasks
      summary: List tasks
      description: Retrieves a paginated list of tasks with optional filtering.
      operationId: listTasks
      parameters:
        - in: query
          name: skip
          schema:
            description: Number of items to skip before starting to collect the result set.
            example: 0
            default: 0
            type: integer
            minimum: 0
            maximum: 9007199254740991
          description: Number of items to skip before starting to collect the result set.
        - in: query
          name: limit
          schema:
            description: Number of items to include in the result set.
            example: 25
            type: integer
            minimum: 1
            maximum: 100
          description: Number of items to include in the result set.
        - in: query
          name: orderBy
          schema:
            description: Field to order the result set by.
            example: createdAt
            default: createdAt
            type: string
            enum:
              - createdAt
              - modifiedAt
              - title
              - status
              - type
              - lastTest
              - id
          description: Field to order the result set by.
        - in: query
          name: orderDir
          schema:
            description: Order direction.
            example: desc
            default: desc
            type: string
            enum:
              - asc
              - desc
          description: Order direction.
        - in: query
          name: topicId
          schema:
            description: Filter tasks by topic ID
            example: 789e4567-e89b-12d3-a456-426614174000
            type: array
            items:
              type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Filter tasks by topic ID
        - in: query
          name: status
          schema:
            description: Filter tasks by status
            example:
              - success
              - warning
            type: array
            items:
              type: string
              enum:
                - success
                - warning
                - error
                - no-tests
          description: Filter tasks by status
        - in: query
          name: evalDefinitionId
          schema:
            description: Filter tasks by eval definition ID
            example: 123e4567-e89b-12d3-a456-426614174000
            type: array
            items:
              type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Filter tasks by eval definition ID
        - in: query
          name: tagId
          schema:
            description: Filter tasks by tag ID
            example: 789e4567-e89b-12d3-a456-426614174000
            type: array
            items:
              type: string
          description: Filter tasks by tag ID
        - in: query
          name: search
          schema:
            description: >-
              Search tasks by title or description (case-insensitive partial
              match)
            example: credit card
            type: string
          description: >-
            Search tasks by title or description (case-insensitive partial
            match)
        - in: query
          name: confidenceLevel
          schema:
            description: Filter tasks by confidence level.
            example:
              - HIGH
              - MEDIUM
            type: array
            items:
              $ref: '#/components/schemas/ConfidenceLevel'
          description: Filter tasks by confidence level.
        - in: query
          name: stabilityLevel
          schema:
            description: Filter tasks by stability level.
            example:
              - HIGH
              - MEDIUM
            type: array
            items:
              $ref: '#/components/schemas/StabilityLevel'
          description: Filter tasks by stability level.
        - in: query
          name: healthScoreLevel
          schema:
            description: Filter tasks by health score level.
            example:
              - HIGH
              - MEDIUM
            type: array
            items:
              type: string
              enum:
                - HIGH
                - MEDIUM
                - LOW
              title: HealthScoreLevel
              description: 'Health score level: HIGH (90-100), MEDIUM (60-89), LOW (0-59).'
              example: HIGH
          description: Filter tasks by health score level.
        - in: query
          name: scheduleCriticality
          schema:
            description: >-
              Filter tasks by schedule criticality (HIGH = daily, MEDIUM =
              weekly, LOW = bi-weekly). Only returns tasks that have a schedule
              with one of the specified criticality levels.
            example:
              - HIGH
              - MEDIUM
            type: array
            items:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
          description: >-
            Filter tasks by schedule criticality (HIGH = daily, MEDIUM = weekly,
            LOW = bi-weekly). Only returns tasks that have a schedule with one
            of the specified criticality levels.
      responses:
        '200':
          description: Successfully retrieved tasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTaskResponse'
              examples:
                empty:
                  summary: Empty results
                  value:
                    data: []
                    pagination:
                      skip: 0
                      limit: 25
                      total: 0
                      totalPages: 0
                success:
                  summary: List of tasks
                  value:
                    data:
                      - id: 123e4567-e89b-12d3-a456-426614174000
                        createdAt: '2024-01-01T00:00:00.000Z'
                        modifiedAt: '2024-01-01T00:00:00.000Z'
                        title: Credit Card Block
                        description: Wants to block their credit card
                        baseline: 0.5
                        application: {}
                        topic: {}
                    pagination:
                      skip: 0
                      limit: 25
                      total: 1
                      totalPages: 1
        '400':
          description: bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Avido from 'avido';

            const client = new Avido({
              apiKey: process.env['AVIDO_API_KEY'], // This is the default and can be omitted
              applicationID: process.env['AVIDO_APPLICATION_ID'], // This is the default and can be omitted
            });

            // Automatically fetches more pages as needed.
            for await (const taskListResponse of client.tasks.list()) {
              console.log(taskListResponse.id);
            }
        - lang: Python
          source: |-
            import os
            from avido import Avido

            client = Avido(
                api_key=os.environ.get("AVIDO_API_KEY"),  # This is the default and can be omitted
                application_id=os.environ.get("AVIDO_APPLICATION_ID"),  # This is the default and can be omitted
            )
            page = client.tasks.list()
            page = page.data[0]
            print(page.id)
components:
  schemas:
    ConfidenceLevel:
      type: string
      enum:
        - HIGH
        - MEDIUM
        - LOW
      title: ConfidenceLevel
      description: >-
        Statistical confidence level based on the width of the 95% confidence
        interval around the pass rate.
      example: HIGH
    StabilityLevel:
      type: string
      enum:
        - HIGH
        - MEDIUM
        - LOW
      title: StabilityLevel
      description: >-
        Score stability level based on the standard deviation of evaluation
        scores.
      example: HIGH
    PaginatedTaskResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                description: The unique identifier of the task
                example: 123e4567-e89b-12d3-a456-426614174000
              createdAt:
                description: When the task was created
                example: '2024-01-05T12:34:56.789Z'
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              modifiedAt:
                description: When the task was last modified
                example: '2024-01-05T12:34:56.789Z'
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              title:
                type: string
                description: The title of the task
                example: Credit Card Block
              description:
                type: string
                description: The task description
                example: Wants to block their credit card
              type:
                type: string
                enum:
                  - STATIC
                  - NORMAL
                description: >-
                  The type of task. Normal tasks have a dynamic user prompt,
                  while adversarial tasks have a fixed user prompt.
                example: NORMAL
                default: NORMAL
              status:
                $ref: '#/components/schemas/TaskStatus'
                description: >-
                  The status of the task. DEDUCED tasks are created from
                  unmatched traces, DRAFT tasks are user-facing drafts, and
                  ACTIVE tasks are production tasks.
                default: ACTIVE
              traceId:
                description: >-
                  The ID of the trace this task was deduced from (only for
                  DEDUCED tasks)
                example: 123e4567-e89b-12d3-a456-426614174000
                type: string
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
              parentId:
                description: >-
                  The ID of the parent task (for DEDUCED tasks linked to a
                  DRAFT)
                example: 456e7890-e89b-12d3-a456-426614174000
                type: string
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
              lastTest:
                description: The date and time this task was last tested
                example: '2024-01-01T00:00:00.000Z'
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              inputExamples:
                type: array
                items:
                  type: string
                description: Example inputs for the task
                example:
                  - I want to block my credit card
              metadata:
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
                description: >-
                  Optional metadata associated with the task. Returns null when
                  no metadata is stored.
                example:
                  customerId: '1'
                  priority: high
              simulatedPromptSchema:
                description: >-
                  JSON schema that defines the structure for user prompts that
                  should be generated for tests
                example:
                  type: object
                  properties:
                    intent:
                      type: string
                    urgency:
                      type: string
                      enum:
                        - low
                        - medium
                        - high
                  required:
                    - intent
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
              topicId:
                description: The ID of the topic this task belongs to
                example: 789e4567-e89b-12d3-a456-426614174000
                type: string
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
              isVerified:
                type: boolean
                description: Whether the task has been verified
                example: false
              passRate:
                anyOf:
                  - type: number
                  - type: 'null'
                description: >-
                  Deprecated: use synthetic.passRate instead. The 30 day pass
                  rate for the task measured in percentage (excludes monitoring
                  runs). Null when no tests have been run.
                example: 66
                deprecated: true
              monitoringPassRate:
                anyOf:
                  - type: number
                  - type: 'null'
                description: >-
                  Deprecated: use monitoring.passRate instead. The 30 day pass
                  rate for monitoring runs only, measured in percentage. Null
                  when no monitoring runs exist.
                example: 80
                deprecated: true
              evalDefinitions:
                type: array
                items:
                  $ref: '#/components/schemas/EvalDefinitionOutput'
              taskSchedule:
                type: object
                properties:
                  taskId:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  applicationId:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  criticality:
                    type: string
                    enum:
                      - LOW
                      - MEDIUM
                      - HIGH
                  cron:
                    type: string
                  nextRunAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  lastRunAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                required:
                  - taskId
                  - applicationId
                  - criticality
                  - cron
                additionalProperties: false
                title: TaskSchedule
                description: Task schedule schema
              synthetic:
                $ref: '#/components/schemas/TaskMetricsOutput'
                description: Metrics for synthetic (controlled test) runs.
              monitoring:
                $ref: '#/components/schemas/TaskMetricsOutput'
                description: Metrics for monitoring (production traffic) runs.
              breakdown:
                $ref: '#/components/schemas/TaskBreakdownByBucketOutput'
                description: >-
                  Per-eval-definition breakdown by run-type bucket. Present on
                  detail endpoint only.
              tags:
                type: array
                items:
                  $ref: '#/components/schemas/CoreTagOutput'
              combined:
                $ref: '#/components/schemas/TaskMetricsOutput'
                description: Combined metrics across synthetic and monitoring runs.
            required:
              - id
              - createdAt
              - modifiedAt
              - title
              - description
              - type
              - status
              - inputExamples
              - metadata
              - isVerified
              - passRate
              - monitoringPassRate
              - evalDefinitions
              - synthetic
              - monitoring
              - tags
              - combined
            additionalProperties: false
        pagination:
          type: object
          properties:
            skip:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Number of items skipped.
              example: 0
            limit:
              type: integer
              minimum: 1
              maximum: 9007199254740991
              description: Number of items per page.
              example: 25
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Total number of items available.
              example: 100
            totalPages:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Total number of pages available.
              example: 4
            totalCount:
              description: >-
                Total number of items without filters applied. Used to
                distinguish between truly empty results and empty filtered
                results.
              example: 100
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - skip
            - limit
            - total
            - totalPages
          additionalProperties: false
          title: PaginationResponse
          description: Pagination metadata returned in a paginated response.
      required:
        - data
        - pagination
      additionalProperties: false
      title: Paginated Tasks
      description: Paginated response containing tasks
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message explaining the error.
          example: Resource not found
      required:
        - message
      additionalProperties: false
      title: ErrorResponse
      description: Standard error format for failed API operations.
    ValidationErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message indicating what went wrong.
          example: Invalid request data
        issues:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
              path:
                type: array
                items:
                  type: string
            required:
              - code
              - message
              - path
            additionalProperties: false
          description: Array of detailed validation error objects.
          example:
            - code: invalid_string
              message: Invalid UUID
              path:
                - id
      required:
        - message
        - issues
      additionalProperties: false
      title: ValidationErrorResponse
      description: Details about validation errors in incoming requests.
    TaskStatus:
      type: string
      enum:
        - DEDUCED
        - DRAFT
        - ACTIVE
        - ARCHIVED
      description: The status of the task
      example: ACTIVE
    EvalDefinitionOutput:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        createdAt:
          description: When the eval definition was created
          example: '2024-01-05T12:34:56.789Z'
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        modifiedAt:
          description: When the eval definition was last modified
          example: '2024-01-05T12:34:56.789Z'
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        type:
          $ref: '#/components/schemas/EvalType'
        name:
          type: string
        globalConfig:
          anyOf:
            - type: object
              properties:
                criterion:
                  type: string
                  minLength: 1
                  description: >-
                    The criterion describes what our evaluation LLM must look
                    for in the response. Remember that the answer to the
                    criterion must be as a pass/fail.
              required:
                - criterion
              additionalProperties: false
            - oneOf:
                - $ref: '#/components/schemas/OutputMatchStringConfigOutput'
                - $ref: '#/components/schemas/OutputMatchListConfigOutput'
              type: object
              discriminator:
                propertyName: type
                mapping:
                  string:
                    $ref: '#/components/schemas/OutputMatchStringConfigOutput'
                  list:
                    $ref: '#/components/schemas/OutputMatchListConfigOutput'
        styleGuideId:
          anyOf:
            - type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            - type: 'null'
        application:
          anyOf:
            - $ref: '#/components/schemas/ApplicationOutput'
            - type: 'null'
        topics:
          description: Topic IDs this eval definition is linked to (for topic-scoped evals)
          example:
            - 456e4567-e89b-12d3-a456-426614174000
          type: array
          items:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
        - createdAt
        - modifiedAt
        - type
        - name
      additionalProperties: false
    TaskMetricsOutput:
      type: object
      properties:
        evaluations:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Total number of evaluations in this bucket.
          example: 247
        passed:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Number of evaluations that passed in this bucket.
          example: 233
        tests:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Total number of tests in this bucket.
          example: 82
        testsPassed:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Number of tests that passed in this bucket.
          example: 78
        passRate:
          anyOf:
            - type: number
              minimum: 0
              maximum: 100
            - type: 'null'
          description: Pass rate as a percentage (0-100). Null when no tests exist.
          example: 95.1
        confidence:
          type: object
          properties:
            level:
              $ref: '#/components/schemas/ConfidenceLevel'
            halfWidth:
              type: number
              minimum: 0
              maximum: 100
              description: >-
                Half-width of the 95% confidence interval around the pass rate
                (percentage points).
              example: 3.4
            interval:
              type: object
              properties:
                lower:
                  type: number
                  minimum: 0
                  maximum: 100
                  description: Lower bound of the 95% confidence interval (0-100).
                  example: 90.8
                upper:
                  type: number
                  minimum: 0
                  maximum: 100
                  description: Upper bound of the 95% confidence interval (0-100).
                  example: 97.6
              required:
                - lower
                - upper
              additionalProperties: false
          required:
            - level
            - halfWidth
            - interval
          additionalProperties: false
          title: Confidence
          description: >-
            Statistical confidence in the pass rate based on a Wilson 95%
            interval.
        stability:
          type: object
          properties:
            level:
              $ref: '#/components/schemas/StabilityLevel'
            stddev:
              anyOf:
                - type: number
                - type: 'null'
              description: >-
                Sample standard deviation of evaluation scores. Null when fewer
                than 2 evaluations exist.
              example: 0.08
          required:
            - level
            - stddev
          additionalProperties: false
          title: Stability
          description: >-
            Score stability based on the standard deviation of evaluation
            scores.
        recommendedAdditionalEvaluations:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Number of additional tests recommended to reach High confidence.
          example: 0
        healthScore:
          anyOf:
            - type: number
              minimum: 0
              maximum: 100
            - type: 'null'
          description: >-
            Overall health score (0-100) combining pass rate (60%), confidence
            (20%), and stability (20%). Null when confidence is LOW (unreliable
            measurement with >15pp margin of error). Green: 90-100, Yellow:
            60-89, Red: 0-59.
          example: 87.5
      required:
        - evaluations
        - passed
        - tests
        - testsPassed
        - passRate
        - confidence
        - stability
        - recommendedAdditionalEvaluations
        - healthScore
      additionalProperties: false
      title: TaskMetrics
      description: >-
        Aggregated evaluation metrics for a single run-type bucket (synthetic,
        monitoring, or combined).
    TaskBreakdownByBucketOutput:
      type: object
      properties:
        synthetic:
          type: array
          items:
            $ref: '#/components/schemas/EvalDefinitionBreakdownOutput'
          description: Per-eval-definition breakdown for synthetic (controlled test) runs.
        monitoring:
          type: array
          items:
            $ref: '#/components/schemas/EvalDefinitionBreakdownOutput'
          description: >-
            Per-eval-definition breakdown for monitoring (production traffic)
            runs.
      required:
        - synthetic
        - monitoring
      additionalProperties: false
      title: TaskBreakdownByBucket
      description: Per-eval-definition metric breakdowns grouped by run-type bucket.
    CoreTagOutput:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Unique identifier of the tag
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Name of the tag
          example: API Documentation
        color:
          type: string
          description: Hex color code for the tag
          example: '#3B82F6'
      required:
        - id
        - name
        - color
      additionalProperties: false
    EvalType:
      type: string
      enum:
        - NATURALNESS
        - STYLE
        - RECALL
        - CUSTOM
        - OUTPUT_MATCH
    OutputMatchStringConfigOutput:
      type: object
      properties:
        type:
          type: string
          const: string
        extract:
          $ref: '#/components/schemas/OutputMatchExtractConfigOutput'
      required:
        - type
      additionalProperties: false
    OutputMatchListConfigOutput:
      type: object
      properties:
        type:
          type: string
          const: list
        matchMode:
          type: string
          enum:
            - exact_unordered
            - contains
        scoreMetric:
          type: string
          enum:
            - f1
            - precision
            - recall
        passThreshold:
          type: number
          minimum: 0
          maximum: 1
        extract:
          $ref: '#/components/schemas/OutputMatchExtractConfigOutput'
      required:
        - type
        - matchMode
      additionalProperties: false
    ApplicationOutput:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Unique identifier of the application
          example: 123e4567-e89b-12d3-a456-426614174000
        orgId:
          type: string
          description: Organization ID that owns this application
          example: org_123456
        title:
          type: string
          minLength: 1
          description: Title of the application
          example: Customer Support Bot
        slug:
          type: string
          minLength: 1
          description: URL-friendly slug for the application
          example: customer-support-bot
        description:
          type: string
          description: Description of the application
          example: AI assistant for customer support inquiries
        context:
          type: string
          description: Context/instructions for the application
          example: You are a helpful customer support assistant...
        language:
          default: en
          description: Language of the application.
          example: en
          type: string
          enum:
            - da
            - de
            - en
            - es
            - fr
            - it
            - nl
            - pt
            - sv
        type:
          type: string
          enum:
            - CHATBOT
            - AGENT
          description: Type of the application. Valid values are CHATBOT or AGENT.
          example: CHATBOT
        environment:
          default: DEV
          description: Environment of the application. Defaults to DEV.
          example: DEV
          type: string
          enum:
            - DEV
            - PROD
        humanAnnotationEnabled:
          type: boolean
          description: Whether human annotation is enabled for this application
          example: false
        createdAt:
          description: When the application was created
          example: '2024-01-05T12:34:56.789Z'
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        modifiedAt:
          description: When the application was last modified
          example: '2024-01-05T12:34:56.789Z'
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      required:
        - id
        - orgId
        - title
        - slug
        - description
        - context
        - language
        - type
        - environment
        - humanAnnotationEnabled
        - createdAt
        - modifiedAt
      additionalProperties: false
      title: Application
      description: Application configuration and metadata
    EvalDefinitionBreakdownOutput:
      type: object
      properties:
        evalDefinitionId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: ID of the eval definition.
          example: a0000000-0000-4000-8000-000000000001
        evalDefinitionName:
          type: string
          description: Display name of the eval definition.
          example: Accuracy
        metrics:
          $ref: '#/components/schemas/TaskMetricsOutput'
      required:
        - evalDefinitionId
        - evalDefinitionName
        - metrics
      additionalProperties: false
      title: EvalDefinitionBreakdown
      description: >-
        Evaluation metrics broken down by a single eval definition within a
        run-type bucket.
    OutputMatchExtractConfigOutput:
      type: object
      properties:
        pattern:
          type: string
          minLength: 1
        flags:
          type: string
          pattern: ^[gimsuy]*$
        group:
          anyOf:
            - type: integer
              minimum: 0
              maximum: 9007199254740991
            - minItems: 1
              type: array
              items:
                type: integer
                minimum: 0
                maximum: 9007199254740991
      required:
        - pattern
        - flags
        - group
      additionalProperties: false
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your unique Avido API key
    ApplicationId:
      type: apiKey
      in: header
      name: x-application-id
      description: Your unique Avido Application ID

````