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

# List quality scorecards

> Get a list of all quality scorecards with optional state filter



## OpenAPI

````yaml https://dev.enneo.dev/api/mind/docs/open-api get /quality/scorecard
openapi: 3.0.0
info:
  version: '1'
  title: enneo.MIND API
  description: This describes the API of enneo Mind, the main ticketing backend
  contact:
    name: enneo GmbH
    email: richard@enneo.ai
  license:
    name: Proprietary software
    url: https://enneo.ai
servers:
  - url: https://demo.enneo.ai/api/mind
    description: Production server, demo client
  - url: https://main.enneo.dev/api/mind
    description: Development main branch
  - url: http://localhost:8005/api/mind
    description: Local development server
security:
  - bearerAuth:
      - api
  - cookieAuth:
      - api
paths:
  /quality/scorecard:
    get:
      tags:
        - Quality Management
      summary: List quality scorecards
      description: Get a list of all quality scorecards with optional state filter
      operationId: listQualityScorecards
      parameters:
        - name: state
          in: query
          description: >
            Filter by scorecard state (comma-separated list). Allowed values:
            draft, active, retired, deleted. Defaults to only active scorecards
            if not provided.
          required: false
          schema:
            type: string
            example: draft,active
            default: active
      responses:
        '200':
          description: List of quality scorecards
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QualityScorecard'
              examples:
                default:
                  summary: Active scorecards ordered by last modification
                  value:
                    - id: 42
                      baseId: 17
                      revision: 2
                      name: Email QA - Tier 1
                      state: active
                      categories:
                        - categoryId: 1
                          label: Opening
                          order: 1
                          criteria:
                            - id: 10
                              label: Greeting
                              description: Did the agent greet the customer properly?
                              maxPoints: 5
                              scoringType: numericScale
                              autoGenerateByAi: false
                              assessmentPrompt: Score the greeting quality
                              makeOrBreakForCategory: false
                              makeOrBreakForAssessment: false
                      assignment:
                        ticketTags:
                          - 101
                          - 102
                        teams:
                          - 5
                        channels:
                          - email
                      createdAt: '2024-05-12T09:41:00Z'
                      modifiedAt: '2024-06-01T10:00:00Z'
                      canEdit: true
        '403':
          description: Unauthorized
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    QualityScorecard:
      type: object
      description: Quality scorecard for assessing agent performance
      properties:
        id:
          type: integer
          description: Scorecard ID
          example: 1
        baseId:
          type: integer
          description: Base ID for versioning (stable across revisions)
          example: 1
        revision:
          type: integer
          description: Revision number
          example: 1
        name:
          type: string
          description: Scorecard name
          example: Junior agent standard review
        state:
          type: string
          enum:
            - draft
            - active
            - retired
            - deleted
          description: Scorecard state
          example: active
        categoryCount:
          type: integer
          description: Number of categories (summary format only)
          example: 3
        categories:
          type: array
          description: Scorecard categories with criteria (full format only)
          items:
            type: object
            properties:
              categoryId:
                type: integer
              label:
                type: string
              order:
                type: integer
              criteria:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    label:
                      type: string
                    description:
                      type: string
                    maxPoints:
                      type: integer
                    scoringType:
                      type: string
                      enum:
                        - metNotMet
                        - numericScale
                    autoGenerateByAi:
                      type: boolean
                    assessmentPrompt:
                      type: string
                    makeOrBreakForCategory:
                      type: boolean
                    makeOrBreakForAssessment:
                      type: boolean
        assignment:
          type: object
          description: Assignment rules for scorecard applicability
          properties:
            ticketTags:
              type: array
              items:
                type: integer
            teams:
              type: array
              items:
                type: integer
            channels:
              type: array
              items:
                type: string
            responseContexts:
              type: array
              description: >
                Work-session contexts to match: 'afterCustomerMessage' (customer
                contacted first or worklog linked to an inbound message),
                'withoutCustomerMessage' (proactive outbound action with no
                linked customer message). Empty array (or field absent) means no
                filter. Existing scorecards default to ['afterCustomerMessage']
                via data migration.
              items:
                type: string
                enum:
                  - afterCustomerMessage
                  - withoutCustomerMessage
        liveCoach:
          type: object
          description: >
            Live Quality Coach configuration. When `enabled` is true and this
            scorecard

            is applicable to the ticket, the real-time draft check

            (`POST /ticket/{id}/quality/check`) scores against it and the
            server-side

            send gate blocks replies whose score is below `threshold` (unless
            the user

            has `qualityBypassSendGate`).
          properties:
            enabled:
              type: boolean
              description: Use this scorecard as Live Quality Coach
              example: false
            threshold:
              type: integer
              minimum: 0
              maximum: 100
              description: Minimum percentage a draft must reach to pass the send gate
              example: 85
        createdBy:
          type: integer
          description: User ID who created the scorecard
        modifiedBy:
          type: integer
          description: User ID who last modified the scorecard
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
        canEdit:
          type: boolean
          description: Whether current user can edit this scorecard
    Error:
      type: object
      description: Data format of Enneo error messages
      properties:
        error:
          type: string
          example: Contract 121 could not be processed
          description: Readable error message that should be shown to the user
        details:
          type: string
          example: >-
            Uncatched null point exception in testFunction() in
            /app/src/file:212
          description: Not easily readable error message that is for the developer
        txId:
          type: string
          example: c916167c94
          description: >-
            Internal transaction id. Useful for debugging. Corresponds to the
            OpenTelemetry trace ID.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-based authentication
      x-scopes:
        api: Full access to the API
    cookieAuth:
      type: apiKey
      in: cookie
      name: connect.sid
      description: Cookie-based authentication
      x-scopes:
        api: Full access to the API

````